From 22e23f6bcb9d0c467242cd550a0b44e09340b259 Mon Sep 17 00:00:00 2001 From: Jonathan Wilkes <jon.w.wilkes@gmail.com> Date: Wed, 17 Feb 2016 18:27:02 -0500 Subject: [PATCH] remove unused var --- externals/grill/trunk/flext/.gitignore | 1 - externals/grill/trunk/flext/.svn/all-wcprops | 95 - .../grill/trunk/flext/.svn/dir-prop-base | 13 - externals/grill/trunk/flext/.svn/entries | 556 - .../flext/.svn/prop-base/Doxyfile.svn-base | 9 - .../flext/.svn/prop-base/Makefile.am.svn-base | 13 - .../.svn/prop-base/bootstrap.sh.svn-base | 13 - .../flext/.svn/prop-base/build.bat.svn-base | 5 - .../flext/.svn/prop-base/build.sh.svn-base | 9 - .../flext/.svn/prop-base/build.txt.svn-base | 5 - .../flext/.svn/prop-base/changes.txt.svn-base | 9 - .../.svn/prop-base/configure.ac.svn-base | 13 - .../flext/.svn/prop-base/flext.mcp.svn-base | 5 - .../.svn/prop-base/flext.vcproj.svn-base | 9 - .../flext/.svn/prop-base/gpl.txt.svn-base | 9 - .../flext/.svn/prop-base/license.txt.svn-base | 9 - .../flext/.svn/prop-base/package.txt.svn-base | 9 - .../flext/.svn/prop-base/readme.txt.svn-base | 9 - .../flext/.svn/text-base/Doxyfile.svn-base | 273 - .../flext/.svn/text-base/Makefile.am.svn-base | 9 - .../.svn/text-base/bootstrap.sh.svn-base | 20 - .../flext/.svn/text-base/build.bat.svn-base | 60 - .../flext/.svn/text-base/build.sh.svn-base | 57 - .../flext/.svn/text-base/build.txt.svn-base | 279 - .../flext/.svn/text-base/changes.txt.svn-base | 363 - .../.svn/text-base/configure.ac.svn-base | 213 - .../flext/.svn/text-base/flext.mcp.svn-base | Bin 935395 -> 0 bytes .../.svn/text-base/flext.vcproj.svn-base | 4635 ---- .../flext/.svn/text-base/gpl.txt.svn-base | 346 - .../flext/.svn/text-base/license.txt.svn-base | 19 - .../flext/.svn/text-base/notes.txt.svn-base | 69 - .../flext/.svn/text-base/package.txt.svn-base | 57 - .../flext/.svn/text-base/readme.txt.svn-base | 99 - externals/grill/trunk/flext/Doxyfile | 273 - externals/grill/trunk/flext/Makefile.am | 9 - externals/grill/trunk/flext/Makefile.in | 743 - externals/grill/trunk/flext/bootstrap.sh | 20 - externals/grill/trunk/flext/build.bat | 60 - externals/grill/trunk/flext/build.sh | 57 - externals/grill/trunk/flext/build.txt | 279 - .../grill/trunk/flext/build/.svn/all-wcprops | 71 - .../grill/trunk/flext/build/.svn/entries | 402 - .../.svn/prop-base/bmake-win-bcc.inc.svn-base | 5 - .../.svn/prop-base/config-lnx.def.svn-base | 5 - .../.svn/prop-base/config-mac.def.svn-base | 5 - .../.svn/prop-base/config-win.def.svn-base | 5 - .../prop-base/gnumake-lnx-gcc.inc.svn-base | 5 - .../prop-base/gnumake-lnx-icc.inc.svn-base | 5 - .../prop-base/gnumake-mac-gcc.inc.svn-base | 5 - .../prop-base/gnumake-win-cygwin.inc.svn-base | 5 - .../prop-base/gnumake-win-mingw.inc.svn-base | 5 - .../prop-base/nmake-win-msvc.inc.svn-base | 5 - .../.svn/text-base/bmake-win-bcc.inc.svn-base | 17 - .../.svn/text-base/config-lnx.def.svn-base | 2 - .../.svn/text-base/config-mac.def.svn-base | 2 - .../.svn/text-base/config-win.def.svn-base | 2 - .../text-base/gnumake-lnx-gcc.inc.svn-base | 13 - .../text-base/gnumake-lnx-icc.inc.svn-base | 13 - .../text-base/gnumake-mac-gcc.inc.svn-base | 13 - .../text-base/gnumake-win-cygwin.inc.svn-base | 17 - .../text-base/gnumake-win-gcc.inc.svn-base | 17 - .../text-base/gnumake-win-mingw.inc.svn-base | 17 - .../text-base/nmake-win-msvc.inc.svn-base | 13 - .../grill/trunk/flext/build/bmake-win-bcc.inc | 17 - .../grill/trunk/flext/build/config-lnx.def | 2 - .../grill/trunk/flext/build/config-mac.def | 2 - .../grill/trunk/flext/build/config-win.def | 2 - .../trunk/flext/build/gnumake-lnx-gcc.inc | 13 - .../trunk/flext/build/gnumake-lnx-icc.inc | 13 - .../trunk/flext/build/gnumake-mac-gcc.inc | 13 - .../trunk/flext/build/gnumake-win-cygwin.inc | 17 - .../trunk/flext/build/gnumake-win-gcc.inc | 17 - .../trunk/flext/build/gnumake-win-mingw.inc | 17 - .../trunk/flext/build/nmake-win-msvc.inc | 13 - .../trunk/flext/buildsys/.svn/all-wcprops | 173 - .../grill/trunk/flext/buildsys/.svn/entries | 989 - .../.svn/prop-base/bmake-ext.inc.svn-base | 5 - .../.svn/prop-base/bmake-flext.inc.svn-base | 5 - .../.svn/prop-base/bmake-sub.mak.svn-base | 5 - .../.svn/prop-base/bmake.inc.svn-base | 5 - .../.svn/prop-base/bmake.mak.svn-base | 5 - .../.svn/prop-base/build-bcc.bat.svn-base | 5 - .../.svn/prop-base/build-cygwin.sh.svn-base | 9 - .../.svn/prop-base/build-gcc.sh.svn-base | 9 - .../.svn/prop-base/build-icc.sh.svn-base | 9 - .../.svn/prop-base/build-mingw.bat.svn-base | 5 - .../.svn/prop-base/build-msvc.bat.svn-base | 5 - .../.svn/prop-base/gnumake-ext.inc.svn-base | 5 - .../.svn/prop-base/gnumake-flext.inc.svn-base | 5 - .../.svn/prop-base/gnumake-sub.mak.svn-base | 5 - .../.svn/prop-base/gnumake.inc.svn-base | 5 - .../.svn/prop-base/gnumake.mak.svn-base | 5 - .../.svn/prop-base/nmake-ext.inc.svn-base | 5 - .../.svn/prop-base/nmake-flext.inc.svn-base | 5 - .../.svn/prop-base/nmake-shlib.inc.svn-base | 5 - .../.svn/prop-base/nmake-sub.mak.svn-base | 5 - .../.svn/prop-base/nmake.inc.svn-base | 5 - .../.svn/prop-base/nmake.mak.svn-base | 5 - .../.svn/prop-base/readme.txt.svn-base | 5 - .../.svn/prop-base/targets-ext.inc.svn-base | 5 - .../.svn/prop-base/targets-flext.inc.svn-base | 5 - .../.svn/prop-base/targets-shlib.inc.svn-base | 5 - .../.svn/prop-base/targets.inc.svn-base | 5 - .../.svn/prop-base/version.inc.svn-base | 5 - .../.svn/text-base/bmake-ext.inc.svn-base | 1 - .../.svn/text-base/bmake-flext.inc.svn-base | 3 - .../.svn/text-base/bmake-sub.mak.svn-base | 44 - .../.svn/text-base/bmake.inc.svn-base | 67 - .../.svn/text-base/bmake.mak.svn-base | 110 - .../.svn/text-base/build-bcc.bat.svn-base | 3 - .../.svn/text-base/build-cygwin.sh.svn-base | 5 - .../.svn/text-base/build-gcc.sh.svn-base | 14 - .../.svn/text-base/build-icc.sh.svn-base | 5 - .../.svn/text-base/build-mingw.bat.svn-base | 3 - .../.svn/text-base/build-msvc.bat.svn-base | 6 - .../.svn/text-base/gnumake-ext.inc.svn-base | 1 - .../.svn/text-base/gnumake-flext.inc.svn-base | 3 - .../.svn/text-base/gnumake-sub.mak.svn-base | 44 - .../.svn/text-base/gnumake.inc.svn-base | 97 - .../.svn/text-base/gnumake.mak.svn-base | 142 - .../.svn/text-base/nmake-ext.inc.svn-base | 1 - .../.svn/text-base/nmake-flext.inc.svn-base | 3 - .../.svn/text-base/nmake-shlib.inc.svn-base | 1 - .../.svn/text-base/nmake-sub.mak.svn-base | 44 - .../.svn/text-base/nmake.inc.svn-base | 64 - .../.svn/text-base/nmake.mak.svn-base | 110 - .../.svn/text-base/readme.txt.svn-base | 180 - .../.svn/text-base/targets-ext.inc.svn-base | 51 - .../.svn/text-base/targets-flext.inc.svn-base | 52 - .../.svn/text-base/targets-shlib.inc.svn-base | 51 - .../.svn/text-base/targets.inc.svn-base | 148 - .../.svn/text-base/version.inc.svn-base | 3 - .../grill/trunk/flext/buildsys/bmake-ext.inc | 1 - .../trunk/flext/buildsys/bmake-flext.inc | 3 - .../grill/trunk/flext/buildsys/bmake-sub.mak | 44 - .../grill/trunk/flext/buildsys/bmake.inc | 67 - .../grill/trunk/flext/buildsys/bmake.mak | 110 - .../grill/trunk/flext/buildsys/build-bcc.bat | 3 - .../trunk/flext/buildsys/build-cygwin.sh | 5 - .../grill/trunk/flext/buildsys/build-gcc.sh | 14 - .../grill/trunk/flext/buildsys/build-icc.sh | 5 - .../trunk/flext/buildsys/build-mingw.bat | 3 - .../grill/trunk/flext/buildsys/build-msvc.bat | 6 - .../flext/buildsys/config-lnx-pd-gcc.txt | 61 - .../trunk/flext/buildsys/gnumake-ext.inc | 1 - .../trunk/flext/buildsys/gnumake-flext.inc | 3 - .../trunk/flext/buildsys/gnumake-sub.mak | 44 - .../grill/trunk/flext/buildsys/gnumake.inc | 97 - .../grill/trunk/flext/buildsys/gnumake.mak | 142 - .../trunk/flext/buildsys/lnx/.svn/all-wcprops | 41 - .../trunk/flext/buildsys/lnx/.svn/entries | 235 - .../prop-base/gnumake-gcc-ext.inc.svn-base | 5 - .../prop-base/gnumake-gcc-flext.inc.svn-base | 5 - .../.svn/prop-base/gnumake-gcc.inc.svn-base | 5 - .../prop-base/gnumake-icc-ext.inc.svn-base | 5 - .../prop-base/gnumake-icc-flext.inc.svn-base | 5 - .../.svn/prop-base/gnumake-icc.inc.svn-base | 5 - .../text-base/gnumake-gcc-ext.inc.svn-base | 56 - .../text-base/gnumake-gcc-flext.inc.svn-base | 75 - .../.svn/text-base/gnumake-gcc.inc.svn-base | 75 - .../text-base/gnumake-icc-ext.inc.svn-base | 56 - .../text-base/gnumake-icc-flext.inc.svn-base | 72 - .../.svn/text-base/gnumake-icc.inc.svn-base | 64 - .../flext/buildsys/lnx/gnumake-gcc-ext.inc | 56 - .../flext/buildsys/lnx/gnumake-gcc-flext.inc | 75 - .../trunk/flext/buildsys/lnx/gnumake-gcc.inc | 75 - .../flext/buildsys/lnx/gnumake-icc-ext.inc | 56 - .../flext/buildsys/lnx/gnumake-icc-flext.inc | 72 - .../trunk/flext/buildsys/lnx/gnumake-icc.inc | 64 - .../flext/buildsys/lnx/pd/.svn/all-wcprops | 53 - .../trunk/flext/buildsys/lnx/pd/.svn/entries | 300 - .../pd/.svn/prop-base/config-gcc.def.svn-base | 5 - .../pd/.svn/prop-base/config-icc.def.svn-base | 5 - .../prop-base/gnumake-gcc-ext.inc.svn-base | 5 - .../prop-base/gnumake-gcc-flext.inc.svn-base | 5 - .../.svn/prop-base/gnumake-gcc.inc.svn-base | 5 - .../prop-base/gnumake-icc-ext.inc.svn-base | 5 - .../prop-base/gnumake-icc-flext.inc.svn-base | 5 - .../.svn/prop-base/gnumake-icc.inc.svn-base | 5 - .../pd/.svn/text-base/config-gcc.def.svn-base | 61 - .../pd/.svn/text-base/config-icc.def.svn-base | 61 - .../text-base/gnumake-gcc-ext.inc.svn-base | 1 - .../text-base/gnumake-gcc-flext.inc.svn-base | 6 - .../.svn/text-base/gnumake-gcc.inc.svn-base | 4 - .../text-base/gnumake-icc-ext.inc.svn-base | 1 - .../text-base/gnumake-icc-flext.inc.svn-base | 6 - .../.svn/text-base/gnumake-icc.inc.svn-base | 4 - .../flext/buildsys/lnx/pd/config-gcc.def | 61 - .../flext/buildsys/lnx/pd/config-icc.def | 61 - .../flext/buildsys/lnx/pd/gnumake-gcc-ext.inc | 1 - .../buildsys/lnx/pd/gnumake-gcc-flext.inc | 6 - .../flext/buildsys/lnx/pd/gnumake-gcc.inc | 4 - .../flext/buildsys/lnx/pd/gnumake-icc-ext.inc | 1 - .../buildsys/lnx/pd/gnumake-icc-flext.inc | 6 - .../flext/buildsys/lnx/pd/gnumake-icc.inc | 4 - .../trunk/flext/buildsys/mac/.svn/all-wcprops | 29 - .../trunk/flext/buildsys/mac/.svn/entries | 170 - .../prop-base/gnumake-gcc-ext.inc.svn-base | 5 - .../prop-base/gnumake-gcc-flext.inc.svn-base | 5 - .../.svn/prop-base/gnumake-gcc.inc.svn-base | 5 - .../text-base/gnumake-gcc-ext.inc.svn-base | 39 - .../text-base/gnumake-gcc-flext.inc.svn-base | 80 - .../gnumake-gcc-targets.inc.svn-base | 87 - .../.svn/text-base/gnumake-gcc.inc.svn-base | 86 - .../flext/buildsys/mac/gnumake-gcc-ext.inc | 39 - .../flext/buildsys/mac/gnumake-gcc-flext.inc | 80 - .../buildsys/mac/gnumake-gcc-targets.inc | 87 - .../trunk/flext/buildsys/mac/gnumake-gcc.inc | 86 - .../flext/buildsys/mac/max/.svn/all-wcprops | 29 - .../trunk/flext/buildsys/mac/max/.svn/entries | 164 - .../.svn/prop-base/config-gcc.def.svn-base | 5 - .../prop-base/gnumake-gcc-ext.inc.svn-base | 5 - .../prop-base/gnumake-gcc-flext.inc.svn-base | 5 - .../.svn/prop-base/gnumake-gcc.inc.svn-base | 5 - .../.svn/text-base/config-gcc.def.svn-base | 82 - .../text-base/gnumake-gcc-ext.inc.svn-base | 23 - .../text-base/gnumake-gcc-flext.inc.svn-base | 20 - .../.svn/text-base/gnumake-gcc.inc.svn-base | 6 - .../flext/buildsys/mac/max/config-gcc.def | 82 - .../buildsys/mac/max/gnumake-gcc-ext.inc | 23 - .../buildsys/mac/max/gnumake-gcc-flext.inc | 20 - .../flext/buildsys/mac/max/gnumake-gcc.inc | 6 - .../flext/buildsys/mac/pd/.svn/all-wcprops | 29 - .../trunk/flext/buildsys/mac/pd/.svn/entries | 164 - .../pd/.svn/prop-base/config-gcc.def.svn-base | 5 - .../prop-base/gnumake-gcc-ext.inc.svn-base | 5 - .../prop-base/gnumake-gcc-flext.inc.svn-base | 5 - .../.svn/prop-base/gnumake-gcc.inc.svn-base | 5 - .../pd/.svn/text-base/config-gcc.def.svn-base | 79 - .../text-base/gnumake-gcc-ext.inc.svn-base | 10 - .../text-base/gnumake-gcc-flext.inc.svn-base | 11 - .../.svn/text-base/gnumake-gcc.inc.svn-base | 10 - .../flext/buildsys/mac/pd/config-gcc.def | 79 - .../flext/buildsys/mac/pd/gnumake-gcc-ext.inc | 10 - .../buildsys/mac/pd/gnumake-gcc-flext.inc | 11 - .../flext/buildsys/mac/pd/gnumake-gcc.inc | 10 - .../grill/trunk/flext/buildsys/nmake-ext.inc | 1 - .../trunk/flext/buildsys/nmake-flext.inc | 3 - .../trunk/flext/buildsys/nmake-shlib.inc | 1 - .../grill/trunk/flext/buildsys/nmake-sub.mak | 44 - .../grill/trunk/flext/buildsys/nmake.inc | 64 - .../grill/trunk/flext/buildsys/nmake.mak | 110 - .../grill/trunk/flext/buildsys/readme.txt | 180 - .../trunk/flext/buildsys/targets-ext.inc | 51 - .../trunk/flext/buildsys/targets-flext.inc | 52 - .../trunk/flext/buildsys/targets-shlib.inc | 51 - .../grill/trunk/flext/buildsys/targets.inc | 148 - .../grill/trunk/flext/buildsys/version.inc | 3 - .../trunk/flext/buildsys/win/.svn/all-wcprops | 107 - .../trunk/flext/buildsys/win/.svn/entries | 612 - .../.svn/prop-base/bmake-bcc-ext.inc.svn-base | 5 - .../prop-base/bmake-bcc-flext.inc.svn-base | 5 - .../win/.svn/prop-base/bmake-bcc.inc.svn-base | 5 - .../prop-base/gnumake-cygwin-ext.inc.svn-base | 5 - .../gnumake-cygwin-flext.inc.svn-base | 5 - .../prop-base/gnumake-cygwin.inc.svn-base | 5 - .../prop-base/gnumake-mingw-ext.inc.svn-base | 5 - .../gnumake-mingw-flext.inc.svn-base | 5 - .../.svn/prop-base/gnumake-mingw.inc.svn-base | 5 - .../prop-base/nmake-msvc-ext.inc.svn-base | 5 - .../prop-base/nmake-msvc-flext.inc.svn-base | 5 - .../prop-base/nmake-msvc-shlib.inc.svn-base | 5 - .../.svn/prop-base/nmake-msvc.inc.svn-base | 5 - .../.svn/text-base/bmake-bcc-ext.inc.svn-base | 63 - .../text-base/bmake-bcc-flext.inc.svn-base | 84 - .../win/.svn/text-base/bmake-bcc.inc.svn-base | 47 - .../text-base/gnumake-cygwin-ext.inc.svn-base | 42 - .../gnumake-cygwin-flext.inc.svn-base | 52 - .../text-base/gnumake-cygwin.inc.svn-base | 34 - .../text-base/gnumake-gcc-ext.inc.svn-base | 37 - .../text-base/gnumake-gcc-flext.inc.svn-base | 57 - .../gnumake-gcc-targets.inc.svn-base | 56 - .../.svn/text-base/gnumake-gcc.inc.svn-base | 49 - .../text-base/gnumake-mingw-ext.inc.svn-base | 58 - .../gnumake-mingw-flext.inc.svn-base | 52 - .../.svn/text-base/gnumake-mingw.inc.svn-base | 33 - .../text-base/nmake-msvc-ext.inc.svn-base | 61 - .../text-base/nmake-msvc-flext.inc.svn-base | 77 - .../text-base/nmake-msvc-shlib.inc.svn-base | 45 - .../.svn/text-base/nmake-msvc.inc.svn-base | 81 - .../flext/buildsys/win/bmake-bcc-ext.inc | 63 - .../flext/buildsys/win/bmake-bcc-flext.inc | 84 - .../trunk/flext/buildsys/win/bmake-bcc.inc | 47 - .../flext/buildsys/win/gnumake-cygwin-ext.inc | 42 - .../buildsys/win/gnumake-cygwin-flext.inc | 52 - .../flext/buildsys/win/gnumake-cygwin.inc | 34 - .../flext/buildsys/win/gnumake-gcc-ext.inc | 37 - .../flext/buildsys/win/gnumake-gcc-flext.inc | 57 - .../buildsys/win/gnumake-gcc-targets.inc | 56 - .../trunk/flext/buildsys/win/gnumake-gcc.inc | 49 - .../flext/buildsys/win/gnumake-mingw-ext.inc | 58 - .../buildsys/win/gnumake-mingw-flext.inc | 52 - .../flext/buildsys/win/gnumake-mingw.inc | 33 - .../flext/buildsys/win/max/.svn/all-wcprops | 77 - .../trunk/flext/buildsys/win/max/.svn/entries | 436 - .../.svn/prop-base/config-cygwin.def.svn-base | 5 - .../.svn/prop-base/config-mingw.def.svn-base | 5 - .../.svn/prop-base/config-msvc.def.svn-base | 5 - .../prop-base/gnumake-cygwin-ext.inc.svn-base | 5 - .../gnumake-cygwin-flext.inc.svn-base | 5 - .../prop-base/gnumake-cygwin.inc.svn-base | 5 - .../prop-base/gnumake-mingw-ext.inc.svn-base | 5 - .../gnumake-mingw-flext.inc.svn-base | 5 - .../.svn/prop-base/gnumake-mingw.inc.svn-base | 5 - .../prop-base/nmake-msvc-ext.inc.svn-base | 5 - .../prop-base/nmake-msvc-flext.inc.svn-base | 5 - .../.svn/prop-base/nmake-msvc.inc.svn-base | 5 - .../.svn/text-base/config-cygwin.def.svn-base | 71 - .../.svn/text-base/config-mingw.def.svn-base | 64 - .../.svn/text-base/config-msvc.def.svn-base | 80 - .../text-base/gnumake-cygwin-ext.inc.svn-base | 1 - .../gnumake-cygwin-flext.inc.svn-base | 6 - .../text-base/gnumake-cygwin.inc.svn-base | 10 - .../text-base/gnumake-mingw-ext.inc.svn-base | 1 - .../gnumake-mingw-flext.inc.svn-base | 6 - .../.svn/text-base/gnumake-mingw.inc.svn-base | 12 - .../text-base/nmake-msvc-ext.inc.svn-base | 2 - .../text-base/nmake-msvc-flext.inc.svn-base | 5 - .../.svn/text-base/nmake-msvc.inc.svn-base | 8 - .../flext/buildsys/win/max/config-cygwin.def | 71 - .../flext/buildsys/win/max/config-mingw.def | 64 - .../flext/buildsys/win/max/config-msvc.def | 80 - .../buildsys/win/max/gnumake-cygwin-ext.inc | 1 - .../buildsys/win/max/gnumake-cygwin-flext.inc | 6 - .../flext/buildsys/win/max/gnumake-cygwin.inc | 10 - .../buildsys/win/max/gnumake-mingw-ext.inc | 1 - .../buildsys/win/max/gnumake-mingw-flext.inc | 6 - .../flext/buildsys/win/max/gnumake-mingw.inc | 12 - .../flext/buildsys/win/max/nmake-msvc-ext.inc | 2 - .../buildsys/win/max/nmake-msvc-flext.inc | 5 - .../flext/buildsys/win/max/nmake-msvc.inc | 8 - .../flext/buildsys/win/nmake-msvc-ext.inc | 61 - .../flext/buildsys/win/nmake-msvc-flext.inc | 77 - .../flext/buildsys/win/nmake-msvc-shlib.inc | 45 - .../trunk/flext/buildsys/win/nmake-msvc.inc | 81 - .../flext/buildsys/win/pd/.svn/all-wcprops | 149 - .../trunk/flext/buildsys/win/pd/.svn/entries | 844 - .../.svn/prop-base/bmake-bcc-ext.inc.svn-base | 5 - .../prop-base/bmake-bcc-flext.inc.svn-base | 5 - .../prop-base/bmake-bcc-shlib.inc.svn-base | 5 - .../pd/.svn/prop-base/bmake-bcc.inc.svn-base | 5 - .../pd/.svn/prop-base/config-bcc.def.svn-base | 5 - .../.svn/prop-base/config-cygwin.def.svn-base | 5 - .../.svn/prop-base/config-mingw.def.svn-base | 5 - .../.svn/prop-base/config-msvc.def.svn-base | 5 - .../prop-base/gnumake-cygwin-ext.inc.svn-base | 5 - .../gnumake-cygwin-flext.inc.svn-base | 5 - .../gnumake-cygwin-shlib.inc.svn-base | 5 - .../prop-base/gnumake-cygwin.inc.svn-base | 5 - .../prop-base/gnumake-mingw-ext.inc.svn-base | 5 - .../gnumake-mingw-flext.inc.svn-base | 5 - .../gnumake-mingw-shlib.inc.svn-base | 5 - .../.svn/prop-base/gnumake-mingw.inc.svn-base | 5 - .../prop-base/nmake-msvc-ext.inc.svn-base | 5 - .../prop-base/nmake-msvc-flext.inc.svn-base | 5 - .../prop-base/nmake-msvc-shlib.inc.svn-base | 5 - .../pd/.svn/prop-base/nmake-msvc.inc.svn-base | 5 - .../.svn/text-base/bmake-bcc-ext.inc.svn-base | 1 - .../text-base/bmake-bcc-flext.inc.svn-base | 5 - .../text-base/bmake-bcc-shlib.inc.svn-base | 1 - .../pd/.svn/text-base/bmake-bcc.inc.svn-base | 26 - .../pd/.svn/text-base/config-bcc.def.svn-base | 49 - .../.svn/text-base/config-cygwin.def.svn-base | 37 - .../pd/.svn/text-base/config-gcc.def.svn-base | 75 - .../.svn/text-base/config-mingw.def.svn-base | 51 - .../.svn/text-base/config-msvc.def.svn-base | 97 - .../text-base/gnumake-cygwin-ext.inc.svn-base | 1 - .../gnumake-cygwin-flext.inc.svn-base | 5 - .../gnumake-cygwin-shlib.inc.svn-base | 1 - .../text-base/gnumake-cygwin.inc.svn-base | 17 - .../text-base/gnumake-gcc-ext.inc.svn-base | 6 - .../text-base/gnumake-gcc-flext.inc.svn-base | 11 - .../.svn/text-base/gnumake-gcc.inc.svn-base | 38 - .../text-base/gnumake-mingw-ext.inc.svn-base | 1 - .../gnumake-mingw-flext.inc.svn-base | 5 - .../gnumake-mingw-shlib.inc.svn-base | 1 - .../.svn/text-base/gnumake-mingw.inc.svn-base | 27 - .../text-base/nmake-msvc-ext.inc.svn-base | 1 - .../text-base/nmake-msvc-flext.inc.svn-base | 5 - .../text-base/nmake-msvc-shlib.inc.svn-base | 1 - .../pd/.svn/text-base/nmake-msvc.inc.svn-base | 26 - .../flext/buildsys/win/pd/bmake-bcc-ext.inc | 1 - .../flext/buildsys/win/pd/bmake-bcc-flext.inc | 5 - .../flext/buildsys/win/pd/bmake-bcc-shlib.inc | 1 - .../trunk/flext/buildsys/win/pd/bmake-bcc.inc | 26 - .../flext/buildsys/win/pd/config-bcc.def | 49 - .../flext/buildsys/win/pd/config-cygwin.def | 37 - .../flext/buildsys/win/pd/config-gcc.def | 75 - .../flext/buildsys/win/pd/config-mingw.def | 51 - .../flext/buildsys/win/pd/config-msvc.def | 97 - .../buildsys/win/pd/gnumake-cygwin-ext.inc | 1 - .../buildsys/win/pd/gnumake-cygwin-flext.inc | 5 - .../buildsys/win/pd/gnumake-cygwin-shlib.inc | 1 - .../flext/buildsys/win/pd/gnumake-cygwin.inc | 17 - .../flext/buildsys/win/pd/gnumake-gcc-ext.inc | 6 - .../buildsys/win/pd/gnumake-gcc-flext.inc | 11 - .../flext/buildsys/win/pd/gnumake-gcc.inc | 38 - .../buildsys/win/pd/gnumake-mingw-ext.inc | 1 - .../buildsys/win/pd/gnumake-mingw-flext.inc | 5 - .../buildsys/win/pd/gnumake-mingw-shlib.inc | 1 - .../flext/buildsys/win/pd/gnumake-mingw.inc | 27 - .../flext/buildsys/win/pd/nmake-msvc-ext.inc | 1 - .../buildsys/win/pd/nmake-msvc-flext.inc | 5 - .../buildsys/win/pd/nmake-msvc-shlib.inc | 1 - .../flext/buildsys/win/pd/nmake-msvc.inc | 26 - externals/grill/trunk/flext/changes.txt | 363 - externals/grill/trunk/flext/config.txt | 2 - externals/grill/trunk/flext/configure | 18372 ---------------- externals/grill/trunk/flext/configure.ac | 213 - .../trunk/flext/examples/.svn/all-wcprops | 11 - .../grill/trunk/flext/examples/.svn/entries | 71 - .../.svn/prop-base/examples.dsw.svn-base | 9 - .../.svn/text-base/examples.dsw.svn-base | 33 - .../grill/trunk/flext/examples/examples.dsw | 33 - .../trunk/flext/examples/pd/.svn/all-wcprops | 11 - .../trunk/flext/examples/pd/.svn/entries | 62 - .../pd/.svn/prop-base/ex-henon.pd.svn-base | 5 - .../pd/.svn/text-base/ex-henon.pd.svn-base | 87 - .../grill/trunk/flext/examples/pd/ex-henon.pd | 87 - .../flext/examples/source/.svn/all-wcprops | 23 - .../trunk/flext/examples/source/.svn/entries | 130 - .../source/.svn/prop-base/henon.cpp.svn-base | 9 - .../source/.svn/prop-base/henon.cw.svn-base | 5 - .../source/.svn/prop-base/henon.dsp.svn-base | 9 - .../source/.svn/text-base/henon.cpp.svn-base | 122 - .../source/.svn/text-base/henon.cw.svn-base | Bin 101183 -> 0 bytes .../source/.svn/text-base/henon.dsp.svn-base | 95 - .../trunk/flext/examples/source/henon.cpp | 122 - .../trunk/flext/examples/source/henon.cw | Bin 101183 -> 0 bytes .../trunk/flext/examples/source/henon.dsp | 95 - .../examples/xcode-template/.svn/all-wcprops | 23 - .../examples/xcode-template/.svn/entries | 133 - .../.svn/prop-base/main.cpp.svn-base | 9 - .../.svn/prop-base/readme.txt.svn-base | 5 - .../.svn/text-base/Info.plist.svn-base | 22 - .../.svn/text-base/main.cpp.svn-base | 40 - .../.svn/text-base/readme.txt.svn-base | 3 - .../flext/examples/xcode-template/Info.plist | 22 - .../flext/examples/xcode-template/main.cpp | 40 - .../flext/examples/xcode-template/readme.txt | 3 - .../template.xcodeproj/.svn/all-wcprops | 11 - .../template.xcodeproj/.svn/entries | 62 - .../.svn/text-base/project.pbxproj.svn-base | 450 - .../template.xcodeproj/project.pbxproj | 450 - externals/grill/trunk/flext/flext.mcp | Bin 935395 -> 0 bytes externals/grill/trunk/flext/flext.vcproj | 4635 ---- .../flext/flext.xcodeproj/.svn/all-wcprops | 11 - .../trunk/flext/flext.xcodeproj/.svn/entries | 62 - .../.svn/prop-base/project.pbxproj.svn-base | 5 - .../.svn/text-base/project.pbxproj.svn-base | 1565 -- .../flext/flext.xcodeproj/project.pbxproj | 1565 -- externals/grill/trunk/flext/gpl.txt | 346 - externals/grill/trunk/flext/license.txt | 19 - externals/grill/trunk/flext/notes.txt | 69 - externals/grill/trunk/flext/package.txt | 57 - externals/grill/trunk/flext/readme.txt | 99 - .../grill/trunk/flext/source/.svn/all-wcprops | 371 - .../grill/trunk/flext/source/.svn/entries | 2105 -- .../.svn/prop-base/Makefile.am.svn-base | 13 - .../source/.svn/prop-base/flatom.cpp.svn-base | 9 - .../.svn/prop-base/flatom_part.cpp.svn-base | 9 - .../.svn/prop-base/flatom_pr.cpp.svn-base | 9 - .../source/.svn/prop-base/flattr.cpp.svn-base | 9 - .../.svn/prop-base/flattr_ed.cpp.svn-base | 9 - .../source/.svn/prop-base/flbase.cpp.svn-base | 9 - .../source/.svn/prop-base/flbase.h.svn-base | 9 - .../source/.svn/prop-base/flbind.cpp.svn-base | 9 - .../source/.svn/prop-base/flbuf.cpp.svn-base | 9 - .../source/.svn/prop-base/flclass.h.svn-base | 9 - .../.svn/prop-base/flcontainers.h.svn-base | 9 - .../.svn/prop-base/flcwmax-thr.h.svn-base | 9 - .../.svn/prop-base/flcwmax-x-thr.h.svn-base | 9 - .../.svn/prop-base/flcwmax-x.h.svn-base | 9 - .../source/.svn/prop-base/flcwmax.h.svn-base | 9 - .../.svn/prop-base/flcwpd-x-thr.h.svn-base | 9 - .../source/.svn/prop-base/flcwpd-x.h.svn-base | 9 - .../source/.svn/prop-base/fldefs.h.svn-base | 9 - .../.svn/prop-base/fldefs_attradd.h.svn-base | 9 - .../.svn/prop-base/fldefs_attrcb.h.svn-base | 9 - .../.svn/prop-base/fldefs_attrvar.h.svn-base | 9 - .../.svn/prop-base/fldefs_hdr.h.svn-base | 9 - .../.svn/prop-base/fldefs_methadd.h.svn-base | 9 - .../.svn/prop-base/fldefs_methbind.h.svn-base | 9 - .../.svn/prop-base/fldefs_methcall.h.svn-base | 9 - .../.svn/prop-base/fldefs_methcb.h.svn-base | 9 - .../.svn/prop-base/fldefs_meththr.h.svn-base | 9 - .../.svn/prop-base/fldefs_setup.h.svn-base | 9 - .../.svn/prop-base/fldoxygen.h.svn-base | 9 - .../source/.svn/prop-base/fldsp.cpp.svn-base | 9 - .../source/.svn/prop-base/fldsp.h.svn-base | 9 - .../source/.svn/prop-base/flext.cpp.svn-base | 9 - .../source/.svn/prop-base/flext.h.svn-base | 9 - .../.svn/prop-base/flfeatures.h.svn-base | 9 - .../.svn/prop-base/flinternal.h.svn-base | 9 - .../source/.svn/prop-base/flitem.cpp.svn-base | 9 - .../source/.svn/prop-base/fllib.cpp.svn-base | 9 - .../source/.svn/prop-base/flmap.cpp.svn-base | 9 - .../source/.svn/prop-base/flmap.h.svn-base | 9 - .../source/.svn/prop-base/flmeth.cpp.svn-base | 9 - .../source/.svn/prop-base/flmsg.cpp.svn-base | 9 - .../.svn/prop-base/flmspbuffer.h.svn-base | 9 - .../source/.svn/prop-base/flout.cpp.svn-base | 9 - .../source/.svn/prop-base/flpopns.h.svn-base | 9 - .../source/.svn/prop-base/flprefix.h.svn-base | 9 - .../.svn/prop-base/flproxy.cpp.svn-base | 9 - .../source/.svn/prop-base/flpushns.h.svn-base | 9 - .../.svn/prop-base/flqueue.cpp.svn-base | 9 - .../source/.svn/prop-base/flsimd.cpp.svn-base | 9 - .../.svn/prop-base/flsndobj.cpp.svn-base | 9 - .../source/.svn/prop-base/flsndobj.h.svn-base | 9 - .../source/.svn/prop-base/flstdc.h.svn-base | 9 - .../source/.svn/prop-base/flstk.cpp.svn-base | 9 - .../source/.svn/prop-base/flstk.h.svn-base | 9 - .../.svn/prop-base/flsupport.cpp.svn-base | 9 - .../.svn/prop-base/flsupport.h.svn-base | 9 - .../source/.svn/prop-base/flthr.cpp.svn-base | 9 - .../.svn/prop-base/fltimer.cpp.svn-base | 9 - .../source/.svn/prop-base/flutil.cpp.svn-base | 9 - .../source/.svn/prop-base/flxlet.cpp.svn-base | 9 - .../.svn/text-base/Makefile.am.svn-base | 110 - .../source/.svn/text-base/flatom.cpp.svn-base | 172 - .../.svn/text-base/flatom_part.cpp.svn-base | 43 - .../.svn/text-base/flatom_pr.cpp.svn-base | 136 - .../source/.svn/text-base/flattr.cpp.svn-base | 450 - .../.svn/text-base/flattr_ed.cpp.svn-base | 880 - .../source/.svn/text-base/flbase.cpp.svn-base | 213 - .../source/.svn/text-base/flbase.h.svn-base | 599 - .../source/.svn/text-base/flbind.cpp.svn-base | 267 - .../source/.svn/text-base/flbuf.cpp.svn-base | 396 - .../source/.svn/text-base/flclass.h.svn-base | 1130 - .../.svn/text-base/flcontainers.h.svn-base | 176 - .../.svn/text-base/flcwmax-thr.h.svn-base | 31 - .../.svn/text-base/flcwmax-x-thr.h.svn-base | 31 - .../.svn/text-base/flcwmax-x.h.svn-base | 24 - .../source/.svn/text-base/flcwmax.h.svn-base | 36 - .../.svn/text-base/flcwpd-x-thr.h.svn-base | 31 - .../source/.svn/text-base/flcwpd-x.h.svn-base | 37 - .../source/.svn/text-base/fldefs.h.svn-base | 73 - .../.svn/text-base/fldefs_attradd.h.svn-base | 124 - .../.svn/text-base/fldefs_attrcb.h.svn-base | 161 - .../.svn/text-base/fldefs_attrvar.h.svn-base | 161 - .../.svn/text-base/fldefs_hdr.h.svn-base | 64 - .../.svn/text-base/fldefs_methadd.h.svn-base | 235 - .../.svn/text-base/fldefs_methbind.h.svn-base | 51 - .../.svn/text-base/fldefs_methcall.h.svn-base | 81 - .../.svn/text-base/fldefs_methcb.h.svn-base | 132 - .../.svn/text-base/fldefs_meththr.h.svn-base | 276 - .../.svn/text-base/fldefs_setup.h.svn-base | 340 - .../.svn/text-base/fldoxygen.h.svn-base | 216 - .../source/.svn/text-base/fldsp.cpp.svn-base | 127 - .../source/.svn/text-base/fldsp.h.svn-base | 190 - .../source/.svn/text-base/flext.cpp.svn-base | 279 - .../source/.svn/text-base/flext.h.svn-base | 70 - .../.svn/text-base/flfeatures.h.svn-base | 37 - .../.svn/text-base/flinternal.h.svn-base | 122 - .../source/.svn/text-base/flitem.cpp.svn-base | 135 - .../source/.svn/text-base/fllib.cpp.svn-base | 623 - .../source/.svn/text-base/flmap.cpp.svn-base | 257 - .../source/.svn/text-base/flmap.h.svn-base | 262 - .../source/.svn/text-base/flmeth.cpp.svn-base | 139 - .../source/.svn/text-base/flmsg.cpp.svn-base | 307 - .../.svn/text-base/flmspbuffer.h.svn-base | 85 - .../source/.svn/text-base/flout.cpp.svn-base | 340 - .../source/.svn/text-base/flpopns.h.svn-base | 38 - .../source/.svn/text-base/flprefix.h.svn-base | 452 - .../.svn/text-base/flproxy.cpp.svn-base | 243 - .../source/.svn/text-base/flpushns.h.svn-base | 35 - .../.svn/text-base/flqueue.cpp.svn-base | 691 - .../source/.svn/text-base/flsimd.cpp.svn-base | 2012 -- .../.svn/text-base/flsndobj.cpp.svn-base | 137 - .../source/.svn/text-base/flsndobj.h.svn-base | 108 - .../source/.svn/text-base/flstdc.h.svn-base | 339 - .../source/.svn/text-base/flstk.cpp.svn-base | 116 - .../source/.svn/text-base/flstk.h.svn-base | 134 - .../.svn/text-base/flsupport.cpp.svn-base | 313 - .../.svn/text-base/flsupport.h.svn-base | 1400 -- .../source/.svn/text-base/flthr.cpp.svn-base | 746 - .../.svn/text-base/fltimer.cpp.svn-base | 280 - .../source/.svn/text-base/flutil.cpp.svn-base | 61 - .../source/.svn/text-base/flxlet.cpp.svn-base | 118 - .../grill/trunk/flext/source/Makefile.am | 110 - .../grill/trunk/flext/source/Makefile.in | 2138 -- externals/grill/trunk/flext/source/flatom.cpp | 172 - .../grill/trunk/flext/source/flatom_part.cpp | 43 - .../grill/trunk/flext/source/flatom_pr.cpp | 136 - externals/grill/trunk/flext/source/flattr.cpp | 450 - .../grill/trunk/flext/source/flattr_ed.cpp | 880 - externals/grill/trunk/flext/source/flbase.cpp | 213 - externals/grill/trunk/flext/source/flbase.h | 599 - externals/grill/trunk/flext/source/flbind.cpp | 267 - externals/grill/trunk/flext/source/flbuf.cpp | 396 - externals/grill/trunk/flext/source/flclass.h | 1130 - .../grill/trunk/flext/source/flcontainers.h | 176 - .../grill/trunk/flext/source/flcwmax-thr.h | 31 - .../grill/trunk/flext/source/flcwmax-x-thr.h | 31 - .../grill/trunk/flext/source/flcwmax-x.h | 24 - externals/grill/trunk/flext/source/flcwmax.h | 36 - .../grill/trunk/flext/source/flcwpd-x-thr.h | 31 - externals/grill/trunk/flext/source/flcwpd-x.h | 37 - externals/grill/trunk/flext/source/fldefs.h | 73 - .../grill/trunk/flext/source/fldefs_attradd.h | 124 - .../grill/trunk/flext/source/fldefs_attrcb.h | 161 - .../grill/trunk/flext/source/fldefs_attrvar.h | 161 - .../grill/trunk/flext/source/fldefs_hdr.h | 64 - .../grill/trunk/flext/source/fldefs_methadd.h | 235 - .../trunk/flext/source/fldefs_methbind.h | 51 - .../trunk/flext/source/fldefs_methcall.h | 81 - .../grill/trunk/flext/source/fldefs_methcb.h | 132 - .../grill/trunk/flext/source/fldefs_meththr.h | 276 - .../grill/trunk/flext/source/fldefs_setup.h | 340 - .../grill/trunk/flext/source/fldoxygen.h | 216 - externals/grill/trunk/flext/source/fldsp.cpp | 127 - externals/grill/trunk/flext/source/fldsp.h | 190 - externals/grill/trunk/flext/source/flext.cpp | 279 - externals/grill/trunk/flext/source/flext.h | 70 - .../grill/trunk/flext/source/flfeatures.h | 37 - .../grill/trunk/flext/source/flinternal.h | 122 - externals/grill/trunk/flext/source/flitem.cpp | 135 - externals/grill/trunk/flext/source/fllib.cpp | 623 - externals/grill/trunk/flext/source/flmap.cpp | 257 - externals/grill/trunk/flext/source/flmap.h | 262 - externals/grill/trunk/flext/source/flmeth.cpp | 139 - externals/grill/trunk/flext/source/flmsg.cpp | 307 - .../grill/trunk/flext/source/flmspbuffer.h | 85 - externals/grill/trunk/flext/source/flout.cpp | 340 - externals/grill/trunk/flext/source/flpopns.h | 38 - externals/grill/trunk/flext/source/flprefix.h | 452 - .../grill/trunk/flext/source/flproxy.cpp | 243 - externals/grill/trunk/flext/source/flpushns.h | 35 - .../grill/trunk/flext/source/flqueue.cpp | 691 - externals/grill/trunk/flext/source/flsimd.cpp | 2012 -- .../grill/trunk/flext/source/flsndobj.cpp | 137 - externals/grill/trunk/flext/source/flsndobj.h | 108 - externals/grill/trunk/flext/source/flstdc.h | 339 - externals/grill/trunk/flext/source/flstk.cpp | 116 - externals/grill/trunk/flext/source/flstk.h | 134 - .../grill/trunk/flext/source/flsupport.cpp | 313 - .../grill/trunk/flext/source/flsupport.h | 1400 -- externals/grill/trunk/flext/source/flthr.cpp | 746 - .../grill/trunk/flext/source/fltimer.cpp | 280 - externals/grill/trunk/flext/source/flutil.cpp | 61 - externals/grill/trunk/flext/source/flxlet.cpp | 118 - .../flext/source/lockfree/.svn/all-wcprops | 47 - .../trunk/flext/source/lockfree/.svn/entries | 266 - .../.svn/prop-base/atomic_int.hpp.svn-base | 9 - .../.svn/prop-base/atomic_ptr.hpp.svn-base | 9 - .../.svn/prop-base/branch_hints.hpp.svn-base | 9 - .../lockfree/.svn/prop-base/cas.hpp.svn-base | 9 - .../lockfree/.svn/prop-base/fifo.hpp.svn-base | 9 - .../.svn/prop-base/prefix.hpp.svn-base | 9 - .../.svn/prop-base/stack.hpp.svn-base | 9 - .../.svn/text-base/atomic_int.hpp.svn-base | 238 - .../.svn/text-base/atomic_ptr.hpp.svn-base | 104 - .../.svn/text-base/branch_hints.hpp.svn-base | 53 - .../lockfree/.svn/text-base/cas.hpp.svn-base | 252 - .../lockfree/.svn/text-base/fifo.hpp.svn-base | 250 - .../.svn/text-base/prefix.hpp.svn-base | 64 - .../.svn/text-base/stack.hpp.svn-base | 157 - .../flext/source/lockfree/atomic_int.hpp | 238 - .../flext/source/lockfree/atomic_ptr.hpp | 104 - .../flext/source/lockfree/branch_hints.hpp | 53 - .../grill/trunk/flext/source/lockfree/cas.hpp | 252 - .../trunk/flext/source/lockfree/fifo.hpp | 250 - .../trunk/flext/source/lockfree/prefix.hpp | 64 - .../trunk/flext/source/lockfree/stack.hpp | 157 - .../trunk/flext/tutorial/.svn/all-wcprops | 47 - .../grill/trunk/flext/tutorial/.svn/entries | 332 - .../.svn/prop-base/Makefile.am.svn-base | 5 - .../tutorial/.svn/prop-base/build.sh.svn-base | 5 - .../tutorial/.svn/prop-base/gpl.txt.svn-base | 13 - .../.svn/prop-base/license.txt.svn-base | 13 - .../.svn/prop-base/readme.txt.svn-base | 9 - .../.svn/prop-base/tutorial.sln.svn-base | 9 - .../.svn/text-base/Makefile.am.svn-base | 55 - .../.svn/text-base/build.bat.svn-base | 32 - .../tutorial/.svn/text-base/build.sh.svn-base | 27 - .../tutorial/.svn/text-base/gpl.txt.svn-base | 346 - .../.svn/text-base/license.txt.svn-base | 50 - .../.svn/text-base/readme.txt.svn-base | 77 - .../.svn/text-base/tutorial.sln.svn-base | 473 - .../grill/trunk/flext/tutorial/Makefile.am | 55 - .../flext/tutorial/adv1/.svn/all-wcprops | 35 - .../trunk/flext/tutorial/adv1/.svn/entries | 198 - .../adv1/.svn/prop-base/Makefile.am.svn-base | 5 - .../adv1/.svn/prop-base/adv1.mcp.svn-base | 9 - .../adv1/.svn/prop-base/adv1.vcproj.svn-base | 9 - .../adv1/.svn/prop-base/main.cpp.svn-base | 13 - .../adv1/.svn/text-base/Makefile.am.svn-base | 51 - .../adv1/.svn/text-base/adv1.mcp.svn-base | Bin 146697 -> 0 bytes .../adv1/.svn/text-base/adv1.vcproj.svn-base | 177 - .../adv1/.svn/text-base/main.cpp.svn-base | 101 - .../adv1/.svn/text-base/package.txt.svn-base | 2 - .../trunk/flext/tutorial/adv1/Makefile.am | 51 - .../grill/trunk/flext/tutorial/adv1/adv1.mcp | Bin 146697 -> 0 bytes .../trunk/flext/tutorial/adv1/adv1.vcproj | 177 - .../grill/trunk/flext/tutorial/adv1/main.cpp | 101 - .../trunk/flext/tutorial/adv1/package.txt | 2 - .../flext/tutorial/adv2/.svn/all-wcprops | 35 - .../trunk/flext/tutorial/adv2/.svn/entries | 198 - .../adv2/.svn/prop-base/Makefile.am.svn-base | 5 - .../adv2/.svn/prop-base/adv2.mcp.svn-base | 9 - .../adv2/.svn/prop-base/adv2.vcproj.svn-base | 9 - .../adv2/.svn/prop-base/main.cpp.svn-base | 9 - .../adv2/.svn/text-base/Makefile.am.svn-base | 51 - .../adv2/.svn/text-base/adv2.mcp.svn-base | Bin 148873 -> 0 bytes .../adv2/.svn/text-base/adv2.vcproj.svn-base | 176 - .../adv2/.svn/text-base/main.cpp.svn-base | 100 - .../adv2/.svn/text-base/package.txt.svn-base | 2 - .../trunk/flext/tutorial/adv2/Makefile.am | 51 - .../grill/trunk/flext/tutorial/adv2/adv2.mcp | Bin 148873 -> 0 bytes .../trunk/flext/tutorial/adv2/adv2.vcproj | 176 - .../grill/trunk/flext/tutorial/adv2/main.cpp | 100 - .../trunk/flext/tutorial/adv2/package.txt | 2 - .../flext/tutorial/adv3/.svn/all-wcprops | 35 - .../trunk/flext/tutorial/adv3/.svn/entries | 198 - .../adv3/.svn/prop-base/Makefile.am.svn-base | 5 - .../adv3/.svn/prop-base/adv3.mcp.svn-base | 9 - .../adv3/.svn/prop-base/adv3.vcproj.svn-base | 9 - .../adv3/.svn/prop-base/main.cpp.svn-base | 9 - .../adv3/.svn/text-base/Makefile.am.svn-base | 51 - .../adv3/.svn/text-base/adv3.mcp.svn-base | Bin 148873 -> 0 bytes .../adv3/.svn/text-base/adv3.vcproj.svn-base | 176 - .../adv3/.svn/text-base/main.cpp.svn-base | 153 - .../adv3/.svn/text-base/package.txt.svn-base | 2 - .../trunk/flext/tutorial/adv3/Makefile.am | 51 - .../grill/trunk/flext/tutorial/adv3/adv3.mcp | Bin 148873 -> 0 bytes .../trunk/flext/tutorial/adv3/adv3.vcproj | 176 - .../grill/trunk/flext/tutorial/adv3/main.cpp | 153 - .../trunk/flext/tutorial/adv3/package.txt | 2 - .../flext/tutorial/attr1/.svn/all-wcprops | 35 - .../trunk/flext/tutorial/attr1/.svn/entries | 198 - .../attr1/.svn/prop-base/Makefile.am.svn-base | 5 - .../attr1/.svn/prop-base/attr1.mcp.svn-base | 9 - .../.svn/prop-base/attr1.vcproj.svn-base | 9 - .../attr1/.svn/prop-base/main.cpp.svn-base | 9 - .../attr1/.svn/text-base/Makefile.am.svn-base | 51 - .../attr1/.svn/text-base/attr1.mcp.svn-base | Bin 147321 -> 0 bytes .../.svn/text-base/attr1.vcproj.svn-base | 176 - .../attr1/.svn/text-base/main.cpp.svn-base | 79 - .../attr1/.svn/text-base/package.txt.svn-base | 2 - .../trunk/flext/tutorial/attr1/Makefile.am | 51 - .../trunk/flext/tutorial/attr1/attr1.mcp | Bin 147321 -> 0 bytes .../trunk/flext/tutorial/attr1/attr1.vcproj | 176 - .../grill/trunk/flext/tutorial/attr1/main.cpp | 79 - .../trunk/flext/tutorial/attr1/package.txt | 2 - .../flext/tutorial/attr2/.svn/all-wcprops | 35 - .../trunk/flext/tutorial/attr2/.svn/entries | 198 - .../attr2/.svn/prop-base/Makefile.am.svn-base | 5 - .../attr2/.svn/prop-base/attr2.mcp.svn-base | 9 - .../.svn/prop-base/attr2.vcproj.svn-base | 9 - .../attr2/.svn/prop-base/main.cpp.svn-base | 9 - .../attr2/.svn/text-base/Makefile.am.svn-base | 51 - .../attr2/.svn/text-base/attr2.mcp.svn-base | Bin 148873 -> 0 bytes .../.svn/text-base/attr2.vcproj.svn-base | 176 - .../attr2/.svn/text-base/main.cpp.svn-base | 195 - .../attr2/.svn/text-base/package.txt.svn-base | 2 - .../trunk/flext/tutorial/attr2/Makefile.am | 51 - .../trunk/flext/tutorial/attr2/attr2.mcp | Bin 148873 -> 0 bytes .../trunk/flext/tutorial/attr2/attr2.vcproj | 176 - .../grill/trunk/flext/tutorial/attr2/main.cpp | 195 - .../trunk/flext/tutorial/attr2/package.txt | 2 - .../flext/tutorial/attr3/.svn/all-wcprops | 35 - .../trunk/flext/tutorial/attr3/.svn/entries | 198 - .../attr3/.svn/prop-base/Makefile.am.svn-base | 5 - .../attr3/.svn/prop-base/attr3.mcp.svn-base | 9 - .../.svn/prop-base/attr3.vcproj.svn-base | 9 - .../attr3/.svn/prop-base/main.cpp.svn-base | 9 - .../attr3/.svn/text-base/Makefile.am.svn-base | 51 - .../attr3/.svn/text-base/attr3.mcp.svn-base | Bin 148873 -> 0 bytes .../.svn/text-base/attr3.vcproj.svn-base | 176 - .../attr3/.svn/text-base/main.cpp.svn-base | 157 - .../attr3/.svn/text-base/package.txt.svn-base | 2 - .../trunk/flext/tutorial/attr3/Makefile.am | 51 - .../trunk/flext/tutorial/attr3/attr3.mcp | Bin 148873 -> 0 bytes .../trunk/flext/tutorial/attr3/attr3.vcproj | 176 - .../grill/trunk/flext/tutorial/attr3/main.cpp | 157 - .../trunk/flext/tutorial/attr3/package.txt | 2 - .../flext/tutorial/bind1/.svn/all-wcprops | 35 - .../trunk/flext/tutorial/bind1/.svn/entries | 198 - .../bind1/.svn/prop-base/Makefile.am.svn-base | 5 - .../bind1/.svn/prop-base/bind1.mcp.svn-base | 9 - .../.svn/prop-base/bind1.vcproj.svn-base | 9 - .../bind1/.svn/prop-base/main.cpp.svn-base | 13 - .../bind1/.svn/text-base/Makefile.am.svn-base | 51 - .../bind1/.svn/text-base/bind1.mcp.svn-base | Bin 148873 -> 0 bytes .../.svn/text-base/bind1.vcproj.svn-base | 177 - .../bind1/.svn/text-base/main.cpp.svn-base | 134 - .../bind1/.svn/text-base/package.txt.svn-base | 2 - .../trunk/flext/tutorial/bind1/Makefile.am | 51 - .../trunk/flext/tutorial/bind1/bind1.mcp | Bin 148873 -> 0 bytes .../trunk/flext/tutorial/bind1/bind1.vcproj | 177 - .../grill/trunk/flext/tutorial/bind1/main.cpp | 134 - .../trunk/flext/tutorial/bind1/package.txt | 2 - .../flext/tutorial/buffer1/.svn/all-wcprops | 35 - .../trunk/flext/tutorial/buffer1/.svn/entries | 198 - .../.svn/prop-base/Makefile.am.svn-base | 5 - .../.svn/prop-base/buffer1.mcp.svn-base | 9 - .../.svn/prop-base/buffer1.vcproj.svn-base | 9 - .../buffer1/.svn/prop-base/main.cpp.svn-base | 13 - .../.svn/text-base/Makefile.am.svn-base | 51 - .../.svn/text-base/buffer1.mcp.svn-base | Bin 147321 -> 0 bytes .../.svn/text-base/buffer1.vcproj.svn-base | 177 - .../buffer1/.svn/text-base/main.cpp.svn-base | 258 - .../.svn/text-base/package.txt.svn-base | 2 - .../trunk/flext/tutorial/buffer1/Makefile.am | 51 - .../trunk/flext/tutorial/buffer1/buffer1.mcp | Bin 147321 -> 0 bytes .../flext/tutorial/buffer1/buffer1.vcproj | 177 - .../trunk/flext/tutorial/buffer1/main.cpp | 258 - .../trunk/flext/tutorial/buffer1/package.txt | 2 - .../grill/trunk/flext/tutorial/build.bat | 32 - externals/grill/trunk/flext/tutorial/build.sh | 27 - externals/grill/trunk/flext/tutorial/gpl.txt | 346 - .../flext/tutorial/lib1/.svn/all-wcprops | 35 - .../trunk/flext/tutorial/lib1/.svn/entries | 198 - .../lib1/.svn/prop-base/Makefile.am.svn-base | 5 - .../lib1/.svn/prop-base/lib1.mcp.svn-base | 9 - .../lib1/.svn/prop-base/lib1.vcproj.svn-base | 9 - .../lib1/.svn/prop-base/main.cpp.svn-base | 9 - .../lib1/.svn/text-base/Makefile.am.svn-base | 51 - .../lib1/.svn/text-base/lib1.mcp.svn-base | Bin 148873 -> 0 bytes .../lib1/.svn/text-base/lib1.vcproj.svn-base | 177 - .../lib1/.svn/text-base/main.cpp.svn-base | 132 - .../lib1/.svn/text-base/package.txt.svn-base | 2 - .../trunk/flext/tutorial/lib1/Makefile.am | 51 - .../grill/trunk/flext/tutorial/lib1/lib1.mcp | Bin 148873 -> 0 bytes .../trunk/flext/tutorial/lib1/lib1.vcproj | 177 - .../grill/trunk/flext/tutorial/lib1/main.cpp | 132 - .../trunk/flext/tutorial/lib1/package.txt | 2 - .../grill/trunk/flext/tutorial/license.txt | 50 - .../flext/tutorial/maxmsp/.svn/all-wcprops | 113 - .../trunk/flext/tutorial/maxmsp/.svn/entries | 640 - .../.svn/prop-base/Makefile.am.svn-base | 5 - .../.svn/prop-base/ex-adv1.pat.svn-base | 9 - .../.svn/prop-base/ex-adv2.pat.svn-base | 9 - .../.svn/prop-base/ex-adv3.pat.svn-base | 9 - .../.svn/prop-base/ex-attr1.pat.svn-base | 9 - .../.svn/prop-base/ex-attr2.pat.svn-base | 9 - .../.svn/prop-base/ex-attr3.pat.svn-base | 9 - .../.svn/prop-base/ex-bind1.pat.svn-base | 9 - .../.svn/prop-base/ex-buffer1.pat.svn-base | 9 - .../.svn/prop-base/ex-lib1.pat.svn-base | 9 - .../.svn/prop-base/ex-signal1.pat.svn-base | 9 - .../.svn/prop-base/ex-signal2.pat.svn-base | 9 - .../.svn/prop-base/ex-simple1.pat.svn-base | 9 - .../.svn/prop-base/ex-simple2.pat.svn-base | 9 - .../.svn/prop-base/ex-simple3.pat.svn-base | 9 - .../.svn/prop-base/ex-thread1.pat.svn-base | 9 - .../.svn/prop-base/ex-thread2.pat.svn-base | 9 - .../.svn/prop-base/ex-timer1.pat.svn-base | 9 - .../.svn/text-base/Makefile.am.svn-base | 6 - .../.svn/text-base/ex-adv1.pat.svn-base | Bin 540 -> 0 bytes .../.svn/text-base/ex-adv2.pat.svn-base | Bin 726 -> 0 bytes .../.svn/text-base/ex-adv3.pat.svn-base | Bin 801 -> 0 bytes .../.svn/text-base/ex-attr1.pat.svn-base | Bin 1050 -> 0 bytes .../.svn/text-base/ex-attr2.pat.svn-base | Bin 1389 -> 0 bytes .../.svn/text-base/ex-attr3.pat.svn-base | Bin 1358 -> 0 bytes .../.svn/text-base/ex-bind1.pat.svn-base | Bin 1509 -> 0 bytes .../.svn/text-base/ex-buffer1.pat.svn-base | Bin 1364 -> 0 bytes .../.svn/text-base/ex-lib1.pat.svn-base | Bin 1440 -> 0 bytes .../.svn/text-base/ex-signal1.pat.svn-base | Bin 740 -> 0 bytes .../.svn/text-base/ex-signal2.pat.svn-base | Bin 708 -> 0 bytes .../.svn/text-base/ex-simple1.pat.svn-base | Bin 725 -> 0 bytes .../.svn/text-base/ex-simple2.pat.svn-base | Bin 668 -> 0 bytes .../.svn/text-base/ex-simple3.pat.svn-base | Bin 662 -> 0 bytes .../.svn/text-base/ex-thread1.pat.svn-base | Bin 1004 -> 0 bytes .../.svn/text-base/ex-thread2.pat.svn-base | Bin 874 -> 0 bytes .../.svn/text-base/ex-timer1.pat.svn-base | Bin 1247 -> 0 bytes .../trunk/flext/tutorial/maxmsp/Makefile.am | 6 - .../trunk/flext/tutorial/maxmsp/ex-adv1.pat | Bin 540 -> 0 bytes .../trunk/flext/tutorial/maxmsp/ex-adv2.pat | Bin 726 -> 0 bytes .../trunk/flext/tutorial/maxmsp/ex-adv3.pat | Bin 801 -> 0 bytes .../trunk/flext/tutorial/maxmsp/ex-attr1.pat | Bin 1050 -> 0 bytes .../trunk/flext/tutorial/maxmsp/ex-attr2.pat | Bin 1389 -> 0 bytes .../trunk/flext/tutorial/maxmsp/ex-attr3.pat | Bin 1358 -> 0 bytes .../trunk/flext/tutorial/maxmsp/ex-bind1.pat | Bin 1509 -> 0 bytes .../flext/tutorial/maxmsp/ex-buffer1.pat | Bin 1364 -> 0 bytes .../trunk/flext/tutorial/maxmsp/ex-lib1.pat | Bin 1440 -> 0 bytes .../flext/tutorial/maxmsp/ex-signal1.pat | Bin 740 -> 0 bytes .../flext/tutorial/maxmsp/ex-signal2.pat | Bin 708 -> 0 bytes .../flext/tutorial/maxmsp/ex-simple1.pat | Bin 725 -> 0 bytes .../flext/tutorial/maxmsp/ex-simple2.pat | Bin 668 -> 0 bytes .../flext/tutorial/maxmsp/ex-simple3.pat | Bin 662 -> 0 bytes .../flext/tutorial/maxmsp/ex-thread1.pat | Bin 1004 -> 0 bytes .../flext/tutorial/maxmsp/ex-thread2.pat | Bin 874 -> 0 bytes .../trunk/flext/tutorial/maxmsp/ex-timer1.pat | Bin 1247 -> 0 bytes .../trunk/flext/tutorial/pd/.svn/all-wcprops | 131 - .../trunk/flext/tutorial/pd/.svn/entries | 742 - .../pd/.svn/prop-base/Makefile.am.svn-base | 5 - .../pd/.svn/prop-base/ex-adv1.pd.svn-base | 5 - .../pd/.svn/prop-base/ex-adv2.pd.svn-base | 5 - .../pd/.svn/prop-base/ex-adv3.pd.svn-base | 5 - .../pd/.svn/prop-base/ex-attr1.pd.svn-base | 5 - .../pd/.svn/prop-base/ex-attr2.pd.svn-base | 5 - .../pd/.svn/prop-base/ex-attr3.pd.svn-base | 5 - .../pd/.svn/prop-base/ex-bind1.pd.svn-base | 5 - .../pd/.svn/prop-base/ex-buffer1.pd.svn-base | 5 - .../pd/.svn/prop-base/ex-lib1.pd.svn-base | 5 - .../pd/.svn/prop-base/ex-signal1.pd.svn-base | 5 - .../pd/.svn/prop-base/ex-signal2.pd.svn-base | 5 - .../pd/.svn/prop-base/ex-simple1.pd.svn-base | 5 - .../pd/.svn/prop-base/ex-simple2.pd.svn-base | 5 - .../pd/.svn/prop-base/ex-simple3.pd.svn-base | 5 - .../pd/.svn/prop-base/ex-sndobj1.pd.svn-base | 5 - .../pd/.svn/prop-base/ex-stk1.pd.svn-base | 5 - .../pd/.svn/prop-base/ex-stk2.pd.svn-base | 5 - .../pd/.svn/prop-base/ex-thread1.pd.svn-base | 5 - .../pd/.svn/prop-base/ex-thread2.pd.svn-base | 5 - .../pd/.svn/prop-base/ex-timer1.pd.svn-base | 9 - .../pd/.svn/text-base/Makefile.am.svn-base | 6 - .../pd/.svn/text-base/ex-adv1.pd.svn-base | 23 - .../pd/.svn/text-base/ex-adv2.pd.svn-base | 23 - .../pd/.svn/text-base/ex-adv3.pd.svn-base | 40 - .../pd/.svn/text-base/ex-attr1.pd.svn-base | 31 - .../pd/.svn/text-base/ex-attr2.pd.svn-base | 47 - .../pd/.svn/text-base/ex-attr3.pd.svn-base | 60 - .../pd/.svn/text-base/ex-bind1.pd.svn-base | 55 - .../pd/.svn/text-base/ex-buffer1.pd.svn-base | 121 - .../pd/.svn/text-base/ex-lib1.pd.svn-base | 51 - .../pd/.svn/text-base/ex-signal1.pd.svn-base | 27 - .../pd/.svn/text-base/ex-signal2.pd.svn-base | 25 - .../pd/.svn/text-base/ex-simple1.pd.svn-base | 12 - .../pd/.svn/text-base/ex-simple2.pd.svn-base | 16 - .../pd/.svn/text-base/ex-simple3.pd.svn-base | 22 - .../pd/.svn/text-base/ex-sndobj1.pd.svn-base | 34 - .../pd/.svn/text-base/ex-stk1.pd.svn-base | 15 - .../pd/.svn/text-base/ex-stk2.pd.svn-base | 32 - .../pd/.svn/text-base/ex-thread1.pd.svn-base | 43 - .../pd/.svn/text-base/ex-thread2.pd.svn-base | 47 - .../pd/.svn/text-base/ex-timer1.pd.svn-base | 62 - .../grill/trunk/flext/tutorial/pd/Makefile.am | 6 - .../grill/trunk/flext/tutorial/pd/ex-adv1.pd | 23 - .../grill/trunk/flext/tutorial/pd/ex-adv2.pd | 23 - .../grill/trunk/flext/tutorial/pd/ex-adv3.pd | 40 - .../grill/trunk/flext/tutorial/pd/ex-attr1.pd | 31 - .../grill/trunk/flext/tutorial/pd/ex-attr2.pd | 47 - .../grill/trunk/flext/tutorial/pd/ex-attr3.pd | 60 - .../grill/trunk/flext/tutorial/pd/ex-bind1.pd | 55 - .../trunk/flext/tutorial/pd/ex-buffer1.pd | 121 - .../grill/trunk/flext/tutorial/pd/ex-lib1.pd | 51 - .../trunk/flext/tutorial/pd/ex-signal1.pd | 27 - .../trunk/flext/tutorial/pd/ex-signal2.pd | 25 - .../trunk/flext/tutorial/pd/ex-simple1.pd | 12 - .../trunk/flext/tutorial/pd/ex-simple2.pd | 16 - .../trunk/flext/tutorial/pd/ex-simple3.pd | 22 - .../trunk/flext/tutorial/pd/ex-sndobj1.pd | 34 - .../grill/trunk/flext/tutorial/pd/ex-stk1.pd | 15 - .../grill/trunk/flext/tutorial/pd/ex-stk2.pd | 32 - .../trunk/flext/tutorial/pd/ex-thread1.pd | 43 - .../trunk/flext/tutorial/pd/ex-thread2.pd | 47 - .../trunk/flext/tutorial/pd/ex-timer1.pd | 62 - .../grill/trunk/flext/tutorial/readme.txt | 77 - .../flext/tutorial/signal1/.svn/all-wcprops | 35 - .../trunk/flext/tutorial/signal1/.svn/entries | 198 - .../.svn/prop-base/Makefile.am.svn-base | 5 - .../signal1/.svn/prop-base/main.cpp.svn-base | 9 - .../.svn/prop-base/signal1.mcp.svn-base | 5 - .../.svn/prop-base/signal1.vcproj.svn-base | 9 - .../.svn/text-base/Makefile.am.svn-base | 51 - .../signal1/.svn/text-base/main.cpp.svn-base | 129 - .../.svn/text-base/package.txt.svn-base | 2 - .../.svn/text-base/signal1.mcp.svn-base | Bin 101183 -> 0 bytes .../.svn/text-base/signal1.vcproj.svn-base | 177 - .../trunk/flext/tutorial/signal1/Makefile.am | 51 - .../trunk/flext/tutorial/signal1/main.cpp | 129 - .../trunk/flext/tutorial/signal1/package.txt | 2 - .../trunk/flext/tutorial/signal1/signal1.mcp | Bin 101183 -> 0 bytes .../flext/tutorial/signal1/signal1.vcproj | 177 - .../flext/tutorial/signal2/.svn/all-wcprops | 35 - .../trunk/flext/tutorial/signal2/.svn/entries | 198 - .../.svn/prop-base/Makefile.am.svn-base | 5 - .../signal2/.svn/prop-base/main.cpp.svn-base | 9 - .../.svn/prop-base/signal2.mcp.svn-base | 5 - .../.svn/prop-base/signal2.vcproj.svn-base | 9 - .../.svn/text-base/Makefile.am.svn-base | 51 - .../signal2/.svn/text-base/main.cpp.svn-base | 69 - .../.svn/text-base/package.txt.svn-base | 2 - .../.svn/text-base/signal2.mcp.svn-base | Bin 101183 -> 0 bytes .../.svn/text-base/signal2.vcproj.svn-base | 177 - .../trunk/flext/tutorial/signal2/Makefile.am | 51 - .../trunk/flext/tutorial/signal2/main.cpp | 69 - .../trunk/flext/tutorial/signal2/package.txt | 2 - .../trunk/flext/tutorial/signal2/signal2.mcp | Bin 101183 -> 0 bytes .../flext/tutorial/signal2/signal2.vcproj | 177 - .../flext/tutorial/simple1/.svn/all-wcprops | 35 - .../trunk/flext/tutorial/simple1/.svn/entries | 198 - .../.svn/prop-base/Makefile.am.svn-base | 5 - .../simple1/.svn/prop-base/main.cpp.svn-base | 13 - .../.svn/prop-base/simple1.mcp.svn-base | 9 - .../.svn/prop-base/simple1.vcproj.svn-base | 9 - .../.svn/text-base/Makefile.am.svn-base | 51 - .../simple1/.svn/text-base/main.cpp.svn-base | 73 - .../.svn/text-base/package.txt.svn-base | 2 - .../.svn/text-base/simple1.mcp.svn-base | Bin 147321 -> 0 bytes .../.svn/text-base/simple1.vcproj.svn-base | 177 - .../trunk/flext/tutorial/simple1/Makefile.am | 51 - .../trunk/flext/tutorial/simple1/main.cpp | 73 - .../trunk/flext/tutorial/simple1/package.txt | 2 - .../trunk/flext/tutorial/simple1/simple1.mcp | Bin 147321 -> 0 bytes .../flext/tutorial/simple1/simple1.vcproj | 177 - .../flext/tutorial/simple2/.svn/all-wcprops | 35 - .../trunk/flext/tutorial/simple2/.svn/entries | 198 - .../.svn/prop-base/Makefile.am.svn-base | 5 - .../simple2/.svn/prop-base/main.cpp.svn-base | 13 - .../.svn/prop-base/simple2.mcp.svn-base | 9 - .../.svn/prop-base/simple2.vcproj.svn-base | 9 - .../.svn/text-base/Makefile.am.svn-base | 51 - .../simple2/.svn/text-base/main.cpp.svn-base | 77 - .../.svn/text-base/package.txt.svn-base | 2 - .../.svn/text-base/simple2.mcp.svn-base | Bin 101183 -> 0 bytes .../.svn/text-base/simple2.vcproj.svn-base | 176 - .../trunk/flext/tutorial/simple2/Makefile.am | 51 - .../trunk/flext/tutorial/simple2/main.cpp | 77 - .../trunk/flext/tutorial/simple2/package.txt | 2 - .../trunk/flext/tutorial/simple2/simple2.mcp | Bin 101183 -> 0 bytes .../flext/tutorial/simple2/simple2.vcproj | 176 - .../flext/tutorial/simple3/.svn/all-wcprops | 35 - .../trunk/flext/tutorial/simple3/.svn/entries | 198 - .../.svn/prop-base/Makefile.am.svn-base | 5 - .../simple3/.svn/prop-base/main.cpp.svn-base | 9 - .../.svn/prop-base/simple3.mcp.svn-base | 5 - .../.svn/prop-base/simple3.vcproj.svn-base | 9 - .../.svn/text-base/Makefile.am.svn-base | 51 - .../simple3/.svn/text-base/main.cpp.svn-base | 91 - .../.svn/text-base/package.txt.svn-base | 2 - .../.svn/text-base/simple3.mcp.svn-base | Bin 101183 -> 0 bytes .../.svn/text-base/simple3.vcproj.svn-base | 176 - .../trunk/flext/tutorial/simple3/Makefile.am | 51 - .../trunk/flext/tutorial/simple3/main.cpp | 91 - .../trunk/flext/tutorial/simple3/package.txt | 2 - .../trunk/flext/tutorial/simple3/simple3.mcp | Bin 101183 -> 0 bytes .../flext/tutorial/simple3/simple3.vcproj | 176 - .../flext/tutorial/sndobj1/.svn/all-wcprops | 35 - .../trunk/flext/tutorial/sndobj1/.svn/entries | 198 - .../.svn/prop-base/Makefile.am.svn-base | 5 - .../sndobj1/.svn/prop-base/main.cpp.svn-base | 9 - .../.svn/prop-base/sndobj1.mcp.svn-base | 5 - .../.svn/prop-base/sndobj1.vcproj.svn-base | 9 - .../.svn/text-base/Makefile.am.svn-base | 51 - .../sndobj1/.svn/text-base/main.cpp.svn-base | 101 - .../.svn/text-base/package.txt.svn-base | 2 - .../.svn/text-base/sndobj1.mcp.svn-base | Bin 101183 -> 0 bytes .../.svn/text-base/sndobj1.vcproj.svn-base | 177 - .../trunk/flext/tutorial/sndobj1/Makefile.am | 51 - .../trunk/flext/tutorial/sndobj1/main.cpp | 101 - .../trunk/flext/tutorial/sndobj1/package.txt | 2 - .../trunk/flext/tutorial/sndobj1/sndobj1.mcp | Bin 101183 -> 0 bytes .../flext/tutorial/sndobj1/sndobj1.vcproj | 177 - .../flext/tutorial/stk1/.svn/all-wcprops | 29 - .../trunk/flext/tutorial/stk1/.svn/entries | 164 - .../stk1/.svn/prop-base/Makefile.am.svn-base | 5 - .../stk1/.svn/prop-base/main.cpp.svn-base | 9 - .../stk1/.svn/prop-base/stk1.vcproj.svn-base | 9 - .../stk1/.svn/text-base/Makefile.am.svn-base | 51 - .../stk1/.svn/text-base/main.cpp.svn-base | 90 - .../stk1/.svn/text-base/package.txt.svn-base | 2 - .../stk1/.svn/text-base/stk1.vcproj.svn-base | 177 - .../trunk/flext/tutorial/stk1/Makefile.am | 51 - .../grill/trunk/flext/tutorial/stk1/main.cpp | 90 - .../trunk/flext/tutorial/stk1/package.txt | 2 - .../trunk/flext/tutorial/stk1/stk1.vcproj | 177 - .../flext/tutorial/stk2/.svn/all-wcprops | 29 - .../trunk/flext/tutorial/stk2/.svn/entries | 164 - .../stk2/.svn/prop-base/Makefile.am.svn-base | 5 - .../stk2/.svn/prop-base/main.cpp.svn-base | 9 - .../stk2/.svn/prop-base/stk2.vcproj.svn-base | 9 - .../stk2/.svn/text-base/Makefile.am.svn-base | 51 - .../stk2/.svn/text-base/main.cpp.svn-base | 112 - .../stk2/.svn/text-base/package.txt.svn-base | 2 - .../stk2/.svn/text-base/stk2.vcproj.svn-base | 177 - .../trunk/flext/tutorial/stk2/Makefile.am | 51 - .../grill/trunk/flext/tutorial/stk2/main.cpp | 112 - .../trunk/flext/tutorial/stk2/package.txt | 2 - .../trunk/flext/tutorial/stk2/stk2.vcproj | 177 - .../flext/tutorial/thread1/.svn/all-wcprops | 35 - .../trunk/flext/tutorial/thread1/.svn/entries | 198 - .../.svn/prop-base/Makefile.am.svn-base | 5 - .../thread1/.svn/prop-base/main.cpp.svn-base | 9 - .../.svn/prop-base/thread1.mcp.svn-base | 5 - .../.svn/prop-base/thread1.vcproj.svn-base | 9 - .../.svn/text-base/Makefile.am.svn-base | 51 - .../thread1/.svn/text-base/main.cpp.svn-base | 83 - .../.svn/text-base/package.txt.svn-base | 3 - .../.svn/text-base/thread1.mcp.svn-base | Bin 149552 -> 0 bytes .../.svn/text-base/thread1.vcproj.svn-base | 176 - .../trunk/flext/tutorial/thread1/Makefile.am | 51 - .../trunk/flext/tutorial/thread1/main.cpp | 83 - .../trunk/flext/tutorial/thread1/package.txt | 3 - .../trunk/flext/tutorial/thread1/thread1.mcp | Bin 149552 -> 0 bytes .../flext/tutorial/thread1/thread1.vcproj | 176 - .../flext/tutorial/thread2/.svn/all-wcprops | 35 - .../trunk/flext/tutorial/thread2/.svn/entries | 198 - .../.svn/prop-base/Makefile.am.svn-base | 5 - .../thread2/.svn/prop-base/main.cpp.svn-base | 9 - .../.svn/prop-base/thread2.mcp.svn-base | 9 - .../.svn/prop-base/thread2.vcproj.svn-base | 9 - .../.svn/text-base/Makefile.am.svn-base | 51 - .../thread2/.svn/text-base/main.cpp.svn-base | 134 - .../.svn/text-base/package.txt.svn-base | 3 - .../.svn/text-base/thread2.mcp.svn-base | Bin 148836 -> 0 bytes .../.svn/text-base/thread2.vcproj.svn-base | 176 - .../trunk/flext/tutorial/thread2/Makefile.am | 51 - .../trunk/flext/tutorial/thread2/main.cpp | 134 - .../trunk/flext/tutorial/thread2/package.txt | 3 - .../trunk/flext/tutorial/thread2/thread2.mcp | Bin 148836 -> 0 bytes .../flext/tutorial/thread2/thread2.vcproj | 176 - .../flext/tutorial/timer1/.svn/all-wcprops | 35 - .../trunk/flext/tutorial/timer1/.svn/entries | 198 - .../.svn/prop-base/Makefile.am.svn-base | 5 - .../timer1/.svn/prop-base/main.cpp.svn-base | 13 - .../timer1/.svn/prop-base/timer1.mcp.svn-base | 9 - .../.svn/prop-base/timer1.vcproj.svn-base | 9 - .../.svn/text-base/Makefile.am.svn-base | 51 - .../timer1/.svn/text-base/main.cpp.svn-base | 100 - .../.svn/text-base/package.txt.svn-base | 2 - .../timer1/.svn/text-base/timer1.mcp.svn-base | Bin 207765 -> 0 bytes .../.svn/text-base/timer1.vcproj.svn-base | 177 - .../trunk/flext/tutorial/timer1/Makefile.am | 51 - .../trunk/flext/tutorial/timer1/main.cpp | 100 - .../trunk/flext/tutorial/timer1/package.txt | 2 - .../trunk/flext/tutorial/timer1/timer1.mcp | Bin 207765 -> 0 bytes .../trunk/flext/tutorial/timer1/timer1.vcproj | 177 - .../grill/trunk/flext/tutorial/tutorial.sln | 473 - pd/src/g_magicglass.c | 2 - 1123 files changed, 119066 deletions(-) delete mode 100644 externals/grill/trunk/flext/.gitignore delete mode 100644 externals/grill/trunk/flext/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/.svn/dir-prop-base delete mode 100644 externals/grill/trunk/flext/.svn/entries delete mode 100644 externals/grill/trunk/flext/.svn/prop-base/Doxyfile.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/prop-base/bootstrap.sh.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/prop-base/build.bat.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/prop-base/build.sh.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/prop-base/build.txt.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/prop-base/changes.txt.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/prop-base/configure.ac.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/prop-base/flext.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/prop-base/flext.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/prop-base/gpl.txt.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/prop-base/license.txt.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/prop-base/package.txt.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/prop-base/readme.txt.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/text-base/Doxyfile.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/text-base/bootstrap.sh.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/text-base/build.bat.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/text-base/build.sh.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/text-base/build.txt.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/text-base/changes.txt.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/text-base/configure.ac.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/text-base/flext.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/text-base/flext.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/text-base/gpl.txt.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/text-base/license.txt.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/text-base/notes.txt.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/text-base/package.txt.svn-base delete mode 100644 externals/grill/trunk/flext/.svn/text-base/readme.txt.svn-base delete mode 100644 externals/grill/trunk/flext/Doxyfile delete mode 100755 externals/grill/trunk/flext/Makefile.am delete mode 100644 externals/grill/trunk/flext/Makefile.in delete mode 100755 externals/grill/trunk/flext/bootstrap.sh delete mode 100644 externals/grill/trunk/flext/build.bat delete mode 100755 externals/grill/trunk/flext/build.sh delete mode 100644 externals/grill/trunk/flext/build.txt delete mode 100644 externals/grill/trunk/flext/build/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/build/.svn/entries delete mode 100644 externals/grill/trunk/flext/build/.svn/prop-base/bmake-win-bcc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/build/.svn/prop-base/config-lnx.def.svn-base delete mode 100644 externals/grill/trunk/flext/build/.svn/prop-base/config-mac.def.svn-base delete mode 100644 externals/grill/trunk/flext/build/.svn/prop-base/config-win.def.svn-base delete mode 100644 externals/grill/trunk/flext/build/.svn/prop-base/gnumake-lnx-gcc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/build/.svn/prop-base/gnumake-lnx-icc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/build/.svn/prop-base/gnumake-mac-gcc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/build/.svn/prop-base/gnumake-win-cygwin.inc.svn-base delete mode 100644 externals/grill/trunk/flext/build/.svn/prop-base/gnumake-win-mingw.inc.svn-base delete mode 100644 externals/grill/trunk/flext/build/.svn/prop-base/nmake-win-msvc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/build/.svn/text-base/bmake-win-bcc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/build/.svn/text-base/config-lnx.def.svn-base delete mode 100644 externals/grill/trunk/flext/build/.svn/text-base/config-mac.def.svn-base delete mode 100644 externals/grill/trunk/flext/build/.svn/text-base/config-win.def.svn-base delete mode 100644 externals/grill/trunk/flext/build/.svn/text-base/gnumake-lnx-gcc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/build/.svn/text-base/gnumake-lnx-icc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/build/.svn/text-base/gnumake-mac-gcc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/build/.svn/text-base/gnumake-win-cygwin.inc.svn-base delete mode 100644 externals/grill/trunk/flext/build/.svn/text-base/gnumake-win-gcc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/build/.svn/text-base/gnumake-win-mingw.inc.svn-base delete mode 100644 externals/grill/trunk/flext/build/.svn/text-base/nmake-win-msvc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/build/bmake-win-bcc.inc delete mode 100644 externals/grill/trunk/flext/build/config-lnx.def delete mode 100644 externals/grill/trunk/flext/build/config-mac.def delete mode 100644 externals/grill/trunk/flext/build/config-win.def delete mode 100644 externals/grill/trunk/flext/build/gnumake-lnx-gcc.inc delete mode 100644 externals/grill/trunk/flext/build/gnumake-lnx-icc.inc delete mode 100644 externals/grill/trunk/flext/build/gnumake-mac-gcc.inc delete mode 100644 externals/grill/trunk/flext/build/gnumake-win-cygwin.inc delete mode 100644 externals/grill/trunk/flext/build/gnumake-win-gcc.inc delete mode 100644 externals/grill/trunk/flext/build/gnumake-win-mingw.inc delete mode 100644 externals/grill/trunk/flext/build/nmake-win-msvc.inc delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/entries delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/bmake-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/bmake-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/bmake-sub.mak.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/bmake.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/bmake.mak.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/build-bcc.bat.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/build-cygwin.sh.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/build-gcc.sh.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/build-icc.sh.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/build-mingw.bat.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/build-msvc.bat.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/gnumake-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/gnumake-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/gnumake-sub.mak.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/gnumake.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/gnumake.mak.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/nmake-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/nmake-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/nmake-shlib.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/nmake-sub.mak.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/nmake.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/nmake.mak.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/readme.txt.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/targets-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/targets-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/targets-shlib.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/targets.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/prop-base/version.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/bmake-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/bmake-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/bmake-sub.mak.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/bmake.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/bmake.mak.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/build-bcc.bat.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/build-cygwin.sh.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/build-gcc.sh.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/build-icc.sh.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/build-mingw.bat.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/build-msvc.bat.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/gnumake-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/gnumake-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/gnumake-sub.mak.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/gnumake.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/gnumake.mak.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/nmake-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/nmake-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/nmake-shlib.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/nmake-sub.mak.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/nmake.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/nmake.mak.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/readme.txt.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/targets-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/targets-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/targets-shlib.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/targets.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/.svn/text-base/version.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/bmake-ext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/bmake-flext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/bmake-sub.mak delete mode 100644 externals/grill/trunk/flext/buildsys/bmake.inc delete mode 100644 externals/grill/trunk/flext/buildsys/bmake.mak delete mode 100644 externals/grill/trunk/flext/buildsys/build-bcc.bat delete mode 100755 externals/grill/trunk/flext/buildsys/build-cygwin.sh delete mode 100755 externals/grill/trunk/flext/buildsys/build-gcc.sh delete mode 100755 externals/grill/trunk/flext/buildsys/build-icc.sh delete mode 100644 externals/grill/trunk/flext/buildsys/build-mingw.bat delete mode 100644 externals/grill/trunk/flext/buildsys/build-msvc.bat delete mode 100644 externals/grill/trunk/flext/buildsys/config-lnx-pd-gcc.txt delete mode 100644 externals/grill/trunk/flext/buildsys/gnumake-ext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/gnumake-flext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/gnumake-sub.mak delete mode 100644 externals/grill/trunk/flext/buildsys/gnumake.inc delete mode 100644 externals/grill/trunk/flext/buildsys/gnumake.mak delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/.svn/entries delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/.svn/prop-base/gnumake-gcc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/.svn/prop-base/gnumake-gcc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/.svn/prop-base/gnumake-gcc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/.svn/prop-base/gnumake-icc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/.svn/prop-base/gnumake-icc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/.svn/prop-base/gnumake-icc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/.svn/text-base/gnumake-gcc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/.svn/text-base/gnumake-gcc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/.svn/text-base/gnumake-gcc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/.svn/text-base/gnumake-icc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/.svn/text-base/gnumake-icc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/.svn/text-base/gnumake-icc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/gnumake-gcc-ext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/gnumake-gcc-flext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/gnumake-gcc.inc delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/gnumake-icc-ext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/gnumake-icc-flext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/gnumake-icc.inc delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/.svn/entries delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/config-gcc.def.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/config-icc.def.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/gnumake-gcc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/gnumake-gcc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/gnumake-gcc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/gnumake-icc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/gnumake-icc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/gnumake-icc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/config-gcc.def.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/config-icc.def.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/gnumake-gcc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/gnumake-gcc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/gnumake-gcc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/gnumake-icc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/gnumake-icc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/gnumake-icc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/config-gcc.def delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/config-icc.def delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/gnumake-gcc-ext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/gnumake-gcc-flext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/gnumake-gcc.inc delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/gnumake-icc-ext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/gnumake-icc-flext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/lnx/pd/gnumake-icc.inc delete mode 100644 externals/grill/trunk/flext/buildsys/mac/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/buildsys/mac/.svn/entries delete mode 100644 externals/grill/trunk/flext/buildsys/mac/.svn/prop-base/gnumake-gcc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/mac/.svn/prop-base/gnumake-gcc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/mac/.svn/prop-base/gnumake-gcc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/mac/.svn/text-base/gnumake-gcc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/mac/.svn/text-base/gnumake-gcc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/mac/.svn/text-base/gnumake-gcc-targets.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/mac/.svn/text-base/gnumake-gcc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/mac/gnumake-gcc-ext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/mac/gnumake-gcc-flext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/mac/gnumake-gcc-targets.inc delete mode 100644 externals/grill/trunk/flext/buildsys/mac/gnumake-gcc.inc delete mode 100644 externals/grill/trunk/flext/buildsys/mac/max/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/buildsys/mac/max/.svn/entries delete mode 100644 externals/grill/trunk/flext/buildsys/mac/max/.svn/prop-base/config-gcc.def.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/mac/max/.svn/prop-base/gnumake-gcc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/mac/max/.svn/prop-base/gnumake-gcc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/mac/max/.svn/prop-base/gnumake-gcc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/mac/max/.svn/text-base/config-gcc.def.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/mac/max/.svn/text-base/gnumake-gcc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/mac/max/.svn/text-base/gnumake-gcc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/mac/max/.svn/text-base/gnumake-gcc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/mac/max/config-gcc.def delete mode 100644 externals/grill/trunk/flext/buildsys/mac/max/gnumake-gcc-ext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/mac/max/gnumake-gcc-flext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/mac/max/gnumake-gcc.inc delete mode 100644 externals/grill/trunk/flext/buildsys/mac/pd/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/buildsys/mac/pd/.svn/entries delete mode 100644 externals/grill/trunk/flext/buildsys/mac/pd/.svn/prop-base/config-gcc.def.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/mac/pd/.svn/prop-base/gnumake-gcc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/mac/pd/.svn/prop-base/gnumake-gcc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/mac/pd/.svn/prop-base/gnumake-gcc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/mac/pd/.svn/text-base/config-gcc.def.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/mac/pd/.svn/text-base/gnumake-gcc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/mac/pd/.svn/text-base/gnumake-gcc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/mac/pd/.svn/text-base/gnumake-gcc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/mac/pd/config-gcc.def delete mode 100644 externals/grill/trunk/flext/buildsys/mac/pd/gnumake-gcc-ext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/mac/pd/gnumake-gcc-flext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/mac/pd/gnumake-gcc.inc delete mode 100644 externals/grill/trunk/flext/buildsys/nmake-ext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/nmake-flext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/nmake-shlib.inc delete mode 100644 externals/grill/trunk/flext/buildsys/nmake-sub.mak delete mode 100644 externals/grill/trunk/flext/buildsys/nmake.inc delete mode 100644 externals/grill/trunk/flext/buildsys/nmake.mak delete mode 100644 externals/grill/trunk/flext/buildsys/readme.txt delete mode 100644 externals/grill/trunk/flext/buildsys/targets-ext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/targets-flext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/targets-shlib.inc delete mode 100644 externals/grill/trunk/flext/buildsys/targets.inc delete mode 100644 externals/grill/trunk/flext/buildsys/version.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/entries delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/prop-base/bmake-bcc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/prop-base/bmake-bcc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/prop-base/bmake-bcc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/prop-base/gnumake-cygwin-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/prop-base/gnumake-cygwin-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/prop-base/gnumake-cygwin.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/prop-base/gnumake-mingw-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/prop-base/gnumake-mingw-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/prop-base/gnumake-mingw.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/prop-base/nmake-msvc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/prop-base/nmake-msvc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/prop-base/nmake-msvc-shlib.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/prop-base/nmake-msvc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/text-base/bmake-bcc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/text-base/bmake-bcc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/text-base/bmake-bcc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-cygwin-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-cygwin-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-cygwin.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-gcc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-gcc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-gcc-targets.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-gcc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-mingw-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-mingw-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-mingw.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/text-base/nmake-msvc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/text-base/nmake-msvc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/text-base/nmake-msvc-shlib.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/.svn/text-base/nmake-msvc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/bmake-bcc-ext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/bmake-bcc-flext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/bmake-bcc.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/gnumake-cygwin-ext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/gnumake-cygwin-flext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/gnumake-cygwin.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/gnumake-gcc-ext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/gnumake-gcc-flext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/gnumake-gcc-targets.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/gnumake-gcc.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/gnumake-mingw-ext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/gnumake-mingw-flext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/gnumake-mingw.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/entries delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/config-cygwin.def.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/config-mingw.def.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/config-msvc.def.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/gnumake-cygwin-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/gnumake-cygwin-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/gnumake-cygwin.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/gnumake-mingw-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/gnumake-mingw-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/gnumake-mingw.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/nmake-msvc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/nmake-msvc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/nmake-msvc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/config-cygwin.def.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/config-mingw.def.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/config-msvc.def.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/gnumake-cygwin-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/gnumake-cygwin-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/gnumake-cygwin.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/gnumake-mingw-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/gnumake-mingw-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/gnumake-mingw.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/nmake-msvc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/nmake-msvc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/nmake-msvc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/config-cygwin.def delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/config-mingw.def delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/config-msvc.def delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/gnumake-cygwin-ext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/gnumake-cygwin-flext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/gnumake-cygwin.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/gnumake-mingw-ext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/gnumake-mingw-flext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/gnumake-mingw.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/nmake-msvc-ext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/nmake-msvc-flext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/max/nmake-msvc.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/nmake-msvc-ext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/nmake-msvc-flext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/nmake-msvc-shlib.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/nmake-msvc.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/entries delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/bmake-bcc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/bmake-bcc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/bmake-bcc-shlib.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/bmake-bcc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/config-bcc.def.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/config-cygwin.def.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/config-mingw.def.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/config-msvc.def.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-cygwin-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-cygwin-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-cygwin-shlib.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-cygwin.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-mingw-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-mingw-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-mingw-shlib.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-mingw.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/nmake-msvc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/nmake-msvc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/nmake-msvc-shlib.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/nmake-msvc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/bmake-bcc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/bmake-bcc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/bmake-bcc-shlib.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/bmake-bcc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/config-bcc.def.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/config-cygwin.def.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/config-gcc.def.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/config-mingw.def.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/config-msvc.def.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-cygwin-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-cygwin-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-cygwin-shlib.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-cygwin.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-gcc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-gcc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-gcc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-mingw-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-mingw-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-mingw-shlib.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-mingw.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/nmake-msvc-ext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/nmake-msvc-flext.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/nmake-msvc-shlib.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/nmake-msvc.inc.svn-base delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/bmake-bcc-ext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/bmake-bcc-flext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/bmake-bcc-shlib.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/bmake-bcc.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/config-bcc.def delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/config-cygwin.def delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/config-gcc.def delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/config-mingw.def delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/config-msvc.def delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/gnumake-cygwin-ext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/gnumake-cygwin-flext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/gnumake-cygwin-shlib.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/gnumake-cygwin.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/gnumake-gcc-ext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/gnumake-gcc-flext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/gnumake-gcc.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/gnumake-mingw-ext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/gnumake-mingw-flext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/gnumake-mingw-shlib.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/gnumake-mingw.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/nmake-msvc-ext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/nmake-msvc-flext.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/nmake-msvc-shlib.inc delete mode 100644 externals/grill/trunk/flext/buildsys/win/pd/nmake-msvc.inc delete mode 100644 externals/grill/trunk/flext/changes.txt delete mode 100644 externals/grill/trunk/flext/config.txt delete mode 100755 externals/grill/trunk/flext/configure delete mode 100755 externals/grill/trunk/flext/configure.ac delete mode 100644 externals/grill/trunk/flext/examples/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/examples/.svn/entries delete mode 100644 externals/grill/trunk/flext/examples/.svn/prop-base/examples.dsw.svn-base delete mode 100644 externals/grill/trunk/flext/examples/.svn/text-base/examples.dsw.svn-base delete mode 100644 externals/grill/trunk/flext/examples/examples.dsw delete mode 100644 externals/grill/trunk/flext/examples/pd/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/examples/pd/.svn/entries delete mode 100644 externals/grill/trunk/flext/examples/pd/.svn/prop-base/ex-henon.pd.svn-base delete mode 100644 externals/grill/trunk/flext/examples/pd/.svn/text-base/ex-henon.pd.svn-base delete mode 100644 externals/grill/trunk/flext/examples/pd/ex-henon.pd delete mode 100644 externals/grill/trunk/flext/examples/source/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/examples/source/.svn/entries delete mode 100644 externals/grill/trunk/flext/examples/source/.svn/prop-base/henon.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/examples/source/.svn/prop-base/henon.cw.svn-base delete mode 100644 externals/grill/trunk/flext/examples/source/.svn/prop-base/henon.dsp.svn-base delete mode 100644 externals/grill/trunk/flext/examples/source/.svn/text-base/henon.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/examples/source/.svn/text-base/henon.cw.svn-base delete mode 100644 externals/grill/trunk/flext/examples/source/.svn/text-base/henon.dsp.svn-base delete mode 100644 externals/grill/trunk/flext/examples/source/henon.cpp delete mode 100644 externals/grill/trunk/flext/examples/source/henon.cw delete mode 100644 externals/grill/trunk/flext/examples/source/henon.dsp delete mode 100644 externals/grill/trunk/flext/examples/xcode-template/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/examples/xcode-template/.svn/entries delete mode 100644 externals/grill/trunk/flext/examples/xcode-template/.svn/prop-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/examples/xcode-template/.svn/prop-base/readme.txt.svn-base delete mode 100644 externals/grill/trunk/flext/examples/xcode-template/.svn/text-base/Info.plist.svn-base delete mode 100644 externals/grill/trunk/flext/examples/xcode-template/.svn/text-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/examples/xcode-template/.svn/text-base/readme.txt.svn-base delete mode 100644 externals/grill/trunk/flext/examples/xcode-template/Info.plist delete mode 100644 externals/grill/trunk/flext/examples/xcode-template/main.cpp delete mode 100644 externals/grill/trunk/flext/examples/xcode-template/readme.txt delete mode 100644 externals/grill/trunk/flext/examples/xcode-template/template.xcodeproj/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/examples/xcode-template/template.xcodeproj/.svn/entries delete mode 100644 externals/grill/trunk/flext/examples/xcode-template/template.xcodeproj/.svn/text-base/project.pbxproj.svn-base delete mode 100644 externals/grill/trunk/flext/examples/xcode-template/template.xcodeproj/project.pbxproj delete mode 100644 externals/grill/trunk/flext/flext.mcp delete mode 100644 externals/grill/trunk/flext/flext.vcproj delete mode 100644 externals/grill/trunk/flext/flext.xcodeproj/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/flext.xcodeproj/.svn/entries delete mode 100644 externals/grill/trunk/flext/flext.xcodeproj/.svn/prop-base/project.pbxproj.svn-base delete mode 100644 externals/grill/trunk/flext/flext.xcodeproj/.svn/text-base/project.pbxproj.svn-base delete mode 100755 externals/grill/trunk/flext/flext.xcodeproj/project.pbxproj delete mode 100644 externals/grill/trunk/flext/gpl.txt delete mode 100644 externals/grill/trunk/flext/license.txt delete mode 100644 externals/grill/trunk/flext/notes.txt delete mode 100644 externals/grill/trunk/flext/package.txt delete mode 100644 externals/grill/trunk/flext/readme.txt delete mode 100644 externals/grill/trunk/flext/source/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/source/.svn/entries delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flatom.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flatom_part.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flatom_pr.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flattr.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flattr_ed.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flbase.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flbase.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flbind.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flbuf.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flclass.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flcontainers.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flcwmax-thr.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flcwmax-x-thr.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flcwmax-x.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flcwmax.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flcwpd-x-thr.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flcwpd-x.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/fldefs.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/fldefs_attradd.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/fldefs_attrcb.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/fldefs_attrvar.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/fldefs_hdr.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/fldefs_methadd.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/fldefs_methbind.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/fldefs_methcall.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/fldefs_methcb.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/fldefs_meththr.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/fldefs_setup.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/fldoxygen.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/fldsp.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/fldsp.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flext.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flext.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flfeatures.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flinternal.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flitem.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/fllib.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flmap.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flmap.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flmeth.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flmsg.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flmspbuffer.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flout.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flpopns.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flprefix.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flproxy.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flpushns.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flqueue.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flsimd.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flsndobj.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flsndobj.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flstdc.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flstk.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flstk.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flsupport.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flsupport.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flthr.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/fltimer.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flutil.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/prop-base/flxlet.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flatom.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flatom_part.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flatom_pr.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flattr.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flattr_ed.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flbase.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flbase.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flbind.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flbuf.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flclass.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flcontainers.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flcwmax-thr.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flcwmax-x-thr.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flcwmax-x.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flcwmax.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flcwpd-x-thr.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flcwpd-x.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/fldefs.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/fldefs_attradd.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/fldefs_attrcb.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/fldefs_attrvar.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/fldefs_hdr.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/fldefs_methadd.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/fldefs_methbind.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/fldefs_methcall.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/fldefs_methcb.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/fldefs_meththr.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/fldefs_setup.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/fldoxygen.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/fldsp.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/fldsp.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flext.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flext.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flfeatures.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flinternal.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flitem.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/fllib.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flmap.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flmap.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flmeth.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flmsg.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flmspbuffer.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flout.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flpopns.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flprefix.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flproxy.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flpushns.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flqueue.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flsimd.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flsndobj.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flsndobj.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flstdc.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flstk.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flstk.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flsupport.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flsupport.h.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flthr.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/fltimer.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flutil.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/.svn/text-base/flxlet.cpp.svn-base delete mode 100755 externals/grill/trunk/flext/source/Makefile.am delete mode 100644 externals/grill/trunk/flext/source/Makefile.in delete mode 100644 externals/grill/trunk/flext/source/flatom.cpp delete mode 100644 externals/grill/trunk/flext/source/flatom_part.cpp delete mode 100644 externals/grill/trunk/flext/source/flatom_pr.cpp delete mode 100644 externals/grill/trunk/flext/source/flattr.cpp delete mode 100644 externals/grill/trunk/flext/source/flattr_ed.cpp delete mode 100644 externals/grill/trunk/flext/source/flbase.cpp delete mode 100644 externals/grill/trunk/flext/source/flbase.h delete mode 100644 externals/grill/trunk/flext/source/flbind.cpp delete mode 100644 externals/grill/trunk/flext/source/flbuf.cpp delete mode 100644 externals/grill/trunk/flext/source/flclass.h delete mode 100644 externals/grill/trunk/flext/source/flcontainers.h delete mode 100644 externals/grill/trunk/flext/source/flcwmax-thr.h delete mode 100644 externals/grill/trunk/flext/source/flcwmax-x-thr.h delete mode 100644 externals/grill/trunk/flext/source/flcwmax-x.h delete mode 100644 externals/grill/trunk/flext/source/flcwmax.h delete mode 100644 externals/grill/trunk/flext/source/flcwpd-x-thr.h delete mode 100644 externals/grill/trunk/flext/source/flcwpd-x.h delete mode 100644 externals/grill/trunk/flext/source/fldefs.h delete mode 100644 externals/grill/trunk/flext/source/fldefs_attradd.h delete mode 100644 externals/grill/trunk/flext/source/fldefs_attrcb.h delete mode 100644 externals/grill/trunk/flext/source/fldefs_attrvar.h delete mode 100644 externals/grill/trunk/flext/source/fldefs_hdr.h delete mode 100644 externals/grill/trunk/flext/source/fldefs_methadd.h delete mode 100644 externals/grill/trunk/flext/source/fldefs_methbind.h delete mode 100644 externals/grill/trunk/flext/source/fldefs_methcall.h delete mode 100644 externals/grill/trunk/flext/source/fldefs_methcb.h delete mode 100644 externals/grill/trunk/flext/source/fldefs_meththr.h delete mode 100644 externals/grill/trunk/flext/source/fldefs_setup.h delete mode 100644 externals/grill/trunk/flext/source/fldoxygen.h delete mode 100644 externals/grill/trunk/flext/source/fldsp.cpp delete mode 100644 externals/grill/trunk/flext/source/fldsp.h delete mode 100644 externals/grill/trunk/flext/source/flext.cpp delete mode 100644 externals/grill/trunk/flext/source/flext.h delete mode 100644 externals/grill/trunk/flext/source/flfeatures.h delete mode 100644 externals/grill/trunk/flext/source/flinternal.h delete mode 100644 externals/grill/trunk/flext/source/flitem.cpp delete mode 100644 externals/grill/trunk/flext/source/fllib.cpp delete mode 100644 externals/grill/trunk/flext/source/flmap.cpp delete mode 100644 externals/grill/trunk/flext/source/flmap.h delete mode 100644 externals/grill/trunk/flext/source/flmeth.cpp delete mode 100644 externals/grill/trunk/flext/source/flmsg.cpp delete mode 100644 externals/grill/trunk/flext/source/flmspbuffer.h delete mode 100644 externals/grill/trunk/flext/source/flout.cpp delete mode 100644 externals/grill/trunk/flext/source/flpopns.h delete mode 100644 externals/grill/trunk/flext/source/flprefix.h delete mode 100644 externals/grill/trunk/flext/source/flproxy.cpp delete mode 100644 externals/grill/trunk/flext/source/flpushns.h delete mode 100644 externals/grill/trunk/flext/source/flqueue.cpp delete mode 100644 externals/grill/trunk/flext/source/flsimd.cpp delete mode 100644 externals/grill/trunk/flext/source/flsndobj.cpp delete mode 100644 externals/grill/trunk/flext/source/flsndobj.h delete mode 100644 externals/grill/trunk/flext/source/flstdc.h delete mode 100644 externals/grill/trunk/flext/source/flstk.cpp delete mode 100644 externals/grill/trunk/flext/source/flstk.h delete mode 100644 externals/grill/trunk/flext/source/flsupport.cpp delete mode 100644 externals/grill/trunk/flext/source/flsupport.h delete mode 100644 externals/grill/trunk/flext/source/flthr.cpp delete mode 100644 externals/grill/trunk/flext/source/fltimer.cpp delete mode 100644 externals/grill/trunk/flext/source/flutil.cpp delete mode 100644 externals/grill/trunk/flext/source/flxlet.cpp delete mode 100644 externals/grill/trunk/flext/source/lockfree/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/source/lockfree/.svn/entries delete mode 100644 externals/grill/trunk/flext/source/lockfree/.svn/prop-base/atomic_int.hpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/lockfree/.svn/prop-base/atomic_ptr.hpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/lockfree/.svn/prop-base/branch_hints.hpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/lockfree/.svn/prop-base/cas.hpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/lockfree/.svn/prop-base/fifo.hpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/lockfree/.svn/prop-base/prefix.hpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/lockfree/.svn/prop-base/stack.hpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/lockfree/.svn/text-base/atomic_int.hpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/lockfree/.svn/text-base/atomic_ptr.hpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/lockfree/.svn/text-base/branch_hints.hpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/lockfree/.svn/text-base/cas.hpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/lockfree/.svn/text-base/fifo.hpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/lockfree/.svn/text-base/prefix.hpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/lockfree/.svn/text-base/stack.hpp.svn-base delete mode 100644 externals/grill/trunk/flext/source/lockfree/atomic_int.hpp delete mode 100644 externals/grill/trunk/flext/source/lockfree/atomic_ptr.hpp delete mode 100644 externals/grill/trunk/flext/source/lockfree/branch_hints.hpp delete mode 100644 externals/grill/trunk/flext/source/lockfree/cas.hpp delete mode 100644 externals/grill/trunk/flext/source/lockfree/fifo.hpp delete mode 100644 externals/grill/trunk/flext/source/lockfree/prefix.hpp delete mode 100644 externals/grill/trunk/flext/source/lockfree/stack.hpp delete mode 100644 externals/grill/trunk/flext/tutorial/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/tutorial/.svn/entries delete mode 100644 externals/grill/trunk/flext/tutorial/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/.svn/prop-base/build.sh.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/.svn/prop-base/gpl.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/.svn/prop-base/license.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/.svn/prop-base/readme.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/.svn/prop-base/tutorial.sln.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/.svn/text-base/build.bat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/.svn/text-base/build.sh.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/.svn/text-base/gpl.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/.svn/text-base/license.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/.svn/text-base/readme.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/.svn/text-base/tutorial.sln.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/Makefile.am delete mode 100644 externals/grill/trunk/flext/tutorial/adv1/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/tutorial/adv1/.svn/entries delete mode 100644 externals/grill/trunk/flext/tutorial/adv1/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv1/.svn/prop-base/adv1.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv1/.svn/prop-base/adv1.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv1/.svn/prop-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv1/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv1/.svn/text-base/adv1.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv1/.svn/text-base/adv1.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv1/.svn/text-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv1/.svn/text-base/package.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv1/Makefile.am delete mode 100755 externals/grill/trunk/flext/tutorial/adv1/adv1.mcp delete mode 100644 externals/grill/trunk/flext/tutorial/adv1/adv1.vcproj delete mode 100755 externals/grill/trunk/flext/tutorial/adv1/main.cpp delete mode 100644 externals/grill/trunk/flext/tutorial/adv1/package.txt delete mode 100644 externals/grill/trunk/flext/tutorial/adv2/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/tutorial/adv2/.svn/entries delete mode 100644 externals/grill/trunk/flext/tutorial/adv2/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv2/.svn/prop-base/adv2.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv2/.svn/prop-base/adv2.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv2/.svn/prop-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv2/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv2/.svn/text-base/adv2.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv2/.svn/text-base/adv2.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv2/.svn/text-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv2/.svn/text-base/package.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv2/Makefile.am delete mode 100755 externals/grill/trunk/flext/tutorial/adv2/adv2.mcp delete mode 100644 externals/grill/trunk/flext/tutorial/adv2/adv2.vcproj delete mode 100644 externals/grill/trunk/flext/tutorial/adv2/main.cpp delete mode 100644 externals/grill/trunk/flext/tutorial/adv2/package.txt delete mode 100644 externals/grill/trunk/flext/tutorial/adv3/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/tutorial/adv3/.svn/entries delete mode 100644 externals/grill/trunk/flext/tutorial/adv3/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv3/.svn/prop-base/adv3.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv3/.svn/prop-base/adv3.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv3/.svn/prop-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv3/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv3/.svn/text-base/adv3.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv3/.svn/text-base/adv3.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv3/.svn/text-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv3/.svn/text-base/package.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/adv3/Makefile.am delete mode 100755 externals/grill/trunk/flext/tutorial/adv3/adv3.mcp delete mode 100644 externals/grill/trunk/flext/tutorial/adv3/adv3.vcproj delete mode 100644 externals/grill/trunk/flext/tutorial/adv3/main.cpp delete mode 100644 externals/grill/trunk/flext/tutorial/adv3/package.txt delete mode 100644 externals/grill/trunk/flext/tutorial/attr1/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/tutorial/attr1/.svn/entries delete mode 100644 externals/grill/trunk/flext/tutorial/attr1/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr1/.svn/prop-base/attr1.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr1/.svn/prop-base/attr1.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr1/.svn/prop-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr1/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr1/.svn/text-base/attr1.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr1/.svn/text-base/attr1.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr1/.svn/text-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr1/.svn/text-base/package.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr1/Makefile.am delete mode 100755 externals/grill/trunk/flext/tutorial/attr1/attr1.mcp delete mode 100644 externals/grill/trunk/flext/tutorial/attr1/attr1.vcproj delete mode 100644 externals/grill/trunk/flext/tutorial/attr1/main.cpp delete mode 100644 externals/grill/trunk/flext/tutorial/attr1/package.txt delete mode 100644 externals/grill/trunk/flext/tutorial/attr2/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/tutorial/attr2/.svn/entries delete mode 100644 externals/grill/trunk/flext/tutorial/attr2/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr2/.svn/prop-base/attr2.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr2/.svn/prop-base/attr2.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr2/.svn/prop-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr2/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr2/.svn/text-base/attr2.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr2/.svn/text-base/attr2.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr2/.svn/text-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr2/.svn/text-base/package.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr2/Makefile.am delete mode 100755 externals/grill/trunk/flext/tutorial/attr2/attr2.mcp delete mode 100644 externals/grill/trunk/flext/tutorial/attr2/attr2.vcproj delete mode 100644 externals/grill/trunk/flext/tutorial/attr2/main.cpp delete mode 100644 externals/grill/trunk/flext/tutorial/attr2/package.txt delete mode 100644 externals/grill/trunk/flext/tutorial/attr3/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/tutorial/attr3/.svn/entries delete mode 100644 externals/grill/trunk/flext/tutorial/attr3/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr3/.svn/prop-base/attr3.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr3/.svn/prop-base/attr3.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr3/.svn/prop-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr3/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr3/.svn/text-base/attr3.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr3/.svn/text-base/attr3.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr3/.svn/text-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr3/.svn/text-base/package.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/attr3/Makefile.am delete mode 100755 externals/grill/trunk/flext/tutorial/attr3/attr3.mcp delete mode 100644 externals/grill/trunk/flext/tutorial/attr3/attr3.vcproj delete mode 100644 externals/grill/trunk/flext/tutorial/attr3/main.cpp delete mode 100644 externals/grill/trunk/flext/tutorial/attr3/package.txt delete mode 100644 externals/grill/trunk/flext/tutorial/bind1/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/tutorial/bind1/.svn/entries delete mode 100644 externals/grill/trunk/flext/tutorial/bind1/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/bind1/.svn/prop-base/bind1.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/bind1/.svn/prop-base/bind1.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/bind1/.svn/prop-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/bind1/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/bind1/.svn/text-base/bind1.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/bind1/.svn/text-base/bind1.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/bind1/.svn/text-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/bind1/.svn/text-base/package.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/bind1/Makefile.am delete mode 100755 externals/grill/trunk/flext/tutorial/bind1/bind1.mcp delete mode 100644 externals/grill/trunk/flext/tutorial/bind1/bind1.vcproj delete mode 100755 externals/grill/trunk/flext/tutorial/bind1/main.cpp delete mode 100644 externals/grill/trunk/flext/tutorial/bind1/package.txt delete mode 100644 externals/grill/trunk/flext/tutorial/buffer1/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/tutorial/buffer1/.svn/entries delete mode 100644 externals/grill/trunk/flext/tutorial/buffer1/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/buffer1/.svn/prop-base/buffer1.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/buffer1/.svn/prop-base/buffer1.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/buffer1/.svn/prop-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/buffer1/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/buffer1/.svn/text-base/buffer1.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/buffer1/.svn/text-base/buffer1.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/buffer1/.svn/text-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/buffer1/.svn/text-base/package.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/buffer1/Makefile.am delete mode 100755 externals/grill/trunk/flext/tutorial/buffer1/buffer1.mcp delete mode 100644 externals/grill/trunk/flext/tutorial/buffer1/buffer1.vcproj delete mode 100755 externals/grill/trunk/flext/tutorial/buffer1/main.cpp delete mode 100644 externals/grill/trunk/flext/tutorial/buffer1/package.txt delete mode 100644 externals/grill/trunk/flext/tutorial/build.bat delete mode 100644 externals/grill/trunk/flext/tutorial/build.sh delete mode 100755 externals/grill/trunk/flext/tutorial/gpl.txt delete mode 100644 externals/grill/trunk/flext/tutorial/lib1/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/tutorial/lib1/.svn/entries delete mode 100644 externals/grill/trunk/flext/tutorial/lib1/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/lib1/.svn/prop-base/lib1.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/lib1/.svn/prop-base/lib1.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/lib1/.svn/prop-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/lib1/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/lib1/.svn/text-base/lib1.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/lib1/.svn/text-base/lib1.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/lib1/.svn/text-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/lib1/.svn/text-base/package.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/lib1/Makefile.am delete mode 100755 externals/grill/trunk/flext/tutorial/lib1/lib1.mcp delete mode 100644 externals/grill/trunk/flext/tutorial/lib1/lib1.vcproj delete mode 100644 externals/grill/trunk/flext/tutorial/lib1/main.cpp delete mode 100644 externals/grill/trunk/flext/tutorial/lib1/package.txt delete mode 100755 externals/grill/trunk/flext/tutorial/license.txt delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/entries delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-adv1.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-adv2.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-adv3.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-attr1.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-attr2.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-attr3.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-bind1.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-buffer1.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-lib1.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-signal1.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-signal2.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-simple1.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-simple2.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-simple3.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-thread1.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-thread2.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-timer1.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-adv1.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-adv2.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-adv3.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-attr1.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-attr2.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-attr3.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-bind1.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-buffer1.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-lib1.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-signal1.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-signal2.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-simple1.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-simple2.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-simple3.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-thread1.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-thread2.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-timer1.pat.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/maxmsp/Makefile.am delete mode 100755 externals/grill/trunk/flext/tutorial/maxmsp/ex-adv1.pat delete mode 100755 externals/grill/trunk/flext/tutorial/maxmsp/ex-adv2.pat delete mode 100755 externals/grill/trunk/flext/tutorial/maxmsp/ex-adv3.pat delete mode 100755 externals/grill/trunk/flext/tutorial/maxmsp/ex-attr1.pat delete mode 100755 externals/grill/trunk/flext/tutorial/maxmsp/ex-attr2.pat delete mode 100755 externals/grill/trunk/flext/tutorial/maxmsp/ex-attr3.pat delete mode 100755 externals/grill/trunk/flext/tutorial/maxmsp/ex-bind1.pat delete mode 100755 externals/grill/trunk/flext/tutorial/maxmsp/ex-buffer1.pat delete mode 100755 externals/grill/trunk/flext/tutorial/maxmsp/ex-lib1.pat delete mode 100755 externals/grill/trunk/flext/tutorial/maxmsp/ex-signal1.pat delete mode 100755 externals/grill/trunk/flext/tutorial/maxmsp/ex-signal2.pat delete mode 100755 externals/grill/trunk/flext/tutorial/maxmsp/ex-simple1.pat delete mode 100755 externals/grill/trunk/flext/tutorial/maxmsp/ex-simple2.pat delete mode 100755 externals/grill/trunk/flext/tutorial/maxmsp/ex-simple3.pat delete mode 100755 externals/grill/trunk/flext/tutorial/maxmsp/ex-thread1.pat delete mode 100755 externals/grill/trunk/flext/tutorial/maxmsp/ex-thread2.pat delete mode 100755 externals/grill/trunk/flext/tutorial/maxmsp/ex-timer1.pat delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/entries delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-adv1.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-adv2.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-adv3.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-attr1.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-attr2.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-attr3.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-bind1.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-buffer1.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-lib1.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-signal1.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-signal2.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-simple1.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-simple2.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-simple3.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-sndobj1.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-stk1.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-stk2.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-thread1.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-thread2.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-timer1.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-adv1.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-adv2.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-adv3.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-attr1.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-attr2.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-attr3.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-bind1.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-buffer1.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-lib1.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-signal1.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-signal2.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-simple1.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-simple2.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-simple3.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-sndobj1.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-stk1.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-stk2.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-thread1.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-thread2.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-timer1.pd.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/pd/Makefile.am delete mode 100644 externals/grill/trunk/flext/tutorial/pd/ex-adv1.pd delete mode 100644 externals/grill/trunk/flext/tutorial/pd/ex-adv2.pd delete mode 100644 externals/grill/trunk/flext/tutorial/pd/ex-adv3.pd delete mode 100644 externals/grill/trunk/flext/tutorial/pd/ex-attr1.pd delete mode 100644 externals/grill/trunk/flext/tutorial/pd/ex-attr2.pd delete mode 100644 externals/grill/trunk/flext/tutorial/pd/ex-attr3.pd delete mode 100644 externals/grill/trunk/flext/tutorial/pd/ex-bind1.pd delete mode 100644 externals/grill/trunk/flext/tutorial/pd/ex-buffer1.pd delete mode 100644 externals/grill/trunk/flext/tutorial/pd/ex-lib1.pd delete mode 100644 externals/grill/trunk/flext/tutorial/pd/ex-signal1.pd delete mode 100644 externals/grill/trunk/flext/tutorial/pd/ex-signal2.pd delete mode 100644 externals/grill/trunk/flext/tutorial/pd/ex-simple1.pd delete mode 100644 externals/grill/trunk/flext/tutorial/pd/ex-simple2.pd delete mode 100644 externals/grill/trunk/flext/tutorial/pd/ex-simple3.pd delete mode 100644 externals/grill/trunk/flext/tutorial/pd/ex-sndobj1.pd delete mode 100644 externals/grill/trunk/flext/tutorial/pd/ex-stk1.pd delete mode 100644 externals/grill/trunk/flext/tutorial/pd/ex-stk2.pd delete mode 100644 externals/grill/trunk/flext/tutorial/pd/ex-thread1.pd delete mode 100644 externals/grill/trunk/flext/tutorial/pd/ex-thread2.pd delete mode 100755 externals/grill/trunk/flext/tutorial/pd/ex-timer1.pd delete mode 100644 externals/grill/trunk/flext/tutorial/readme.txt delete mode 100644 externals/grill/trunk/flext/tutorial/signal1/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/tutorial/signal1/.svn/entries delete mode 100644 externals/grill/trunk/flext/tutorial/signal1/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/signal1/.svn/prop-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/signal1/.svn/prop-base/signal1.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/signal1/.svn/prop-base/signal1.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/signal1/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/signal1/.svn/text-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/signal1/.svn/text-base/package.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/signal1/.svn/text-base/signal1.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/signal1/.svn/text-base/signal1.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/signal1/Makefile.am delete mode 100644 externals/grill/trunk/flext/tutorial/signal1/main.cpp delete mode 100644 externals/grill/trunk/flext/tutorial/signal1/package.txt delete mode 100644 externals/grill/trunk/flext/tutorial/signal1/signal1.mcp delete mode 100644 externals/grill/trunk/flext/tutorial/signal1/signal1.vcproj delete mode 100644 externals/grill/trunk/flext/tutorial/signal2/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/tutorial/signal2/.svn/entries delete mode 100644 externals/grill/trunk/flext/tutorial/signal2/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/signal2/.svn/prop-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/signal2/.svn/prop-base/signal2.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/signal2/.svn/prop-base/signal2.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/signal2/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/signal2/.svn/text-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/signal2/.svn/text-base/package.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/signal2/.svn/text-base/signal2.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/signal2/.svn/text-base/signal2.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/signal2/Makefile.am delete mode 100644 externals/grill/trunk/flext/tutorial/signal2/main.cpp delete mode 100644 externals/grill/trunk/flext/tutorial/signal2/package.txt delete mode 100644 externals/grill/trunk/flext/tutorial/signal2/signal2.mcp delete mode 100644 externals/grill/trunk/flext/tutorial/signal2/signal2.vcproj delete mode 100644 externals/grill/trunk/flext/tutorial/simple1/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/tutorial/simple1/.svn/entries delete mode 100644 externals/grill/trunk/flext/tutorial/simple1/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple1/.svn/prop-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple1/.svn/prop-base/simple1.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple1/.svn/prop-base/simple1.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple1/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple1/.svn/text-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple1/.svn/text-base/package.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple1/.svn/text-base/simple1.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple1/.svn/text-base/simple1.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple1/Makefile.am delete mode 100755 externals/grill/trunk/flext/tutorial/simple1/main.cpp delete mode 100644 externals/grill/trunk/flext/tutorial/simple1/package.txt delete mode 100755 externals/grill/trunk/flext/tutorial/simple1/simple1.mcp delete mode 100644 externals/grill/trunk/flext/tutorial/simple1/simple1.vcproj delete mode 100644 externals/grill/trunk/flext/tutorial/simple2/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/tutorial/simple2/.svn/entries delete mode 100644 externals/grill/trunk/flext/tutorial/simple2/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple2/.svn/prop-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple2/.svn/prop-base/simple2.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple2/.svn/prop-base/simple2.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple2/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple2/.svn/text-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple2/.svn/text-base/package.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple2/.svn/text-base/simple2.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple2/.svn/text-base/simple2.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple2/Makefile.am delete mode 100755 externals/grill/trunk/flext/tutorial/simple2/main.cpp delete mode 100644 externals/grill/trunk/flext/tutorial/simple2/package.txt delete mode 100755 externals/grill/trunk/flext/tutorial/simple2/simple2.mcp delete mode 100644 externals/grill/trunk/flext/tutorial/simple2/simple2.vcproj delete mode 100644 externals/grill/trunk/flext/tutorial/simple3/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/tutorial/simple3/.svn/entries delete mode 100644 externals/grill/trunk/flext/tutorial/simple3/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple3/.svn/prop-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple3/.svn/prop-base/simple3.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple3/.svn/prop-base/simple3.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple3/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple3/.svn/text-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple3/.svn/text-base/package.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple3/.svn/text-base/simple3.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple3/.svn/text-base/simple3.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/simple3/Makefile.am delete mode 100644 externals/grill/trunk/flext/tutorial/simple3/main.cpp delete mode 100644 externals/grill/trunk/flext/tutorial/simple3/package.txt delete mode 100644 externals/grill/trunk/flext/tutorial/simple3/simple3.mcp delete mode 100644 externals/grill/trunk/flext/tutorial/simple3/simple3.vcproj delete mode 100644 externals/grill/trunk/flext/tutorial/sndobj1/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/tutorial/sndobj1/.svn/entries delete mode 100644 externals/grill/trunk/flext/tutorial/sndobj1/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/sndobj1/.svn/prop-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/sndobj1/.svn/prop-base/sndobj1.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/sndobj1/.svn/prop-base/sndobj1.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/sndobj1/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/sndobj1/.svn/text-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/sndobj1/.svn/text-base/package.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/sndobj1/.svn/text-base/sndobj1.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/sndobj1/.svn/text-base/sndobj1.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/sndobj1/Makefile.am delete mode 100644 externals/grill/trunk/flext/tutorial/sndobj1/main.cpp delete mode 100644 externals/grill/trunk/flext/tutorial/sndobj1/package.txt delete mode 100644 externals/grill/trunk/flext/tutorial/sndobj1/sndobj1.mcp delete mode 100644 externals/grill/trunk/flext/tutorial/sndobj1/sndobj1.vcproj delete mode 100644 externals/grill/trunk/flext/tutorial/stk1/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/tutorial/stk1/.svn/entries delete mode 100644 externals/grill/trunk/flext/tutorial/stk1/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/stk1/.svn/prop-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/stk1/.svn/prop-base/stk1.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/stk1/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/stk1/.svn/text-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/stk1/.svn/text-base/package.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/stk1/.svn/text-base/stk1.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/stk1/Makefile.am delete mode 100644 externals/grill/trunk/flext/tutorial/stk1/main.cpp delete mode 100644 externals/grill/trunk/flext/tutorial/stk1/package.txt delete mode 100644 externals/grill/trunk/flext/tutorial/stk1/stk1.vcproj delete mode 100644 externals/grill/trunk/flext/tutorial/stk2/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/tutorial/stk2/.svn/entries delete mode 100644 externals/grill/trunk/flext/tutorial/stk2/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/stk2/.svn/prop-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/stk2/.svn/prop-base/stk2.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/stk2/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/stk2/.svn/text-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/stk2/.svn/text-base/package.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/stk2/.svn/text-base/stk2.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/stk2/Makefile.am delete mode 100644 externals/grill/trunk/flext/tutorial/stk2/main.cpp delete mode 100644 externals/grill/trunk/flext/tutorial/stk2/package.txt delete mode 100644 externals/grill/trunk/flext/tutorial/stk2/stk2.vcproj delete mode 100644 externals/grill/trunk/flext/tutorial/thread1/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/tutorial/thread1/.svn/entries delete mode 100644 externals/grill/trunk/flext/tutorial/thread1/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/thread1/.svn/prop-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/thread1/.svn/prop-base/thread1.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/thread1/.svn/prop-base/thread1.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/thread1/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/thread1/.svn/text-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/thread1/.svn/text-base/package.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/thread1/.svn/text-base/thread1.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/thread1/.svn/text-base/thread1.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/thread1/Makefile.am delete mode 100644 externals/grill/trunk/flext/tutorial/thread1/main.cpp delete mode 100644 externals/grill/trunk/flext/tutorial/thread1/package.txt delete mode 100644 externals/grill/trunk/flext/tutorial/thread1/thread1.mcp delete mode 100644 externals/grill/trunk/flext/tutorial/thread1/thread1.vcproj delete mode 100644 externals/grill/trunk/flext/tutorial/thread2/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/tutorial/thread2/.svn/entries delete mode 100644 externals/grill/trunk/flext/tutorial/thread2/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/thread2/.svn/prop-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/thread2/.svn/prop-base/thread2.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/thread2/.svn/prop-base/thread2.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/thread2/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/thread2/.svn/text-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/thread2/.svn/text-base/package.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/thread2/.svn/text-base/thread2.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/thread2/.svn/text-base/thread2.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/thread2/Makefile.am delete mode 100644 externals/grill/trunk/flext/tutorial/thread2/main.cpp delete mode 100644 externals/grill/trunk/flext/tutorial/thread2/package.txt delete mode 100755 externals/grill/trunk/flext/tutorial/thread2/thread2.mcp delete mode 100644 externals/grill/trunk/flext/tutorial/thread2/thread2.vcproj delete mode 100644 externals/grill/trunk/flext/tutorial/timer1/.svn/all-wcprops delete mode 100644 externals/grill/trunk/flext/tutorial/timer1/.svn/entries delete mode 100644 externals/grill/trunk/flext/tutorial/timer1/.svn/prop-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/timer1/.svn/prop-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/timer1/.svn/prop-base/timer1.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/timer1/.svn/prop-base/timer1.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/timer1/.svn/text-base/Makefile.am.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/timer1/.svn/text-base/main.cpp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/timer1/.svn/text-base/package.txt.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/timer1/.svn/text-base/timer1.mcp.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/timer1/.svn/text-base/timer1.vcproj.svn-base delete mode 100644 externals/grill/trunk/flext/tutorial/timer1/Makefile.am delete mode 100755 externals/grill/trunk/flext/tutorial/timer1/main.cpp delete mode 100644 externals/grill/trunk/flext/tutorial/timer1/package.txt delete mode 100755 externals/grill/trunk/flext/tutorial/timer1/timer1.mcp delete mode 100644 externals/grill/trunk/flext/tutorial/timer1/timer1.vcproj delete mode 100644 externals/grill/trunk/flext/tutorial/tutorial.sln diff --git a/externals/grill/trunk/flext/.gitignore b/externals/grill/trunk/flext/.gitignore deleted file mode 100644 index 79df767bd..000000000 --- a/externals/grill/trunk/flext/.gitignore +++ /dev/null @@ -1 +0,0 @@ -libbuild diff --git a/externals/grill/trunk/flext/.svn/all-wcprops b/externals/grill/trunk/flext/.svn/all-wcprops deleted file mode 100644 index 1c9e1c2c0..000000000 --- a/externals/grill/trunk/flext/.svn/all-wcprops +++ /dev/null @@ -1,95 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 30 -/ext/!svn/ver/3750/trunk/flext -END -flext.vcproj -K 25 -svn:wc:ra_dav:version-url -V 43 -/ext/!svn/ver/3648/trunk/flext/flext.vcproj -END -changes.txt -K 25 -svn:wc:ra_dav:version-url -V 42 -/ext/!svn/ver/3720/trunk/flext/changes.txt -END -bootstrap.sh -K 25 -svn:wc:ra_dav:version-url -V 43 -/ext/!svn/ver/1247/trunk/flext/bootstrap.sh -END -license.txt -K 25 -svn:wc:ra_dav:version-url -V 42 -/ext/!svn/ver/1247/trunk/flext/license.txt -END -gpl.txt -K 25 -svn:wc:ra_dav:version-url -V 38 -/ext/!svn/ver/1247/trunk/flext/gpl.txt -END -flext.mcp -K 25 -svn:wc:ra_dav:version-url -V 40 -/ext/!svn/ver/1247/trunk/flext/flext.mcp -END -configure.ac -K 25 -svn:wc:ra_dav:version-url -V 43 -/ext/!svn/ver/3749/trunk/flext/configure.ac -END -build.bat -K 25 -svn:wc:ra_dav:version-url -V 40 -/ext/!svn/ver/1247/trunk/flext/build.bat -END -notes.txt -K 25 -svn:wc:ra_dav:version-url -V 40 -/ext/!svn/ver/1247/trunk/flext/notes.txt -END -build.sh -K 25 -svn:wc:ra_dav:version-url -V 39 -/ext/!svn/ver/1247/trunk/flext/build.sh -END -package.txt -K 25 -svn:wc:ra_dav:version-url -V 42 -/ext/!svn/ver/3659/trunk/flext/package.txt -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 42 -/ext/!svn/ver/1247/trunk/flext/Makefile.am -END -readme.txt -K 25 -svn:wc:ra_dav:version-url -V 41 -/ext/!svn/ver/3673/trunk/flext/readme.txt -END -build.txt -K 25 -svn:wc:ra_dav:version-url -V 40 -/ext/!svn/ver/3714/trunk/flext/build.txt -END -Doxyfile -K 25 -svn:wc:ra_dav:version-url -V 39 -/ext/!svn/ver/3750/trunk/flext/Doxyfile -END diff --git a/externals/grill/trunk/flext/.svn/dir-prop-base b/externals/grill/trunk/flext/.svn/dir-prop-base deleted file mode 100644 index 6aa9ff149..000000000 --- a/externals/grill/trunk/flext/.svn/dir-prop-base +++ /dev/null @@ -1,13 +0,0 @@ -K 10 -svn:ignore -V 64 -max-os9 -max-osx -pd-darwin -pd-msvc -doc -build -flext -Data -.DS_Store -END diff --git a/externals/grill/trunk/flext/.svn/entries b/externals/grill/trunk/flext/.svn/entries deleted file mode 100644 index ca9922945..000000000 --- a/externals/grill/trunk/flext/.svn/entries +++ /dev/null @@ -1,556 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext -https://svn.grrrr.org/ext - - - -2011-10-03T11:06:25.691461Z -3750 -thomas -has-props - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -build.txt -file - - - - -2012-05-13T23:08:37.427556Z -ec687b2f2465ab937a1c9bf53ac2ae84 -2009-10-29T10:39:55.086962Z -3714 - -has-props - - - - - - - - - - - - - - - - - - - - -9257 - -examples -dir - -flext.xcodeproj -dir - -Doxyfile -file - - - - -2012-05-13T23:08:37.404556Z -6d134f0c66faef54387cdf8bd5532bdd -2011-10-03T11:06:25.691461Z -3750 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -10080 - -flext.vcproj -file - - - - -2012-05-13T23:08:37.411556Z -c6d496d7b0c9be78ce499a339a18b42c -2008-12-03T23:15:28.059068Z -3648 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -129324 - -changes.txt -file - - - - -2012-05-13T23:08:37.413556Z -88c04d9d67fe04d4af380b7b2d26e77b -2010-01-13T00:45:16.478274Z -3720 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -21135 - -bootstrap.sh -file - - - - -2012-05-13T23:08:37.412556Z -df52fa2bf431a6012b2e92ca5db5ae6d -2008-04-04T19:40:39.113453Z -1244 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -384 - -buildsys -dir - -build -dir - -license.txt -file - - - - -2012-05-13T23:08:37.421556Z -9d5c5fe81edf4c3b6b7b1e0a78cbdca1 -2005-01-04T21:19:41.885723Z -958 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -866 - -gpl.txt -file - - - - -2012-05-13T23:08:37.420556Z -7c3ee8498d3cf614fce78d97054708f9 -2002-02-09T15:56:01.000000Z -8 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -18009 - -flext.mcp -file - - - - -2012-05-13T23:08:37.418556Z -6c7fec9a60701f0726701c1da65abbe8 -2006-12-29T20:36:43.802246Z -1187 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -935395 - -source -dir - -configure.ac -file - - - - -2012-05-13T23:08:37.422556Z -a9a23ce28e4ca7dc99043a38375ed8a1 -2011-03-30T20:15:08.052149Z -3749 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -5337 - -tutorial -dir - -build.bat -file - - - - -2012-05-13T23:08:37.422556Z -9432c52c4c878ee247ee49509a6c9810 -2007-06-14T13:48:47.625045Z -1202 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1698 - -notes.txt -file - - - - -2012-05-13T23:08:37.423556Z -93aed88e26f02b30c1187e173f7736c4 -2005-11-03T14:09:05.152387Z -1135 -thomas - - - - - - - - - - - - - - - - - - - - - -2688 - -build.sh -file - - - - -2012-05-13T23:08:37.424556Z -e5be250c427e827b6674a1facfabd333 -2008-01-16T14:28:20.975307Z -1230 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1677 - -Makefile.am -file - - - - -2012-05-13T23:08:37.424556Z -3de8f84369201576377a33f7e4a6be02 -2008-01-16T14:28:20.975307Z -1230 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -134 - -package.txt -file - - - - -2012-05-13T23:08:37.425556Z -634e0141f45ccd13a69eca5c33feeff7 -2009-02-09T23:05:18.086018Z -3659 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1659 - -readme.txt -file - - - - -2012-05-13T23:08:37.426556Z -cb9565779d24934cf13147f0558bbab9 -2009-03-06T23:02:53.501612Z -3673 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4059 - diff --git a/externals/grill/trunk/flext/.svn/prop-base/Doxyfile.svn-base b/externals/grill/trunk/flext/.svn/prop-base/Doxyfile.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/.svn/prop-base/Doxyfile.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index 5bcf2daea..000000000 --- a/externals/grill/trunk/flext/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,13 +0,0 @@ -K 13 -svn:eol-style -V 2 -LF -K 14 -svn:executable -V 1 -* -K 12 -svn:keywords -V 18 -author date id rev -END diff --git a/externals/grill/trunk/flext/.svn/prop-base/bootstrap.sh.svn-base b/externals/grill/trunk/flext/.svn/prop-base/bootstrap.sh.svn-base deleted file mode 100644 index 5bcf2daea..000000000 --- a/externals/grill/trunk/flext/.svn/prop-base/bootstrap.sh.svn-base +++ /dev/null @@ -1,13 +0,0 @@ -K 13 -svn:eol-style -V 2 -LF -K 14 -svn:executable -V 1 -* -K 12 -svn:keywords -V 18 -author date id rev -END diff --git a/externals/grill/trunk/flext/.svn/prop-base/build.bat.svn-base b/externals/grill/trunk/flext/.svn/prop-base/build.bat.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/.svn/prop-base/build.bat.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/.svn/prop-base/build.sh.svn-base b/externals/grill/trunk/flext/.svn/prop-base/build.sh.svn-base deleted file mode 100644 index 2e70e8fb7..000000000 --- a/externals/grill/trunk/flext/.svn/prop-base/build.sh.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 2 -LF -K 14 -svn:executable -V 1 -* -END diff --git a/externals/grill/trunk/flext/.svn/prop-base/build.txt.svn-base b/externals/grill/trunk/flext/.svn/prop-base/build.txt.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/.svn/prop-base/build.txt.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/.svn/prop-base/changes.txt.svn-base b/externals/grill/trunk/flext/.svn/prop-base/changes.txt.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/.svn/prop-base/changes.txt.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/.svn/prop-base/configure.ac.svn-base b/externals/grill/trunk/flext/.svn/prop-base/configure.ac.svn-base deleted file mode 100644 index 5bcf2daea..000000000 --- a/externals/grill/trunk/flext/.svn/prop-base/configure.ac.svn-base +++ /dev/null @@ -1,13 +0,0 @@ -K 13 -svn:eol-style -V 2 -LF -K 14 -svn:executable -V 1 -* -K 12 -svn:keywords -V 18 -author date id rev -END diff --git a/externals/grill/trunk/flext/.svn/prop-base/flext.mcp.svn-base b/externals/grill/trunk/flext/.svn/prop-base/flext.mcp.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/.svn/prop-base/flext.mcp.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/.svn/prop-base/flext.vcproj.svn-base b/externals/grill/trunk/flext/.svn/prop-base/flext.vcproj.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/.svn/prop-base/flext.vcproj.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/.svn/prop-base/gpl.txt.svn-base b/externals/grill/trunk/flext/.svn/prop-base/gpl.txt.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/.svn/prop-base/gpl.txt.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/.svn/prop-base/license.txt.svn-base b/externals/grill/trunk/flext/.svn/prop-base/license.txt.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/.svn/prop-base/license.txt.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/.svn/prop-base/package.txt.svn-base b/externals/grill/trunk/flext/.svn/prop-base/package.txt.svn-base deleted file mode 100644 index 4573e0d32..000000000 --- a/externals/grill/trunk/flext/.svn/prop-base/package.txt.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -date author id rev -END diff --git a/externals/grill/trunk/flext/.svn/prop-base/readme.txt.svn-base b/externals/grill/trunk/flext/.svn/prop-base/readme.txt.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/.svn/prop-base/readme.txt.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/.svn/text-base/Doxyfile.svn-base b/externals/grill/trunk/flext/.svn/text-base/Doxyfile.svn-base deleted file mode 100644 index 1c168a018..000000000 --- a/externals/grill/trunk/flext/.svn/text-base/Doxyfile.svn-base +++ /dev/null @@ -1,273 +0,0 @@ -# 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 = \ - 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/trunk/flext/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index d3bbd5f63..000000000 --- a/externals/grill/trunk/flext/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -# -# automake template -# added by tim blechmann -# modified by Thomas Grill -# - -SUBDIRS = source # tutorial - -# EXTRA_DIST = flext.doxy \ No newline at end of file diff --git a/externals/grill/trunk/flext/.svn/text-base/bootstrap.sh.svn-base b/externals/grill/trunk/flext/.svn/text-base/bootstrap.sh.svn-base deleted file mode 100644 index 4ecf8a7c6..000000000 --- a/externals/grill/trunk/flext/.svn/text-base/bootstrap.sh.svn-base +++ /dev/null @@ -1,20 +0,0 @@ -#! /bin/sh - -( - ( - ( - test -x "$(which libtoolize)" && libtoolize --force - ) || - ( - # MacOS has no libtoolize... use glibtoolize instead - test -x "$(which glibtoolize)" && glibtoolize --force - ) - ) && - aclocal && - automake --foreign --add-missing && - autoconf -) || -( - echo Bootstrapping failed - false -) diff --git a/externals/grill/trunk/flext/.svn/text-base/build.bat.svn-base b/externals/grill/trunk/flext/.svn/text-base/build.bat.svn-base deleted file mode 100644 index 0f151ac97..000000000 --- a/externals/grill/trunk/flext/.svn/text-base/build.bat.svn-base +++ /dev/null @@ -1,60 +0,0 @@ -@echo off - -rem -rem flext - C++ layer for Max/MSP and pd (pure data) externals -rem -rem Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org) -rem For information on usage and redistribution, and for a DISCLAIMER OF ALL -rem WARRANTIES, see the file, "license.txt," in this distribution. -rem -rem more information on http://grrrr.org/ext -rem ------------------------------------------------------------------------ -rem -rem To build flext or flext-based externals simply run this script. -rem Running it without arguments will print some help to the console. -rem -rem ------------------------------------------------------------------------ - -echo ------------------------------------------------ - -set flext=%~dp0 - -rem Arguments: -rem %1 - system (pd/max) -rem %2 - compiler (msvc/gcc/mingw/cygwin/bcc/icc) -rem %3 - target (build/clean/install) - -set platform=win -set rtsys=%1 -set compiler=%2 -set target=%3 - -rem --- The subbatch knowns which make utility to use --- -set subbatch=%flext%\buildsys\build-%compiler%.bat - -if "%platform%"=="" goto syntax -if "%rtsys%"=="" goto syntax -if "%compiler%"=="" goto syntax - -if not exist "%subbatch%" goto syntax - -call "%subbatch%" %platform% %rtsys% %target% %4 %5 %6 %7 %8 %9 - -goto end - -rem ----------------------------------------- -:syntax - -echo . -echo SYNTAX: build [system] [compiler] {target} -echo system ... pd / max -echo compiler ... msvc / gcc / mingw / cygwin / bcc / icc -echo target ... all (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 . - -:end diff --git a/externals/grill/trunk/flext/.svn/text-base/build.sh.svn-base b/externals/grill/trunk/flext/.svn/text-base/build.sh.svn-base deleted file mode 100644 index c467fd456..000000000 --- a/externals/grill/trunk/flext/.svn/text-base/build.sh.svn-base +++ /dev/null @@ -1,57 +0,0 @@ -#! /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 diff --git a/externals/grill/trunk/flext/.svn/text-base/build.txt.svn-base b/externals/grill/trunk/flext/.svn/text-base/build.txt.svn-base deleted file mode 100644 index 328d0c0e3..000000000 --- a/externals/grill/trunk/flext/.svn/text-base/build.txt.svn-base +++ /dev/null @@ -1,279 +0,0 @@ -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - ----------------------------------------------------------------------------- - -This document consists of the following parts: - -0) Important stuff at the beginning -1) Using the flext build system -1.1) Building and installing flext -1.2) Building externals -1.3) Tested configurations - -2) Using autoconf - -3) Other ways to compile flext and flext-based externals - ----------------------------------------------------------------------------- - -0) Important stuff at the beginning -=================================== - -Please be aware that the build system might have difficulties handling paths with spaces. -Under unix you might get along with escaping your\ path or quoting "your path". -Under Windows escaping doesn't work at all and quoting might not work either - therefore it's -best not to use spaced paths at all. - ----------------------------------------------------------------------------- - -1) Using the flext build system -=============================== - -flext provides a universal build system which supports - -- various operating systems - Windows (win) - Linux (lnx) - MacOSX (mac) -- various real-time systems - Pure Data (pd) - Max/MSP (max) -- various make programs - GNU make (gnumake) - Microsoft nmake (nmake) -- various compilers - Microsoft Visual C/C++ 6.0, .NET 2002/2003/2005/2008 (msvc) - GNU gcc 2.95 and above (gcc,cygwin,mingw) - -Useful combinations of the above are - -under Windows: -pd msvc, using nmake -pd cygwin, using GNU make -pd mingw, using GNU make (from the CMD prompt, not msys!) -max msvc, using nmake -max cygwin, using GNU make -max mingw, using GNU make (from the CMD prompt, not msys!) -pd bcc, using Borland make - -under Linux or MacOSX: -pd gcc, using GNU make - -under MacOSX: -max gcc, using GNU make - Mach-O externals only (Max 4.5 upwards) - - -There are two central scripts in the flext folder which invoke the building process: -- build.sh for bash shells (Linux, MacOSX, cygwin) -- build.bat for the Windows command prompt - -A project needs to provide some information in order to be built properly. -By default, this resides in a file called package.txt - - -Please note, that the build system is shell-oriented, which means, that you'll have -to launch a command prompt (cmd.exe under Windows) and probably also set some -environment variables for your development system (e.g. run vcvars32.bat included with Microsoft Visual Studio) - -By invoking one of the build scripts (e.g. with "bash build.sh" under unix, -or just "build" unter Windows) you'll get some lines of help. -Operating System, real-time system and compiler need to be provided as arguments. - - -See buildsys/readme.txt for developer-centered information. - - -1.1) Prerequisites -================== - -Linux: -- A gnu g/g++ compiler should be present on any system. - The command "g++ --version" should show version 2.95 at least. Compiler version >= 3.3 is recommended. - -OSX: -- The developer package must be installed which contains all necessary parts. - -Windows: -- Microsoft Visual Studio 6, .NET 2002/2003/2005/2008 - Be sure to use the VCVARS32.BAT (or probably SDKVARS.BAT) command on the prompt to set up the environment variables - Also be sure NOT to put flext or other externals into a path containing spaces!! -or -- cygwin with binutils, gcc and make packages - -Max: -- The Max/MSP SDK must be installed. On OSX, the frameworks therein must be copied to /Library/Frameworks - - -1.2) Building and installing flext -================================== - -Flext can build itself using the build system. -From the flext main directory, run the build script - -e.g. under Windows - build pd msvc -or under unix with - bash build.sh pd gcc - -When you run it for the first time, one or more configuration files will be created -from templates - you will get a message on the console. -You should edit the files to adapt it to your system. - -Depending on your platform these will have name like -buildsys/config-win-pd-msvc.txt -or -buildsys/config-lnx-pd-gcc.txt -or -buildsys/config-mac-max-gcc.txt - - -After editing the files you will have to run the build script again to ensure that flext is built. - -After successfully building everything, you can install flext with (under Windows) - build pd msvc install -or (under unix) - bash build.sh pd gcc install - - -You will probably have to have superuser rights in order to install things -into the default location. -(try "sudo" or "su -c" prefixes, or log in as root) - - -1.3) Building externals -======================= - -The flext build system can be used to compile flext-based externals or also -native PD and Max/MSP externals, provided there is a package.txt file in the project folder. - -In the shell, change to the project folder. -Then, simply run the flext build script, - -e.g. under Windows - ..\flext\build pd msvc -Then install your newly built external with - ..\flext\build pd msvc install -You can clean up the intermediate build folders with - ..\flext\build pd msvc clean - -or under unix with - bash ../flext/build.sh pd gcc -Then install your external with - bash ../flext/build.sh pd gcc install -You can clean up the intermediate build folders with - bash ../flext/build.sh pd gcc clean - - -1.4) Tested configurations -========================== - -Both flext and flext-based externals have been successfully built with the -following combination of platform-system-compiler, build type. -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 (from CMD prompt, not MSYS) -win-pd-cygwin, single/multi/shared -win-max-msvc, single/multi/shared -win-max-cygwin, single/multi/shared -win-max-mingw, single/multi/shared - - -mac-pd-gcc, single/multi/shared -mac-max-gcc, single/multi/shared - -lnx-pd-gcc, single/multi/shared - ----------------------------------------------------------------------------- - -2) Using autoconf -================= - -Thanks to Tim Blechmann, flext can also be built using autoconf. -This only works under unix shells (like bash). - -When starting from a fresh cvs-based copy of flext first run -./bootstrap.sh - -then you can run -./configure --help -to get a page of options. - -You need to pass the path to the PD source files or the Max SDK to the ./configure script, -e.g. on OS X with something like -./configure --enable-system=pd --with-sysdir=/Applications/Pd-0.40-2/Contents/Resources/src - -then build flext with -make - -and install it with -sudo make install - - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -MINGW: the specs file for certain gcc versions seems to be wrong and needs to be fixed before building flext - -- locate the specs file with "gcc --print-file specs" -- open this file with your favourite editor -- search for the line "*md_startfile_prefix:" -- change the next line "/mingw/lib" to "/lib" -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - ----------------------------------------------------------------------------- - -3) Other ways to compile flext and flext-based externals -======================================================== - -Flext can be compiled straightforward as a static or shared library, in release or debug mode. - -Some preprocessor symbols must be defined depending on the build mode and the realtime system it is targetted for. - -for Max/MSP: FLEXT_SYS = 1 -for PD: FLEXT_SYS = 2 - -for a debug build: FLEXT_DEBUG - -for a static single-threaded library: nothing needs to be defined -for a static multi-threaded library: FLEXT_THREADS -for a shared library (always multi-threaded): FLEXT_SHARED - - - -- Windows - Microsoft Visual Studio projects (.vcproj files) - - Please have a look at the projects delivered with flext and flext-based externals. - -- MacOSX - Apple Xcode projects (.xcode bundles) - - Please have a look at the projects delivered with flext and flext-based externals. - - Xcode projects often use some Source Trees (definable in the Xcode Preferences). - - Flext - the flext main folder - - PD - the PD installation - - Max SDK - the Max SDK (path ending with "c74support") - - Max Common - Max common files (normally /Library/Application\ Support/Cycling\ \'74 ) - -- MacOSX - Metrowerks Codewarrior (.mcp files) - - You should have the following "Source Trees" (CW preferences, not project specific!) defined: - "OS X Volume" - Pointing to your OSX boot drive - "flext" - Pointing to the flext main directory - "Cycling74 OSX" - Pointing to the SDK for Max/MSP - the path should end with /c74support - - With your project using flext use the prefix file "flcwmax-x.h" or, - alternatively "flcwmax-x-thr.h" for threading support. - -- MacOS9 - Metrowerks Codewarrior (.mcp files) - - You should have the following "Source Trees" (CW preferences, not project specific!) defined: - "flext" - Pointing to the flext main directory - "Cycling74" - Pointing to the Cycling 74 SDK - "MP SDK" - Pointing to the Multiprocessing SDK (for threading support) - - With your project using flext use the prefix file "flcwmax.h" or, - alternatively "flcwmax-thr.h" for threading support. diff --git a/externals/grill/trunk/flext/.svn/text-base/changes.txt.svn-base b/externals/grill/trunk/flext/.svn/text-base/changes.txt.svn-base deleted file mode 100644 index ac3e3b13c..000000000 --- a/externals/grill/trunk/flext/.svn/text-base/changes.txt.svn-base +++ /dev/null @@ -1,363 +0,0 @@ -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2010 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. - ----------------------------------------------------------------------------- - -Version history: - -0.5.2: -- 64-bit arch fixes (Pd 0.42) -- STK API adaptations - -0.5.1: -- optimizations for message handling and memory footprint -- enhanced build system for cygwin -- added GetCanvasDir to retrieve folder in which the patcher resides -- better handling of click callback -- more compatible handling of attributes in patcher (hiding is now an option - define FLEXT_ATTRHIDE) -- added header file flfeatures.h for compile-time detection of version-specific features -- typed flext::NewAligned allocator -- fixed severe Altivec bug (load unaligned)... thanks to Ian Ollmann -- restructured initialization and finalization (esp. Max DSP stuff) -- real class names now also reflect debug mode (like in flext_base_shared_d) -- cleaned up internals (like Max/MSP typedefs) -- fixed coexistence of message and signal objects in Max/MSP object libraries -- fixes for pthreads version 2 -- deprecated FLEXT_NOGLOBALNEW in favor of FLEXT_USE_CMEM (either global new/delete operators or C library memory allocation) -- fixing uninitialized pointer (first inlet pointer) -- added message bundle functionality (to send more messages over the thread boundary to arrive at the same logical time) -- fixed dangerous spot (also memory leak) with message queuing -- fixed buggy freeing of memory for AtomListStatic -- optimizations around method registration -- preprocessor symbol FLEXT_COMPATIBLE - if defined don't implement specialities of either PD or Max/MSP -- Max: fixed reported bug (#67), where list elements are distributed over inlets -- added thisParent type, which refers to the class from which the current flext class is derived (as given in FLEXT_HEADER) -- bang method can also by added with FLEXT_(C)ADDMETHOD (FLEXT_(C)ADDBANG is still an alias) -- attribute generation is now determined exclusively by each object class setup (not library is before) -- more robust pack setting for Max/MSP @ Windows -- should work with Mac/Intel (still untested!) -- added new FLEXT_HEADER macros to enable class templates -- more ToOut/Sys* methods -- fixed help name definition at class setup -- added gcc branch hinting -- PD: possibility to create DSP classes without main DSP inlet (use e.g. FLEXT_DSP0_NEW) -- fixed atom sorting (symbols were sorted by pointer, not by content) -- updated build system to handle UB on OSX (including architecture-specific compiler flags) -- new idle callback/method functionality -- Max: fixed bug at destructing of proxy objects -- fixed message processing of empty lists -- fixed STK inlet processing - -0.5.0: -- fixes for 64 bit builds (size_t is integer type of pointer size) -- finally added a autoconf system (many many thanks to Tim Blechmann) -- more character escapes for attribute editor -- fixed the attribute editor for 0.38, stopped redundant transfer of script code -- show saveable attributes on object select -- fix for long attribute dialogs -- dropped support for Max UI objects -- added global system locking -- added general atom outlet functions To{Sys,Out,Queue}Atom -- new build system for flext and flext-based externals -- flags for object construction and destruction phase (Initing() and Exiting()) -- reconsidered flext::buffer::Update -- enhanced buffer handling -- support for buffer locking (flext::buffer::Lock() and Unlock()) - it's a must for Max/MSP at least -- use new PD idle callback for queues messages (currently in devel_0_38) -- fixed bug with unregistering for bound symbols -- removed virtual m_assist function (which was only useful for Max)... stick to static assist strings -- removed virtual flext_dsp::m_enable function (which wasn't present for Max/MSP) -- added m_click method which gets called on alt-click (PD) resp. double clicks (Max) onto the object box -- in ToOut check if we are inside dsp (and use ToQueue then...) -- some restructuring and use symbols (rather than char *) natively for AddMethod* and AddAttrib* functions -- added some more SIMD functionality -- fixes to flext::Timer::At method -- eliminated misleading flext_dsp::ChannelsIn and ChannelsOut -- added lock-free Lifo and Fifo structures and used it with message queueing and thread management -- eliminated default "help" (m_help) method... should be implemented in the flext-based object -- changed virtual callback names m_loadbang, m_method_, m_dsp, m_signal, m_click to CbLoadbang, CbMethodResort, CbDsp, CbSignal, CbClick -- replaced memory-intensive STL maps by custom-made vector/map-monster (should be fast!) -- fixed bug for symbol messages into non-left inlets -- better timers for Windows -- slimmed down object data structures and changed initialization code accordingly -- digest one-element float/int/symbol/pointer list messages as single atoms -- simplified message analysis -- made flext::Forward thread safe - -0.4.7: -- added flext::GetBool (just because flext::GetInt has been there for a while) -- added bool to usable types for creation arguments -- protection for SIMD routines with count=0 -- support exceptions for setup functions, object creation and destruction, method handling -- small fixes for MSVC6 incompatibilites -- fixes for Max 4.5 headers -- removed Mach-O/CFM glue stuff again and added makefiles for Max/MachO -- in flext::StopThread don't wait for thread to have stopped! -- support PD tooltips (only in devel branch at the moment) -- attribute editor: added individual apply buttons -- attribute editor: added escaping for , and ; -- attribute editor: zoomed editor accepts , as newline separator -- attribute editor: close editor window on object destruction -- fixed $0-arguments in attribute saving -- introducing ring buffer for message queue (thanks to Tom Schouten) -- printing of atoms into buffer with better error checking - -0.4.6: -- added a text edit window for list attributes -- finally use global allocator operators (MFC doesn't like it but who cares) -- fixed entry of local variables with attribute editor -- help window for attribute editor -- appended lacking ~ for tilde object help patches -- uniform STL container for all kinds of attribute, method, class handling -- support for MinGW -- added flext_obj::CanvasArgs -- fixed small problem with buffer->Valid() on startup -- fixed buffer overrun problems with flext::post, flext::error... (but still to improve) -- improved handling of patcher arguments -- also initialize flext::sym_int as MakeSymbol("int") for PD (since the variable is there anyhow) -- fixed bug with attribute dumping -- default arguments for object construction (types float0,int0,t_symtype0 for FLEXT_NEW*) -- added flext::sym__ for empty symbol "" - -0.4.5: -- added some more SIMD functions -- PD attributes: added a TCL/TK editor dialog ("properties") and save attributes to patcher -- fixed wrong returned result of flext::buffer::set function -- fix for linux static exported function name-clash (individual linker namings for exported flext base classes) -- made message queue stuff global (static) for all flext objects -- added flext_base::DumpAttrib to send an attribute value to the attribute outlet -- added "getmethods" message (for attribute-enabled externals) to list methods for a specified inlet (default = 0) -- "getattributes" or "getmethods" output lists are now alphabethically sorted -- flext::StopThread function to terminate running threads (started with LaunchThread) -- added flext::CmpAtom and AtomList::operator < methods ... useful for using lists as keys for STL -- make use of new PD thread locking (PD functions sys_lock() and sys_unlock()), queue messages only if necessary -- better FLEXT_OSAPI resolution -- ListAttributes (or the getattributes message) now lists attributes in the order they were created (first class, then object scope) -- enforcing usage of STL -- explicit boolean attributes (great for attribute editor layout!) -- flext_dsp reported wrong inlet/outlet count (CntInSig, CntOutSig functions) -- added support for patcher arguments for attributes (use # instead of $ to save them with a patch) -- moved memory functions and console output from flext to super-base-class flext_root and derived all helper classes from that -- changed FLEXT_THREAD_X: wrappers doesn't delete the passed data pointer anymore -> the called method is responsible for that (and it knows the type....) -- enabled binding of more than one function to a symbol and added flext_base::GetBoundMethod -- native support for Windows threading model - -0.4.4: -- fixed deadly bug for Max/MSP method-to-symbol-binding proxies -- some fixes for CodeWarrior Mach-O compilation -- fixed destruction bug for hashed "item arrays" -- added flext_base::ToSelf* methods for queued (deferred) self messaging -- deleted flext::buffer console outputs for undefined arrays/buffer~s: should be done by externals -- a few changes for the flext shared library -- tiny update for PD 0.37 header file usage -- fixed a bug associated to attribute argument lists -- added functions for version number and string (flext::Version and flext::VerStr, mainly for usage of a shared flext library) -- flext_base::UnbindMethod returns user data -- fixed compilation problem with t_symbol-type attributes -- added methods for sending boolean values (ToOutBool, ToQueueBool, ToSelfBool) - -0.4.3: -- added forgotten flext_base::ToQueueString method -- added timer functions and flext::Timer class -- added functions for SIMD support -- fixed race condition when using LaunchThread in a setup function (now waiting for thread helper to initialize) -- added flext::Forward function to send messages to bound symbols -- added "zero" flag to flext::buffer resize operation -- fixed bug for Max/MSP buffer resize with preservation of contents -- fixed bug with thread initialization (caused PD@OSX to crash on startup) -- flext::setup is only run once now -- fixed creation bug with objects that have attributes but no outlets -- added FLEXT_BINDMETHOD,FLEXT_UNBINDMETHOD to bind a method to a symbol -- fixed bug with hard thread termination (of incooperative threads) - -0.4.2: -- started port for jMax -- moved CLASS_MAINSIGNALIN to class scope (fixed "float method overwritten" warning) -- unix makefiles: CXX should be commented out if standard (to enable environmental settings) -- introduced default returns for the different flext::GetA* functions -- pragma for Metrowerks compilers: enumsalwaysint on, bool on -- MaxMSP: added assist string for attribute outlets -- added new POSIX for ThrCond::TimedWait (but still have to find out when to enable it....) -- added CopySamples and ZeroSamples -- fixed bug for DSP object with zero signal inlets in PD -- added validity check for sample buffers - -0.4.1: -- full port for Max@OSX -- completely redesigned message and attribute handling: now hashed and much more efficient -- greatly enhanced object creation and destruction (esp. for library objects) -- class setup functions now take t_classid type arg... this is BACKWARDS-INCOMPATIBLE for Max/MSP -- added some prerequisites for usage of flext as a shared library -- completed Max/MSPs inlet/outlet assist description functionality -- Max/MSP signal objects: fixed bug of reporting wrong number of inlets -- put overloaded new/delete into flext support class -- introduced "Finalize" virtual method, called after all "Init" methods -- fixed crash issue in flext_dsp when there are NO signal inlets or outlets defined - (this is possibly only a problem for the signal2 tutorial example) -- added flext::GetType(t_atom &), flext::ZeroMem -- put the clock_delay for the message queue inside the thread-locked area - Ok for the actual object, but PD has to be thread-safe here as well -- BACKWARDS-INCOMPATIBLE CHANGE: flext_base::m_methodmain and flext_base::m_method_ have got - const modifiers.... these virtual methods are used rarely (except for example in py/pyext) -- now MUCH cleaner platform identification... FLEXT_SYS,FLEXT_OS,FLEXT_CPU definitions -- also FLEXT_DEBUG for debug build -- SndObjs: virtual FreeObject routine is now called at destruction (by parent class), derived class doesn't need to call it! -- SndObjs: fixed typo (numbers of output slots was wrong) and init bug -- STK: added support for STK object classes (flstk.{h,cpp}) -- introduced a helper thread for launching flext threads in the background -- threads are now handled on class (as opposed to object) level -- threads can now be terminated separately -- put more flext functions into flext static class -- replaced ChangePriority by RefPriority -- fixed setting of priorities... problems were caused by a compiler bug (MSVC 6) -- made a portable threading interface with support for threading libraries other than pthreads (FLEXT_THREADS defined as FLEXT_THR_*) -- implemented threading support with the MacOS MP thread library -- stripped the ThrMutex and ThrCond classes of non-portable (and irrelevant) functionality -- simplified "ToQueue*" and threaded "ToOut*" message queue mechanism for Max/MSP -- deprecated FLEXT_ADDMETHOD_V and FLEXT_ADDMETHOD_A definitions which only lead to confusion -- BACKWARDS-INCOMPATIBLE CHANGE: flext_sndobj::NewObjs must return a boolean!! - -0.4.0: -- the use of the const keyword is enforced (e.g. the preferred type for symbols is now "const t_symbol *") - - there _might_ be some problems with sensitive compilers -- introduced Max/Jitter-like attribute functionality ("@value" command line, "getvalue" get and "value" set functions) -- introduced a flext static class for general flext functions (to clean up the flext_base class) -- creation argument handling is now done by flext - no more weird PD re-ordering of arguments -- no more support for the Apple MPW compiler - MacOS9 is dying anyway... -- calling SetupInOut() has become obsolete - - flext creates all inlets/outlets by itself after the constructor has finished - - this implies that CntIn(),CntOut() and the outlet pointers are not valid in the constructor - - there is a virtual bool Init() function that may be used for such initialization -- completely redesigned FLEXT_NEW macros, usage of dynamic classes (in fllib.cpp) -- added ToQueue* functions - like ToOut* but messages or not directly sent (well suited for deadlock situations) -- introduced additional per-class methods and attributes (just like it ever was in Max and PD) -- fixed potentially dangerous typo in flext.cpp - (was: FLEXT_THREAD instead of FLEXT_THREADS) -- added OSX/darwin support (originally done by Adam T. Lindsay) -- SndObj interface now also available for cygwin and BCC -- added prepend and append functions to AtomList class -- added IsNothing, SetNothing, CanbeBool and GetABool functions -- eliminated the remaining Get*Flint and Set*Flint functions -- added/completed Is/Canbe/Get/Set for pointer atoms -- added print/scan functions for atoms -- fixed anything outlets for Max/MSP... for some strange reason this severe bug has not had severe consequences.... - -0.3.3: -- PD: fixed bug for DSP objects having no signal inlets - this also enables floats into a non-signal leftmost inlet -- revisited priority stuff for detached threads -- Bind/unbind functions for flext classes (in MaxMSP only one object can be bound) -- made "t_symtype" another synonym for "t_symbol *" -- added forgotten dsp_free function for MaxMSP -- fixed forgotten __class__ member for MaxMSP libraries -- changed basic MaxMSP object to t_pxbox (ok, a bit more memory is used....) -- MaxMSP library can now be loaded from startup folder (but can't use aliases) -- if no handler is found for pure anything (just symbol, no args...) try list handler -- added interface for SndObj (http://www.may.ie/academic/music/musictec/SndObj/ ) - -0.3.2: -- Doxygen generated inline documentation / functional reference -- added some more functionality to the AtomAnything class -- bugfix for threaded methods with var list or anything arguments -- added threaded method for arbitrary (void *) data structs -- ThrMutex: added lock count functions Push() and Pop() -- eliminated potentially dangerous SetThing,GetThing and introduced DoBind,DoUnbind,GetBound instead -- fixed severe bug with the current threads list -- add path specification possibility for help symbols (in FLEXT_NEW*) -- use pthread_attr and DETACHED flag - -0.3.1: -- added some more functionality to the AtomList class -- fixed forgotten Sleep implementation in pd@unix -- reorganized file structure and config/make procedures - -0.3.0: -- added CYGWIN support - -- added threaded methods along with a message queue for ToOut* functions (very unstable for MaxMSP!) - to use threads compile flext with FLEXT_THREADS definition -- check/update function for buffer change (resize etc.) -- description text for inlets/outlets (e.g. for MaxMSPs assist function) - not fully implemented -- added buffer resize functions flext_base::buffer::Frames(int,bool) -- added some utility functions: Sleep, CopyAtom, CopyList -- added List manipulation classes: AtomList, AtomAnything -- Alias object names (simply specify with FLEXT_NEW*, separated by whitespace) -- float messages - int method is called if there is no float method -- MaxMSP: int messages - float method is called if there is no int method -- fixed type warning for class constructors with int arguments in PD -- fixed severe bug concerning symbol methods -- MaxMSP: use critical sections for message output (for more safety in overdrive mode) -- PD: default/manual definition of help file by flext_base::DefineHelp -- added GetThing/SetThing to access t_symbol's s_thing data member - -- introduced FLEXT_NEW_DSP* and FLEXT_LIB_DSP* for FLEXT_NEW_TILDE* and FLEXT_LIB_TILDE* (the latter become deprecated) -- all variable argument defs (aka gimme) now have a V instead of G (e.g. FLEXT_NEW_V) - -0.2.3: -- restructured files and started usable inline documentation -- found that there was no method to output a bang?! Ugh! -> corrected -- finally eliminated awful t_flint type and all other schizophrenic flint functions (float and int exist now equally) -- now (finally) using type t_sample for sample values (should just be identical to float) -- added AddInBang/AddOutBang (same as Add*Symbol - unchecked) -- buffer class: added "bool Ok()" check function -- switched on error posting for unhandled messages -- added XletCode and AddInlets/AddOutlets for multiple Inlet/Outlet addition (max. 9 inlets/outlets) -- if float or int message is not handled explicitly then [list float/int( is tried - -0.2.2: -- added xgimme argument type (supplies method handlers with symbol+gimme) -- more information on DSP system with flext_dsp object (block size,number of audio inputs and outputs) -- cleaner gcc makefile -- made NewAligned/FreeAligned static functions -- introduced FLEXT(_TILDE)_SETUP for class setup in a library setup function -- introduced external libraries for MaxMSP, changed library setup behavior (now via FLEXT_LIB_SETUP) -- included MaxMsp's inofficial buffer.h with consent by David Zicarelli -- changed dynamic casts in callback functions to static as gcc 3.0.4 has obvious bugs - -0.2.1: -- fixed bug in message parsing code (anything messages were not correctly mapped to inlets) -- changed t_symtype to t_symptr (= t_symbol *), needed for method argument lists -- eliminated flint type (t_flint remains) - -0.2.0: -- internal proxy objects for any non-leftmost inlets -- Max/MSP: all signal inlets can receive messages -- method/argument parsing is done by flext - float/int are not distinguished, the first handler wins -- integrated more system functions into flext_base & eliminated superfluous #defines -- distribute list (into inlet 0) elements over inlets (right to left) -- added outlets for anythings -- defines for callback-to-method functions and method setup (FLEXT_CALLBACK*, FLEXT_ADD*) -- uses PD's or Max's memory allocation functions (for safety in Max's overdrive) -- no support for default arguments (A_DEFFLOAT and A_DEFSYMBOL).. use GIMME instead! -- better graphics update behavior for PD -- improved behavior for invalid/undefined buffers/arrays -- use MaxMSP internal z_disabled flag with flext_dsp for pausing/resuming dsp processing -- included CHECK_TILDE, a test whether a tilde object (defined as FLEXT_TILDE_*) has a trailing ~. (debug mode only) -- changed notation of flext functions from to_out_float like to ToOutFloat like -- eliminated trivial shortcuts (F,I,V,...) for built-in types -- MaxMSP is only capable of 3 creation arguments... that should be sufficient - otherwise use GIMME -- Methods for aligned memory (NewAligned, FreeAligned) - -0.1.1: -- documentation for flext.h -- more emancipation from GEM code -- virtually everything renamed -- abstraction for dsp processing -- makefile for BCC -- manual call of extern_setup or main unnecessary for single objects - only in pd libraries -- delayed buffer init (only name is set beforehand) -- loadbang also in PD -- introduced "compatibility mode" which denies platform-specific features -- fixed severe dsp bug (symptom: "float method overwritten" warning in pd) -- fixed bug: wrong return code from buffer::Set - -0.1.0: -- max-pd 0.2 becomes flext 0.1.0 -- heavy usage of unchanged GEM code - - - - diff --git a/externals/grill/trunk/flext/.svn/text-base/configure.ac.svn-base b/externals/grill/trunk/flext/.svn/text-base/configure.ac.svn-base deleted file mode 100644 index 3592254b5..000000000 --- a/externals/grill/trunk/flext/.svn/text-base/configure.ac.svn-base +++ /dev/null @@ -1,213 +0,0 @@ -# -# 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 - -if ( test $(uname -s) == CYGWIN_NT-5.0 ) || ( test $(uname -s) == CYGWIN_NT-5.1 ) || ( test $(uname -s) == MINGW32_NT-5.1 ); then - set win = 1 -fi - -# configure options -AC_ARG_ENABLE(system, - AC_HELP_STRING(--enable-system,[realtime system [default=pd]]), - [SYSTEM=$enableval], - [SYSTEM=pd] -) - -AC_ARG_WITH(sdkdir, - AC_HELP_STRING(--with-sdkdir,[path to pd or max headers]), - [sdkdir=$withval], - AC_MSG_ERROR(path to system SDK headers required $withval) -) - -AC_ARG_WITH(pdbindir, - AC_HELP_STRING(--with-pdbindir,[path to pd bin dir]), - [ - if test $win; then -# LATER: shouldn't we use AC_CHECK_LIB([pd]) ? - AC_CHECK_FILE([$withval/pd.dll],,AC_MSG_ERROR([Cannot find $withval/pd.dll])) - fi - LIBDIRS="$LIBDIRS $withval" - ], - [ - if test $win; then - AC_MSG_ERROR(path to pd bin dir required) - fi - ] -) - -if test $SYSTEM == max; then - AC_DEFINE(FLEXT_SYS,1) -# check for MaxAPI.h in pd folder - AC_CHECK_FILE([$sdkdir/max-includes/MaxAPI.h],,AC_MSG_ERROR([Cannot find $sdkdir/max-includes/MaxAPI.h])) - AC_CHECK_FILE([$sdkdir/max-includes/MaxAudioAPI.h],,AC_MSG_ERROR([Cannot find $sdkdir/max-includes/MaxAudioAPI.h])) - INCLUDEDIRS="$INCLUDEDIRS $sdkdir/max-includes $sdkdir/msp-includes" - -elif test $SYSTEM == pd; then -# if test $win; then -# fi - - AC_DEFINE(FLEXT_SYS,2) -# check for g_canvas.h in pd folder - AC_CHECK_FILE([$sdkdir/g_canvas.h],,AC_MSG_ERROR([Cannot find $sdkdir/g_canvas.h])) - INCLUDEDIRS="$INCLUDEDIRS $sdkdir" - - if test $win; then - libs="$libs pd" - AC_DEFINE(NT) - fi -else - AC_MSG_ERROR([system must be pd or max]) -fi - -AC_ARG_WITH(atomic_ops, - AC_HELP_STRING(--with-atomic_ops,[path to atomic_ops library (needed for gcc version < 4.1 on non-i386 cpus)]), - [ - AC_CHECK_FILE([$withval/atomic_ops.h],,AC_MSG_ERROR([Cannot find $withval/atomic_ops.h])) - INCLUDEDIRS="$INCLUDEDIRS $withval" - AC_DEFINE(USE_ATOMIC_OPS) - ] -) - -AC_ARG_WITH(stkdir, - AC_HELP_STRING(--with-stk,[path to STK headers]), - [ - AC_CHECK_FILE([$withval/Stk.h],,AC_MSG_ERROR([Cannot find $withval/Stk.h])) - stkdir=$withval - INCLUDEDIRS="$INCLUDEDIRS $withval" - ] -) - -AM_CONDITIONAL([STK],[test "$stkdir"]) - -AC_ARG_WITH(sndobjdir, - AC_HELP_STRING(--with-sndobj,[path to SndObj headers]), - [ - AC_CHECK_FILE([$withval/SndObj.h],,AC_MSG_ERROR([Cannot find $withval/SndObj.h])) - sndobjdir=$withval - INCLUDEDIRS="$INCLDUEDIRS $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=" " - -# needed for libtool to build win32 dlls -AC_LIBTOOL_WIN32_DLL - -AM_ENABLE_STATIC -AM_ENABLE_SHARED - -# Checks for programs. -AC_PROG_CC -AC_PROG_CXX -AC_PROG_LIBTOOL -AC_PROG_INSTALL -AC_PROG_MAKE_SET - -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="$FRAMEWORKS ApplicationServices vecLib" - LD_FLAGS="$LD_FLAGS -flat_namespace -undefined dynamic_lookup" -elif test $win; then - C_FLAGS="$C_FLAGS -mms-bitfields -mno-cygwin" - LD_FLAGS="$LD_FLAGS -mno-cygwin" -fi - - -# set compilation flags - -OPT_FLAGS="$C_FLAGS -O2" -DBG_FLAGS="$C_FLAGS -DFLEXT_DEBUG -g" - -AC_ARG_ENABLE(optimize, - AC_HELP_STRING(--enable-optimize,[enables optimized architecture specific builds for pentium4, pentium3, G4, G5, etc.]), - [ - # tune to a specific CPU - OPT_FLAGS="$OPT_FLAGS -mtune=$enableval" - case $enableval in - pentium | pentium2 | athlon | pentium-mmx) - OPT_FLAGS="$OPT_FLAGS -march=$enableval";; - pentium3 | pentium3m | pentium4 | pentium4m | pentium-m | prescott | nocona | athlon-xp | athlon-mp | athlon64 | opteron) - OPT_FLAGS="$OPT_FLAGS -march=$enableval -mfpmath=sse"; - AC_DEFINE(FLEXT_USE_SIMD);; - G3) - # set specific architecture (like march) - OPT_FLAGS="$OPT_FLAGS -mcpu=$enableval";; - G5 | G4) - # set specific architecture (like march) - OPT_FLAGS="$OPT_FLAGS -mcpu=$enableval -faltivec"; - AC_DEFINE(FLEXT_USE_SIMD);; - *) - ;; - esac - ] -) - - -AC_SUBST(SYSTEM) -AC_SUBST(INCLUDEDIRS) -AC_SUBST(LIBDIRS) -AC_SUBST(OPT_FLAGS) -AC_SUBST(DBG_FLAGS) -AC_SUBST(LD_FLAGS) -# AC_SUBST(API_VERSION) -AC_SUBST(libs) -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 diff --git a/externals/grill/trunk/flext/.svn/text-base/flext.mcp.svn-base b/externals/grill/trunk/flext/.svn/text-base/flext.mcp.svn-base deleted file mode 100644 index 595fe11eb1b892156ab55c4ff86fd0e6f21058f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 935395 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 SUZ>lCVjuIrya>Fr;QtFk;F2l; diff --git a/externals/grill/trunk/flext/.svn/text-base/flext.vcproj.svn-base b/externals/grill/trunk/flext/.svn/text-base/flext.vcproj.svn-base deleted file mode 100644 index 6bd76eeb5..000000000 --- a/externals/grill/trunk/flext/.svn/text-base/flext.vcproj.svn-base +++ /dev/null @@ -1,4635 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="flext" - ProjectGUID="{B94DB81C-B5FB-4984-99DC-5063C3793BFE}" - Keyword="Win32Proj"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Threads DLL Debug|Win32" - OutputDirectory=".\pd-msvc\tdl" - IntermediateDirectory=".\pd-msvc\tdl" - ConfigurationType="4" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,f:\prog\audio\sndobj\include,f:\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLEXT_SYS_PD;FLEXT_THREADS;FLEXT_USE_SIMD" - BasicRuntimeChecks="3" - RuntimeLibrary="3" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLibrarianTool" - OutputFile="pd-msvc/flext_tdl-pdwin.lib" - SuppressStartupBanner="TRUE"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Threads DLL Release|Win32" - OutputDirectory=".\pd-msvc\trl" - IntermediateDirectory=".\pd-msvc\trl" - ConfigurationType="4" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,f:\prog\audio\sndobj\include,f:\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;NDEBUG;_LIB;FLEXT_SYS=2;FLEXT_THREADS;FLEXT_USE_SIMD" - StringPooling="TRUE" - RuntimeLibrary="2" - EnableFunctionLevelLinking="TRUE" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLibrarianTool" - OutputFile="pd-msvc/flext_tl-pdwin.lib" - SuppressStartupBanner="TRUE"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="PD Threads Debug|Win32" - OutputDirectory=".\pd-msvc\td" - IntermediateDirectory=".\pd-msvc\td" - ConfigurationType="4" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - EnableIntrinsicFunctions="TRUE" - AdditionalIncludeDirectories="c:\programme\pd\src;c:\data\libs\sndobj\include;c:\data\libs\stk\include" - PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLEXT_SYS=2;FLEXT_THREADS;FLEXT_USE_SIMD;FLEXT_EXPORTS;xFLEXT_ATTRHIDE;xFLEXT_NOATTREDIT;_WIN32_WINNT=0x501;FLEXT_USE_CMEM" - BasicRuntimeChecks="3" - RuntimeLibrary="1" - EnableEnhancedInstructionSet="1" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLibrarianTool" - OutputFile="pd-msvc/flext-pd_td.lib" - SuppressStartupBanner="TRUE"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="PD Debug|Win32" - OutputDirectory=".\pd-msvc\sd" - IntermediateDirectory=".\pd-msvc\sd" - ConfigurationType="4" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - EnableIntrinsicFunctions="TRUE" - AdditionalIncludeDirectories=""$(prereq)\pthreads\include";"c:\programme\pd-0.40-2\src";"$(prereq)\sndobj\include\SndObj";"$(prereq)\stk\include"" - PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLEXT_SYS=2;FLEXT_USE_SIMD;FLEXT_EXPORTS;xFLEXT_DEBUGMEM;_WIN32_WINNT=0x400;WIN" - StringPooling="TRUE" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="3" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLibrarianTool" - OutputFile="pd-msvc/flext-pd_sd.lib" - SuppressStartupBanner="TRUE"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="PD Threads Release|Win32" - OutputDirectory=".\pd-msvc\t" - IntermediateDirectory=".\pd-msvc\t" - ConfigurationType="4" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories=""$(pdmax)\pd\src";"$(prereq)\sndobj\include";"$(prereq)\stk\include";"$(prereq)\pthreads\include"" - PreprocessorDefinitions="WIN32;NDEBUG;_LIB;FLEXT_SYS=2;FLEXT_THREADS;FLEXT_USE_SIMD;FLEXT_EXPORTS;_WIN32_WINNT=0x501" - StringPooling="TRUE" - RuntimeLibrary="0" - EnableFunctionLevelLinking="TRUE" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="3" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLibrarianTool" - OutputFile="pd-msvc/flext-pd_t.lib" - SuppressStartupBanner="TRUE"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="PD Release|Win32" - OutputDirectory=".\pd-msvc\s" - IntermediateDirectory=".\pd-msvc\s" - ConfigurationType="4" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - EnableIntrinsicFunctions="TRUE" - AdditionalIncludeDirectories=""$(prereq)\pthreads\include";c:\data\pdmax\pd\src" - PreprocessorDefinitions="WIN32;NDEBUG;_LIB;FLEXT_SYS=1;FLEXT_USE_SIMD;FLEXT_EXPORTS;_WIN32_WINNT=0x400" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="3" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLibrarianTool" - OutputFile="pd-msvc/flext-pd_s.lib" - SuppressStartupBanner="TRUE"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="PD Shared Debug|Win32" - OutputDirectory=".\pd-msvc\ddl" - IntermediateDirectory=".\pd-msvc\ddl" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories=""c:\data\prog\pd\pd-cvs\src";c:\data\prog\packs\pthreads;c:\data\prog\audio\sndobj\include;c:\data\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLEXT_SYS_PD;FLEXT_THREADS;FLEXT_USE_SIMD;FLEXT_SHARED;FLEXT_EXPORTS;FLEXT_PDLOCK" - BasicRuntimeChecks="3" - RuntimeLibrary="3" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - Detect64BitPortabilityProblems="TRUE" - DebugInformationFormat="3" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib pthreadVC.lib stk_d.lib sndobj.lib" - OutputFile=".\pd-msvc\flext-pd_d.dll" - AdditionalLibraryDirectories=""c:\data\prog\pd\pd-cvs\bin";c:\data\prog\packs\pthreads;c:\data\prog\audio\stk\lib;c:\data\prog\audio\sndobj\lib" - GenerateDebugInformation="TRUE" - OptimizeReferences="1" - ImportLibrary="./pd-msvc/flext-pd_d.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="PD Shared Release|Win32" - OutputDirectory=".\pd-msvc\dd" - IntermediateDirectory=".\pd-msvc\dd" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="3" - GlobalOptimizations="FALSE" - InlineFunctionExpansion="2" - FavorSizeOrSpeed="0" - EnableFiberSafeOptimizations="FALSE" - AdditionalIncludeDirectories=""c:\data\prog\pd\pd-cvs\src";c:\data\prog\packs\pthreads;c:\data\prog\audio\sndobj\include;c:\data\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;_LIB;FLEXT_SYS_PD;FLEXT_USE_SIMD;FLEXT_SHARED;FLEXT_EXPORTS;FLEXT_PDLOCK" - StringPooling="TRUE" - RuntimeLibrary="2" - EnableEnhancedInstructionSet="1" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="0" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib pthreadVC.lib stk.lib sndobj.lib" - OutputFile=".\pd-msvc\flext-pd.dll" - AdditionalLibraryDirectories="c:\data\prog\packs\pthreads;"c:\data\prog\pd\pd-cvs\bin";c:\data\prog\audio\stk\lib;c:\data\prog\audio\sndobj\lib" - GenerateDebugInformation="FALSE" - OptimizeReferences="1" - ImportLibrary="./pd-msvc/flext-pd.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Max Shared Debug|Win32" - OutputDirectory=".\max-msvc\dd" - IntermediateDirectory=".\max-msvc\dd" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="F:\prog\audio\MaxWinSDK\c74support\max-includes,F:\prog\audio\MaxWinSDK\c74support\msp-includes,f:\prog\packs\pthreads,f:\prog\audio\sndobj\include,f:\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLEXT_SYS_MAX;FLEXT_USE_SIMD;FLEXT_SHARED;FLEXT_EXPORTS" - BasicRuntimeChecks="3" - RuntimeLibrary="3" - StructMemberAlignment="2" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="3" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="maxapi.lib maxext.lib maxaudio.lib pthreadVC.lib stk_d.lib sndobj.lib" - OutputFile=".\max-msvc\flext-max_d.dll" - AdditionalLibraryDirectories=""F:\prog\audio\MaxWinSDK\c74support\max-includes\win-includes\debug";"F:\prog\audio\MaxWinSDK\c74support\msp-includes\win-includes\debug";f:\prog\packs\pthreads;F:\prog\audio\stk\lib;F:\prog\audio\sndobj\lib" - GenerateDebugInformation="TRUE" - OptimizeReferences="1" - ImportLibrary="./max-msvc/flext-max_d.lib"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool" - Description="copy flext to maestra" - CommandLine="copy F:\prog\max\flext\max-msvc\flext_d.max.dll f:\prog\maestra\dev\debug"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Max Shared Release|Win32" - OutputDirectory=".\max-msvc\dd" - IntermediateDirectory=".\max-msvc\dd" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="3" - GlobalOptimizations="FALSE" - InlineFunctionExpansion="2" - FavorSizeOrSpeed="0" - EnableFiberSafeOptimizations="FALSE" - AdditionalIncludeDirectories="F:\prog\audio\MaxWinSDK\c74support\max-includes,F:\prog\audio\MaxWinSDK\c74support\msp-includes,f:\prog\packs\pthreads,f:\prog\audio\sndobj\include,f:\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;_LIB;FLEXT_SYS_MAX;FLEXT_THREADS;FLEXT_USE_SIMD;FLEXT_SHARED;FLEXT_EXPORTS" - StringPooling="TRUE" - ExceptionHandling="TRUE" - RuntimeLibrary="2" - StructMemberAlignment="2" - EnableEnhancedInstructionSet="1" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="3" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="maxapi.lib maxext.lib maxaudio.lib stk.lib sndobj.lib" - OutputFile=".\max-msvc\flext-max.dll" - AdditionalLibraryDirectories=""F:\prog\audio\MaxWinSDK\c74support\max-includes\win-includes\debug";"F:\prog\audio\MaxWinSDK\c74support\msp-includes\win-includes\debug";f:\prog\packs\pthreads;F:\prog\audio\stk\lib;F:\prog\audio\sndobj\lib" - IgnoreAllDefaultLibraries="FALSE" - GenerateDebugInformation="FALSE" - OptimizeReferences="1" - ImportLibrary="./max-msvc/flext-max.lib"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool" - Description="copy flext to maestra" - CommandLine="copy F:\prog\max\flext\source\*.h f:\prog\maestra\dev\api\include -copy F:\prog\max\flext\max-msvc\flext_l.lib f:\prog\maestra\dev\api\lib -copy F:\prog\max\flext\max-msvc\flext.max.dll f:\prog\maestra\dev\release -copy F:\prog\max\flext\max-msvc\flext.max.dll f:\prog\dll -"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Max Release|Win32" - OutputDirectory=".\max-msvc\s" - IntermediateDirectory=".\max-msvc\s" - ConfigurationType="4" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="3" - GlobalOptimizations="FALSE" - InlineFunctionExpansion="2" - FavorSizeOrSpeed="0" - EnableFiberSafeOptimizations="FALSE" - AdditionalIncludeDirectories=""C:\data\prog\audio\maxmspsdk_win\4.5 headers\c74support\max-includes";"C:\data\prog\audio\maxmspsdk_win\4.5 headers\c74support\msp-includes";f:\prog\packs\pthreads;f:\prog\audio\sndobj\include;f:\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;_LIB;FLEXT_SYS_MAX;FLEXT_USE_SIMD;FLEXT_EXPORTS" - StringPooling="TRUE" - BasicRuntimeChecks="0" - RuntimeLibrary="0" - StructMemberAlignment="2" - BufferSecurityCheck="FALSE" - EnableEnhancedInstructionSet="1" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="0" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLibrarianTool" - OutputFile="max-msvc/flext-max_s.lib"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool" - Description="copy flext to maestra"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Max Debug|Win32" - OutputDirectory=".\max-msvc\sd" - IntermediateDirectory=".\max-msvc\sd" - ConfigurationType="4" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - GlobalOptimizations="FALSE" - InlineFunctionExpansion="0" - EnableIntrinsicFunctions="TRUE" - FavorSizeOrSpeed="0" - OmitFramePointers="FALSE" - OptimizeForProcessor="2" - AdditionalIncludeDirectories=""C:\data\libs\maxmspjit-sdk\c74support\max-includes";"C:\data\libs\maxmspjit-sdk\c74support\msp-includes";$(NOINHERIT)" - PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLEXT_SYS=1;FLEXT_USE_SIMD;FLEXT_USE_CMEM;FLEXT_DEBUGMEM" - StringPooling="FALSE" - RuntimeLibrary="3" - StructMemberAlignment="2" - EnableEnhancedInstructionSet="1" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="3" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLibrarianTool" - OutputFile="max-msvc/flext-max_sd.lib"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Max Threaded Debug|Win32" - OutputDirectory="max-msvc/td" - IntermediateDirectory="max-msvc/td" - ConfigurationType="4" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - GlobalOptimizations="FALSE" - InlineFunctionExpansion="0" - FavorSizeOrSpeed="0" - EnableFiberSafeOptimizations="FALSE" - AdditionalIncludeDirectories=""C:\data\prog\audio\maxmspsdk\c74support\max-includes";"C:\data\prog\audio\maxmspsdk\c74support\msp-includes";c:\data\prog\audio\sndobj\include;c:\data\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLEXT_SYS=1;FLEXT_THREADS;FLEXT_USE_SIMD;FLEXT_EXPORTS;_WIN32_WINNT=0x501" - StringPooling="TRUE" - RuntimeLibrary="1" - EnableEnhancedInstructionSet="1" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="3" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLibrarianTool" - OutputFile="max-msvc/flext-max_td.lib"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Max Threaded Release|Win32" - OutputDirectory="max-msvc/tr" - IntermediateDirectory="max-msvc/tr" - ConfigurationType="4" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="3" - GlobalOptimizations="FALSE" - InlineFunctionExpansion="2" - FavorSizeOrSpeed="0" - EnableFiberSafeOptimizations="FALSE" - AdditionalIncludeDirectories=""C:\data\prog\audio\maxmspsdk\c74support\max-includes";"C:\data\prog\audio\maxmspsdk\c74support\msp-includes";c:\data\prog\audio\sndobj\include;c:\data\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;_LIB;FLEXT_SYS=1;FLEXT_USE_SIMD;FLEXT_EXPORTS;FLEXT_THREADS;_WIN32_WINNT=0x502" - StringPooling="TRUE" - RuntimeLibrary="0" - EnableEnhancedInstructionSet="1" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="0" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLibrarianTool" - OutputFile="max-msvc/flext-max_t.lib"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool" - Description="copy flext to maestra"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="PD Lockfree Debug|Win32" - OutputDirectory="$(ConfigurationName)" - IntermediateDirectory="$(ConfigurationName)" - ConfigurationType="4" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - InlineFunctionExpansion="0" - EnableIntrinsicFunctions="TRUE" - AdditionalIncludeDirectories=""$(prereq)\pthreads\include";"$(pdmax)\pd\src";"$(prereq)\sndobj\include";"$(prereq)\stk\include";C:\data\nova\libs\lockfree" - PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLEXT_SYS_PD;FLEXT_THREADS;FLEXT_USE_SIMD;FLEXT_EXPORTS;xFLEXT_ATTRHIDE;xFLEXT_NOATTREDIT;_WIN32_WINNT=0x501;xFLEXT_USECMEM;FLEXT_QMODE=2" - BasicRuntimeChecks="3" - RuntimeLibrary="1" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="0" - PrecompiledHeaderThrough="flext.h" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLibrarianTool" - OutputFile="pd-msvc/flext-pd_td_l.lib" - SuppressStartupBanner="TRUE"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="doc" - Filter=""> - <File - RelativePath=".\build.txt"> - </File> - <File - RelativePath="changes.txt"> - </File> - <File - RelativePath="source\fldoxygen.h"> - </File> - <File - RelativePath=".\notes.txt"> - </File> - <File - RelativePath="readme.txt"> - </File> - </Filter> - <Filter - Name="Atom" - Filter=""> - <File - RelativePath="source\flatom.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flatom_part.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flatom_pr.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Filter> - <Filter - Name="Base" - Filter=""> - <File - RelativePath="source\flbase.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flbase.h"> - </File> - <File - RelativePath="source\flclass.h"> - </File> - <File - RelativePath="source\flext.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flext.h"> - </File> - <File - RelativePath="source\flinternal.h"> - </File> - <File - RelativePath="source\fllib.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flprefix.h"> - </File> - <File - RelativePath="source\flstdc.h"> - </File> - <File - RelativePath="source\flthr.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Filter> - <Filter - Name="IO" - Filter=""> - <File - RelativePath="source\flattr.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath=".\source\flattr_ed.cpp"> - </File> - <File - RelativePath="source\flbind.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flitem.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flmeth.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flmsg.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flout.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flproxy.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flqueue.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flxlet.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Filter> - <Filter - Name="Util" - Filter=""> - <File - RelativePath="source\flbuf.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath=".\source\flcontainers.h"> - </File> - <File - RelativePath=".\source\flmap.cpp"> - </File> - <File - RelativePath=".\source\flmap.h"> - </File> - <File - RelativePath="source\flmspbuffer.h"> - </File> - <File - RelativePath="source\flsimd.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flsupport.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flsupport.h"> - </File> - <File - RelativePath="source\fltimer.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flutil.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Filter> - <Filter - Name="Dsp" - Filter=""> - <File - RelativePath="source\fldsp.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\fldsp.h"> - </File> - </Filter> - <Filter - Name="SndObj" - Filter=""> - <File - RelativePath="source\flsndobj.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flsndobj.h"> - <FileConfiguration - Name="PD Shared Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - </File> - </Filter> - <Filter - Name="STK" - Filter=""> - <File - RelativePath="source\flstk.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flstk.h"> - <FileConfiguration - Name="PD Shared Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - </File> - </Filter> - <Filter - Name="Defs" - Filter=""> - <File - RelativePath="source\fldefs.h"> - </File> - <File - RelativePath="source\fldefs_attradd.h"> - </File> - <File - RelativePath="source\fldefs_attrcb.h"> - </File> - <File - RelativePath="source\fldefs_attrvar.h"> - </File> - <File - RelativePath="source\fldefs_hdr.h"> - </File> - <File - RelativePath="source\fldefs_methadd.h"> - </File> - <File - RelativePath="source\fldefs_methbind.h"> - </File> - <File - RelativePath="source\fldefs_methcall.h"> - </File> - <File - RelativePath="source\fldefs_methcb.h"> - </File> - <File - RelativePath="source\fldefs_meththr.h"> - </File> - <File - RelativePath="source\fldefs_setup.h"> - </File> - </Filter> - <Filter - Name="build" - Filter=""> - <File - RelativePath=".\build-max-msvc.bat"> - </File> - <File - RelativePath=".\build-pd-msvc.bat"> - </File> - <File - RelativePath=".\config-max-msvc.txt"> - </File> - <File - RelativePath=".\config-pd-msvc.txt"> - </File> - </Filter> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/.svn/text-base/gpl.txt.svn-base b/externals/grill/trunk/flext/.svn/text-base/gpl.txt.svn-base deleted file mode 100644 index 5ea29a7df..000000000 --- a/externals/grill/trunk/flext/.svn/text-base/gpl.txt.svn-base +++ /dev/null @@ -1,346 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) 19yy <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19yy name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. - diff --git a/externals/grill/trunk/flext/.svn/text-base/license.txt.svn-base b/externals/grill/trunk/flext/.svn/text-base/license.txt.svn-base deleted file mode 100644 index 9488294fe..000000000 --- a/externals/grill/trunk/flext/.svn/text-base/license.txt.svn-base +++ /dev/null @@ -1,19 +0,0 @@ -flext - C++ layer for Max/MSP and pd (pure data) externals -Copyright (C) 2001-2005 Thomas Grill - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -In the official flext distribution, the GNU General Public License is -in the file gpl.txt \ No newline at end of file diff --git a/externals/grill/trunk/flext/.svn/text-base/notes.txt.svn-base b/externals/grill/trunk/flext/.svn/text-base/notes.txt.svn-base deleted file mode 100644 index 93c71227f..000000000 --- a/externals/grill/trunk/flext/.svn/text-base/notes.txt.svn-base +++ /dev/null @@ -1,69 +0,0 @@ -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. - ----------------------------------------------------------------------------- - -VARIOUS NOTES: - -Platform specific: -- PD does not allow signal and message to go into the same inlet (except leftmost inlet) -- PD: with DSP objects all float messages to the leftmost inlet are converted to signal - -Restrictions in compatibility mode: -- Max allows only 9 float/int inlets - -Porting to new compilers/platforms: -- enums must be int-sized!!! -- compiler must support bool type -- an STL implementation must exist -- C++ exceptions and RTTI must be enabled - ----------------------------------------------------------------------------- - -KNOWN BUGS: -- Some few external libraries have troubles with flext's global new and delete overloadings. - In these cases one can switch back to the C library memory operators by defining the FLEXT_NOGLOBALNEW macro before - inclusion of the flext.h header file (e.g. as a -D compiler option) - -- PD: floats into the leftmost inlet of DSP objects can't be used as messages - even if there's no signal inlet at all - ----------------------------------------------------------------------------- - -TODO LIST: - -- optimizations for object initialization and messaging -- speed up message handling (usage of other containers?) -- SIMD for gcc -- lock-free code for old AMD 64-bit architectures - -- update documentation -- add log messages for debugging version -- use PD's t_float and t_int types (or comparable for 32-bit safety) - -- add double handlers -- add signal in/out connection query function - -- support for Max qelem style - -- flext::post and flext::error should print via a worker thread (and should be unlimited in characters) - -- manage running threads individually (stop, isrunning?, priority etc.) - ----------------------------------------------------------------------------- - -TESTS TO DO: - -- PD: problems with timed buffer redrawing (takes a lot of cpu time) -- hard thread termination upon object destruction doesn't seem to work properly -> crash -- Max rounding bug ... buffer resize could be one sample less! - -- PD: figure out what "pointer" messages do and whether they are correctly implemented in flext - -- Max buffer~ resize: flext_base::buffer::Frames(): must we use buffer or system sample rate? - -- check whether m_dsp gets called upon deletion of a used buffer (PD and MaxMSP may behave differently). - -> PD does call m_dsp, Max/MSP does not diff --git a/externals/grill/trunk/flext/.svn/text-base/package.txt.svn-base b/externals/grill/trunk/flext/.svn/text-base/package.txt.svn-base deleted file mode 100644 index 970de400e..000000000 --- a/externals/grill/trunk/flext/.svn/text-base/package.txt.svn-base +++ /dev/null @@ -1,57 +0,0 @@ -# -# flext - C++ layer for Max/MSP and pd (pure data) externals -# -# Copyright (c) 2001-2008 Thomas Grill (gr@grrrr.org) -# -# $LastChangedRevision$ -# $LastChangedDate$ -# $LastChangedBy$ -# -# 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 -# ------------------------------------------------------------------------ -# -# This file contains information for the building process -# -# DO NOT EDIT!! -# -# ------------------------------------------------------------------------ - -NAME=flext - -BUILDCLASS=flext -BUILDMODE=all -BUILDTYPE=all - -BUILDDIR=build - -SRCDIR=source - -PRECOMPILE=flext.h - -SRCS= \ - flbase.cpp flext.cpp flbuf.cpp fldsp.cpp fllib.cpp \ - flxlet.cpp flattr.cpp flattr_ed.cpp flsupport.cpp \ - flutil.cpp flatom.cpp flatom_pr.cpp flthr.cpp fltimer.cpp flsimd.cpp flout.cpp \ - flatom_part.cpp flitem.cpp flmeth.cpp flmsg.cpp \ - flproxy.cpp flqueue.cpp flbind.cpp flmap.cpp -HDRS= \ - flext.h flprefix.h flstdc.h flinternal.h flfeatures.h \ - flpushns.h flpopns.h \ - flbase.h flclass.h flsupport.h fldsp.h \ - flmap.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/cas.hpp lockfree/branch_hints.hpp \ - lockfree/atomic_int.hpp lockfree/atomic_ptr.hpp \ - lockfree/fifo.hpp lockfree/stack.hpp - - -SRCS_SNDOBJ=flsndobj.cpp -HDRS_SNDOBJ=flsndobj.h - -SRCS_STK=flstk.cpp -HDRS_STK=flstk.h diff --git a/externals/grill/trunk/flext/.svn/text-base/readme.txt.svn-base b/externals/grill/trunk/flext/.svn/text-base/readme.txt.svn-base deleted file mode 100644 index 34fcae41d..000000000 --- a/externals/grill/trunk/flext/.svn/text-base/readme.txt.svn-base +++ /dev/null @@ -1,99 +0,0 @@ -flext - C++ layer for Max/MSP and Pd (Pure Data) externals - -Copyright (c) 2001-2009 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. - -This package seeks to encourage the development of open source software -for the pd and Max/MSP platforms. - -Donations for further development of the package are highly appreciated. -https://www.paypal.com/xclick/business=gr%40grrrr.org&item_name=flext&no_note=1&tax=0¤cy_code=EUR - ----------------------------------------------------------------------------- - -Abstract: - -flext seeks to represent a uniform programming interface for extending the most common -modular real-time audio systems Max/MSP and Pure Data (PD) with external modules, or -short externals. These modules provide a way to tailor such a system for one’s -special needs and supply additional functionality. - -Source code based on flext is able to exploit most common features of the -respective real-time framework while staying completely independent of the -actual host system and platform (hardware and operating system). - -flext currently supports development for PD under Linux, Windows and OSX as well as -Max/MSP under OS9, OSX and Windows with various programming environments. - ----------------------------------------------------------------------------- - -Goals/features of the package: - -pros: -- better readability of code compared to straight C externals -- faster development, more robust coding -- sharing of common methods and data by using base classes -- any input to any inlet (with the exception of signal streams) -- transparent use of threads for methods -- libraries of externals in Max/MSP -- more than 3 typed creation arguments possible for Max/MSP - -cons: -- introduces a small overhead to speed of message and signal handling -- larger memory footprint - ----------------------------------------------------------------------------- - -Prerequisites: - ---- PD --- - You need the pd source code which is most likely part of the distribution. - Otherwise download from: http://www-crca.ucsd.edu/~msp/software.html - ---- Max/MSP --- - You will need the latest Max/MSP SDK - for Windows (http://synthesisters.com/pluggo3/downloadMaxWinSDK.php) - for OSX (http://www.synthesisters.com/sdk/max.php) - or for OS9 (ask Cycling'74 where to find that) - - For OS9 threading support you'll also need the Multiprocessing library - (download at http://developer.apple.com/sdk/) - ---- SndObj --- - If you choose to compile with SndObj support you will need the respective library - download from: http://www.may.ie/academic/music/musictec/SndObj/main.html - ---- STK --- - If you choose to compile with STK support you will need the respective package - and build a library. - download from: http://ccrma-www.stanford.edu/software/stk/ - For linking it may preferable to use a library of all the STK objects. - - Under linux you can create one from the STK directory with something like - > g++ -c -pipe -I include -D __LINUX_OSS__ src/*.cpp && ar r libstk.a *.o && rm -f *.o - - Under Windows you can build a static STK library with the following commands: - > cl src/*.c* /MT /D__OS_WINDOWS__ /EHsc /Ox /Iinclude /I../pthreads/include /c - > lib *.obj /out:stk.lib - Please note, that you have to have pthreads installed (../pthreads points to it in the command) - Also, the resulting stk.lib will be a multithreaded build, linked to a static C library. - Consequently you should also use multithreaded flext for your flext-based external. - ----------------------------------------------------------------------------- - -Building and installing of flext and flext-based externals: - - See the build.txt document - ----------------------------------------------------------------------------- - -Various notes / limitations / bug list: - - Read the notes.txt document - ----------------------------------------------------------------------------- - -History of changes: - - Read the changes.txt document diff --git a/externals/grill/trunk/flext/Doxyfile b/externals/grill/trunk/flext/Doxyfile deleted file mode 100644 index 1c168a018..000000000 --- a/externals/grill/trunk/flext/Doxyfile +++ /dev/null @@ -1,273 +0,0 @@ -# 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 = \ - 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/trunk/flext/Makefile.am b/externals/grill/trunk/flext/Makefile.am deleted file mode 100755 index d3bbd5f63..000000000 --- a/externals/grill/trunk/flext/Makefile.am +++ /dev/null @@ -1,9 +0,0 @@ -# -# automake template -# added by tim blechmann -# modified by Thomas Grill -# - -SUBDIRS = source # tutorial - -# EXTRA_DIST = flext.doxy \ No newline at end of file diff --git a/externals/grill/trunk/flext/Makefile.in b/externals/grill/trunk/flext/Makefile.in deleted file mode 100644 index 7c3c5361b..000000000 --- a/externals/grill/trunk/flext/Makefile.in +++ /dev/null @@ -1,743 +0,0 @@ -# Makefile.in generated by automake 1.11.3 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# -# automake template -# added by tim blechmann -# modified by Thomas Grill -# -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = . -DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(top_srcdir)/configure config.guess \ - config.sub depcomp install-sh ltmain.sh missing -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-dvi-recursive install-exec-recursive \ - install-html-recursive install-info-recursive \ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir dist dist-all distcheck -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - if test -d "$(distdir)"; then \ - find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -rf "$(distdir)" \ - || { sleep 5 && rm -rf "$(distdir)"; }; \ - else :; fi -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -DIST_ARCHIVES = $(distdir).tar.gz -GZIP_ENV = --best -distuninstallcheck_listfiles = find . -type f -print -am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DBG_FLAGS = @DBG_FLAGS@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FRAMEWORKS = @FRAMEWORKS@ -GREP = @GREP@ -INCLUDEDIRS = @INCLUDEDIRS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LD_FLAGS = @LD_FLAGS@ -LIBDIRS = @LIBDIRS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPT_FLAGS = @OPT_FLAGS@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -SYSTEM = @SYSTEM@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -libs = @libs@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sndobjdir = @sndobjdir@ -srcdir = @srcdir@ -stkdir = @stkdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -SUBDIRS = source # tutorial -all: all-recursive - -.SUFFIXES: -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool config.lt - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -$(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__remove_distdir) - -dist-lzip: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__remove_distdir) - -dist-lzma: distdir - tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma - $(am__remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__remove_distdir) - -dist-tarZ: distdir - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) - -dist-shar: distdir - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) - -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lzma*) \ - lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ - *.tar.lz*) \ - lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir); chmod a+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build \ - && ../configure --srcdir=.. --prefix="$$dc_install_base" \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @test -n '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: trying to run $@ with an empty' \ - '$$(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - $(am__cd) '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: - -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ - install-am install-strip tags-recursive - -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am am--refresh check check-am clean clean-generic \ - clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ - dist-gzip dist-lzip dist-lzma dist-shar dist-tarZ dist-xz \ - dist-zip distcheck distclean distclean-generic \ - distclean-libtool distclean-tags distcleancheck distdir \ - distuninstallcheck dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am tags tags-recursive uninstall uninstall-am - - -# EXTRA_DIST = flext.doxy - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/externals/grill/trunk/flext/bootstrap.sh b/externals/grill/trunk/flext/bootstrap.sh deleted file mode 100755 index 4ecf8a7c6..000000000 --- a/externals/grill/trunk/flext/bootstrap.sh +++ /dev/null @@ -1,20 +0,0 @@ -#! /bin/sh - -( - ( - ( - test -x "$(which libtoolize)" && libtoolize --force - ) || - ( - # MacOS has no libtoolize... use glibtoolize instead - test -x "$(which glibtoolize)" && glibtoolize --force - ) - ) && - aclocal && - automake --foreign --add-missing && - autoconf -) || -( - echo Bootstrapping failed - false -) diff --git a/externals/grill/trunk/flext/build.bat b/externals/grill/trunk/flext/build.bat deleted file mode 100644 index 0f151ac97..000000000 --- a/externals/grill/trunk/flext/build.bat +++ /dev/null @@ -1,60 +0,0 @@ -@echo off - -rem -rem flext - C++ layer for Max/MSP and pd (pure data) externals -rem -rem Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org) -rem For information on usage and redistribution, and for a DISCLAIMER OF ALL -rem WARRANTIES, see the file, "license.txt," in this distribution. -rem -rem more information on http://grrrr.org/ext -rem ------------------------------------------------------------------------ -rem -rem To build flext or flext-based externals simply run this script. -rem Running it without arguments will print some help to the console. -rem -rem ------------------------------------------------------------------------ - -echo ------------------------------------------------ - -set flext=%~dp0 - -rem Arguments: -rem %1 - system (pd/max) -rem %2 - compiler (msvc/gcc/mingw/cygwin/bcc/icc) -rem %3 - target (build/clean/install) - -set platform=win -set rtsys=%1 -set compiler=%2 -set target=%3 - -rem --- The subbatch knowns which make utility to use --- -set subbatch=%flext%\buildsys\build-%compiler%.bat - -if "%platform%"=="" goto syntax -if "%rtsys%"=="" goto syntax -if "%compiler%"=="" goto syntax - -if not exist "%subbatch%" goto syntax - -call "%subbatch%" %platform% %rtsys% %target% %4 %5 %6 %7 %8 %9 - -goto end - -rem ----------------------------------------- -:syntax - -echo . -echo SYNTAX: build [system] [compiler] {target} -echo system ... pd / max -echo compiler ... msvc / gcc / mingw / cygwin / bcc / icc -echo target ... all (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 . - -:end diff --git a/externals/grill/trunk/flext/build.sh b/externals/grill/trunk/flext/build.sh deleted file mode 100755 index c467fd456..000000000 --- a/externals/grill/trunk/flext/build.sh +++ /dev/null @@ -1,57 +0,0 @@ -#! /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 diff --git a/externals/grill/trunk/flext/build.txt b/externals/grill/trunk/flext/build.txt deleted file mode 100644 index 328d0c0e3..000000000 --- a/externals/grill/trunk/flext/build.txt +++ /dev/null @@ -1,279 +0,0 @@ -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - ----------------------------------------------------------------------------- - -This document consists of the following parts: - -0) Important stuff at the beginning -1) Using the flext build system -1.1) Building and installing flext -1.2) Building externals -1.3) Tested configurations - -2) Using autoconf - -3) Other ways to compile flext and flext-based externals - ----------------------------------------------------------------------------- - -0) Important stuff at the beginning -=================================== - -Please be aware that the build system might have difficulties handling paths with spaces. -Under unix you might get along with escaping your\ path or quoting "your path". -Under Windows escaping doesn't work at all and quoting might not work either - therefore it's -best not to use spaced paths at all. - ----------------------------------------------------------------------------- - -1) Using the flext build system -=============================== - -flext provides a universal build system which supports - -- various operating systems - Windows (win) - Linux (lnx) - MacOSX (mac) -- various real-time systems - Pure Data (pd) - Max/MSP (max) -- various make programs - GNU make (gnumake) - Microsoft nmake (nmake) -- various compilers - Microsoft Visual C/C++ 6.0, .NET 2002/2003/2005/2008 (msvc) - GNU gcc 2.95 and above (gcc,cygwin,mingw) - -Useful combinations of the above are - -under Windows: -pd msvc, using nmake -pd cygwin, using GNU make -pd mingw, using GNU make (from the CMD prompt, not msys!) -max msvc, using nmake -max cygwin, using GNU make -max mingw, using GNU make (from the CMD prompt, not msys!) -pd bcc, using Borland make - -under Linux or MacOSX: -pd gcc, using GNU make - -under MacOSX: -max gcc, using GNU make - Mach-O externals only (Max 4.5 upwards) - - -There are two central scripts in the flext folder which invoke the building process: -- build.sh for bash shells (Linux, MacOSX, cygwin) -- build.bat for the Windows command prompt - -A project needs to provide some information in order to be built properly. -By default, this resides in a file called package.txt - - -Please note, that the build system is shell-oriented, which means, that you'll have -to launch a command prompt (cmd.exe under Windows) and probably also set some -environment variables for your development system (e.g. run vcvars32.bat included with Microsoft Visual Studio) - -By invoking one of the build scripts (e.g. with "bash build.sh" under unix, -or just "build" unter Windows) you'll get some lines of help. -Operating System, real-time system and compiler need to be provided as arguments. - - -See buildsys/readme.txt for developer-centered information. - - -1.1) Prerequisites -================== - -Linux: -- A gnu g/g++ compiler should be present on any system. - The command "g++ --version" should show version 2.95 at least. Compiler version >= 3.3 is recommended. - -OSX: -- The developer package must be installed which contains all necessary parts. - -Windows: -- Microsoft Visual Studio 6, .NET 2002/2003/2005/2008 - Be sure to use the VCVARS32.BAT (or probably SDKVARS.BAT) command on the prompt to set up the environment variables - Also be sure NOT to put flext or other externals into a path containing spaces!! -or -- cygwin with binutils, gcc and make packages - -Max: -- The Max/MSP SDK must be installed. On OSX, the frameworks therein must be copied to /Library/Frameworks - - -1.2) Building and installing flext -================================== - -Flext can build itself using the build system. -From the flext main directory, run the build script - -e.g. under Windows - build pd msvc -or under unix with - bash build.sh pd gcc - -When you run it for the first time, one or more configuration files will be created -from templates - you will get a message on the console. -You should edit the files to adapt it to your system. - -Depending on your platform these will have name like -buildsys/config-win-pd-msvc.txt -or -buildsys/config-lnx-pd-gcc.txt -or -buildsys/config-mac-max-gcc.txt - - -After editing the files you will have to run the build script again to ensure that flext is built. - -After successfully building everything, you can install flext with (under Windows) - build pd msvc install -or (under unix) - bash build.sh pd gcc install - - -You will probably have to have superuser rights in order to install things -into the default location. -(try "sudo" or "su -c" prefixes, or log in as root) - - -1.3) Building externals -======================= - -The flext build system can be used to compile flext-based externals or also -native PD and Max/MSP externals, provided there is a package.txt file in the project folder. - -In the shell, change to the project folder. -Then, simply run the flext build script, - -e.g. under Windows - ..\flext\build pd msvc -Then install your newly built external with - ..\flext\build pd msvc install -You can clean up the intermediate build folders with - ..\flext\build pd msvc clean - -or under unix with - bash ../flext/build.sh pd gcc -Then install your external with - bash ../flext/build.sh pd gcc install -You can clean up the intermediate build folders with - bash ../flext/build.sh pd gcc clean - - -1.4) Tested configurations -========================== - -Both flext and flext-based externals have been successfully built with the -following combination of platform-system-compiler, build type. -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 (from CMD prompt, not MSYS) -win-pd-cygwin, single/multi/shared -win-max-msvc, single/multi/shared -win-max-cygwin, single/multi/shared -win-max-mingw, single/multi/shared - - -mac-pd-gcc, single/multi/shared -mac-max-gcc, single/multi/shared - -lnx-pd-gcc, single/multi/shared - ----------------------------------------------------------------------------- - -2) Using autoconf -================= - -Thanks to Tim Blechmann, flext can also be built using autoconf. -This only works under unix shells (like bash). - -When starting from a fresh cvs-based copy of flext first run -./bootstrap.sh - -then you can run -./configure --help -to get a page of options. - -You need to pass the path to the PD source files or the Max SDK to the ./configure script, -e.g. on OS X with something like -./configure --enable-system=pd --with-sysdir=/Applications/Pd-0.40-2/Contents/Resources/src - -then build flext with -make - -and install it with -sudo make install - - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -MINGW: the specs file for certain gcc versions seems to be wrong and needs to be fixed before building flext - -- locate the specs file with "gcc --print-file specs" -- open this file with your favourite editor -- search for the line "*md_startfile_prefix:" -- change the next line "/mingw/lib" to "/lib" -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - ----------------------------------------------------------------------------- - -3) Other ways to compile flext and flext-based externals -======================================================== - -Flext can be compiled straightforward as a static or shared library, in release or debug mode. - -Some preprocessor symbols must be defined depending on the build mode and the realtime system it is targetted for. - -for Max/MSP: FLEXT_SYS = 1 -for PD: FLEXT_SYS = 2 - -for a debug build: FLEXT_DEBUG - -for a static single-threaded library: nothing needs to be defined -for a static multi-threaded library: FLEXT_THREADS -for a shared library (always multi-threaded): FLEXT_SHARED - - - -- Windows - Microsoft Visual Studio projects (.vcproj files) - - Please have a look at the projects delivered with flext and flext-based externals. - -- MacOSX - Apple Xcode projects (.xcode bundles) - - Please have a look at the projects delivered with flext and flext-based externals. - - Xcode projects often use some Source Trees (definable in the Xcode Preferences). - - Flext - the flext main folder - - PD - the PD installation - - Max SDK - the Max SDK (path ending with "c74support") - - Max Common - Max common files (normally /Library/Application\ Support/Cycling\ \'74 ) - -- MacOSX - Metrowerks Codewarrior (.mcp files) - - You should have the following "Source Trees" (CW preferences, not project specific!) defined: - "OS X Volume" - Pointing to your OSX boot drive - "flext" - Pointing to the flext main directory - "Cycling74 OSX" - Pointing to the SDK for Max/MSP - the path should end with /c74support - - With your project using flext use the prefix file "flcwmax-x.h" or, - alternatively "flcwmax-x-thr.h" for threading support. - -- MacOS9 - Metrowerks Codewarrior (.mcp files) - - You should have the following "Source Trees" (CW preferences, not project specific!) defined: - "flext" - Pointing to the flext main directory - "Cycling74" - Pointing to the Cycling 74 SDK - "MP SDK" - Pointing to the Multiprocessing SDK (for threading support) - - With your project using flext use the prefix file "flcwmax.h" or, - alternatively "flcwmax-thr.h" for threading support. diff --git a/externals/grill/trunk/flext/build/.svn/all-wcprops b/externals/grill/trunk/flext/build/.svn/all-wcprops deleted file mode 100644 index ceda93299..000000000 --- a/externals/grill/trunk/flext/build/.svn/all-wcprops +++ /dev/null @@ -1,71 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 36 -/ext/!svn/ver/3674/trunk/flext/build -END -gnumake-lnx-gcc.inc -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/build/gnumake-lnx-gcc.inc -END -gnumake-win-cygwin.inc -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/build/gnumake-win-cygwin.inc -END -gnumake-win-mingw.inc -K 25 -svn:wc:ra_dav:version-url -V 58 -/ext/!svn/ver/1247/trunk/flext/build/gnumake-win-mingw.inc -END -gnumake-lnx-icc.inc -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/build/gnumake-lnx-icc.inc -END -config-win.def -K 25 -svn:wc:ra_dav:version-url -V 51 -/ext/!svn/ver/1247/trunk/flext/build/config-win.def -END -config-mac.def -K 25 -svn:wc:ra_dav:version-url -V 51 -/ext/!svn/ver/1247/trunk/flext/build/config-mac.def -END -config-lnx.def -K 25 -svn:wc:ra_dav:version-url -V 51 -/ext/!svn/ver/1247/trunk/flext/build/config-lnx.def -END -gnumake-win-gcc.inc -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/build/gnumake-win-gcc.inc -END -nmake-win-msvc.inc -K 25 -svn:wc:ra_dav:version-url -V 55 -/ext/!svn/ver/3674/trunk/flext/build/nmake-win-msvc.inc -END -bmake-win-bcc.inc -K 25 -svn:wc:ra_dav:version-url -V 54 -/ext/!svn/ver/1247/trunk/flext/build/bmake-win-bcc.inc -END -gnumake-mac-gcc.inc -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/build/gnumake-mac-gcc.inc -END diff --git a/externals/grill/trunk/flext/build/.svn/entries b/externals/grill/trunk/flext/build/.svn/entries deleted file mode 100644 index 29653e3ac..000000000 --- a/externals/grill/trunk/flext/build/.svn/entries +++ /dev/null @@ -1,402 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/build -https://svn.grrrr.org/ext - - - -2009-03-07T00:04:02.678800Z -3674 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -config-win.def -file - - - - -2012-05-13T23:08:36.218556Z -0f1fa2574d04dbb7e47e56e0170c2570 -2007-03-13T23:31:05.336905Z -1196 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -57 - -config-mac.def -file - - - - -2012-05-13T23:08:36.212556Z -0f1fa2574d04dbb7e47e56e0170c2570 -2007-03-13T23:31:05.336905Z -1196 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -57 - -config-lnx.def -file - - - - -2012-05-13T23:08:36.212556Z -0f1fa2574d04dbb7e47e56e0170c2570 -2007-03-13T23:31:05.336905Z -1196 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -57 - -gnumake-win-gcc.inc -file - - - - -2012-05-13T23:08:36.213556Z -d222301c1720fdd5427faac667b7b3c6 -2008-01-14T17:20:31.318095Z -1227 -thomas - - - - - - - - - - - - - - - - - - - - - -234 - -nmake-win-msvc.inc -file - - - - -2012-05-13T23:08:36.213556Z -219ebbda979b89d86fa67a12a21639da -2009-03-07T00:04:02.678800Z -3674 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -204 - -bmake-win-bcc.inc -file - - - - -2012-05-13T23:08:36.214556Z -56a4b50335e821980bb1461aa01e3e09 -2005-01-07T11:57:58.325543Z -967 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -341 - -gnumake-mac-gcc.inc -file - - - - -2012-05-13T23:08:36.215556Z -bf1ec537ba00e77e15a9d63e9dcd41c4 -2007-03-13T22:56:04.700722Z -1195 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -165 - -gnumake-lnx-gcc.inc -file - - - - -2012-05-13T23:08:36.215556Z -bf1ec537ba00e77e15a9d63e9dcd41c4 -2007-03-13T22:56:04.700722Z -1195 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -165 - -gnumake-win-cygwin.inc -file - - - - -2012-05-13T23:08:36.216556Z -957c86d8f1c9e0dcdf3da44c0820ef84 -2005-01-07T11:57:58.325543Z -967 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -223 - -gnumake-win-mingw.inc -file - - - - -2012-05-13T23:08:36.217556Z -957c86d8f1c9e0dcdf3da44c0820ef84 -2005-01-07T11:57:58.325543Z -967 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -223 - -gnumake-lnx-icc.inc -file - - - - -2012-05-13T23:08:36.217556Z -bf1ec537ba00e77e15a9d63e9dcd41c4 -2007-03-13T22:56:04.700722Z -1195 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -165 - diff --git a/externals/grill/trunk/flext/build/.svn/prop-base/bmake-win-bcc.inc.svn-base b/externals/grill/trunk/flext/build/.svn/prop-base/bmake-win-bcc.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/build/.svn/prop-base/bmake-win-bcc.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/build/.svn/prop-base/config-lnx.def.svn-base b/externals/grill/trunk/flext/build/.svn/prop-base/config-lnx.def.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/build/.svn/prop-base/config-lnx.def.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/build/.svn/prop-base/config-mac.def.svn-base b/externals/grill/trunk/flext/build/.svn/prop-base/config-mac.def.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/build/.svn/prop-base/config-mac.def.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/build/.svn/prop-base/config-win.def.svn-base b/externals/grill/trunk/flext/build/.svn/prop-base/config-win.def.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/build/.svn/prop-base/config-win.def.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/build/.svn/prop-base/gnumake-lnx-gcc.inc.svn-base b/externals/grill/trunk/flext/build/.svn/prop-base/gnumake-lnx-gcc.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/build/.svn/prop-base/gnumake-lnx-gcc.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/build/.svn/prop-base/gnumake-lnx-icc.inc.svn-base b/externals/grill/trunk/flext/build/.svn/prop-base/gnumake-lnx-icc.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/build/.svn/prop-base/gnumake-lnx-icc.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/build/.svn/prop-base/gnumake-mac-gcc.inc.svn-base b/externals/grill/trunk/flext/build/.svn/prop-base/gnumake-mac-gcc.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/build/.svn/prop-base/gnumake-mac-gcc.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/build/.svn/prop-base/gnumake-win-cygwin.inc.svn-base b/externals/grill/trunk/flext/build/.svn/prop-base/gnumake-win-cygwin.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/build/.svn/prop-base/gnumake-win-cygwin.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/build/.svn/prop-base/gnumake-win-mingw.inc.svn-base b/externals/grill/trunk/flext/build/.svn/prop-base/gnumake-win-mingw.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/build/.svn/prop-base/gnumake-win-mingw.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/build/.svn/prop-base/nmake-win-msvc.inc.svn-base b/externals/grill/trunk/flext/build/.svn/prop-base/nmake-win-msvc.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/build/.svn/prop-base/nmake-win-msvc.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/build/.svn/text-base/bmake-win-bcc.inc.svn-base b/externals/grill/trunk/flext/build/.svn/text-base/bmake-win-bcc.inc.svn-base deleted file mode 100644 index a54bb3679..000000000 --- a/externals/grill/trunk/flext/build/.svn/text-base/bmake-win-bcc.inc.svn-base +++ /dev/null @@ -1,17 +0,0 @@ -!ifdef SIMD -DEFS=$(DEFS) /DFLEXT_USE_SIMD -!endif - -!ifdef SNDOBJ -SRCS=$(SRCS) $(SRCS_SNDOBJ) -HDRS=$(HDRS) $(HDRS_SNDOBJ) -INCPATH=$(INCPATH) /I$(SNDOBJ)\include -LIBS=$(LIBS) $(SNDOBJ)\lib\sndobj.lib -!endif - -!ifdef STK -SRCS=$(SRCS) $(SRCS_STK) -HDRS=$(HDRS) $(HDRS_STK) -INCPATH=$(INCPATH) /I$(STK)\include -LIBS=$(LIBS) $(STK)\lib\stk.lib -!endif diff --git a/externals/grill/trunk/flext/build/.svn/text-base/config-lnx.def.svn-base b/externals/grill/trunk/flext/build/.svn/text-base/config-lnx.def.svn-base deleted file mode 100644 index 88c43f4d7..000000000 --- a/externals/grill/trunk/flext/build/.svn/text-base/config-lnx.def.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -# comment out to inhibit SIMD (Altivec/SSE) usage -SIMD=1 diff --git a/externals/grill/trunk/flext/build/.svn/text-base/config-mac.def.svn-base b/externals/grill/trunk/flext/build/.svn/text-base/config-mac.def.svn-base deleted file mode 100644 index 88c43f4d7..000000000 --- a/externals/grill/trunk/flext/build/.svn/text-base/config-mac.def.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -# comment out to inhibit SIMD (Altivec/SSE) usage -SIMD=1 diff --git a/externals/grill/trunk/flext/build/.svn/text-base/config-win.def.svn-base b/externals/grill/trunk/flext/build/.svn/text-base/config-win.def.svn-base deleted file mode 100644 index 88c43f4d7..000000000 --- a/externals/grill/trunk/flext/build/.svn/text-base/config-win.def.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -# comment out to inhibit SIMD (Altivec/SSE) usage -SIMD=1 diff --git a/externals/grill/trunk/flext/build/.svn/text-base/gnumake-lnx-gcc.inc.svn-base b/externals/grill/trunk/flext/build/.svn/text-base/gnumake-lnx-gcc.inc.svn-base deleted file mode 100644 index aec212c55..000000000 --- a/externals/grill/trunk/flext/build/.svn/text-base/gnumake-lnx-gcc.inc.svn-base +++ /dev/null @@ -1,13 +0,0 @@ -ifdef SIMD -DEFS += -DFLEXT_USE_SIMD -endif - -ifdef SNDOBJ_LIB -SRCS+=$(SRCS_SNDOBJ) -HDRS+=$(HDRS_SNDOBJ) -endif - -ifdef STK_LIB -SRCS+=$(SRCS_STK) -HDRS+=$(HDRS_STK) -endif diff --git a/externals/grill/trunk/flext/build/.svn/text-base/gnumake-lnx-icc.inc.svn-base b/externals/grill/trunk/flext/build/.svn/text-base/gnumake-lnx-icc.inc.svn-base deleted file mode 100644 index aec212c55..000000000 --- a/externals/grill/trunk/flext/build/.svn/text-base/gnumake-lnx-icc.inc.svn-base +++ /dev/null @@ -1,13 +0,0 @@ -ifdef SIMD -DEFS += -DFLEXT_USE_SIMD -endif - -ifdef SNDOBJ_LIB -SRCS+=$(SRCS_SNDOBJ) -HDRS+=$(HDRS_SNDOBJ) -endif - -ifdef STK_LIB -SRCS+=$(SRCS_STK) -HDRS+=$(HDRS_STK) -endif diff --git a/externals/grill/trunk/flext/build/.svn/text-base/gnumake-mac-gcc.inc.svn-base b/externals/grill/trunk/flext/build/.svn/text-base/gnumake-mac-gcc.inc.svn-base deleted file mode 100644 index aec212c55..000000000 --- a/externals/grill/trunk/flext/build/.svn/text-base/gnumake-mac-gcc.inc.svn-base +++ /dev/null @@ -1,13 +0,0 @@ -ifdef SIMD -DEFS += -DFLEXT_USE_SIMD -endif - -ifdef SNDOBJ_LIB -SRCS+=$(SRCS_SNDOBJ) -HDRS+=$(HDRS_SNDOBJ) -endif - -ifdef STK_LIB -SRCS+=$(SRCS_STK) -HDRS+=$(HDRS_STK) -endif diff --git a/externals/grill/trunk/flext/build/.svn/text-base/gnumake-win-cygwin.inc.svn-base b/externals/grill/trunk/flext/build/.svn/text-base/gnumake-win-cygwin.inc.svn-base deleted file mode 100644 index 1eb1ce771..000000000 --- a/externals/grill/trunk/flext/build/.svn/text-base/gnumake-win-cygwin.inc.svn-base +++ /dev/null @@ -1,17 +0,0 @@ -ifdef SIMD -DEFS += -DFLEXT_USE_SIMD -endif - -ifdef SNDOBJ -SRCS+=$(SRCS_SNDOBJ) -HDRS+=$(HDRS_SNDOBJ) -INCPATH+=-I$(SNDOBJ) -LIBS+=-lsndobj -endif - -ifdef STK -SRCS+=$(SRCS_STK) -HDRS+=$(HDRS_STK) -INCPATH+=-I$(STK) -LIBS+=-lstk -endif diff --git a/externals/grill/trunk/flext/build/.svn/text-base/gnumake-win-gcc.inc.svn-base b/externals/grill/trunk/flext/build/.svn/text-base/gnumake-win-gcc.inc.svn-base deleted file mode 100644 index 480511f89..000000000 --- a/externals/grill/trunk/flext/build/.svn/text-base/gnumake-win-gcc.inc.svn-base +++ /dev/null @@ -1,17 +0,0 @@ -ifdef SIMD -DEFS += -DFLEXT_USE_SIMD -endif - -ifdef ATOMICOPSPATH -DEFS += -DUSE_ATOMIC_OPS -endif - -ifdef SNDOBJ_LIB -SRCS+=$(SRCS_SNDOBJ) -HDRS+=$(HDRS_SNDOBJ) -endif - -ifdef STK_LIB -SRCS+=$(SRCS_STK) -HDRS+=$(HDRS_STK) -endif diff --git a/externals/grill/trunk/flext/build/.svn/text-base/gnumake-win-mingw.inc.svn-base b/externals/grill/trunk/flext/build/.svn/text-base/gnumake-win-mingw.inc.svn-base deleted file mode 100644 index 1eb1ce771..000000000 --- a/externals/grill/trunk/flext/build/.svn/text-base/gnumake-win-mingw.inc.svn-base +++ /dev/null @@ -1,17 +0,0 @@ -ifdef SIMD -DEFS += -DFLEXT_USE_SIMD -endif - -ifdef SNDOBJ -SRCS+=$(SRCS_SNDOBJ) -HDRS+=$(HDRS_SNDOBJ) -INCPATH+=-I$(SNDOBJ) -LIBS+=-lsndobj -endif - -ifdef STK -SRCS+=$(SRCS_STK) -HDRS+=$(HDRS_STK) -INCPATH+=-I$(STK) -LIBS+=-lstk -endif diff --git a/externals/grill/trunk/flext/build/.svn/text-base/nmake-win-msvc.inc.svn-base b/externals/grill/trunk/flext/build/.svn/text-base/nmake-win-msvc.inc.svn-base deleted file mode 100644 index 1c3362e12..000000000 --- a/externals/grill/trunk/flext/build/.svn/text-base/nmake-win-msvc.inc.svn-base +++ /dev/null @@ -1,13 +0,0 @@ -!ifdef SIMD -DEFS=$(DEFS) /DFLEXT_USE_SIMD -!endif - -!ifdef SNDOBJ_LIB -SRCS=$(SRCS) $(SRCS_SNDOBJ) -HDRS=$(HDRS) $(HDRS_SNDOBJ) -!endif - -!ifdef STK_LIB -SRCS=$(SRCS) $(SRCS_STK) -HDRS=$(HDRS) $(HDRS_STK) -!endif diff --git a/externals/grill/trunk/flext/build/bmake-win-bcc.inc b/externals/grill/trunk/flext/build/bmake-win-bcc.inc deleted file mode 100644 index a54bb3679..000000000 --- a/externals/grill/trunk/flext/build/bmake-win-bcc.inc +++ /dev/null @@ -1,17 +0,0 @@ -!ifdef SIMD -DEFS=$(DEFS) /DFLEXT_USE_SIMD -!endif - -!ifdef SNDOBJ -SRCS=$(SRCS) $(SRCS_SNDOBJ) -HDRS=$(HDRS) $(HDRS_SNDOBJ) -INCPATH=$(INCPATH) /I$(SNDOBJ)\include -LIBS=$(LIBS) $(SNDOBJ)\lib\sndobj.lib -!endif - -!ifdef STK -SRCS=$(SRCS) $(SRCS_STK) -HDRS=$(HDRS) $(HDRS_STK) -INCPATH=$(INCPATH) /I$(STK)\include -LIBS=$(LIBS) $(STK)\lib\stk.lib -!endif diff --git a/externals/grill/trunk/flext/build/config-lnx.def b/externals/grill/trunk/flext/build/config-lnx.def deleted file mode 100644 index 88c43f4d7..000000000 --- a/externals/grill/trunk/flext/build/config-lnx.def +++ /dev/null @@ -1,2 +0,0 @@ -# comment out to inhibit SIMD (Altivec/SSE) usage -SIMD=1 diff --git a/externals/grill/trunk/flext/build/config-mac.def b/externals/grill/trunk/flext/build/config-mac.def deleted file mode 100644 index 88c43f4d7..000000000 --- a/externals/grill/trunk/flext/build/config-mac.def +++ /dev/null @@ -1,2 +0,0 @@ -# comment out to inhibit SIMD (Altivec/SSE) usage -SIMD=1 diff --git a/externals/grill/trunk/flext/build/config-win.def b/externals/grill/trunk/flext/build/config-win.def deleted file mode 100644 index 88c43f4d7..000000000 --- a/externals/grill/trunk/flext/build/config-win.def +++ /dev/null @@ -1,2 +0,0 @@ -# comment out to inhibit SIMD (Altivec/SSE) usage -SIMD=1 diff --git a/externals/grill/trunk/flext/build/gnumake-lnx-gcc.inc b/externals/grill/trunk/flext/build/gnumake-lnx-gcc.inc deleted file mode 100644 index aec212c55..000000000 --- a/externals/grill/trunk/flext/build/gnumake-lnx-gcc.inc +++ /dev/null @@ -1,13 +0,0 @@ -ifdef SIMD -DEFS += -DFLEXT_USE_SIMD -endif - -ifdef SNDOBJ_LIB -SRCS+=$(SRCS_SNDOBJ) -HDRS+=$(HDRS_SNDOBJ) -endif - -ifdef STK_LIB -SRCS+=$(SRCS_STK) -HDRS+=$(HDRS_STK) -endif diff --git a/externals/grill/trunk/flext/build/gnumake-lnx-icc.inc b/externals/grill/trunk/flext/build/gnumake-lnx-icc.inc deleted file mode 100644 index aec212c55..000000000 --- a/externals/grill/trunk/flext/build/gnumake-lnx-icc.inc +++ /dev/null @@ -1,13 +0,0 @@ -ifdef SIMD -DEFS += -DFLEXT_USE_SIMD -endif - -ifdef SNDOBJ_LIB -SRCS+=$(SRCS_SNDOBJ) -HDRS+=$(HDRS_SNDOBJ) -endif - -ifdef STK_LIB -SRCS+=$(SRCS_STK) -HDRS+=$(HDRS_STK) -endif diff --git a/externals/grill/trunk/flext/build/gnumake-mac-gcc.inc b/externals/grill/trunk/flext/build/gnumake-mac-gcc.inc deleted file mode 100644 index aec212c55..000000000 --- a/externals/grill/trunk/flext/build/gnumake-mac-gcc.inc +++ /dev/null @@ -1,13 +0,0 @@ -ifdef SIMD -DEFS += -DFLEXT_USE_SIMD -endif - -ifdef SNDOBJ_LIB -SRCS+=$(SRCS_SNDOBJ) -HDRS+=$(HDRS_SNDOBJ) -endif - -ifdef STK_LIB -SRCS+=$(SRCS_STK) -HDRS+=$(HDRS_STK) -endif diff --git a/externals/grill/trunk/flext/build/gnumake-win-cygwin.inc b/externals/grill/trunk/flext/build/gnumake-win-cygwin.inc deleted file mode 100644 index 1eb1ce771..000000000 --- a/externals/grill/trunk/flext/build/gnumake-win-cygwin.inc +++ /dev/null @@ -1,17 +0,0 @@ -ifdef SIMD -DEFS += -DFLEXT_USE_SIMD -endif - -ifdef SNDOBJ -SRCS+=$(SRCS_SNDOBJ) -HDRS+=$(HDRS_SNDOBJ) -INCPATH+=-I$(SNDOBJ) -LIBS+=-lsndobj -endif - -ifdef STK -SRCS+=$(SRCS_STK) -HDRS+=$(HDRS_STK) -INCPATH+=-I$(STK) -LIBS+=-lstk -endif diff --git a/externals/grill/trunk/flext/build/gnumake-win-gcc.inc b/externals/grill/trunk/flext/build/gnumake-win-gcc.inc deleted file mode 100644 index 480511f89..000000000 --- a/externals/grill/trunk/flext/build/gnumake-win-gcc.inc +++ /dev/null @@ -1,17 +0,0 @@ -ifdef SIMD -DEFS += -DFLEXT_USE_SIMD -endif - -ifdef ATOMICOPSPATH -DEFS += -DUSE_ATOMIC_OPS -endif - -ifdef SNDOBJ_LIB -SRCS+=$(SRCS_SNDOBJ) -HDRS+=$(HDRS_SNDOBJ) -endif - -ifdef STK_LIB -SRCS+=$(SRCS_STK) -HDRS+=$(HDRS_STK) -endif diff --git a/externals/grill/trunk/flext/build/gnumake-win-mingw.inc b/externals/grill/trunk/flext/build/gnumake-win-mingw.inc deleted file mode 100644 index 1eb1ce771..000000000 --- a/externals/grill/trunk/flext/build/gnumake-win-mingw.inc +++ /dev/null @@ -1,17 +0,0 @@ -ifdef SIMD -DEFS += -DFLEXT_USE_SIMD -endif - -ifdef SNDOBJ -SRCS+=$(SRCS_SNDOBJ) -HDRS+=$(HDRS_SNDOBJ) -INCPATH+=-I$(SNDOBJ) -LIBS+=-lsndobj -endif - -ifdef STK -SRCS+=$(SRCS_STK) -HDRS+=$(HDRS_STK) -INCPATH+=-I$(STK) -LIBS+=-lstk -endif diff --git a/externals/grill/trunk/flext/build/nmake-win-msvc.inc b/externals/grill/trunk/flext/build/nmake-win-msvc.inc deleted file mode 100644 index 1c3362e12..000000000 --- a/externals/grill/trunk/flext/build/nmake-win-msvc.inc +++ /dev/null @@ -1,13 +0,0 @@ -!ifdef SIMD -DEFS=$(DEFS) /DFLEXT_USE_SIMD -!endif - -!ifdef SNDOBJ_LIB -SRCS=$(SRCS) $(SRCS_SNDOBJ) -HDRS=$(HDRS) $(HDRS_SNDOBJ) -!endif - -!ifdef STK_LIB -SRCS=$(SRCS) $(SRCS_STK) -HDRS=$(HDRS) $(HDRS_STK) -!endif diff --git a/externals/grill/trunk/flext/buildsys/.svn/all-wcprops b/externals/grill/trunk/flext/buildsys/.svn/all-wcprops deleted file mode 100644 index 4a3b5e1d7..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/all-wcprops +++ /dev/null @@ -1,173 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 39 -/ext/!svn/ver/3746/trunk/flext/buildsys -END -gnumake.inc -K 25 -svn:wc:ra_dav:version-url -V 51 -/ext/!svn/ver/1247/trunk/flext/buildsys/gnumake.inc -END -nmake-ext.inc -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/1247/trunk/flext/buildsys/nmake-ext.inc -END -targets-flext.inc -K 25 -svn:wc:ra_dav:version-url -V 57 -/ext/!svn/ver/1247/trunk/flext/buildsys/targets-flext.inc -END -build-gcc.sh -K 25 -svn:wc:ra_dav:version-url -V 52 -/ext/!svn/ver/1247/trunk/flext/buildsys/build-gcc.sh -END -nmake-shlib.inc -K 25 -svn:wc:ra_dav:version-url -V 55 -/ext/!svn/ver/1247/trunk/flext/buildsys/nmake-shlib.inc -END -nmake.mak -K 25 -svn:wc:ra_dav:version-url -V 49 -/ext/!svn/ver/1247/trunk/flext/buildsys/nmake.mak -END -nmake.inc -K 25 -svn:wc:ra_dav:version-url -V 49 -/ext/!svn/ver/1247/trunk/flext/buildsys/nmake.inc -END -build-icc.sh -K 25 -svn:wc:ra_dav:version-url -V 52 -/ext/!svn/ver/1247/trunk/flext/buildsys/build-icc.sh -END -build-cygwin.sh -K 25 -svn:wc:ra_dav:version-url -V 55 -/ext/!svn/ver/1247/trunk/flext/buildsys/build-cygwin.sh -END -bmake-flext.inc -K 25 -svn:wc:ra_dav:version-url -V 55 -/ext/!svn/ver/1247/trunk/flext/buildsys/bmake-flext.inc -END -build-msvc.bat -K 25 -svn:wc:ra_dav:version-url -V 54 -/ext/!svn/ver/3654/trunk/flext/buildsys/build-msvc.bat -END -readme.txt -K 25 -svn:wc:ra_dav:version-url -V 50 -/ext/!svn/ver/1247/trunk/flext/buildsys/readme.txt -END -bmake-sub.mak -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/1247/trunk/flext/buildsys/bmake-sub.mak -END -gnumake-flext.inc -K 25 -svn:wc:ra_dav:version-url -V 57 -/ext/!svn/ver/1247/trunk/flext/buildsys/gnumake-flext.inc -END -targets-ext.inc -K 25 -svn:wc:ra_dav:version-url -V 55 -/ext/!svn/ver/1247/trunk/flext/buildsys/targets-ext.inc -END -targets-shlib.inc -K 25 -svn:wc:ra_dav:version-url -V 57 -/ext/!svn/ver/1247/trunk/flext/buildsys/targets-shlib.inc -END -targets.inc -K 25 -svn:wc:ra_dav:version-url -V 51 -/ext/!svn/ver/1247/trunk/flext/buildsys/targets.inc -END -build-mingw.bat -K 25 -svn:wc:ra_dav:version-url -V 55 -/ext/!svn/ver/1247/trunk/flext/buildsys/build-mingw.bat -END -nmake-flext.inc -K 25 -svn:wc:ra_dav:version-url -V 55 -/ext/!svn/ver/1247/trunk/flext/buildsys/nmake-flext.inc -END -gnumake-sub.mak -K 25 -svn:wc:ra_dav:version-url -V 55 -/ext/!svn/ver/1247/trunk/flext/buildsys/gnumake-sub.mak -END -bmake-ext.inc -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/1247/trunk/flext/buildsys/bmake-ext.inc -END -bmake.mak -K 25 -svn:wc:ra_dav:version-url -V 49 -/ext/!svn/ver/1247/trunk/flext/buildsys/bmake.mak -END -bmake.inc -K 25 -svn:wc:ra_dav:version-url -V 49 -/ext/!svn/ver/1247/trunk/flext/buildsys/bmake.inc -END -build-bcc.bat -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/1247/trunk/flext/buildsys/build-bcc.bat -END -nmake-sub.mak -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/1247/trunk/flext/buildsys/nmake-sub.mak -END -gnumake-ext.inc -K 25 -svn:wc:ra_dav:version-url -V 55 -/ext/!svn/ver/1247/trunk/flext/buildsys/gnumake-ext.inc -END -version.inc -K 25 -svn:wc:ra_dav:version-url -V 51 -/ext/!svn/ver/3720/trunk/flext/buildsys/version.inc -END -gnumake.mak -K 25 -svn:wc:ra_dav:version-url -V 51 -/ext/!svn/ver/1247/trunk/flext/buildsys/gnumake.mak -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/entries b/externals/grill/trunk/flext/buildsys/.svn/entries deleted file mode 100644 index 75c7a1af4..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/entries +++ /dev/null @@ -1,989 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/buildsys -https://svn.grrrr.org/ext - - - -2011-03-23T21:00:55.963217Z -3746 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -bmake.mak -file - - - - -2012-05-13T23:08:36.174556Z -9652a2308a351983496da2c3370677a4 -2007-03-27T17:15:41.407150Z -1197 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -2769 - -nmake-sub.mak -file - - - - -2012-05-13T23:08:36.175556Z -04eb54356530d8a617c27c17ac9d389c -2005-04-12T23:50:41.864068Z -1057 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -950 - -build-bcc.bat -file - - - - -2012-05-13T23:08:36.176556Z -9858246033ced2fea87fab1cc3a99b88 -2004-12-19T10:37:04.542244Z -910 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -119 - -version.inc -file - - - - -2012-05-13T23:08:36.177556Z -4d6a515c70f185f8eec69869809cbbb1 -2010-01-13T00:45:16.478274Z -3720 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -39 - -gnumake.inc -file - - - - -2012-05-13T23:08:36.179556Z -feadf8075cb74551dd8c3ea6466acfa2 -2007-08-08T12:39:02.209878Z -1206 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1496 - -mac -dir - -targets-flext.inc -file - - - - -2012-05-13T23:08:36.181556Z -95ec570b089b1b07ca89263748c346da -2006-09-20T14:21:13.394152Z -1172 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -988 - -nmake-ext.inc -file - - - - -2012-05-13T23:08:36.180556Z -4f3b589ba6d3cad7dd916eb3b58ae7d0 -2006-09-20T14:21:13.394152Z -1172 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -16 - -lnx -dir - -nmake.mak -file - - - - -2012-05-13T23:08:36.183556Z -17f6a71756794ad345dbd3ae7aca7a6c -2007-03-27T17:15:41.407150Z -1197 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -2751 - -build-gcc.sh -file - - - - -2012-05-13T23:08:36.181556Z -11a70e34977dccb831535234a9e8a6cd -2008-01-17T15:55:33.001309Z -1232 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -271 - -build-icc.sh -file - - - - -2012-05-13T23:08:36.184556Z -2dfb4197bd06877b1aa65c92957f1189 -2008-01-17T15:55:33.001309Z -1232 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -132 - -bmake-flext.inc -file - - - - -2012-05-13T23:08:36.185556Z -2bbbbfb5f9e61420debb1af15f671712 -2005-01-04T16:18:05.914480Z -956 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -51 - -build-msvc.bat -file - - - - -2012-05-13T23:08:36.186556Z -ad0af29df8a12fbccb160af002b81eab -2009-01-22T10:19:08.695151Z -3654 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -207 - -readme.txt -file - - - - -2012-05-13T23:08:36.187556Z -6802af6f6ca12beb4495dd66575606d7 -2006-09-20T14:21:13.394152Z -1172 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -5470 - -targets-shlib.inc -file - - - - -2012-05-13T23:08:36.170556Z -d458009230b35751316e3c880252231c -2006-09-20T14:21:13.394152Z -1172 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1239 - -targets.inc -file - - - - -2012-05-13T23:08:36.171556Z -99b02d967d868d3932684ca876c86ba0 -2007-03-27T17:15:41.407150Z -1197 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -5053 - -nmake-flext.inc -file - - - - -2012-05-13T23:08:36.171556Z -2bbbbfb5f9e61420debb1af15f671712 -2006-09-20T14:21:13.394152Z -1172 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -51 - -build-mingw.bat -file - - - - -2012-05-13T23:08:36.172556Z -0923b6bc85dea2221e88d9dc0ed7125f -2004-12-19T10:37:04.542244Z -910 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -128 - -gnumake-sub.mak -file - - - - -2012-05-13T23:08:36.173556Z -e728bc0872186cdd121b121f362f16d9 -2005-04-12T23:50:41.864068Z -1057 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -938 - -bmake.inc -file - - - - -2012-05-13T23:08:36.175556Z -661891175f129a7b83bd110c0fc20a50 -2005-01-10T19:52:58.192079Z -972 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1011 - -gnumake-ext.inc -file - - - - -2012-05-13T23:08:36.178556Z -4f3b589ba6d3cad7dd916eb3b58ae7d0 -2006-09-20T14:21:13.394152Z -1172 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -16 - -win -dir - -gnumake.mak -file - - - - -2012-05-13T23:08:36.179556Z -ddd1eea8fcc89dc897da7ee80580f32f -2007-08-08T12:39:02.209878Z -1206 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -3258 - -nmake-shlib.inc -file - - - - -2012-05-13T23:08:36.182556Z -4f3b589ba6d3cad7dd916eb3b58ae7d0 -2006-09-20T14:21:13.394152Z -1172 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -16 - -nmake.inc -file - - - - -2012-05-13T23:08:36.184556Z -7820b1a9506c22e660dcc5e4e1422a3d -2006-09-20T14:21:13.394152Z -1172 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -987 - -build-cygwin.sh -file - - - - -2012-05-13T23:08:36.185556Z -49b954b8576c62a9e238f596bee08ac8 -2008-01-17T15:55:33.001309Z -1232 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -135 - -bmake-sub.mak -file - - - - -2012-05-13T23:08:36.188556Z -79d1307706e0a51672d783ec5303cb1e -2005-04-12T23:50:41.864068Z -1057 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -973 - -targets-ext.inc -file - - - - -2012-05-13T23:08:36.168556Z -d458009230b35751316e3c880252231c -2006-09-20T14:21:13.394152Z -1172 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1239 - -gnumake-flext.inc -file - - - - -2012-05-13T23:08:36.169556Z -e226646eaffd2878e7cd3e33da1495fd -2006-09-20T14:21:13.394152Z -1172 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -47 - -bmake-ext.inc -file - - - - -2012-05-13T23:08:36.172556Z -4f3b589ba6d3cad7dd916eb3b58ae7d0 -2005-01-04T16:18:05.914480Z -956 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -16 - diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/bmake-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/bmake-ext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/bmake-ext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/bmake-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/bmake-flext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/bmake-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/bmake-sub.mak.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/bmake-sub.mak.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/bmake-sub.mak.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/bmake.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/bmake.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/bmake.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/bmake.mak.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/bmake.mak.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/bmake.mak.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/build-bcc.bat.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/build-bcc.bat.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/build-bcc.bat.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/build-cygwin.sh.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/build-cygwin.sh.svn-base deleted file mode 100644 index 2e70e8fb7..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/build-cygwin.sh.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 2 -LF -K 14 -svn:executable -V 1 -* -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/build-gcc.sh.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/build-gcc.sh.svn-base deleted file mode 100644 index 2e70e8fb7..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/build-gcc.sh.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 2 -LF -K 14 -svn:executable -V 1 -* -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/build-icc.sh.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/build-icc.sh.svn-base deleted file mode 100644 index 2e70e8fb7..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/build-icc.sh.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 2 -LF -K 14 -svn:executable -V 1 -* -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/build-mingw.bat.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/build-mingw.bat.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/build-mingw.bat.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/build-msvc.bat.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/build-msvc.bat.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/build-msvc.bat.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/gnumake-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/gnumake-ext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/gnumake-ext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/gnumake-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/gnumake-flext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/gnumake-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/gnumake-sub.mak.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/gnumake-sub.mak.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/gnumake-sub.mak.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/gnumake.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/gnumake.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/gnumake.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/gnumake.mak.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/gnumake.mak.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/gnumake.mak.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/nmake-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/nmake-ext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/nmake-ext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/nmake-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/nmake-flext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/nmake-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/nmake-shlib.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/nmake-shlib.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/nmake-shlib.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/nmake-sub.mak.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/nmake-sub.mak.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/nmake-sub.mak.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/nmake.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/nmake.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/nmake.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/nmake.mak.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/nmake.mak.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/nmake.mak.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/readme.txt.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/readme.txt.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/readme.txt.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/targets-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/targets-ext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/targets-ext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/targets-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/targets-flext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/targets-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/targets-shlib.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/targets-shlib.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/targets-shlib.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/targets.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/targets.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/targets.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/prop-base/version.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/prop-base/version.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/prop-base/version.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/bmake-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/bmake-ext.inc.svn-base deleted file mode 100644 index 1455c83e3..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/bmake-ext.inc.svn-base +++ /dev/null @@ -1 +0,0 @@ -OUTNAME=$(NAME) diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/bmake-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/bmake-flext.inc.svn-base deleted file mode 100644 index 2e7faf0c3..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/bmake-flext.inc.svn-base +++ /dev/null @@ -1,3 +0,0 @@ -DEFS=$(DEFS) /DFLEXT_EXPORTS - -OUTNAME=$(FLEXTNAME) diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/bmake-sub.mak.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/bmake-sub.mak.svn-base deleted file mode 100644 index f55fcc4fd..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/bmake-sub.mak.svn-base +++ /dev/null @@ -1,44 +0,0 @@ -# include flext version number -!include $(BUILDPATH)version.inc - -# general settings -!include $(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt - -############################### -# project-specific definitions - -# package info -!if "$(PKGINFO)" != "" && "$(PKGINFO)" != "1" -!include $(PKGINFO) -!endif - -# special package settings -!ifdef USRCONFIG -!include $(USRCONFIG) -!endif - -# package specific make stuff -!ifdef USRMAKE -!include $(USRMAKE) -!endif - -############################## -# flext-specific make stuff - -!include $(BUILDPATH)bmake.inc - -!include $(BUILDPATH)bmake-$(BUILDCLASS).inc - -############################## -# platform-specific make stuff - -!include $(BUILDPATH)$(PLATFORM)\$(RTSYS)\bmake-$(COMPILER).inc - -!include $(BUILDPATH)$(PLATFORM)\$(RTSYS)\bmake-$(COMPILER)-$(BUILDCLASS).inc - -############################## -# general make stuff - -!include $(BUILDPATH)$(PLATFORM)\bmake-$(COMPILER).inc - -!include $(BUILDPATH)$(PLATFORM)\bmake-$(COMPILER)-$(BUILDCLASS).inc diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/bmake.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/bmake.inc.svn-base deleted file mode 100644 index c8dac6fa8..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/bmake.inc.svn-base +++ /dev/null @@ -1,67 +0,0 @@ -############################################## -# flext defines -############################################## - -CFLAGS=$(CFLAGS) $(UFLAGS) - -!ifdef DEBUG -CFLAGS=$(CFLAGS) /D_DEBUG $(DFLAGS) -!else -CFLAGS=$(CFLAGS) /DNDEBUG $(OFLAGS) -!endif - - -!ifdef SHARED -# --- shared --- -DEFS=$(DEFS) /DFLEXT_SHARED - -!else -!ifdef THREADED -# --- static multi-threaded --- -DEFS=$(DEFS) /DFLEXT_THREADS - -!else -# --- static single-threaded --- - -!endif -!endif - -############################################## -# name of flext library -############################################## - -!ifdef SHARED -TYPEEXT=_ -!else -!ifdef THREADED -TYPEEXT=_t -!else -TYPEEXT=_s -!endif -!endif - -!ifdef DEBUG -MODEEXT=d -!else -!ifdef PROFILE -MODEEXT=p -!else -MODEEXT= -!ifdef SHARED -TYPEEXT= -!endif -!endif -!endif - -FLEXTNAME=flext-$(RTSYS)$(TYPEEXT)$(MODEEXT) - -############################################## -# product name and folder -############################################## - -!ifndef SRCDIR -SRCDIR=. -!endif - -OUTNAME=$(NAME) -OUTSUB=$(TARGETMODE)-$(TARGETTYPE) diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/bmake.mak.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/bmake.mak.svn-base deleted file mode 100644 index c3d8f55a8..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/bmake.mak.svn-base +++ /dev/null @@ -1,110 +0,0 @@ -# required settings: -# -# PLATFORM - win/mac/lnx -# RTSYS - pd/max -# COMPILER - msvc/gcc/mingw/cygwin -# BUILDPATH including trailing \ - -############################################### -# package info - -!ifndef PKGINFO -PKGINFO=package.txt -!endif - -!if "$(PKGINFO)" != "" && "$(PKGINFO)" != "1" -!include $(PKGINFO) -!endif - -!ifndef NAME -!error NAME variable must be defined (name of target) -!endif - -!ifndef SRCS -!error SRCS variable must be defined (list of source files) -!endif - -############################################### -# check variables - -!ifndef BUILDCLASS -BUILDCLASS=ext -!endif - -!ifndef BUILDMODE -BUILDMODE=release -!endif - -!ifndef BUILDTYPE -BUILDTYPE=single -!endif - -############################## - -#!ifndef TARGETMODE -#TARGETMODE=$(BUILDMODE) -#!endif - -#!ifndef TARGETTYPE -#TARGETTYPE=$(BUILDTYPE) -#!endif - -############################################### - -SYSCONFIG=$(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt -SYSDEFAULT=$(BUILDPATH)$(PLATFORM)\$(RTSYS)\config-$(COMPILER).def - -MAKE_OPTIONS=-f $(BUILDPATH)bmake-sub.mak -N \ - PLATFORM=$(PLATFORM) RTSYS=$(RTSYS) COMPILER=$(COMPILER) \ - BUILDPATH=$(BUILDPATH) PKGINFO=$(PKGINFO) BUILDCLASS=$(BUILDCLASS) - -############################################### - -!ifdef BUILDDIR -USRCONFIG=config.txt -USRDEFAULT=$(BUILDDIR)\config-$(PLATFORM).def - -USRMAKE=$(BUILDDIR)\bmake-$(PLATFORM)-$(COMPILER).inc - -MAKE_OPTIONS=$(MAKE_OPTIONS) $(MFLAGS) USRCONFIG=$(USRCONFIG) USRMAKE=$(USRMAKE) -!endif - -############################################### -# include file describing default target dependencies - -!include $(BUILDPATH)targets.inc - -!include $(BUILDPATH)targets-$(BUILDCLASS).inc - -############################################### - -.precious: $(SYSCONFIG) $(USRCONFIG) - -$(SYSCONFIG): $(SYSDEFAULT) - @copy $** $@ - @echo ------------------------------------------------------------------------- - @echo A default system configuration file has been created. - @echo Please edit $(SYSCONFIG) - @echo to match your platform and start again. - @echo ------------------------------------------------------------------------- - @exit 1 - -!ifdef BUILDDIR -$(USRCONFIG): $(USRDEFAULT) - @copy $** $@ - @echo ------------------------------------------------------------------------- - @echo A default package configuration file has been created. - @echo Please edit $(USRCONFIG) and start again. - @echo ------------------------------------------------------------------------- - @exit 1 - -$(USRDEFAULT) $(USRMAKE): - @echo ------------------------------------------------------------------------- - @echo Your combination of platform, system and compiler is not supported yet. - @echo Required files: - @echo $(USRDEFAULT) - @echo and - @echo $(USRMAKE) - @echo ------------------------------------------------------------------------- - @exit 1 -!endif diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/build-bcc.bat.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/build-bcc.bat.svn-base deleted file mode 100644 index bf5c4bff1..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/build-bcc.bat.svn-base +++ /dev/null @@ -1,3 +0,0 @@ -@set build=%~dp0 - -make -f %build%bmake.mak -N PLATFORM=%1 RTSYS=%2 COMPILER=bcc BUILDPATH=%build% %3 %4 %5 %6 %7 %8 %9 diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/build-cygwin.sh.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/build-cygwin.sh.svn-base deleted file mode 100644 index 606eaaded..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/build-cygwin.sh.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/bash - -build=${0%/*}/ - -make -f ${build}gnumake.mak PLATFORM=$1 RTSYS=$2 COMPILER=cygwin BUILDPATH=${build} $3 $4 $5 $6 $7 $8 $9 diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/build-gcc.sh.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/build-gcc.sh.svn-base deleted file mode 100644 index 5b4800b8e..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/build-gcc.sh.svn-base +++ /dev/null @@ -1,14 +0,0 @@ -#! /bin/bash - -build=${0%/*}/ - -if [ $(which make) ]; then - MAKE=make -elif [ $(which mingw32-make) ]; then - MAKE=mingw32-make -else - echo make utility not found - exit -fi - -$MAKE -f ${build}gnumake.mak PLATFORM=$1 RTSYS=$2 COMPILER=gcc BUILDPATH=${build} $3 $4 $5 $6 $7 $8 $9 diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/build-icc.sh.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/build-icc.sh.svn-base deleted file mode 100644 index d110da66b..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/build-icc.sh.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/bash - -build=${0%/*}/ - -make -f ${build}gnumake.mak PLATFORM=$1 RTSYS=$2 COMPILER=icc BUILDPATH=${build} $3 $4 $5 $6 $7 $8 $9 diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/build-mingw.bat.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/build-mingw.bat.svn-base deleted file mode 100644 index 11a39ed33..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/build-mingw.bat.svn-base +++ /dev/null @@ -1,3 +0,0 @@ -@set build=%~dp0 - -mingw32-make -f %build%gnumake.mak PLATFORM=%1 RTSYS=%2 COMPILER=mingw BUILDPATH=%build% %3 %4 %5 %6 %7 %8 %9 diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/build-msvc.bat.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/build-msvc.bat.svn-base deleted file mode 100644 index d33908ffe..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/build-msvc.bat.svn-base +++ /dev/null @@ -1,6 +0,0 @@ -@set build=%~dp0 - -@rem workaround for MSVC 2005 command prompt, where LIBPATH is predefined -@set LIBPATH= - -nmake -f %build%nmake.mak PLATFORM=%1 RTSYS=%2 COMPILER=msvc BUILDPATH=%build% %3 %4 %5 %6 %7 %8 %9 diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/gnumake-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/gnumake-ext.inc.svn-base deleted file mode 100644 index 1455c83e3..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/gnumake-ext.inc.svn-base +++ /dev/null @@ -1 +0,0 @@ -OUTNAME=$(NAME) diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/gnumake-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/gnumake-flext.inc.svn-base deleted file mode 100644 index 64204656e..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/gnumake-flext.inc.svn-base +++ /dev/null @@ -1,3 +0,0 @@ -DEFS+=-DFLEXT_EXPORTS - -OUTNAME=lib$(FLEXTNAME) diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/gnumake-sub.mak.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/gnumake-sub.mak.svn-base deleted file mode 100644 index 17aa589fe..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/gnumake-sub.mak.svn-base +++ /dev/null @@ -1,44 +0,0 @@ -# include flext version number -include $(BUILDPATH)version.inc - -# system settings -include $(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt - -############################### -# project specific definitions - -# package info -ifneq ($(PKGINFO),) - include $(PKGINFO) -endif - -# special settings -ifdef USRCONFIG - include $(USRCONFIG) -endif - -# package specific make stuff -ifdef USRMAKE - include $(USRMAKE) -endif - -############################## -# flext-specific definitions - -include $(BUILDPATH)gnumake.inc - -include $(BUILDPATH)gnumake-$(BUILDCLASS).inc - -############################## -# platform-specific make stuff - -include $(BUILDPATH)$(PLATFORM)/$(RTSYS)/gnumake-$(COMPILER).inc - -include $(BUILDPATH)$(PLATFORM)/$(RTSYS)/gnumake-$(COMPILER)-$(BUILDCLASS).inc - -############################## -# general make stuff - -include $(BUILDPATH)$(PLATFORM)/gnumake-$(COMPILER).inc - -include $(BUILDPATH)$(PLATFORM)/gnumake-$(COMPILER)-$(BUILDCLASS).inc diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/gnumake.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/gnumake.inc.svn-base deleted file mode 100644 index 48dda304b..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/gnumake.inc.svn-base +++ /dev/null @@ -1,97 +0,0 @@ -############################################## -# cross-compilation -############################################## - -#ifndef ARCH -#ifeq ("$(shell uname -p)","powerpc") -#ARCH := ppc -#else -#ARCH := $(shell uname -p) -#endif -#endif - -############################################## -# some compiler definitions -############################################## - -CFLAGS += $(UFLAGS) - -$(foreach arch,$(ARCH),$(eval CFLAGS_$(arch) += $$(UFLAGS_$(arch)) ) ) - - -ifdef DEBUG - -DEFS += -D_DEBUG -CFLAGS += $(DFLAGS) - -define ARCH_FLAGS -CFLAGS_$(1) += $$(DFLAGS_$(1)) -endef - -else ## profile and release - -DEFS += -DNDEBUG -CFLAGS += $(OFLAGS) - -define ARCH_FLAGS -CFLAGS_$(1) += $$(OFLAGS_$(1)) -endef - -endif - -$(foreach arch,$(ARCH),$(eval $(call ARCH_FLAGS,$(arch)))) - - -ifdef SHARED -# --- shared --- -DEFS += -DFLEXT_SHARED - -else -ifdef THREADED -# --- static multi-threaded --- -DEFS += -DFLEXT_THREADS - -else -# --- static single-threaded --- - -endif -endif - -############################################## -# name of flext library -############################################## - -ifdef SHARED -TYPEEXT := _ -else -ifdef THREADED -TYPEEXT := _t -else -TYPEEXT := _s -endif -endif - -ifdef DEBUG -MODEEXT := d -else -ifdef PROFILE -MODEEXT := p -else -MODEEXT := -ifdef SHARED -TYPEEXT := -endif -endif -endif - -FLEXTNAME := flext-$(RTSYS)$(TYPEEXT)$(MODEEXT) - -############################################## -# product name and folder -############################################## - -ifndef SRCDIR -SRCDIR := . -endif - -OUTSUB := $(TARGETMODE)-$(TARGETTYPE) diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/gnumake.mak.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/gnumake.mak.svn-base deleted file mode 100644 index 39e5b909d..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/gnumake.mak.svn-base +++ /dev/null @@ -1,142 +0,0 @@ -# required settings: -# -# PLATFORM - win/mac/lnx -# RTSYS - pd/max -# COMPILER - msvc/gcc/mingw/cygwin -# BUILDPATH including trailing / - -############################################### -# package info - -ifndef PKGINFO -PKGINFO=package.txt -endif - -ifneq ($(PKGINFO),) -include $(PKGINFO) -endif - -ifndef NAME -$(error "NAME variable must be defined (name of target)") -endif - -ifndef SRCS -$(error "SRCS variable must be defined (list of source files)") -endif - -############################################### -# check variables - -ifndef BUILDCLASS -BUILDCLASS := ext -endif - -ifndef BUILDMODE -BUILDMODE := release -endif - -ifndef BUILDTYPE -BUILDTYPE := single -endif - -############################## - -#ifndef TARGETMODE -#TARGETMODE := $(BUILDMODE) -#endif - -#ifndef TARGETTYPE -#TARGETTYPE := $(BUILDTYPE) -#endif - -############################################### - -ifeq ($(PLATFORM),win) - # substitute eventual \ by / - UBUILDPATH := $(subst \,/,$(BUILDPATH)) -else - UBUILDPATH := $(BUILDPATH) -endif - -############################################### - -SYSCONFIG := $(UBUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt -SYSDEFAULT := $(UBUILDPATH)$(PLATFORM)/$(RTSYS)/config-$(COMPILER).def - -MAKE_OPTIONS := -f $(UBUILDPATH)gnumake-sub.mak \ - $(MFLAGS) PLATFORM=$(PLATFORM) RTSYS=$(RTSYS) COMPILER=$(COMPILER) \ - BUILDPATH=$(UBUILDPATH) PKGINFO=$(PKGINFO) BUILDCLASS=$(BUILDCLASS) - -############################################### - -ifdef BUILDDIR -USRCONFIG := config.txt -USRDEFAULT := $(BUILDDIR)/config-$(PLATFORM).def - -USRMAKE := $(BUILDDIR)/gnumake-$(PLATFORM)-$(COMPILER).inc - -MAKE_OPTIONS += USRCONFIG=$(USRCONFIG) USRMAKE=$(USRMAKE) -endif - -############################################### -# include file describing default target dependencies - -.PHONY : all build clean install profile - -include $(BUILDPATH)targets.inc - -include $(BUILDPATH)targets-$(BUILDCLASS).inc - -############################################### - -.PRECIOUS: $(SYSCONFIG) $(USRCONFIG) - -$(SYSCONFIG): $(SYSDEFAULT) -ifeq ($(COMPILER),mingw) - @copy $(subst /,\,$<) $(subst /,\,$@) -else - @cp $< $@ -endif - @echo ------------------------------------------------------------------------- - @echo A default system configuration file has been created. - @echo Please edit $(SYSCONFIG) - @echo to match your platform, then start again. - @echo ------------------------------------------------------------------------- -ifeq ($(COMPILER),mingw) - @exit 1 -else - @false -endif - -ifdef BUILDDIR -$(USRCONFIG): $(USRDEFAULT) -ifeq ($(COMPILER),mingw) - @copy $(subst /,\,$<) $(subst /,\,$@) -else - @cp $< $@ -endif - @echo ------------------------------------------------------------------------- - @echo A default package configuration file has been created. - @echo Please edit $(USRCONFIG), then start again. - @echo ------------------------------------------------------------------------- -ifeq ($(COMPILER),mingw) - @exit 1 -else - @false -endif - -$(USRDEFAULT) $(USRMAKE): - @echo ------------------------------------------------------------------------- - @echo Your combination of platform, system and compiler is not supported yet. - @echo Required files: - @echo $(USRDEFAULT) - @echo and - @echo $(USRMAKE) - @echo ------------------------------------------------------------------------- -ifeq ($(COMPILER),mingw) - @exit 1 -else - @false -endif - -endif diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/nmake-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/nmake-ext.inc.svn-base deleted file mode 100644 index 1455c83e3..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/nmake-ext.inc.svn-base +++ /dev/null @@ -1 +0,0 @@ -OUTNAME=$(NAME) diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/nmake-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/nmake-flext.inc.svn-base deleted file mode 100644 index 2e7faf0c3..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/nmake-flext.inc.svn-base +++ /dev/null @@ -1,3 +0,0 @@ -DEFS=$(DEFS) /DFLEXT_EXPORTS - -OUTNAME=$(FLEXTNAME) diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/nmake-shlib.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/nmake-shlib.inc.svn-base deleted file mode 100644 index 1455c83e3..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/nmake-shlib.inc.svn-base +++ /dev/null @@ -1 +0,0 @@ -OUTNAME=$(NAME) diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/nmake-sub.mak.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/nmake-sub.mak.svn-base deleted file mode 100644 index c8b78044a..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/nmake-sub.mak.svn-base +++ /dev/null @@ -1,44 +0,0 @@ -# include flext version number -!include $(BUILDPATH)version.inc - -# general settings -!include $(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt - -############################## -# project-specific definitions - -# package info -!if "$(PKGINFO)" != "" -!include $(PKGINFO) -!endif - -# special package settings -!ifdef USRCONFIG -!include $(USRCONFIG) -!endif - -# package specific make stuff -!ifdef USRMAKE -!include $(USRMAKE) -!endif - -############################## -# flext-specific definitions - -!include $(BUILDPATH)nmake.inc - -!include $(BUILDPATH)nmake-$(BUILDCLASS).inc - -############################## -# platform-specific make stuff - -!include $(BUILDPATH)$(PLATFORM)\$(RTSYS)\nmake-$(COMPILER).inc - -!include $(BUILDPATH)$(PLATFORM)\$(RTSYS)\nmake-$(COMPILER)-$(BUILDCLASS).inc - -############################## -# general make stuff - -!include $(BUILDPATH)$(PLATFORM)\nmake-$(COMPILER).inc - -!include $(BUILDPATH)$(PLATFORM)\nmake-$(COMPILER)-$(BUILDCLASS).inc diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/nmake.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/nmake.inc.svn-base deleted file mode 100644 index fd1bb50d9..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/nmake.inc.svn-base +++ /dev/null @@ -1,64 +0,0 @@ -############################################## -# flext defines -############################################## - -CFLAGS=$(CFLAGS) $(UFLAGS) - -!ifdef DEBUG -CFLAGS=$(CFLAGS) /D_DEBUG $(DFLAGS) -!else -CFLAGS=$(CFLAGS) /DNDEBUG $(OFLAGS) -!endif - - -!ifdef SHARED -# --- shared --- -DEFS=$(DEFS) /DFLEXT_SHARED - -!elseifdef THREADED -# --- static multi-threaded --- -DEFS=$(DEFS) /DFLEXT_THREADS - -!else -# --- static single-threaded --- - -!endif - -############################################## -# name of flext library -############################################## - -!ifdef SHARED -TYPEEXT=_ -!else -!ifdef THREADED -TYPEEXT=_t -!else -TYPEEXT=_s -!endif -!endif - -!ifdef DEBUG -MODEEXT=d -!else -!ifdef PROFILE -MODEEXT=p -!else -MODEEXT= -!ifdef SHARED -TYPEEXT= -!endif -!endif -!endif - -FLEXTNAME=flext-$(RTSYS)$(TYPEEXT)$(MODEEXT) - -############################################## -# product name and folder -############################################## - -!ifndef SRCDIR -SRCDIR=. -!endif - -OUTSUB=$(TARGETMODE)-$(TARGETTYPE) diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/nmake.mak.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/nmake.mak.svn-base deleted file mode 100644 index b2e89ef10..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/nmake.mak.svn-base +++ /dev/null @@ -1,110 +0,0 @@ -# required settings: -# -# PLATFORM - win/mac/lnx -# RTSYS - pd/max -# COMPILER - msvc/gcc/mingw/cygwin -# BUILDPATH including trailing \ - -############################################### -# package info - -!ifndef PKGINFO -PKGINFO=package.txt -!endif - -!if "$(PKGINFO)" != "" -!include $(PKGINFO) -!endif - -!ifndef NAME -!error NAME variable must be defined (name of target) -!endif - -!ifndef SRCS -!error SRCS variable must be defined (list of source files) -!endif - -############################################### -# check variables - -!ifndef BUILDCLASS -BUILDCLASS=ext -!endif - -!ifndef BUILDMODE -BUILDMODE=release -!endif - -!ifndef BUILDTYPE -BUILDTYPE=single -!endif - -############################## - -#!ifndef TARGETMODE -#TARGETMODE=$(BUILDMODE) -#!endif - -#!ifndef TARGETTYPE -#TARGETTYPE=$(BUILDTYPE) -#!endif - -############################################### - -SYSCONFIG=$(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt -SYSDEFAULT=$(BUILDPATH)$(PLATFORM)\$(RTSYS)\config-$(COMPILER).def - -MAKE_OPTIONS=/NOLOGO /f $(BUILDPATH)nmake-sub.mak \ - PLATFORM=$(PLATFORM) RTSYS=$(RTSYS) COMPILER=$(COMPILER) \ - BUILDPATH=$(BUILDPATH) PKGINFO=$(PKGINFO) BUILDCLASS=$(BUILDCLASS) - -############################################### - -!ifdef BUILDDIR -USRCONFIG=config.txt -USRDEFAULT=$(BUILDDIR)\config-$(PLATFORM).def - -USRMAKE=$(BUILDDIR)\nmake-$(PLATFORM)-$(COMPILER).inc - -MAKE_OPTIONS=$(MAKE_OPTIONS) $(MFLAGS) USRCONFIG=$(USRCONFIG) USRMAKE=$(USRMAKE) -!endif - -############################################### -# include file describing default target dependencies - -!include $(BUILDPATH)targets.inc - -!include $(BUILDPATH)targets-$(BUILDCLASS).inc - -############################################### - -.precious: $(SYSCONFIG) $(USRCONFIG) - -$(SYSCONFIG): $(SYSDEFAULT) - @copy $** $@ - @echo ------------------------------------------------------------------------- - @echo A default system configuration file has been created. - @echo Please edit $(SYSCONFIG) - @echo to match your platform and start again. - @echo ------------------------------------------------------------------------- - @exit 1 - -!ifdef BUILDDIR -$(USRCONFIG): $(USRDEFAULT) - @copy $** $@ - @echo ------------------------------------------------------------------------- - @echo A default package configuration file has been created. - @echo Please edit $(USRCONFIG) and start again. - @echo ------------------------------------------------------------------------- - @exit 1 - -$(USRDEFAULT) $(USRMAKE): - @echo ------------------------------------------------------------------------- - @echo Your combination of platform, system and compiler is not supported yet. - @echo Required files: - @echo $(USRDEFAULT) - @echo and - @echo $(USRMAKE) - @echo ------------------------------------------------------------------------- - @exit 1 -!endif diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/readme.txt.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/readme.txt.svn-base deleted file mode 100644 index 4fa74ad43..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/readme.txt.svn-base +++ /dev/null @@ -1,180 +0,0 @@ -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. - ----------------------------------------------------------------------------- - -At the moment this is more like a sketchboard, but i'll promise to bring some -order into it some fine day in the not too distant future. - ----------------------------------------------------------------------------- - -Build scripts -============= - -Depending on platform the build process is run with -build.sh -or -build.bat - - -Arguments: PLATFORM SYSTEM COMPILER {TARGET} {definitions} - -PLATFORM: win / lnx / mac -SYSTEM: pd / max -COMPILER: msvc / gcc / mingw / cygwin / bcc / icc - -TARGET: (default is all) - all, build - build package in default style - install - install package - clean - clean build products - - config - test if configuration needs refreshing - -or - build-MODE-TYPE - install-MODE-TYPE - clean-MODE-TYPE - -with - MODE: default, all, release, debug, profile - TYPE: default, all, single, multi, shared - - -Additional definitions can be passed to the make program -like - "PKGINFO=info.txt" (defines new filename for package information) -or - "PKGINFO=" (package information will be skipped - only for config target) - -For more macro names, see below - - -For each of the supported combinations of PLATFORM, SYSTEM and COMPILER -a MAKE program has been chosen, normally the one that comes with the compiler. - -For gcc it is GNU make (gnumake) -For msvc it is Microsoft make (nmake) -For bcc it is Borland make (bmake) - - - -Package info (package.txt) -========================== - -Package information contains vital information for the build process. -Obligatory are only: - -NAME: resulting filename of the build product -SRCS: list of source files - - -Normally also used are: - -HDRS: used header files, which SRCS files are dependent upon -SRCDIR: source folder (relative to project folder), default is . - - -Other settings: - -PRECOMPILE: prefix header file (in SRCDIR) for all source files, - will be precompiled if supported by the compiler - -BUILDCLASS: can currently be flext or ext, default is ext. - flext will build the flext system - ext will build a flext-based external - -BUILDMODE: release or debug, default is release - if release, optimization flags will be used - if debug, debug information will be generated - if profile, profiling information will be generated (with debug info and optimization) - -BUILDTYPE: single, multi or shared, default is single - if single, it will be linked against the single-threaded static flext library - if multi, it will be linked against the multi-threaded static flext library - if shared, it will be linked against the shared flext library - -BUILDDIR: relative folder with additional build settings - - - -Additional build settings (BUILDDIR) -==================================== - -If BUILDDIR is defined, all PLATFORM-SYSTEM-COMPILER combinations to support -must are mirrored by the respective .def and .inc files in the BUILDDIR. - - -config-PLATFORM.def files (e.g. config-lnx.def) : - - These files can contain additional macro definitions, that are private - to the project. - The definitions should be strictly in the form SETTING=value, without any - make-specific macros etc. - The .def files work as templates that get copied to a user-editable - config.txt file when the build process is first started. - - -MAKE-PLATFORM-COMPILER.inc files -(e.g. gnumake-lnx-gcc.inc or nmake-win-msvc.inc): - - These files (which are no considered to be edited by the user) can contain - specific modifications to compiler flags, include file paths etc. - - For gnumake this would e.g. be - INCPATH += -I/usr/local/include/python2.3 - - for nmake or bmake e.g. - INCPATH = $(INCPATH) -I"c:\program files\Python2.3\include" - - -Structure of build system -========================= - -The build system has several levels of information, which are evaluated in the -following order (see also buildsys/MAKE-sub.mak) - -Project level: -- PKGINFO file (e.g. package.txt) -- USRCONFIG file (e.g. config.txt) -- USRMAKE file (e.g. build/gnumake-lnx-gcc.inc) - -General definitions (in buildsys): - -- MAKE.inc (e.g. buildsys/gnumake.inc) - contains evaluation of flext library name, build directory etc. -- MAKE-BUILDCLASS.inc (e.g. buildsys/gnumake-ext.inc) - contains some more flag settings - -Real-time-system-dependent definitions (in buildsys/PLATFORM/SYSTEM): - -- MAKE-COMPILER.inc (e.g. buildsys/lnx/pd/gnumake-gcc.inc) - contains general real-time-system dependent info (e.g. paths, FLEXT_SYS setting) -- MAKE-COMPILER-BUILDCLASS.inc (e.g. buildsys/lnx/pd/gnumake-gcc-ext.inc) - contains specific real-time-system dependent info (e.g. extension of binary) - -Platform-dependent definitions (in buildsys/PLATFORM): - -- MAKE-COMPILER.inc (e.g. buildsys/lnx/gnumake-gcc.inc) - contains general platform-specific flags -- MAKE-COMPILER-BUILDCLASS.inc (e.g. buildsys/lnx/gnumake-gcc-ext.inc) - contains the actual make targets (_build_,_clean_ and _install_) - - -Macro names -=============== - -PKGINFO - filename for package information (must reside in project folder) - -UFLAGS - user defined compiler flags -OFLAGS - user defined optimization flags (not used in debug builds) - -CFLAGS - compiler flags -LDFLAGS - linker flags - -INCPATH - include file path (must come with e.g. -I ) -LIBPATH - library path (must come with e.g. -L ) - -LIBS - libraries to link in (must come with e.g. -l ) diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/targets-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/targets-ext.inc.svn-base deleted file mode 100644 index b8031522f..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/targets-ext.inc.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -build-default-default: build-$(BUILDMODE)-$(BUILDTYPE) - -build-all-default: build-all-$(BUILDTYPE) - -build-release-default: build-release-$(BUILDTYPE) - -build-debug-default: build-debug-$(BUILDTYPE) - -build-profile-default: build-profile-$(BUILDTYPE) - -build-default-all: build-$(BUILDMODE)-all - -build-default-single: build-$(BUILDMODE)-single - -build-default-multi: build-$(BUILDMODE)-multi - -build-default-shared: build-$(BUILDMODE)-shared - - -install-default-default: install-$(BUILDMODE)-$(BUILDTYPE) - -install-all-default: install-all-$(BUILDTYPE) - -install-release-default: install-release-$(BUILDTYPE) - -install-debug-default: install-debug-$(BUILDTYPE) - -install-default-all: install-$(BUILDMODE)-all - -install-default-single: install-$(BUILDMODE)-single - -install-default-multi: install-$(BUILDMODE)-multi - -install-default-shared: install-$(BUILDMODE)-shared - - -clean-default-default: clean-$(BUILDMODE)-$(BUILDTYPE) - -clean-all-default: clean-all-$(BUILDTYPE) - -clean-release-default: clean-release-$(BUILDTYPE) - -clean-debug-default: clean-debug-$(BUILDTYPE) - -clean-default-all: clean-$(BUILDMODE)-all - -clean-default-single: clean-$(BUILDMODE)-single - -clean-default-multi: clean-$(BUILDMODE)-multi - -clean-default-shared: clean-$(BUILDMODE)-shared diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/targets-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/targets-flext.inc.svn-base deleted file mode 100644 index e0e984cfb..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/targets-flext.inc.svn-base +++ /dev/null @@ -1,52 +0,0 @@ -build-default-default: build-all-all - -build-all-default: build-all-all - -build-release-default: build-release-all - -build-debug-default: build-debug-all - -build-profile-default: build-profile-all - -build-default-all: build-all-all - -build-default-single: build-all-single - -build-default-multi: build-all-multi - -build-default-shared: build-all-shared - - -install-default-default: install-all-all - -install-all-default: install-all-all - -install-release-default: install-release-all - -install-debug-default: install-debug-all - -install-default-all: install-all-all - -install-default-single: install-all-single - -install-default-multi: install-all-multi - -install-default-shared: install-all-shared - - -clean-default-default: clean-all-all - -clean-all-default: clean-all-all - -clean-release-default: clean-release-all - -clean-debug-default: clean-debug-all - -clean-default-all: clean-all-all - -clean-default-single: clean-all-single - -clean-default-multi: clean-all-multi - -clean-default-shared: clean-all-shared - diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/targets-shlib.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/targets-shlib.inc.svn-base deleted file mode 100644 index b8031522f..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/targets-shlib.inc.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -build-default-default: build-$(BUILDMODE)-$(BUILDTYPE) - -build-all-default: build-all-$(BUILDTYPE) - -build-release-default: build-release-$(BUILDTYPE) - -build-debug-default: build-debug-$(BUILDTYPE) - -build-profile-default: build-profile-$(BUILDTYPE) - -build-default-all: build-$(BUILDMODE)-all - -build-default-single: build-$(BUILDMODE)-single - -build-default-multi: build-$(BUILDMODE)-multi - -build-default-shared: build-$(BUILDMODE)-shared - - -install-default-default: install-$(BUILDMODE)-$(BUILDTYPE) - -install-all-default: install-all-$(BUILDTYPE) - -install-release-default: install-release-$(BUILDTYPE) - -install-debug-default: install-debug-$(BUILDTYPE) - -install-default-all: install-$(BUILDMODE)-all - -install-default-single: install-$(BUILDMODE)-single - -install-default-multi: install-$(BUILDMODE)-multi - -install-default-shared: install-$(BUILDMODE)-shared - - -clean-default-default: clean-$(BUILDMODE)-$(BUILDTYPE) - -clean-all-default: clean-all-$(BUILDTYPE) - -clean-release-default: clean-release-$(BUILDTYPE) - -clean-debug-default: clean-debug-$(BUILDTYPE) - -clean-default-all: clean-$(BUILDMODE)-all - -clean-default-single: clean-$(BUILDMODE)-single - -clean-default-multi: clean-$(BUILDMODE)-multi - -clean-default-shared: clean-$(BUILDMODE)-shared diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/targets.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/targets.inc.svn-base deleted file mode 100644 index 3107b342a..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/targets.inc.svn-base +++ /dev/null @@ -1,148 +0,0 @@ -all: build - -build: build-default-default - -profile: build-profile-default - -clean: clean-default-default - -install: install-default-default - -########################################################### - -build-all-all: build-release-all build-debug-all - -build-release-all: build-release-single build-release-multi build-release-shared - -build-debug-all: build-debug-single build-debug-multi build-debug-shared - -build-profile-all: build-profile-single build-profile-multi build-profile-shared - -build-all-single: build-release-single build-debug-single - -build-all-multi: build-release-multi build-debug-multi - -build-all-shared: build-release-shared build-debug-shared - -################################################### - -install-all-all: install-release-all install-debug-all - -install-release-all: install-release-single install-release-multi install-release-shared - -install-debug-all: install-debug-single install-debug-multi install-debug-shared - -install-profile-all: install-profile-single install-profile-multi install-profile-shared - -install-all-single: install-release-single install-debug-single - -install-all-multi: install-release-multi install-debug-multi - -install-all-shared: install-release-shared install-debug-shared - -################################################### - -clean-all-all: clean-release-all clean-debug-all - -clean-release-all: clean-release-single clean-release-multi clean-release-shared - -clean-debug-all: clean-debug-single clean-debug-multi clean-debug-shared - -clean-profile-all: clean-profile-single clean-profile-multi clean-profile-shared - -clean-all-single: clean-release-single clean-debug-single - -clean-all-multi: clean-release-multi clean-debug-multi - -clean-all-shared: clean-release-shared clean-debug-shared - -########################################################### - -build-release-single: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=release TARGETTYPE=single _build_ - -build-debug-single: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=debug TARGETTYPE=single DEBUG=1 _build_ - -build-profile-single: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=profile TARGETTYPE=single PROFILE=1 _build_ - -build-release-multi: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=release TARGETTYPE=multi THREADED=1 _build_ - -build-debug-multi: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=debug TARGETTYPE=multi THREADED=1 DEBUG=1 _build_ - -build-profile-multi: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=profile TARGETTYPE=multi THREADED=1 PROFILE=1 _build_ - -build-release-shared: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=release TARGETTYPE=shared SHARED=1 _build_ - -build-debug-shared: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=debug TARGETTYPE=shared SHARED=1 DEBUG=1 _build_ - -build-profile-shared: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=profile TARGETTYPE=shared SHARED=1 PROFILE=1 _build_ - -########################################################### - -install-release-single: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=release TARGETTYPE=single _install_ - -install-debug-single: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=debug TARGETTYPE=single DEBUG=1 _install_ - -install-profile-single: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=profile TARGETTYPE=single PROFILE=1 _install_ - -install-release-multi: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=release TARGETTYPE=multi THREADED=1 _install_ - -install-debug-multi: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=debug TARGETTYPE=multi THREADED=1 DEBUG=1 _install_ - -install-profile-multi: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=profile TARGETTYPE=multi THREADED=1 PROFILE=1 _install_ - -install-release-shared: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=release TARGETTYPE=shared SHARED=1 _install_ - -install-debug-shared: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=debug TARGETTYPE=shared SHARED=1 DEBUG=1 _install_ - -install-profile-shared: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=profile TARGETTYPE=shared SHARED=1 PROFILE=1 _install_ - -########################################################### - -clean-release-single: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=release TARGETTYPE=single _clean_ - -clean-debug-single: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=debug TARGETTYPE=single DEBUG=1 _clean_ - -clean-profile-single: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=profile TARGETTYPE=single PROFILE=1 _clean_ - -clean-release-multi: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=release TARGETTYPE=multi THREADED=1 _clean_ - -clean-debug-multi: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=debug TARGETTYPE=multi THREADED=1 DEBUG=1 _clean_ - -clean-profile-multi: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=profile TARGETTYPE=multi THREADED=1 PROFILE=1 _clean_ - -clean-release-shared: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=release TARGETTYPE=shared SHARED=1 _clean_ - -clean-debug-shared: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=debug TARGETTYPE=shared SHARED=1 DEBUG=1 _clean_ - -clean-profile-shared: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=profile TARGETTYPE=shared SHARED=1 PROFILE=1 _clean_ - -########################################################### - -config: $(USRMAKE) $(SYSCONFIG) $(USRCONFIG) diff --git a/externals/grill/trunk/flext/buildsys/.svn/text-base/version.inc.svn-base b/externals/grill/trunk/flext/buildsys/.svn/text-base/version.inc.svn-base deleted file mode 100644 index 6db62bbeb..000000000 --- a/externals/grill/trunk/flext/buildsys/.svn/text-base/version.inc.svn-base +++ /dev/null @@ -1,3 +0,0 @@ -FLEXTMAJOR=0 -FLEXTMINOR=5 -FLEXTMICRO=2 diff --git a/externals/grill/trunk/flext/buildsys/bmake-ext.inc b/externals/grill/trunk/flext/buildsys/bmake-ext.inc deleted file mode 100644 index 1455c83e3..000000000 --- a/externals/grill/trunk/flext/buildsys/bmake-ext.inc +++ /dev/null @@ -1 +0,0 @@ -OUTNAME=$(NAME) diff --git a/externals/grill/trunk/flext/buildsys/bmake-flext.inc b/externals/grill/trunk/flext/buildsys/bmake-flext.inc deleted file mode 100644 index 2e7faf0c3..000000000 --- a/externals/grill/trunk/flext/buildsys/bmake-flext.inc +++ /dev/null @@ -1,3 +0,0 @@ -DEFS=$(DEFS) /DFLEXT_EXPORTS - -OUTNAME=$(FLEXTNAME) diff --git a/externals/grill/trunk/flext/buildsys/bmake-sub.mak b/externals/grill/trunk/flext/buildsys/bmake-sub.mak deleted file mode 100644 index f55fcc4fd..000000000 --- a/externals/grill/trunk/flext/buildsys/bmake-sub.mak +++ /dev/null @@ -1,44 +0,0 @@ -# include flext version number -!include $(BUILDPATH)version.inc - -# general settings -!include $(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt - -############################### -# project-specific definitions - -# package info -!if "$(PKGINFO)" != "" && "$(PKGINFO)" != "1" -!include $(PKGINFO) -!endif - -# special package settings -!ifdef USRCONFIG -!include $(USRCONFIG) -!endif - -# package specific make stuff -!ifdef USRMAKE -!include $(USRMAKE) -!endif - -############################## -# flext-specific make stuff - -!include $(BUILDPATH)bmake.inc - -!include $(BUILDPATH)bmake-$(BUILDCLASS).inc - -############################## -# platform-specific make stuff - -!include $(BUILDPATH)$(PLATFORM)\$(RTSYS)\bmake-$(COMPILER).inc - -!include $(BUILDPATH)$(PLATFORM)\$(RTSYS)\bmake-$(COMPILER)-$(BUILDCLASS).inc - -############################## -# general make stuff - -!include $(BUILDPATH)$(PLATFORM)\bmake-$(COMPILER).inc - -!include $(BUILDPATH)$(PLATFORM)\bmake-$(COMPILER)-$(BUILDCLASS).inc diff --git a/externals/grill/trunk/flext/buildsys/bmake.inc b/externals/grill/trunk/flext/buildsys/bmake.inc deleted file mode 100644 index c8dac6fa8..000000000 --- a/externals/grill/trunk/flext/buildsys/bmake.inc +++ /dev/null @@ -1,67 +0,0 @@ -############################################## -# flext defines -############################################## - -CFLAGS=$(CFLAGS) $(UFLAGS) - -!ifdef DEBUG -CFLAGS=$(CFLAGS) /D_DEBUG $(DFLAGS) -!else -CFLAGS=$(CFLAGS) /DNDEBUG $(OFLAGS) -!endif - - -!ifdef SHARED -# --- shared --- -DEFS=$(DEFS) /DFLEXT_SHARED - -!else -!ifdef THREADED -# --- static multi-threaded --- -DEFS=$(DEFS) /DFLEXT_THREADS - -!else -# --- static single-threaded --- - -!endif -!endif - -############################################## -# name of flext library -############################################## - -!ifdef SHARED -TYPEEXT=_ -!else -!ifdef THREADED -TYPEEXT=_t -!else -TYPEEXT=_s -!endif -!endif - -!ifdef DEBUG -MODEEXT=d -!else -!ifdef PROFILE -MODEEXT=p -!else -MODEEXT= -!ifdef SHARED -TYPEEXT= -!endif -!endif -!endif - -FLEXTNAME=flext-$(RTSYS)$(TYPEEXT)$(MODEEXT) - -############################################## -# product name and folder -############################################## - -!ifndef SRCDIR -SRCDIR=. -!endif - -OUTNAME=$(NAME) -OUTSUB=$(TARGETMODE)-$(TARGETTYPE) diff --git a/externals/grill/trunk/flext/buildsys/bmake.mak b/externals/grill/trunk/flext/buildsys/bmake.mak deleted file mode 100644 index c3d8f55a8..000000000 --- a/externals/grill/trunk/flext/buildsys/bmake.mak +++ /dev/null @@ -1,110 +0,0 @@ -# required settings: -# -# PLATFORM - win/mac/lnx -# RTSYS - pd/max -# COMPILER - msvc/gcc/mingw/cygwin -# BUILDPATH including trailing \ - -############################################### -# package info - -!ifndef PKGINFO -PKGINFO=package.txt -!endif - -!if "$(PKGINFO)" != "" && "$(PKGINFO)" != "1" -!include $(PKGINFO) -!endif - -!ifndef NAME -!error NAME variable must be defined (name of target) -!endif - -!ifndef SRCS -!error SRCS variable must be defined (list of source files) -!endif - -############################################### -# check variables - -!ifndef BUILDCLASS -BUILDCLASS=ext -!endif - -!ifndef BUILDMODE -BUILDMODE=release -!endif - -!ifndef BUILDTYPE -BUILDTYPE=single -!endif - -############################## - -#!ifndef TARGETMODE -#TARGETMODE=$(BUILDMODE) -#!endif - -#!ifndef TARGETTYPE -#TARGETTYPE=$(BUILDTYPE) -#!endif - -############################################### - -SYSCONFIG=$(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt -SYSDEFAULT=$(BUILDPATH)$(PLATFORM)\$(RTSYS)\config-$(COMPILER).def - -MAKE_OPTIONS=-f $(BUILDPATH)bmake-sub.mak -N \ - PLATFORM=$(PLATFORM) RTSYS=$(RTSYS) COMPILER=$(COMPILER) \ - BUILDPATH=$(BUILDPATH) PKGINFO=$(PKGINFO) BUILDCLASS=$(BUILDCLASS) - -############################################### - -!ifdef BUILDDIR -USRCONFIG=config.txt -USRDEFAULT=$(BUILDDIR)\config-$(PLATFORM).def - -USRMAKE=$(BUILDDIR)\bmake-$(PLATFORM)-$(COMPILER).inc - -MAKE_OPTIONS=$(MAKE_OPTIONS) $(MFLAGS) USRCONFIG=$(USRCONFIG) USRMAKE=$(USRMAKE) -!endif - -############################################### -# include file describing default target dependencies - -!include $(BUILDPATH)targets.inc - -!include $(BUILDPATH)targets-$(BUILDCLASS).inc - -############################################### - -.precious: $(SYSCONFIG) $(USRCONFIG) - -$(SYSCONFIG): $(SYSDEFAULT) - @copy $** $@ - @echo ------------------------------------------------------------------------- - @echo A default system configuration file has been created. - @echo Please edit $(SYSCONFIG) - @echo to match your platform and start again. - @echo ------------------------------------------------------------------------- - @exit 1 - -!ifdef BUILDDIR -$(USRCONFIG): $(USRDEFAULT) - @copy $** $@ - @echo ------------------------------------------------------------------------- - @echo A default package configuration file has been created. - @echo Please edit $(USRCONFIG) and start again. - @echo ------------------------------------------------------------------------- - @exit 1 - -$(USRDEFAULT) $(USRMAKE): - @echo ------------------------------------------------------------------------- - @echo Your combination of platform, system and compiler is not supported yet. - @echo Required files: - @echo $(USRDEFAULT) - @echo and - @echo $(USRMAKE) - @echo ------------------------------------------------------------------------- - @exit 1 -!endif diff --git a/externals/grill/trunk/flext/buildsys/build-bcc.bat b/externals/grill/trunk/flext/buildsys/build-bcc.bat deleted file mode 100644 index bf5c4bff1..000000000 --- a/externals/grill/trunk/flext/buildsys/build-bcc.bat +++ /dev/null @@ -1,3 +0,0 @@ -@set build=%~dp0 - -make -f %build%bmake.mak -N PLATFORM=%1 RTSYS=%2 COMPILER=bcc BUILDPATH=%build% %3 %4 %5 %6 %7 %8 %9 diff --git a/externals/grill/trunk/flext/buildsys/build-cygwin.sh b/externals/grill/trunk/flext/buildsys/build-cygwin.sh deleted file mode 100755 index 606eaaded..000000000 --- a/externals/grill/trunk/flext/buildsys/build-cygwin.sh +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/bash - -build=${0%/*}/ - -make -f ${build}gnumake.mak PLATFORM=$1 RTSYS=$2 COMPILER=cygwin BUILDPATH=${build} $3 $4 $5 $6 $7 $8 $9 diff --git a/externals/grill/trunk/flext/buildsys/build-gcc.sh b/externals/grill/trunk/flext/buildsys/build-gcc.sh deleted file mode 100755 index 5b4800b8e..000000000 --- a/externals/grill/trunk/flext/buildsys/build-gcc.sh +++ /dev/null @@ -1,14 +0,0 @@ -#! /bin/bash - -build=${0%/*}/ - -if [ $(which make) ]; then - MAKE=make -elif [ $(which mingw32-make) ]; then - MAKE=mingw32-make -else - echo make utility not found - exit -fi - -$MAKE -f ${build}gnumake.mak PLATFORM=$1 RTSYS=$2 COMPILER=gcc BUILDPATH=${build} $3 $4 $5 $6 $7 $8 $9 diff --git a/externals/grill/trunk/flext/buildsys/build-icc.sh b/externals/grill/trunk/flext/buildsys/build-icc.sh deleted file mode 100755 index d110da66b..000000000 --- a/externals/grill/trunk/flext/buildsys/build-icc.sh +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/bash - -build=${0%/*}/ - -make -f ${build}gnumake.mak PLATFORM=$1 RTSYS=$2 COMPILER=icc BUILDPATH=${build} $3 $4 $5 $6 $7 $8 $9 diff --git a/externals/grill/trunk/flext/buildsys/build-mingw.bat b/externals/grill/trunk/flext/buildsys/build-mingw.bat deleted file mode 100644 index 11a39ed33..000000000 --- a/externals/grill/trunk/flext/buildsys/build-mingw.bat +++ /dev/null @@ -1,3 +0,0 @@ -@set build=%~dp0 - -mingw32-make -f %build%gnumake.mak PLATFORM=%1 RTSYS=%2 COMPILER=mingw BUILDPATH=%build% %3 %4 %5 %6 %7 %8 %9 diff --git a/externals/grill/trunk/flext/buildsys/build-msvc.bat b/externals/grill/trunk/flext/buildsys/build-msvc.bat deleted file mode 100644 index d33908ffe..000000000 --- a/externals/grill/trunk/flext/buildsys/build-msvc.bat +++ /dev/null @@ -1,6 +0,0 @@ -@set build=%~dp0 - -@rem workaround for MSVC 2005 command prompt, where LIBPATH is predefined -@set LIBPATH= - -nmake -f %build%nmake.mak PLATFORM=%1 RTSYS=%2 COMPILER=msvc BUILDPATH=%build% %3 %4 %5 %6 %7 %8 %9 diff --git a/externals/grill/trunk/flext/buildsys/config-lnx-pd-gcc.txt b/externals/grill/trunk/flext/buildsys/config-lnx-pd-gcc.txt deleted file mode 100644 index 8b2f5bbf9..000000000 --- a/externals/grill/trunk/flext/buildsys/config-lnx-pd-gcc.txt +++ /dev/null @@ -1,61 +0,0 @@ -# where is the PD source package? -# (this should point to the main folder, which has a "src" subfolder) -PDPATH=../../../../pd - -############################################################### - -# prefix for flext installation -# headers are in $(FLEXTPREFIX)/include/flext -# libraries are in $(FLEXTPREFIX)/lib -# build system is in $(FLEXTPREFIX)/lib/flext - -FLEXTPREFIX=./libbuild - -############################################################### - -# where should the external be built? -OUTPATH=pd-linux - -# where should the external be installed? -INSTPATH=/usr/lib/pd/extra - -############################################################### - -# STK (synthesis tool kit) support -# http://ccrma.stanford.edu/software/stk - -# where to find the STK header files (e.g. stk.h) -STK_INC=/usr/include/stk - -# where to find the STK library (normally libstk.a) -# (comment out STK_LIB if you don't use STK) -#STK_LIB=/usr/lib/libstk.a - -############################################################### - -# SndObj support -# http://music.nuim.ie//musictec/SndObj - -# where to find the SndObj header files (e.g. sndobj.h) -SNDOBJ_INC=/usr/include/SndObj - -# where to find the SndObj library (normally libsndobj.a) -# (comment out STK_LIB if you don't use SndObj) -#SNDOBJ_LIB=/usr/lib/libsndobj.a - -############################################################### - -# make flags (e.g. use multiprocessor) -MFLAGS=-j 2 - -# user defined compiler flags -# (check if they match your system!) -UFLAGS=-msse -mfpmath=sse -ffast-math -# don't overload new and delete operators -UFLAGS+=-DFLEXT_USE_CMEM - -# user defined optimization flags -# (check if they match your system!) -OFLAGS=-O3 -# optimizations for Pentium 4 -# OFLAGS+=-march=pentium4 diff --git a/externals/grill/trunk/flext/buildsys/gnumake-ext.inc b/externals/grill/trunk/flext/buildsys/gnumake-ext.inc deleted file mode 100644 index 1455c83e3..000000000 --- a/externals/grill/trunk/flext/buildsys/gnumake-ext.inc +++ /dev/null @@ -1 +0,0 @@ -OUTNAME=$(NAME) diff --git a/externals/grill/trunk/flext/buildsys/gnumake-flext.inc b/externals/grill/trunk/flext/buildsys/gnumake-flext.inc deleted file mode 100644 index 64204656e..000000000 --- a/externals/grill/trunk/flext/buildsys/gnumake-flext.inc +++ /dev/null @@ -1,3 +0,0 @@ -DEFS+=-DFLEXT_EXPORTS - -OUTNAME=lib$(FLEXTNAME) diff --git a/externals/grill/trunk/flext/buildsys/gnumake-sub.mak b/externals/grill/trunk/flext/buildsys/gnumake-sub.mak deleted file mode 100644 index 17aa589fe..000000000 --- a/externals/grill/trunk/flext/buildsys/gnumake-sub.mak +++ /dev/null @@ -1,44 +0,0 @@ -# include flext version number -include $(BUILDPATH)version.inc - -# system settings -include $(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt - -############################### -# project specific definitions - -# package info -ifneq ($(PKGINFO),) - include $(PKGINFO) -endif - -# special settings -ifdef USRCONFIG - include $(USRCONFIG) -endif - -# package specific make stuff -ifdef USRMAKE - include $(USRMAKE) -endif - -############################## -# flext-specific definitions - -include $(BUILDPATH)gnumake.inc - -include $(BUILDPATH)gnumake-$(BUILDCLASS).inc - -############################## -# platform-specific make stuff - -include $(BUILDPATH)$(PLATFORM)/$(RTSYS)/gnumake-$(COMPILER).inc - -include $(BUILDPATH)$(PLATFORM)/$(RTSYS)/gnumake-$(COMPILER)-$(BUILDCLASS).inc - -############################## -# general make stuff - -include $(BUILDPATH)$(PLATFORM)/gnumake-$(COMPILER).inc - -include $(BUILDPATH)$(PLATFORM)/gnumake-$(COMPILER)-$(BUILDCLASS).inc diff --git a/externals/grill/trunk/flext/buildsys/gnumake.inc b/externals/grill/trunk/flext/buildsys/gnumake.inc deleted file mode 100644 index 48dda304b..000000000 --- a/externals/grill/trunk/flext/buildsys/gnumake.inc +++ /dev/null @@ -1,97 +0,0 @@ -############################################## -# cross-compilation -############################################## - -#ifndef ARCH -#ifeq ("$(shell uname -p)","powerpc") -#ARCH := ppc -#else -#ARCH := $(shell uname -p) -#endif -#endif - -############################################## -# some compiler definitions -############################################## - -CFLAGS += $(UFLAGS) - -$(foreach arch,$(ARCH),$(eval CFLAGS_$(arch) += $$(UFLAGS_$(arch)) ) ) - - -ifdef DEBUG - -DEFS += -D_DEBUG -CFLAGS += $(DFLAGS) - -define ARCH_FLAGS -CFLAGS_$(1) += $$(DFLAGS_$(1)) -endef - -else ## profile and release - -DEFS += -DNDEBUG -CFLAGS += $(OFLAGS) - -define ARCH_FLAGS -CFLAGS_$(1) += $$(OFLAGS_$(1)) -endef - -endif - -$(foreach arch,$(ARCH),$(eval $(call ARCH_FLAGS,$(arch)))) - - -ifdef SHARED -# --- shared --- -DEFS += -DFLEXT_SHARED - -else -ifdef THREADED -# --- static multi-threaded --- -DEFS += -DFLEXT_THREADS - -else -# --- static single-threaded --- - -endif -endif - -############################################## -# name of flext library -############################################## - -ifdef SHARED -TYPEEXT := _ -else -ifdef THREADED -TYPEEXT := _t -else -TYPEEXT := _s -endif -endif - -ifdef DEBUG -MODEEXT := d -else -ifdef PROFILE -MODEEXT := p -else -MODEEXT := -ifdef SHARED -TYPEEXT := -endif -endif -endif - -FLEXTNAME := flext-$(RTSYS)$(TYPEEXT)$(MODEEXT) - -############################################## -# product name and folder -############################################## - -ifndef SRCDIR -SRCDIR := . -endif - -OUTSUB := $(TARGETMODE)-$(TARGETTYPE) diff --git a/externals/grill/trunk/flext/buildsys/gnumake.mak b/externals/grill/trunk/flext/buildsys/gnumake.mak deleted file mode 100644 index 39e5b909d..000000000 --- a/externals/grill/trunk/flext/buildsys/gnumake.mak +++ /dev/null @@ -1,142 +0,0 @@ -# required settings: -# -# PLATFORM - win/mac/lnx -# RTSYS - pd/max -# COMPILER - msvc/gcc/mingw/cygwin -# BUILDPATH including trailing / - -############################################### -# package info - -ifndef PKGINFO -PKGINFO=package.txt -endif - -ifneq ($(PKGINFO),) -include $(PKGINFO) -endif - -ifndef NAME -$(error "NAME variable must be defined (name of target)") -endif - -ifndef SRCS -$(error "SRCS variable must be defined (list of source files)") -endif - -############################################### -# check variables - -ifndef BUILDCLASS -BUILDCLASS := ext -endif - -ifndef BUILDMODE -BUILDMODE := release -endif - -ifndef BUILDTYPE -BUILDTYPE := single -endif - -############################## - -#ifndef TARGETMODE -#TARGETMODE := $(BUILDMODE) -#endif - -#ifndef TARGETTYPE -#TARGETTYPE := $(BUILDTYPE) -#endif - -############################################### - -ifeq ($(PLATFORM),win) - # substitute eventual \ by / - UBUILDPATH := $(subst \,/,$(BUILDPATH)) -else - UBUILDPATH := $(BUILDPATH) -endif - -############################################### - -SYSCONFIG := $(UBUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt -SYSDEFAULT := $(UBUILDPATH)$(PLATFORM)/$(RTSYS)/config-$(COMPILER).def - -MAKE_OPTIONS := -f $(UBUILDPATH)gnumake-sub.mak \ - $(MFLAGS) PLATFORM=$(PLATFORM) RTSYS=$(RTSYS) COMPILER=$(COMPILER) \ - BUILDPATH=$(UBUILDPATH) PKGINFO=$(PKGINFO) BUILDCLASS=$(BUILDCLASS) - -############################################### - -ifdef BUILDDIR -USRCONFIG := config.txt -USRDEFAULT := $(BUILDDIR)/config-$(PLATFORM).def - -USRMAKE := $(BUILDDIR)/gnumake-$(PLATFORM)-$(COMPILER).inc - -MAKE_OPTIONS += USRCONFIG=$(USRCONFIG) USRMAKE=$(USRMAKE) -endif - -############################################### -# include file describing default target dependencies - -.PHONY : all build clean install profile - -include $(BUILDPATH)targets.inc - -include $(BUILDPATH)targets-$(BUILDCLASS).inc - -############################################### - -.PRECIOUS: $(SYSCONFIG) $(USRCONFIG) - -$(SYSCONFIG): $(SYSDEFAULT) -ifeq ($(COMPILER),mingw) - @copy $(subst /,\,$<) $(subst /,\,$@) -else - @cp $< $@ -endif - @echo ------------------------------------------------------------------------- - @echo A default system configuration file has been created. - @echo Please edit $(SYSCONFIG) - @echo to match your platform, then start again. - @echo ------------------------------------------------------------------------- -ifeq ($(COMPILER),mingw) - @exit 1 -else - @false -endif - -ifdef BUILDDIR -$(USRCONFIG): $(USRDEFAULT) -ifeq ($(COMPILER),mingw) - @copy $(subst /,\,$<) $(subst /,\,$@) -else - @cp $< $@ -endif - @echo ------------------------------------------------------------------------- - @echo A default package configuration file has been created. - @echo Please edit $(USRCONFIG), then start again. - @echo ------------------------------------------------------------------------- -ifeq ($(COMPILER),mingw) - @exit 1 -else - @false -endif - -$(USRDEFAULT) $(USRMAKE): - @echo ------------------------------------------------------------------------- - @echo Your combination of platform, system and compiler is not supported yet. - @echo Required files: - @echo $(USRDEFAULT) - @echo and - @echo $(USRMAKE) - @echo ------------------------------------------------------------------------- -ifeq ($(COMPILER),mingw) - @exit 1 -else - @false -endif - -endif diff --git a/externals/grill/trunk/flext/buildsys/lnx/.svn/all-wcprops b/externals/grill/trunk/flext/buildsys/lnx/.svn/all-wcprops deleted file mode 100644 index 2f146af78..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/.svn/all-wcprops +++ /dev/null @@ -1,41 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 43 -/ext/!svn/ver/3734/trunk/flext/buildsys/lnx -END -gnumake-gcc-ext.inc -K 25 -svn:wc:ra_dav:version-url -V 63 -/ext/!svn/ver/3691/trunk/flext/buildsys/lnx/gnumake-gcc-ext.inc -END -gnumake-gcc-flext.inc -K 25 -svn:wc:ra_dav:version-url -V 65 -/ext/!svn/ver/3691/trunk/flext/buildsys/lnx/gnumake-gcc-flext.inc -END -gnumake-gcc.inc -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/3657/trunk/flext/buildsys/lnx/gnumake-gcc.inc -END -gnumake-icc-ext.inc -K 25 -svn:wc:ra_dav:version-url -V 63 -/ext/!svn/ver/3691/trunk/flext/buildsys/lnx/gnumake-icc-ext.inc -END -gnumake-icc-flext.inc -K 25 -svn:wc:ra_dav:version-url -V 65 -/ext/!svn/ver/3691/trunk/flext/buildsys/lnx/gnumake-icc-flext.inc -END -gnumake-icc.inc -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/buildsys/lnx/gnumake-icc.inc -END diff --git a/externals/grill/trunk/flext/buildsys/lnx/.svn/entries b/externals/grill/trunk/flext/buildsys/lnx/.svn/entries deleted file mode 100644 index b76a4ba18..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/.svn/entries +++ /dev/null @@ -1,235 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/buildsys/lnx -https://svn.grrrr.org/ext - - - -2010-09-08T10:45:51.405911Z -3734 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -gnumake-gcc-ext.inc -file - - - - -2012-05-13T23:08:36.139556Z -8b28111f4b2dbfef5d56cd6138737bc4 -2009-06-17T10:00:31.301158Z -3691 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1065 - -gnumake-gcc-flext.inc -file - - - - -2012-05-13T23:08:36.140556Z -027a62e78e4036be41b1b6c5897df2b6 -2009-06-17T10:00:31.301158Z -3691 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1824 - -gnumake-gcc.inc -file - - - - -2012-05-13T23:08:36.140556Z -04feaa7fd86dd52dc7bdae06996ee0f7 -2009-02-09T22:58:30.158432Z -3657 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1453 - -gnumake-icc-ext.inc -file - - - - -2012-05-13T23:08:36.141556Z -0cfe769586c3eb8702c2336868a84095 -2009-06-17T10:00:31.301158Z -3691 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1042 - -gnumake-icc-flext.inc -file - - - - -2012-05-13T23:08:36.142556Z -6c6434eb7cbf4e205ac49edd53aa9ea8 -2009-06-17T10:00:31.301158Z -3691 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1628 - -gnumake-icc.inc -file - - - - -2012-05-13T23:08:36.142556Z -7b0c191216f691959ee351c3592b265f -2007-03-13T22:56:04.700722Z -1195 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1233 - -pd -dir - diff --git a/externals/grill/trunk/flext/buildsys/lnx/.svn/prop-base/gnumake-gcc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/lnx/.svn/prop-base/gnumake-gcc-ext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/.svn/prop-base/gnumake-gcc-ext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/lnx/.svn/prop-base/gnumake-gcc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/lnx/.svn/prop-base/gnumake-gcc-flext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/.svn/prop-base/gnumake-gcc-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/lnx/.svn/prop-base/gnumake-gcc.inc.svn-base b/externals/grill/trunk/flext/buildsys/lnx/.svn/prop-base/gnumake-gcc.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/.svn/prop-base/gnumake-gcc.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/lnx/.svn/prop-base/gnumake-icc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/lnx/.svn/prop-base/gnumake-icc-ext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/.svn/prop-base/gnumake-icc-ext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/lnx/.svn/prop-base/gnumake-icc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/lnx/.svn/prop-base/gnumake-icc-flext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/.svn/prop-base/gnumake-icc-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/lnx/.svn/prop-base/gnumake-icc.inc.svn-base b/externals/grill/trunk/flext/buildsys/lnx/.svn/prop-base/gnumake-icc.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/.svn/prop-base/gnumake-icc.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/lnx/.svn/text-base/gnumake-gcc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/lnx/.svn/text-base/gnumake-gcc-ext.inc.svn-base deleted file mode 100644 index 1fca83ac8..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/.svn/text-base/gnumake-gcc-ext.inc.svn-base +++ /dev/null @@ -1,56 +0,0 @@ -# build class specific settings - -TARGET=$(TARGETPATH)/$(TARGETNAME) -INSTTARGET=$(TARGET) - -INCPATH += -I$(FLEXTINC) -LIBPATH += -L$(FLEXTLIB) - -#ifdef SHARED -#LIBS += -l$(FLEXTNAME).$(FLEXTMAJOR).$(FLEXTMINOR) -#else -LIBS += -l$(FLEXTNAME) -#endif - -############################################## - -# default target -_build_: $(TARGET) - -$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS)) - touch $@ - -$(TARGETPATH): - mkdir -p $@ - -$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp - -mkdir -p $(dir $@) - $(CXX) -c $(CXXFLAGS) $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ - -$(TARGETPATH)/%.o : $(SRCDIR)/%.c - -mkdir -p $(dir $@) - $(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ - -$(TARGET):: $(TARGETPATH) - -$(TARGET):: $(COBJS) $(CPPOBJS) - $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS) - chmod 755 $@ -ifndef DEBUG -ifndef PROFILE - strip --strip-unneeded $@ -endif -endif - -############################################## - -_clean_: - -rm -rf $(TARGETPATH) - -############################################## - -$(INSTPATH): - -mkdir -p $@ - -_install_: $(INSTPATH) - install $(TARGET) $(INSTPATH) diff --git a/externals/grill/trunk/flext/buildsys/lnx/.svn/text-base/gnumake-gcc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/lnx/.svn/text-base/gnumake-gcc-flext.inc.svn-base deleted file mode 100644 index 2e3507c43..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/.svn/text-base/gnumake-gcc-flext.inc.svn-base +++ /dev/null @@ -1,75 +0,0 @@ -# build class specific settings - -CMPNAME=$(OUTNAME).$(EXT).$(FLEXTMAJOR).$(FLEXTMINOR) -VERNAME=$(CMPNAME).$(FLEXTMICRO) -TARGET=$(TARGETPATH)/$(VERNAME) -INSTTARGET=$(TARGET) - -ifdef SHARED -LDFLAGS += -Wl,-soname,$(CMPNAME) -endif - -############################################## - -# default target -_build_: $(TARGET) - -$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS)) - touch $@ - -$(TARGETPATH): - -mkdir -p $@ - -$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp - -mkdir -p $(dir $@) - $(CXX) -c $(CXXFLAGS) $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ - -$(TARGETPATH)/%.o : $(SRCDIR)/%.c - -mkdir -p $(dir $@) - $(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ - -$(TARGET) :: $(TARGETPATH) - -$(TARGET) :: $(COBJS) $(CPPOBJS) -ifdef SHARED - $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS) - chmod 755 $@ -ifndef DEBUG -ifndef PROFILE - strip --strip-unneeded $@ -endif -endif -else - $(AR) rc $@ $(COBJS) $(CPPOBJS) -endif - -############################################## - -_clean_: - -rm -rf $(TARGETPATH) - -############################################## - -$(FLEXTINC) $(FLEXTLIB) $(FLEXTSYS) $(FLEXTBIN): - -mkdir -p $@ - -_install_: $(FLEXTINC) $(FLEXTLIB) $(FLEXTSYS) $(FLEXTBIN) - install $(TARGET) $(FLEXTLIB) -ifdef SHARED - /sbin/ldconfig -l $(FLEXTLIB)/$(VERNAME) - -ln -sf $(CMPNAME) $(FLEXTLIB)/$(OUTNAME).$(EXT) -else - -ln -sf $(VERNAME) $(FLEXTLIB)/$(TARGETNAME) -endif -# make directories - for f in $(dir $(patsubst %,$(FLEXTINC)/%,$(HDRS))); do mkdir -p $$f; done -# install headers (each one separately as relative paths might occur) - for f in $(HDRS); do install $(SRCDIR)/$$f $(FLEXTINC)/$$f; done -# transfer build system -# 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 - diff --git a/externals/grill/trunk/flext/buildsys/lnx/.svn/text-base/gnumake-gcc.inc.svn-base b/externals/grill/trunk/flext/buildsys/lnx/.svn/text-base/gnumake-gcc.inc.svn-base deleted file mode 100644 index 5cc45878e..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/.svn/text-base/gnumake-gcc.inc.svn-base +++ /dev/null @@ -1,75 +0,0 @@ -############################################## - -ifndef FLEXTINC -FLEXTINC=$(FLEXTPREFIX)/include/flext -endif -ifndef FLEXTLIB -FLEXTLIB=$(FLEXTPREFIX)/lib -endif -ifndef FLEXTSYS -FLEXTSYS=$(FLEXTPREFIX)/lib/flext -endif -ifndef FLEXTBIN -FLEXTBIN=$(FLEXTPREFIX)/bin -endif - -############################################## - -OBJPATH=$(OUTPATH)/$(OUTSUB) -TARGETPATH=$(OBJPATH) -TARGETNAME=$(OUTNAME).$(EXT) - -############################################## - -CFLAGS += -pthread -fPIC -fvisibility-inlines-hidden -LDFLAGS += -pthread -shared - -############################################## - -ifdef DEBUG -CFLAGS += -g -LDFLAGS += -g -else -ifdef PROFILE -CFLAGS += -g -pg -LDFLAGS += -g -pg -else -LDFLAGS += -Wl,-S -endif -endif - -############################################## - -ifdef STK_INC -INCPATH += -I$(STK_INC) -endif -ifdef STK_LIB -LIBS += $(STK_LIB) -endif - -############################################## - -ifdef SNDOBJ_INC -INCPATH += -I$(SNDOBJ_INC) -endif -ifdef SNDOBJ_LIB -LIBS += $(SNDOBJ_LIB) -endif - -############################################## - -ifdef LOCKFREE -INCPATH += -I$(LOCKFREE) -endif - -ifdef ATOMIC_OPS -INCPATH += -I$(ATOMIC_OPS)/src -DEFS += -DUSE_ATOMIC_OPS -endif - -############################################## - -CSRCS=$(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS))) -CPPSRCS=$(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS))) -COBJS=$(patsubst %.c,$(OBJPATH)/%.o,$(filter %.c,$(SRCS))) -CPPOBJS=$(patsubst %.cpp,$(OBJPATH)/%.opp,$(filter %.cpp,$(SRCS))) diff --git a/externals/grill/trunk/flext/buildsys/lnx/.svn/text-base/gnumake-icc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/lnx/.svn/text-base/gnumake-icc-ext.inc.svn-base deleted file mode 100644 index bcfdf422f..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/.svn/text-base/gnumake-icc-ext.inc.svn-base +++ /dev/null @@ -1,56 +0,0 @@ -# build class specific settings - -TARGET=$(TARGETPATH)/$(TARGETNAME) -INSTTARGET=$(TARGET) - -INCPATH += -I$(FLEXTINC) -LIBPATH += -L$(FLEXTLIB) - -ifdef SHARED -LIBS += -l$(FLEXTNAME).$(FLEXTMAJOR).$(FLEXTMINOR) -else -LIBS += -l$(FLEXTNAME) -endif - -############################################## - -# default target -_build_: $(TARGET) - -$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS)) - touch $@ - -$(TARGETPATH): - -mkdir -p $@ - -$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp - -mkdir -p $(dir $@) - icc -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ - -$(TARGETPATH)/%.o : $(SRCDIR)/%.c - -mkdir -p $(dir $@) - icc -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ - -$(TARGET):: $(TARGETPATH) - -$(TARGET):: $(COBJS) $(CPPOBJS) - icc $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS) - chmod 755 $@ -ifndef DEBUG -ifndef PROFILE - strip --strip-unneeded $@ -endif -endif - -############################################## - -_clean_: - -rm -rf $(TARGETPATH) - -############################################## - -$(INSTPATH): - -mkdir -p $@ - -_install_: $(INSTPATH) - install $(TARGET) $(INSTPATH) diff --git a/externals/grill/trunk/flext/buildsys/lnx/.svn/text-base/gnumake-icc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/lnx/.svn/text-base/gnumake-icc-flext.inc.svn-base deleted file mode 100644 index 91a9a14ab..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/.svn/text-base/gnumake-icc-flext.inc.svn-base +++ /dev/null @@ -1,72 +0,0 @@ -# build class specific settings - -CMPNAME=$(OUTNAME).$(EXT).$(FLEXTMAJOR).$(FLEXTMINOR) -VERNAME=$(CMPNAME).$(FLEXTMICRO) -TARGET=$(TARGETPATH)/$(VERNAME) -INSTTARGET=$(TARGET) - -ifdef SHARED -LDFLAGS += -Wl,-soname,$(CMPNAME) -endif - -############################################## - -# default target -_build_: $(TARGET) - -$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS)) - touch $@ - -$(TARGETPATH): - -mkdir -p $@ - -$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp - -mkdir -p $(dir $@) - icc -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ - -$(TARGETPATH)/%.o : $(SRCDIR)/%.c - -mkdir -p $(dir $@) - icc -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ - -$(TARGET) :: $(TARGETPATH) - -$(TARGET) :: $(COBJS) $(CPPOBJS) -ifdef SHARED - icc $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS) - chmod 755 $@ -ifndef DEBUG -ifndef PROFILE - strip --strip-unneeded $@ -endif -endif -else - $(AR) rc $@ $(COBJS) $(CPPOBJS) -endif - -############################################## - -_clean_: - -rm -rf $(TARGETPATH) - -############################################## - -$(FLEXTINC) $(FLEXTLIB) $(FLEXTSYS) $(FLEXTBIN): - -mkdir -p $@ - -_install_: $(FLEXTINC) $(FLEXTLIB) $(FLEXTSYS) $(FLEXTBIN) - install $(TARGET) $(FLEXTLIB) -ifdef SHARED - /sbin/ldconfig -l $(FLEXTLIB)/$(VERNAME) - -ln -sf $(CMPNAME) $(FLEXTLIB)/$(OUTNAME).$(EXT) -else - -ln -sf $(VERNAME) $(FLEXTLIB)/$(TARGETNAME) -endif - install $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(FLEXTINC) -# transfer build system -# 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 - diff --git a/externals/grill/trunk/flext/buildsys/lnx/.svn/text-base/gnumake-icc.inc.svn-base b/externals/grill/trunk/flext/buildsys/lnx/.svn/text-base/gnumake-icc.inc.svn-base deleted file mode 100644 index b95dd55a0..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/.svn/text-base/gnumake-icc.inc.svn-base +++ /dev/null @@ -1,64 +0,0 @@ -############################################## - -ifndef FLEXTINC -FLEXTINC=$(FLEXTPREFIX)/include/flext -endif -ifndef FLEXTLIB -FLEXTLIB=$(FLEXTPREFIX)/lib -endif -ifndef FLEXTSYS -FLEXTSYS=$(FLEXTPREFIX)/lib/flext -endif -ifndef FLEXTBIN -FLEXTBIN=$(FLEXTPREFIX)/bin -endif - -############################################## - -OBJPATH=$(OUTPATH)/$(OUTSUB) -TARGETPATH=$(OBJPATH) -TARGETNAME=$(OUTNAME).$(EXT) - -############################################## - -CFLAGS += -LDFLAGS += -shared -Wl,-x - -############################################## - -ifdef DEBUG -CFLAGS += -g -LDFLAGS += -g -else -ifdef PROFILE -CFLAGS += -g -qp -LDFLAGS += -g -qp -else -LDFLAGS += -Wl,-S -endif -endif - -############################################## - -ifdef STK_INC -INCPATH += -I$(STK_INC) -endif -ifdef STK_LIB -LIBS += $(STK_LIB) -endif - -############################################## - -ifdef SNDOBJ_INC -INCPATH += -I$(SNDOBJ_INC) -endif -ifdef SNDOBJ_LIB -LIBS += $(SNDOBJ_LIB) -endif - -############################################## - -CSRCS=$(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS))) -CPPSRCS=$(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS))) -COBJS=$(patsubst %.c,$(OBJPATH)/%.o,$(filter %.c,$(SRCS))) -CPPOBJS=$(patsubst %.cpp,$(OBJPATH)/%.opp,$(filter %.cpp,$(SRCS))) diff --git a/externals/grill/trunk/flext/buildsys/lnx/gnumake-gcc-ext.inc b/externals/grill/trunk/flext/buildsys/lnx/gnumake-gcc-ext.inc deleted file mode 100644 index b7674324f..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/gnumake-gcc-ext.inc +++ /dev/null @@ -1,56 +0,0 @@ -# build class specific settings - -TARGET=$(TARGETPATH)/$(TARGETNAME) -INSTTARGET=$(TARGET) - -INCPATH += -I$(FLEXTINC) -LIBPATH += -L$(FLEXTLIB) - -#ifdef SHARED -#LIBS += -l$(FLEXTNAME).$(FLEXTMAJOR).$(FLEXTMINOR) -#else -LIBS += -l$(FLEXTNAME) -#endif - -############################################## - -# default target -_build_: $(TARGET) - -$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS)) - touch $@ - -$(TARGETPATH): - mkdir -p $@ - -$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp - -mkdir -p $(dir $@) - $(CXX) -c $(CXXFLAGS) $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ - -$(TARGETPATH)/%.o : $(SRCDIR)/%.c - -mkdir -p $(dir $@) - $(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ - -$(TARGET):: $(TARGETPATH) - -$(TARGET):: $(COBJS) $(CPPOBJS) - $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS) - chmod 755 $@ -ifndef DEBUG -ifndef PROFILE - strip --strip-unneeded $@ -endif -endif - -############################################## - -_clean_: - -rm -rf $(TARGETPATH) - -############################################## - -$(INSTPATH): - -mkdir -p $@ - -_install_: $(INSTPATH) - install $(TARGET) $(INSTPATH) diff --git a/externals/grill/trunk/flext/buildsys/lnx/gnumake-gcc-flext.inc b/externals/grill/trunk/flext/buildsys/lnx/gnumake-gcc-flext.inc deleted file mode 100644 index 2e3507c43..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/gnumake-gcc-flext.inc +++ /dev/null @@ -1,75 +0,0 @@ -# build class specific settings - -CMPNAME=$(OUTNAME).$(EXT).$(FLEXTMAJOR).$(FLEXTMINOR) -VERNAME=$(CMPNAME).$(FLEXTMICRO) -TARGET=$(TARGETPATH)/$(VERNAME) -INSTTARGET=$(TARGET) - -ifdef SHARED -LDFLAGS += -Wl,-soname,$(CMPNAME) -endif - -############################################## - -# default target -_build_: $(TARGET) - -$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS)) - touch $@ - -$(TARGETPATH): - -mkdir -p $@ - -$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp - -mkdir -p $(dir $@) - $(CXX) -c $(CXXFLAGS) $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ - -$(TARGETPATH)/%.o : $(SRCDIR)/%.c - -mkdir -p $(dir $@) - $(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ - -$(TARGET) :: $(TARGETPATH) - -$(TARGET) :: $(COBJS) $(CPPOBJS) -ifdef SHARED - $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS) - chmod 755 $@ -ifndef DEBUG -ifndef PROFILE - strip --strip-unneeded $@ -endif -endif -else - $(AR) rc $@ $(COBJS) $(CPPOBJS) -endif - -############################################## - -_clean_: - -rm -rf $(TARGETPATH) - -############################################## - -$(FLEXTINC) $(FLEXTLIB) $(FLEXTSYS) $(FLEXTBIN): - -mkdir -p $@ - -_install_: $(FLEXTINC) $(FLEXTLIB) $(FLEXTSYS) $(FLEXTBIN) - install $(TARGET) $(FLEXTLIB) -ifdef SHARED - /sbin/ldconfig -l $(FLEXTLIB)/$(VERNAME) - -ln -sf $(CMPNAME) $(FLEXTLIB)/$(OUTNAME).$(EXT) -else - -ln -sf $(VERNAME) $(FLEXTLIB)/$(TARGETNAME) -endif -# make directories - for f in $(dir $(patsubst %,$(FLEXTINC)/%,$(HDRS))); do mkdir -p $$f; done -# install headers (each one separately as relative paths might occur) - for f in $(HDRS); do install $(SRCDIR)/$$f $(FLEXTINC)/$$f; done -# transfer build system -# 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 - diff --git a/externals/grill/trunk/flext/buildsys/lnx/gnumake-gcc.inc b/externals/grill/trunk/flext/buildsys/lnx/gnumake-gcc.inc deleted file mode 100644 index 5cc45878e..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/gnumake-gcc.inc +++ /dev/null @@ -1,75 +0,0 @@ -############################################## - -ifndef FLEXTINC -FLEXTINC=$(FLEXTPREFIX)/include/flext -endif -ifndef FLEXTLIB -FLEXTLIB=$(FLEXTPREFIX)/lib -endif -ifndef FLEXTSYS -FLEXTSYS=$(FLEXTPREFIX)/lib/flext -endif -ifndef FLEXTBIN -FLEXTBIN=$(FLEXTPREFIX)/bin -endif - -############################################## - -OBJPATH=$(OUTPATH)/$(OUTSUB) -TARGETPATH=$(OBJPATH) -TARGETNAME=$(OUTNAME).$(EXT) - -############################################## - -CFLAGS += -pthread -fPIC -fvisibility-inlines-hidden -LDFLAGS += -pthread -shared - -############################################## - -ifdef DEBUG -CFLAGS += -g -LDFLAGS += -g -else -ifdef PROFILE -CFLAGS += -g -pg -LDFLAGS += -g -pg -else -LDFLAGS += -Wl,-S -endif -endif - -############################################## - -ifdef STK_INC -INCPATH += -I$(STK_INC) -endif -ifdef STK_LIB -LIBS += $(STK_LIB) -endif - -############################################## - -ifdef SNDOBJ_INC -INCPATH += -I$(SNDOBJ_INC) -endif -ifdef SNDOBJ_LIB -LIBS += $(SNDOBJ_LIB) -endif - -############################################## - -ifdef LOCKFREE -INCPATH += -I$(LOCKFREE) -endif - -ifdef ATOMIC_OPS -INCPATH += -I$(ATOMIC_OPS)/src -DEFS += -DUSE_ATOMIC_OPS -endif - -############################################## - -CSRCS=$(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS))) -CPPSRCS=$(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS))) -COBJS=$(patsubst %.c,$(OBJPATH)/%.o,$(filter %.c,$(SRCS))) -CPPOBJS=$(patsubst %.cpp,$(OBJPATH)/%.opp,$(filter %.cpp,$(SRCS))) diff --git a/externals/grill/trunk/flext/buildsys/lnx/gnumake-icc-ext.inc b/externals/grill/trunk/flext/buildsys/lnx/gnumake-icc-ext.inc deleted file mode 100644 index bcfdf422f..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/gnumake-icc-ext.inc +++ /dev/null @@ -1,56 +0,0 @@ -# build class specific settings - -TARGET=$(TARGETPATH)/$(TARGETNAME) -INSTTARGET=$(TARGET) - -INCPATH += -I$(FLEXTINC) -LIBPATH += -L$(FLEXTLIB) - -ifdef SHARED -LIBS += -l$(FLEXTNAME).$(FLEXTMAJOR).$(FLEXTMINOR) -else -LIBS += -l$(FLEXTNAME) -endif - -############################################## - -# default target -_build_: $(TARGET) - -$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS)) - touch $@ - -$(TARGETPATH): - -mkdir -p $@ - -$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp - -mkdir -p $(dir $@) - icc -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ - -$(TARGETPATH)/%.o : $(SRCDIR)/%.c - -mkdir -p $(dir $@) - icc -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ - -$(TARGET):: $(TARGETPATH) - -$(TARGET):: $(COBJS) $(CPPOBJS) - icc $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS) - chmod 755 $@ -ifndef DEBUG -ifndef PROFILE - strip --strip-unneeded $@ -endif -endif - -############################################## - -_clean_: - -rm -rf $(TARGETPATH) - -############################################## - -$(INSTPATH): - -mkdir -p $@ - -_install_: $(INSTPATH) - install $(TARGET) $(INSTPATH) diff --git a/externals/grill/trunk/flext/buildsys/lnx/gnumake-icc-flext.inc b/externals/grill/trunk/flext/buildsys/lnx/gnumake-icc-flext.inc deleted file mode 100644 index 91a9a14ab..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/gnumake-icc-flext.inc +++ /dev/null @@ -1,72 +0,0 @@ -# build class specific settings - -CMPNAME=$(OUTNAME).$(EXT).$(FLEXTMAJOR).$(FLEXTMINOR) -VERNAME=$(CMPNAME).$(FLEXTMICRO) -TARGET=$(TARGETPATH)/$(VERNAME) -INSTTARGET=$(TARGET) - -ifdef SHARED -LDFLAGS += -Wl,-soname,$(CMPNAME) -endif - -############################################## - -# default target -_build_: $(TARGET) - -$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS)) - touch $@ - -$(TARGETPATH): - -mkdir -p $@ - -$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp - -mkdir -p $(dir $@) - icc -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ - -$(TARGETPATH)/%.o : $(SRCDIR)/%.c - -mkdir -p $(dir $@) - icc -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ - -$(TARGET) :: $(TARGETPATH) - -$(TARGET) :: $(COBJS) $(CPPOBJS) -ifdef SHARED - icc $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS) - chmod 755 $@ -ifndef DEBUG -ifndef PROFILE - strip --strip-unneeded $@ -endif -endif -else - $(AR) rc $@ $(COBJS) $(CPPOBJS) -endif - -############################################## - -_clean_: - -rm -rf $(TARGETPATH) - -############################################## - -$(FLEXTINC) $(FLEXTLIB) $(FLEXTSYS) $(FLEXTBIN): - -mkdir -p $@ - -_install_: $(FLEXTINC) $(FLEXTLIB) $(FLEXTSYS) $(FLEXTBIN) - install $(TARGET) $(FLEXTLIB) -ifdef SHARED - /sbin/ldconfig -l $(FLEXTLIB)/$(VERNAME) - -ln -sf $(CMPNAME) $(FLEXTLIB)/$(OUTNAME).$(EXT) -else - -ln -sf $(VERNAME) $(FLEXTLIB)/$(TARGETNAME) -endif - install $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(FLEXTINC) -# transfer build system -# 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 - diff --git a/externals/grill/trunk/flext/buildsys/lnx/gnumake-icc.inc b/externals/grill/trunk/flext/buildsys/lnx/gnumake-icc.inc deleted file mode 100644 index b95dd55a0..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/gnumake-icc.inc +++ /dev/null @@ -1,64 +0,0 @@ -############################################## - -ifndef FLEXTINC -FLEXTINC=$(FLEXTPREFIX)/include/flext -endif -ifndef FLEXTLIB -FLEXTLIB=$(FLEXTPREFIX)/lib -endif -ifndef FLEXTSYS -FLEXTSYS=$(FLEXTPREFIX)/lib/flext -endif -ifndef FLEXTBIN -FLEXTBIN=$(FLEXTPREFIX)/bin -endif - -############################################## - -OBJPATH=$(OUTPATH)/$(OUTSUB) -TARGETPATH=$(OBJPATH) -TARGETNAME=$(OUTNAME).$(EXT) - -############################################## - -CFLAGS += -LDFLAGS += -shared -Wl,-x - -############################################## - -ifdef DEBUG -CFLAGS += -g -LDFLAGS += -g -else -ifdef PROFILE -CFLAGS += -g -qp -LDFLAGS += -g -qp -else -LDFLAGS += -Wl,-S -endif -endif - -############################################## - -ifdef STK_INC -INCPATH += -I$(STK_INC) -endif -ifdef STK_LIB -LIBS += $(STK_LIB) -endif - -############################################## - -ifdef SNDOBJ_INC -INCPATH += -I$(SNDOBJ_INC) -endif -ifdef SNDOBJ_LIB -LIBS += $(SNDOBJ_LIB) -endif - -############################################## - -CSRCS=$(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS))) -CPPSRCS=$(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS))) -COBJS=$(patsubst %.c,$(OBJPATH)/%.o,$(filter %.c,$(SRCS))) -CPPOBJS=$(patsubst %.cpp,$(OBJPATH)/%.opp,$(filter %.cpp,$(SRCS))) diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/all-wcprops b/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/all-wcprops deleted file mode 100644 index 4332215a5..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/all-wcprops +++ /dev/null @@ -1,53 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 46 -/ext/!svn/ver/3734/trunk/flext/buildsys/lnx/pd -END -gnumake-gcc-flext.inc -K 25 -svn:wc:ra_dav:version-url -V 68 -/ext/!svn/ver/1247/trunk/flext/buildsys/lnx/pd/gnumake-gcc-flext.inc -END -gnumake-gcc.inc -K 25 -svn:wc:ra_dav:version-url -V 62 -/ext/!svn/ver/1247/trunk/flext/buildsys/lnx/pd/gnumake-gcc.inc -END -gnumake-icc-ext.inc -K 25 -svn:wc:ra_dav:version-url -V 66 -/ext/!svn/ver/1247/trunk/flext/buildsys/lnx/pd/gnumake-icc-ext.inc -END -gnumake-icc-flext.inc -K 25 -svn:wc:ra_dav:version-url -V 68 -/ext/!svn/ver/1247/trunk/flext/buildsys/lnx/pd/gnumake-icc-flext.inc -END -gnumake-icc.inc -K 25 -svn:wc:ra_dav:version-url -V 62 -/ext/!svn/ver/1247/trunk/flext/buildsys/lnx/pd/gnumake-icc.inc -END -config-gcc.def -K 25 -svn:wc:ra_dav:version-url -V 61 -/ext/!svn/ver/3733/trunk/flext/buildsys/lnx/pd/config-gcc.def -END -config-icc.def -K 25 -svn:wc:ra_dav:version-url -V 61 -/ext/!svn/ver/3734/trunk/flext/buildsys/lnx/pd/config-icc.def -END -gnumake-gcc-ext.inc -K 25 -svn:wc:ra_dav:version-url -V 66 -/ext/!svn/ver/1247/trunk/flext/buildsys/lnx/pd/gnumake-gcc-ext.inc -END diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/entries b/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/entries deleted file mode 100644 index 494b63a56..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/entries +++ /dev/null @@ -1,300 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/buildsys/lnx/pd -https://svn.grrrr.org/ext - - - -2010-09-08T10:45:51.405911Z -3734 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -gnumake-gcc-ext.inc -file - - - - -2012-05-13T23:08:36.117556Z -93cf2e8e06dc41d18635b578afdd60a2 -2005-01-12T20:06:53.122899Z -980 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -13 - -gnumake-gcc-flext.inc -file - - - - -2012-05-13T23:08:36.118556Z -05c7c81d292d8e91925abb18afeb1184 -2005-01-12T20:06:53.122899Z -980 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -38 - -gnumake-gcc.inc -file - - - - -2012-05-13T23:08:36.119556Z -44646f5ecb652171f54bec076a13b8c6 -2007-02-13T23:04:34.490536Z -1192 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -82 - -gnumake-icc-ext.inc -file - - - - -2012-05-13T23:08:36.119556Z -93cf2e8e06dc41d18635b578afdd60a2 -2005-01-12T20:06:53.122899Z -980 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -13 - -gnumake-icc-flext.inc -file - - - - -2012-05-13T23:08:36.120556Z -05c7c81d292d8e91925abb18afeb1184 -2005-01-12T20:06:53.122899Z -980 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -38 - -gnumake-icc.inc -file - - - - -2012-05-13T23:08:36.121556Z -44646f5ecb652171f54bec076a13b8c6 -2007-02-13T23:04:34.490536Z -1192 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -82 - -config-gcc.def -file - - - - -2012-05-13T23:08:36.121556Z -e5b9d757c7da62ef609670ccc08cc71d -2010-09-08T10:45:20.457121Z -3733 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1725 - -config-icc.def -file - - - - -2012-05-13T23:08:36.122556Z -3370e620f117c360dda2a5225d9d346a -2010-09-08T10:45:51.405911Z -3734 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1724 - diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/config-gcc.def.svn-base b/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/config-gcc.def.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/config-gcc.def.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/config-icc.def.svn-base b/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/config-icc.def.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/config-icc.def.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/gnumake-gcc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/gnumake-gcc-ext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/gnumake-gcc-ext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/gnumake-gcc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/gnumake-gcc-flext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/gnumake-gcc-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/gnumake-gcc.inc.svn-base b/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/gnumake-gcc.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/gnumake-gcc.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/gnumake-icc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/gnumake-icc-ext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/gnumake-icc-ext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/gnumake-icc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/gnumake-icc-flext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/gnumake-icc-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/gnumake-icc.inc.svn-base b/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/gnumake-icc.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/prop-base/gnumake-icc.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/config-gcc.def.svn-base b/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/config-gcc.def.svn-base deleted file mode 100644 index 79e4c1645..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/config-gcc.def.svn-base +++ /dev/null @@ -1,61 +0,0 @@ -# where is the PD source package? -# (this should point to the main folder, which has a "src" subfolder) -PDPATH=/usr/local/src/pd - -############################################################### - -# prefix for flext installation -# headers are in $(FLEXTPREFIX)/include/flext -# libraries are in $(FLEXTPREFIX)/lib -# build system is in $(FLEXTPREFIX)/lib/flext - -FLEXTPREFIX=/usr/local - -############################################################### - -# where should the external be built? -OUTPATH=pd-linux - -# where should the external be installed? -INSTPATH=/usr/local/lib/pd/extra - -############################################################### - -# STK (synthesis tool kit) support -# http://ccrma.stanford.edu/software/stk - -# where to find the STK header files (e.g. stk.h) -STK_INC=/usr/local/include/stk - -# where to find the STK library (normally libstk.a) -# (comment out STK_LIB if you don't use STK) -#STK_LIB=/usr/local/lib/libstk.a - -############################################################### - -# SndObj support -# http://music.nuim.ie//musictec/SndObj - -# where to find the SndObj header files (e.g. sndobj.h) -SNDOBJ_INC=/usr/local/include/sndobj - -# where to find the SndObj library (normally libsndobj.a) -# (comment out STK_LIB if you don't use SndObj) -#SNDOBJ_LIB=/usr/local/lib/libsndobj.a - -############################################################### - -# make flags (e.g. use multiprocessor) -#MFLAGS=-j 2 - -# user defined compiler flags -# (check if they match your system!) -UFLAGS=-msse -mfpmath=sse -ffast-math -# don't overload new and delete operators -UFLAGS+=-DFLEXT_USE_CMEM - -# user defined optimization flags -# (check if they match your system!) -OFLAGS=-O3 -# optimizations for Pentium 4 -OFLAGS+=-march=pentium4 diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/config-icc.def.svn-base b/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/config-icc.def.svn-base deleted file mode 100644 index 72cb32c04..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/config-icc.def.svn-base +++ /dev/null @@ -1,61 +0,0 @@ -# where is the PD source package? -# (this should point to the main folder, which has a "src" subfolder) -PDPATH=/usr/local/src/pd - -############################################################### - -# prefix for flext installation -# headers are in $(FLEXTPREFIX)/include/flext -# libraries are in $(FLEXTPREFIX)/lib -# build system is in $(FLEXTPREFIX)/lib/flext - -FLEXTPREFIX=/usr/local - -############################################################### - -# where should the external be built? -OUTPATH=pd-linux - -# where should the external be installed? -INSTPATH=/usr/local/lib/pd/extra - -############################################################### - -# STK (synthesis tool kit) support -# http://ccrma.stanford.edu/software/stk - -# where to find the STK header files (e.g. stk.h) -STK_INC=/usr/local/include/stk - -# where to find the STK library (normally libstk.a) -# (comment out STK_LIB if you don't use STK) -#STK_LIB=/usr/local/lib/libstk.a - -############################################################### - -# SndObj support -# http://music.nuim.ie//musictec/SndObj - -# where to find the SndObj header files (e.g. sndobj.h) -SNDOBJ_INC=/usr/local/include/sndobj - -# where to find the SndObj library (normally libsndobj.a) -# (comment out STK_LIB if you don't use SndObj) -#SNDOBJ_LIB=/usr/local/lib/libsndobj.a - -############################################################### - -# make flags (e.g. use multiprocessor) -#MFLAGS=-j 2 - -# user defined compiler flags -# (check if they match your system!) -UFLAGS= -# don't overload new and delete operators -UFLAGS+=-DFLEXT_USE_CMEM - -# user defined optimization flags -# (check if they match your system!) -OFLAGS=-O3 -Ob2 -ip -# optimizations for Pentium 4 -OFLAGS+=-mcpu=pentium4 -march=pentium4 -xMKW diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/gnumake-gcc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/gnumake-gcc-ext.inc.svn-base deleted file mode 100644 index 88feb2498..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/gnumake-gcc-ext.inc.svn-base +++ /dev/null @@ -1 +0,0 @@ -EXT=pd_linux diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/gnumake-gcc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/gnumake-gcc-flext.inc.svn-base deleted file mode 100644 index cecaa37a4..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/gnumake-gcc-flext.inc.svn-base +++ /dev/null @@ -1,6 +0,0 @@ -ifdef SHARED -EXT=so -else -EXT=a -endif - diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/gnumake-gcc.inc.svn-base b/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/gnumake-gcc.inc.svn-base deleted file mode 100644 index 47930b1d9..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/gnumake-gcc.inc.svn-base +++ /dev/null @@ -1,4 +0,0 @@ -DEFS += -DFLEXT_SYS=2 -DPD - -INCPATH += -I$(PDPATH)/src -LIBPATH += -L$(PDPATH)/bin diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/gnumake-icc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/gnumake-icc-ext.inc.svn-base deleted file mode 100644 index 88feb2498..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/gnumake-icc-ext.inc.svn-base +++ /dev/null @@ -1 +0,0 @@ -EXT=pd_linux diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/gnumake-icc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/gnumake-icc-flext.inc.svn-base deleted file mode 100644 index cecaa37a4..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/gnumake-icc-flext.inc.svn-base +++ /dev/null @@ -1,6 +0,0 @@ -ifdef SHARED -EXT=so -else -EXT=a -endif - diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/gnumake-icc.inc.svn-base b/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/gnumake-icc.inc.svn-base deleted file mode 100644 index 47930b1d9..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/.svn/text-base/gnumake-icc.inc.svn-base +++ /dev/null @@ -1,4 +0,0 @@ -DEFS += -DFLEXT_SYS=2 -DPD - -INCPATH += -I$(PDPATH)/src -LIBPATH += -L$(PDPATH)/bin diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/config-gcc.def b/externals/grill/trunk/flext/buildsys/lnx/pd/config-gcc.def deleted file mode 100644 index 79e4c1645..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/config-gcc.def +++ /dev/null @@ -1,61 +0,0 @@ -# where is the PD source package? -# (this should point to the main folder, which has a "src" subfolder) -PDPATH=/usr/local/src/pd - -############################################################### - -# prefix for flext installation -# headers are in $(FLEXTPREFIX)/include/flext -# libraries are in $(FLEXTPREFIX)/lib -# build system is in $(FLEXTPREFIX)/lib/flext - -FLEXTPREFIX=/usr/local - -############################################################### - -# where should the external be built? -OUTPATH=pd-linux - -# where should the external be installed? -INSTPATH=/usr/local/lib/pd/extra - -############################################################### - -# STK (synthesis tool kit) support -# http://ccrma.stanford.edu/software/stk - -# where to find the STK header files (e.g. stk.h) -STK_INC=/usr/local/include/stk - -# where to find the STK library (normally libstk.a) -# (comment out STK_LIB if you don't use STK) -#STK_LIB=/usr/local/lib/libstk.a - -############################################################### - -# SndObj support -# http://music.nuim.ie//musictec/SndObj - -# where to find the SndObj header files (e.g. sndobj.h) -SNDOBJ_INC=/usr/local/include/sndobj - -# where to find the SndObj library (normally libsndobj.a) -# (comment out STK_LIB if you don't use SndObj) -#SNDOBJ_LIB=/usr/local/lib/libsndobj.a - -############################################################### - -# make flags (e.g. use multiprocessor) -#MFLAGS=-j 2 - -# user defined compiler flags -# (check if they match your system!) -UFLAGS=-msse -mfpmath=sse -ffast-math -# don't overload new and delete operators -UFLAGS+=-DFLEXT_USE_CMEM - -# user defined optimization flags -# (check if they match your system!) -OFLAGS=-O3 -# optimizations for Pentium 4 -OFLAGS+=-march=pentium4 diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/config-icc.def b/externals/grill/trunk/flext/buildsys/lnx/pd/config-icc.def deleted file mode 100644 index 72cb32c04..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/config-icc.def +++ /dev/null @@ -1,61 +0,0 @@ -# where is the PD source package? -# (this should point to the main folder, which has a "src" subfolder) -PDPATH=/usr/local/src/pd - -############################################################### - -# prefix for flext installation -# headers are in $(FLEXTPREFIX)/include/flext -# libraries are in $(FLEXTPREFIX)/lib -# build system is in $(FLEXTPREFIX)/lib/flext - -FLEXTPREFIX=/usr/local - -############################################################### - -# where should the external be built? -OUTPATH=pd-linux - -# where should the external be installed? -INSTPATH=/usr/local/lib/pd/extra - -############################################################### - -# STK (synthesis tool kit) support -# http://ccrma.stanford.edu/software/stk - -# where to find the STK header files (e.g. stk.h) -STK_INC=/usr/local/include/stk - -# where to find the STK library (normally libstk.a) -# (comment out STK_LIB if you don't use STK) -#STK_LIB=/usr/local/lib/libstk.a - -############################################################### - -# SndObj support -# http://music.nuim.ie//musictec/SndObj - -# where to find the SndObj header files (e.g. sndobj.h) -SNDOBJ_INC=/usr/local/include/sndobj - -# where to find the SndObj library (normally libsndobj.a) -# (comment out STK_LIB if you don't use SndObj) -#SNDOBJ_LIB=/usr/local/lib/libsndobj.a - -############################################################### - -# make flags (e.g. use multiprocessor) -#MFLAGS=-j 2 - -# user defined compiler flags -# (check if they match your system!) -UFLAGS= -# don't overload new and delete operators -UFLAGS+=-DFLEXT_USE_CMEM - -# user defined optimization flags -# (check if they match your system!) -OFLAGS=-O3 -Ob2 -ip -# optimizations for Pentium 4 -OFLAGS+=-mcpu=pentium4 -march=pentium4 -xMKW diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/gnumake-gcc-ext.inc b/externals/grill/trunk/flext/buildsys/lnx/pd/gnumake-gcc-ext.inc deleted file mode 100644 index 88feb2498..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/gnumake-gcc-ext.inc +++ /dev/null @@ -1 +0,0 @@ -EXT=pd_linux diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/gnumake-gcc-flext.inc b/externals/grill/trunk/flext/buildsys/lnx/pd/gnumake-gcc-flext.inc deleted file mode 100644 index cecaa37a4..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/gnumake-gcc-flext.inc +++ /dev/null @@ -1,6 +0,0 @@ -ifdef SHARED -EXT=so -else -EXT=a -endif - diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/gnumake-gcc.inc b/externals/grill/trunk/flext/buildsys/lnx/pd/gnumake-gcc.inc deleted file mode 100644 index 47930b1d9..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/gnumake-gcc.inc +++ /dev/null @@ -1,4 +0,0 @@ -DEFS += -DFLEXT_SYS=2 -DPD - -INCPATH += -I$(PDPATH)/src -LIBPATH += -L$(PDPATH)/bin diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/gnumake-icc-ext.inc b/externals/grill/trunk/flext/buildsys/lnx/pd/gnumake-icc-ext.inc deleted file mode 100644 index 88feb2498..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/gnumake-icc-ext.inc +++ /dev/null @@ -1 +0,0 @@ -EXT=pd_linux diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/gnumake-icc-flext.inc b/externals/grill/trunk/flext/buildsys/lnx/pd/gnumake-icc-flext.inc deleted file mode 100644 index cecaa37a4..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/gnumake-icc-flext.inc +++ /dev/null @@ -1,6 +0,0 @@ -ifdef SHARED -EXT=so -else -EXT=a -endif - diff --git a/externals/grill/trunk/flext/buildsys/lnx/pd/gnumake-icc.inc b/externals/grill/trunk/flext/buildsys/lnx/pd/gnumake-icc.inc deleted file mode 100644 index 47930b1d9..000000000 --- a/externals/grill/trunk/flext/buildsys/lnx/pd/gnumake-icc.inc +++ /dev/null @@ -1,4 +0,0 @@ -DEFS += -DFLEXT_SYS=2 -DPD - -INCPATH += -I$(PDPATH)/src -LIBPATH += -L$(PDPATH)/bin diff --git a/externals/grill/trunk/flext/buildsys/mac/.svn/all-wcprops b/externals/grill/trunk/flext/buildsys/mac/.svn/all-wcprops deleted file mode 100644 index 7bda4218e..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/.svn/all-wcprops +++ /dev/null @@ -1,29 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 43 -/ext/!svn/ver/3746/trunk/flext/buildsys/mac -END -gnumake-gcc-targets.inc -K 25 -svn:wc:ra_dav:version-url -V 67 -/ext/!svn/ver/3691/trunk/flext/buildsys/mac/gnumake-gcc-targets.inc -END -gnumake-gcc-ext.inc -K 25 -svn:wc:ra_dav:version-url -V 63 -/ext/!svn/ver/1247/trunk/flext/buildsys/mac/gnumake-gcc-ext.inc -END -gnumake-gcc-flext.inc -K 25 -svn:wc:ra_dav:version-url -V 65 -/ext/!svn/ver/1247/trunk/flext/buildsys/mac/gnumake-gcc-flext.inc -END -gnumake-gcc.inc -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/3688/trunk/flext/buildsys/mac/gnumake-gcc.inc -END diff --git a/externals/grill/trunk/flext/buildsys/mac/.svn/entries b/externals/grill/trunk/flext/buildsys/mac/.svn/entries deleted file mode 100644 index af925a5bf..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/.svn/entries +++ /dev/null @@ -1,170 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/buildsys/mac -https://svn.grrrr.org/ext - - - -2011-03-23T21:00:55.963217Z -3746 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -max -dir - -gnumake-gcc-ext.inc -file - - - - -2012-05-13T23:08:36.089556Z -ca2351c0f375e7545f57083d530ebbd2 -2008-01-04T13:57:14.536384Z -1217 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -765 - -gnumake-gcc-flext.inc -file - - - - -2012-05-13T23:08:36.090556Z -d223c21d231ff672306407fc100b4bf0 -2008-01-22T01:20:20.361620Z -1236 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -2253 - -gnumake-gcc.inc -file - - - - -2012-05-13T23:08:36.090556Z -b4f86be7536bf6b4d1c0499c82842b67 -2009-06-11T16:15:42.364585Z -3688 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1484 - -gnumake-gcc-targets.inc -file - - - - -2012-05-13T23:08:36.088556Z -796be355c4261c2e57116aa528572dba -2009-06-17T10:00:31.301158Z -3691 -thomas - - - - - - - - - - - - - - - - - - - - - -2348 - -pd -dir - diff --git a/externals/grill/trunk/flext/buildsys/mac/.svn/prop-base/gnumake-gcc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/mac/.svn/prop-base/gnumake-gcc-ext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/.svn/prop-base/gnumake-gcc-ext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/mac/.svn/prop-base/gnumake-gcc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/mac/.svn/prop-base/gnumake-gcc-flext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/.svn/prop-base/gnumake-gcc-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/mac/.svn/prop-base/gnumake-gcc.inc.svn-base b/externals/grill/trunk/flext/buildsys/mac/.svn/prop-base/gnumake-gcc.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/.svn/prop-base/gnumake-gcc.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/mac/.svn/text-base/gnumake-gcc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/mac/.svn/text-base/gnumake-gcc-ext.inc.svn-base deleted file mode 100644 index 4ea5b0c6e..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/.svn/text-base/gnumake-gcc-ext.inc.svn-base +++ /dev/null @@ -1,39 +0,0 @@ -# build class specific settings - -LDFLAGS += -framework ApplicationServices - -INCPATH += -I$(FLEXTINC) -LIBPATH += -L$(FLEXTLIB) -LIBS += -l$(FLEXTNAME) - -# common compilation stuff -include $(BUILDPATH)$(PLATFORM)/gnumake-gcc-targets.inc - -##### linking ################### - -$(TARGET) :: $(OBJPATH) $(TARGETPATH) - -$(TARGET) :: $(PRECOMDST) $(COBJS) $(CPPOBJS) - $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS) -ifdef DEBUG -else -ifdef PROFILE -else - strip -x $@ -endif -endif - chmod 755 $@ - -ifdef TARGETPOST -$(TARGET) :: $(TARGETPOST) -endif - -################################### - -# Attention: $@ doesn't work for paths with spaces.... -$(INSTPATH): - -mkdir -p $(INSTPATH) - -_install_:: $(INSTPATH) -# copy plain file or whole bundle - cp -R $(INSTTARGET) $(INSTPATH) diff --git a/externals/grill/trunk/flext/buildsys/mac/.svn/text-base/gnumake-gcc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/mac/.svn/text-base/gnumake-gcc-flext.inc.svn-base deleted file mode 100644 index 7b7e8a96a..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/.svn/text-base/gnumake-gcc-flext.inc.svn-base +++ /dev/null @@ -1,80 +0,0 @@ -# build class specific settings - -ifdef SHARED -LDFLAGS += -install_name $(FLEXTLIB)/$(TARGETNAME) -LDFLAGS += -current_version $(FLEXTMAJOR).$(FLEXTMINOR).$(FLEXTMICRO) -LDFLAGS += -compatibility_version $(FLEXTMAJOR).$(FLEXTMINOR) -LDFLAGS += -preload -seg1addr 0xd0000000 -endif - -# common compilation stuff -include $(BUILDPATH)$(PLATFORM)/gnumake-gcc-targets.inc - -##### linking ################### - -$(TARGET) :: $(OBJPATH) $(TARGETPATH) - -$(TARGET) :: $(PRECOMDST) $(COBJS) $(CPPOBJS) -ifdef SHARED - $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS) -ifdef DEBUG -else -ifdef PROFILE -else - strip -x $@ -endif -endif - chmod 755 $@ -else - libtool -static -o $@ $(COBJS) $(CPPOBJS) -endif - -ifdef TARGETPOST -$(TARGET) :: $(TARGETPOST) -endif - -################################### - -$(FLEXTINC): - -mkdir -p $@ - -$(FLEXTLIB): - -mkdir -p $@ - -_install_: $(FLEXTINC) $(FLEXTLIB) -ifdef FLEXTFRAMEWORK -# --- install as framework --- - mkdir -p $(FLEXTFRAMEWORK)/Versions/$(FLEXTMAJOR).$(FLEXTMINOR)/Headers - ln -sfh ./$(FLEXTMAJOR).$(FLEXTMINOR) $(FLEXTFRAMEWORK)/Versions/Current - ln -sfh ./Versions/Current/Headers $(FLEXTFRAMEWORK)/Headers - install $(TARGET) $(FLEXTFRAMEWORK)/Versions/Current -ifdef SHARED - # make link without lib... and extension - ln -sf ./Versions/Current/$(VERNAME) $(FLEXTFRAMEWORK)/$(patsubst lib%,%,$(basename $(TARGETNAME))) -else - ranlib $(FRAMEWORK)/Versions/Current/$(VERNAME) - ln -sf ./Versions/Current/$(VERNAME) $(FLEXTFRAMEWORK)/$(TARGETNAME) -endif - install $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(FLEXTFRAMEWORK)/Headers -else -# --- install as dynamic library --- - install $(TARGET) $(FLEXTLIB) -ifndef SHARED -# have to rerun ranlib at install dir ?! - ranlib $(FLEXTLIB)/$(VERNAME) -endif -ifdef VERNAME - ln -sf $(VERNAME) $(FLEXTLIB)/$(TARGETNAME) -endif -# make directories - for f in $(dir $(patsubst %,$(FLEXTINC)/%,$(HDRS))); do mkdir -p $$f; done -# install headers (each one separately as relative paths might occur) - for f in $(HDRS); do install $(SRCDIR)/$$f $(FLEXTINC)/$$f; done -endif -# transfer build system -# 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 diff --git a/externals/grill/trunk/flext/buildsys/mac/.svn/text-base/gnumake-gcc-targets.inc.svn-base b/externals/grill/trunk/flext/buildsys/mac/.svn/text-base/gnumake-gcc-targets.inc.svn-base deleted file mode 100644 index e1c25df06..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/.svn/text-base/gnumake-gcc-targets.inc.svn-base +++ /dev/null @@ -1,87 +0,0 @@ -############################################## - -CSRCS := $(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS))) -CPPSRCS := $(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS))) -COBJS := $(patsubst %.c,$(OBJPATH)/%.o,$(filter %.c,$(SRCS))) -CPPOBJS := $(patsubst %.cpp,$(OBJPATH)/%.opp,$(filter %.cpp,$(SRCS))) - -############################################## - -# default target -_build_: $(TARGET) - -$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS)) - touch $@ - -# Attention: $@ doesn't work for paths with spaces.... -$(OBJPATH): - -mkdir -p $(OBJPATH) - -# Attention: $@ doesn't work for paths with spaces.... -$(TARGETPATH): - -mkdir -p $(TARGETPATH) - -##### precompiled header file ################### - -ifdef PRECOMPILE -PRECOMSRC := $(SRCDIR)/$(PRECOMPILE) -else -PRECOMSRC := $(FLEXTINC)/flext.h -endif - -ifdef PRECOMSRC -PRECOMDST := $(OBJPATH)/$(notdir $(PRECOMSRC)).gch -PRECOMINC := -I $(OBJPATH) -endif - -$(PRECOMDST) : $(PRECOMSRC) $(patsubst %,$(SRCDIR)/%,$(HDRS)) - -mkdir -p $(dir $@) - $(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $(PRECOMSRC) -o $@ - - -ifndef ARCH -##### non-architecture-specific compilation ################### - -$(OBJPATH)/%.opp : $(SRCDIR)/%.cpp - -mkdir -p $(dir $@) - $(CXX) -c $(CFLAGS) $(CXXFLAGS) $(DEFS) $(PRECOMINC) $(INCPATH) $^ -o $@ - -$(OBJPATH)/%.o : $(SRCDIR)/%.c - -mkdir -p $(dir $@) - $(CC) -c $(CFLAGS) $(DEFS) $(PRECOMINC) $(INCPATH) $^ -o $@ - -else # ARCH -##### architecture-specific compilation ################### - -define ARCH_COMPILE -$(OBJPATH)/%.opp_$(1) : $(SRCDIR)/%.cpp - -mkdir -p $(dir $$@) - $(CXX) -c $(CFLAGS) $(CXXFLAGS) -arch $(1) $$(CFLAGS_$(1)) $(DEFS) $(PRECOMINC) $(INCPATH) $$^ -o $$@ - -$(OBJPATH)/%.o_$(1) : $(SRCDIR)/%.c - -mkdir -p $(dir $$@) - $(CC) -c $(CFLAGS) -arch $(1) $$(CFLAGS_$(1)) $(DEFS) $(PRECOMINC) $(INCPATH) $$^ -o $$@ -endef - -##### make fat object file ################### - -$(OBJPATH)/%.opp : $(foreach arch,$(ARCH),$(OBJPATH)/%.opp_$(arch)) - lipo $^ -create -output $@ - -$(OBJPATH)/%.o : $(foreach arch,$(ARCH),$(OBJPATH)/%.o_$(arch)) - lipo $^ -create -output $@ - -endif # ARCH - -# implement for all archs in ARCH -# for some strange reason this must be OUTSIDE an ifdef/endif clause -$(foreach arch,$(ARCH),$(eval $(call ARCH_COMPILE,$(arch)))) - - -############################################## - -_clean_: - -rm -rf $(TARGETPATH) - -rm -rf $(OBJPATH) - -############################################## diff --git a/externals/grill/trunk/flext/buildsys/mac/.svn/text-base/gnumake-gcc.inc.svn-base b/externals/grill/trunk/flext/buildsys/mac/.svn/text-base/gnumake-gcc.inc.svn-base deleted file mode 100644 index d6c8e74eb..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/.svn/text-base/gnumake-gcc.inc.svn-base +++ /dev/null @@ -1,86 +0,0 @@ -############################################## - -ifneq (,$(findstring Frameworks,$(FLEXTPREFIX))) -FLEXTFRAMEWORK := $(FLEXTPREFIX)/flext.framework -endif - -ifdef FLEXTFRAMEWORK -ifndef FLEXTLIB -FLEXTLIB := $(FLEXTFRAMEWORK) -endif -ifndef FLEXTINC -FLEXTINC := $(FLEXTFRAMEWORK)/Headers -endif -ifndef FLEXTSYS -FLEXTSYS := $(FLEXTFRAMEWORK)/Resources -endif -else -ifndef FLEXTLIB -FLEXTLIB := $(FLEXTPREFIX)/lib -endif -ifndef FLEXTINC -FLEXTINC := $(FLEXTPREFIX)/include/flext -endif -ifndef FLEXTSYS -FLEXTSYS := $(FLEXTPREFIX)/lib/flext -endif -endif - -FLEXTBIN := $(FLEXTPREFIX)/bin - -############################################## - -CXXFLAGS += -fvisibility-inlines-hidden -LDFLAGS += -dynamic -framework vecLib - -############################################## - -ifdef DEBUG -CFLAGS += -g -LDFLAGS += -g -else -ifdef PROFILE -CFLAGS += -g -LDFLAGS += -g -else -LDFLAGS += -Wl,-S -endif -endif - -############################################## - -ifdef STK_INC -INCPATH += -I$(STK_INC) -endif -ifdef STK_LIB -LIBS += $(STK_LIB) -endif - -############################################## - -ifdef SNDOBJ_INC -INCPATH += -I$(SNDOBJ_INC) -endif -ifdef SNDOBJ_LIB -LIBS += $(SNDOBJ_LIB) -endif - -############################################## - -ifdef LOCKFREE -INCPATH += -I$(LOCKFREE) -endif - -ifdef ATOMIC_OPS -INCPATH += -I$(ATOMIC_OPS)/src -DEFS += -DUSE_ATOMIC_OPS -endif - -############################################## - -LDFLAGS += $(patsubst %,-arch %,$(ARCH)) - -ifdef OSXSDK -CFLAGS += -isysroot $(OSXSDK) -LDFLAGS += -isysroot $(OSXSDK) -endif diff --git a/externals/grill/trunk/flext/buildsys/mac/gnumake-gcc-ext.inc b/externals/grill/trunk/flext/buildsys/mac/gnumake-gcc-ext.inc deleted file mode 100644 index 4ea5b0c6e..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/gnumake-gcc-ext.inc +++ /dev/null @@ -1,39 +0,0 @@ -# build class specific settings - -LDFLAGS += -framework ApplicationServices - -INCPATH += -I$(FLEXTINC) -LIBPATH += -L$(FLEXTLIB) -LIBS += -l$(FLEXTNAME) - -# common compilation stuff -include $(BUILDPATH)$(PLATFORM)/gnumake-gcc-targets.inc - -##### linking ################### - -$(TARGET) :: $(OBJPATH) $(TARGETPATH) - -$(TARGET) :: $(PRECOMDST) $(COBJS) $(CPPOBJS) - $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS) -ifdef DEBUG -else -ifdef PROFILE -else - strip -x $@ -endif -endif - chmod 755 $@ - -ifdef TARGETPOST -$(TARGET) :: $(TARGETPOST) -endif - -################################### - -# Attention: $@ doesn't work for paths with spaces.... -$(INSTPATH): - -mkdir -p $(INSTPATH) - -_install_:: $(INSTPATH) -# copy plain file or whole bundle - cp -R $(INSTTARGET) $(INSTPATH) diff --git a/externals/grill/trunk/flext/buildsys/mac/gnumake-gcc-flext.inc b/externals/grill/trunk/flext/buildsys/mac/gnumake-gcc-flext.inc deleted file mode 100644 index 7b7e8a96a..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/gnumake-gcc-flext.inc +++ /dev/null @@ -1,80 +0,0 @@ -# build class specific settings - -ifdef SHARED -LDFLAGS += -install_name $(FLEXTLIB)/$(TARGETNAME) -LDFLAGS += -current_version $(FLEXTMAJOR).$(FLEXTMINOR).$(FLEXTMICRO) -LDFLAGS += -compatibility_version $(FLEXTMAJOR).$(FLEXTMINOR) -LDFLAGS += -preload -seg1addr 0xd0000000 -endif - -# common compilation stuff -include $(BUILDPATH)$(PLATFORM)/gnumake-gcc-targets.inc - -##### linking ################### - -$(TARGET) :: $(OBJPATH) $(TARGETPATH) - -$(TARGET) :: $(PRECOMDST) $(COBJS) $(CPPOBJS) -ifdef SHARED - $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS) -ifdef DEBUG -else -ifdef PROFILE -else - strip -x $@ -endif -endif - chmod 755 $@ -else - libtool -static -o $@ $(COBJS) $(CPPOBJS) -endif - -ifdef TARGETPOST -$(TARGET) :: $(TARGETPOST) -endif - -################################### - -$(FLEXTINC): - -mkdir -p $@ - -$(FLEXTLIB): - -mkdir -p $@ - -_install_: $(FLEXTINC) $(FLEXTLIB) -ifdef FLEXTFRAMEWORK -# --- install as framework --- - mkdir -p $(FLEXTFRAMEWORK)/Versions/$(FLEXTMAJOR).$(FLEXTMINOR)/Headers - ln -sfh ./$(FLEXTMAJOR).$(FLEXTMINOR) $(FLEXTFRAMEWORK)/Versions/Current - ln -sfh ./Versions/Current/Headers $(FLEXTFRAMEWORK)/Headers - install $(TARGET) $(FLEXTFRAMEWORK)/Versions/Current -ifdef SHARED - # make link without lib... and extension - ln -sf ./Versions/Current/$(VERNAME) $(FLEXTFRAMEWORK)/$(patsubst lib%,%,$(basename $(TARGETNAME))) -else - ranlib $(FRAMEWORK)/Versions/Current/$(VERNAME) - ln -sf ./Versions/Current/$(VERNAME) $(FLEXTFRAMEWORK)/$(TARGETNAME) -endif - install $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(FLEXTFRAMEWORK)/Headers -else -# --- install as dynamic library --- - install $(TARGET) $(FLEXTLIB) -ifndef SHARED -# have to rerun ranlib at install dir ?! - ranlib $(FLEXTLIB)/$(VERNAME) -endif -ifdef VERNAME - ln -sf $(VERNAME) $(FLEXTLIB)/$(TARGETNAME) -endif -# make directories - for f in $(dir $(patsubst %,$(FLEXTINC)/%,$(HDRS))); do mkdir -p $$f; done -# install headers (each one separately as relative paths might occur) - for f in $(HDRS); do install $(SRCDIR)/$$f $(FLEXTINC)/$$f; done -endif -# transfer build system -# 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 diff --git a/externals/grill/trunk/flext/buildsys/mac/gnumake-gcc-targets.inc b/externals/grill/trunk/flext/buildsys/mac/gnumake-gcc-targets.inc deleted file mode 100644 index e1c25df06..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/gnumake-gcc-targets.inc +++ /dev/null @@ -1,87 +0,0 @@ -############################################## - -CSRCS := $(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS))) -CPPSRCS := $(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS))) -COBJS := $(patsubst %.c,$(OBJPATH)/%.o,$(filter %.c,$(SRCS))) -CPPOBJS := $(patsubst %.cpp,$(OBJPATH)/%.opp,$(filter %.cpp,$(SRCS))) - -############################################## - -# default target -_build_: $(TARGET) - -$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS)) - touch $@ - -# Attention: $@ doesn't work for paths with spaces.... -$(OBJPATH): - -mkdir -p $(OBJPATH) - -# Attention: $@ doesn't work for paths with spaces.... -$(TARGETPATH): - -mkdir -p $(TARGETPATH) - -##### precompiled header file ################### - -ifdef PRECOMPILE -PRECOMSRC := $(SRCDIR)/$(PRECOMPILE) -else -PRECOMSRC := $(FLEXTINC)/flext.h -endif - -ifdef PRECOMSRC -PRECOMDST := $(OBJPATH)/$(notdir $(PRECOMSRC)).gch -PRECOMINC := -I $(OBJPATH) -endif - -$(PRECOMDST) : $(PRECOMSRC) $(patsubst %,$(SRCDIR)/%,$(HDRS)) - -mkdir -p $(dir $@) - $(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $(PRECOMSRC) -o $@ - - -ifndef ARCH -##### non-architecture-specific compilation ################### - -$(OBJPATH)/%.opp : $(SRCDIR)/%.cpp - -mkdir -p $(dir $@) - $(CXX) -c $(CFLAGS) $(CXXFLAGS) $(DEFS) $(PRECOMINC) $(INCPATH) $^ -o $@ - -$(OBJPATH)/%.o : $(SRCDIR)/%.c - -mkdir -p $(dir $@) - $(CC) -c $(CFLAGS) $(DEFS) $(PRECOMINC) $(INCPATH) $^ -o $@ - -else # ARCH -##### architecture-specific compilation ################### - -define ARCH_COMPILE -$(OBJPATH)/%.opp_$(1) : $(SRCDIR)/%.cpp - -mkdir -p $(dir $$@) - $(CXX) -c $(CFLAGS) $(CXXFLAGS) -arch $(1) $$(CFLAGS_$(1)) $(DEFS) $(PRECOMINC) $(INCPATH) $$^ -o $$@ - -$(OBJPATH)/%.o_$(1) : $(SRCDIR)/%.c - -mkdir -p $(dir $$@) - $(CC) -c $(CFLAGS) -arch $(1) $$(CFLAGS_$(1)) $(DEFS) $(PRECOMINC) $(INCPATH) $$^ -o $$@ -endef - -##### make fat object file ################### - -$(OBJPATH)/%.opp : $(foreach arch,$(ARCH),$(OBJPATH)/%.opp_$(arch)) - lipo $^ -create -output $@ - -$(OBJPATH)/%.o : $(foreach arch,$(ARCH),$(OBJPATH)/%.o_$(arch)) - lipo $^ -create -output $@ - -endif # ARCH - -# implement for all archs in ARCH -# for some strange reason this must be OUTSIDE an ifdef/endif clause -$(foreach arch,$(ARCH),$(eval $(call ARCH_COMPILE,$(arch)))) - - -############################################## - -_clean_: - -rm -rf $(TARGETPATH) - -rm -rf $(OBJPATH) - -############################################## diff --git a/externals/grill/trunk/flext/buildsys/mac/gnumake-gcc.inc b/externals/grill/trunk/flext/buildsys/mac/gnumake-gcc.inc deleted file mode 100644 index d6c8e74eb..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/gnumake-gcc.inc +++ /dev/null @@ -1,86 +0,0 @@ -############################################## - -ifneq (,$(findstring Frameworks,$(FLEXTPREFIX))) -FLEXTFRAMEWORK := $(FLEXTPREFIX)/flext.framework -endif - -ifdef FLEXTFRAMEWORK -ifndef FLEXTLIB -FLEXTLIB := $(FLEXTFRAMEWORK) -endif -ifndef FLEXTINC -FLEXTINC := $(FLEXTFRAMEWORK)/Headers -endif -ifndef FLEXTSYS -FLEXTSYS := $(FLEXTFRAMEWORK)/Resources -endif -else -ifndef FLEXTLIB -FLEXTLIB := $(FLEXTPREFIX)/lib -endif -ifndef FLEXTINC -FLEXTINC := $(FLEXTPREFIX)/include/flext -endif -ifndef FLEXTSYS -FLEXTSYS := $(FLEXTPREFIX)/lib/flext -endif -endif - -FLEXTBIN := $(FLEXTPREFIX)/bin - -############################################## - -CXXFLAGS += -fvisibility-inlines-hidden -LDFLAGS += -dynamic -framework vecLib - -############################################## - -ifdef DEBUG -CFLAGS += -g -LDFLAGS += -g -else -ifdef PROFILE -CFLAGS += -g -LDFLAGS += -g -else -LDFLAGS += -Wl,-S -endif -endif - -############################################## - -ifdef STK_INC -INCPATH += -I$(STK_INC) -endif -ifdef STK_LIB -LIBS += $(STK_LIB) -endif - -############################################## - -ifdef SNDOBJ_INC -INCPATH += -I$(SNDOBJ_INC) -endif -ifdef SNDOBJ_LIB -LIBS += $(SNDOBJ_LIB) -endif - -############################################## - -ifdef LOCKFREE -INCPATH += -I$(LOCKFREE) -endif - -ifdef ATOMIC_OPS -INCPATH += -I$(ATOMIC_OPS)/src -DEFS += -DUSE_ATOMIC_OPS -endif - -############################################## - -LDFLAGS += $(patsubst %,-arch %,$(ARCH)) - -ifdef OSXSDK -CFLAGS += -isysroot $(OSXSDK) -LDFLAGS += -isysroot $(OSXSDK) -endif diff --git a/externals/grill/trunk/flext/buildsys/mac/max/.svn/all-wcprops b/externals/grill/trunk/flext/buildsys/mac/max/.svn/all-wcprops deleted file mode 100644 index 0b2f19555..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/max/.svn/all-wcprops +++ /dev/null @@ -1,29 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 47 -/ext/!svn/ver/3746/trunk/flext/buildsys/mac/max -END -gnumake-gcc-ext.inc -K 25 -svn:wc:ra_dav:version-url -V 67 -/ext/!svn/ver/1247/trunk/flext/buildsys/mac/max/gnumake-gcc-ext.inc -END -gnumake-gcc-flext.inc -K 25 -svn:wc:ra_dav:version-url -V 69 -/ext/!svn/ver/1247/trunk/flext/buildsys/mac/max/gnumake-gcc-flext.inc -END -gnumake-gcc.inc -K 25 -svn:wc:ra_dav:version-url -V 63 -/ext/!svn/ver/1247/trunk/flext/buildsys/mac/max/gnumake-gcc.inc -END -config-gcc.def -K 25 -svn:wc:ra_dav:version-url -V 62 -/ext/!svn/ver/3746/trunk/flext/buildsys/mac/max/config-gcc.def -END diff --git a/externals/grill/trunk/flext/buildsys/mac/max/.svn/entries b/externals/grill/trunk/flext/buildsys/mac/max/.svn/entries deleted file mode 100644 index 8edf6f900..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/max/.svn/entries +++ /dev/null @@ -1,164 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/buildsys/mac/max -https://svn.grrrr.org/ext - - - -2011-03-23T21:00:55.963217Z -3746 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -gnumake-gcc-ext.inc -file - - - - -2012-05-13T23:08:36.077556Z -17ead9eaf4c87da4a5ce905fe3eac919 -2007-02-13T23:04:34.490536Z -1192 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -484 - -gnumake-gcc-flext.inc -file - - - - -2012-05-13T23:08:36.078556Z -428ad1ca14bfff82460a84ba28aff8ec -2007-02-13T23:04:34.490536Z -1192 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -364 - -gnumake-gcc.inc -file - - - - -2012-05-13T23:08:36.079556Z -6a0a5af682282973f77fd6f14a016c08 -2007-02-13T23:04:34.490536Z -1192 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -175 - -config-gcc.def -file - - - - -2012-05-13T23:08:36.080556Z -86b23b668e0175c7d68c7702701d2e32 -2011-03-23T21:00:55.963217Z -3746 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -2226 - diff --git a/externals/grill/trunk/flext/buildsys/mac/max/.svn/prop-base/config-gcc.def.svn-base b/externals/grill/trunk/flext/buildsys/mac/max/.svn/prop-base/config-gcc.def.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/max/.svn/prop-base/config-gcc.def.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/mac/max/.svn/prop-base/gnumake-gcc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/mac/max/.svn/prop-base/gnumake-gcc-ext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/max/.svn/prop-base/gnumake-gcc-ext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/mac/max/.svn/prop-base/gnumake-gcc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/mac/max/.svn/prop-base/gnumake-gcc-flext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/max/.svn/prop-base/gnumake-gcc-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/mac/max/.svn/prop-base/gnumake-gcc.inc.svn-base b/externals/grill/trunk/flext/buildsys/mac/max/.svn/prop-base/gnumake-gcc.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/max/.svn/prop-base/gnumake-gcc.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/mac/max/.svn/text-base/config-gcc.def.svn-base b/externals/grill/trunk/flext/buildsys/mac/max/.svn/text-base/config-gcc.def.svn-base deleted file mode 100644 index 89b76954e..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/max/.svn/text-base/config-gcc.def.svn-base +++ /dev/null @@ -1,82 +0,0 @@ -# where are the Max/MSP SDK header files? -# you should have the latest version! -MAXSDKPATH=/Applications/MaxMSP\ 4.6/MaxMSP-SDK/c74support - -############################################################### - -# prefix for flext installation -# headers are in $(FLEXTPREFIX)/include/flext -# libraries are in $(FLEXTPREFIX)/lib -# build system is in $(FLEXTPREFIX)/lib/flext - -FLEXTPREFIX=/usr/local - -############################################################### - -# where should the external be built? -OUTPATH=max-darwin - -# where should the external be installed? -INSTPATH=/Applications/MaxMSP\ 4.6/Cycling\ \'74/externals/flext - -# where should the initialization files be installed? -INITPATH=/Applications/MaxMSP\ 4.6/Cycling\ \'74/init - -# where should the help files be installed? -HELPPATH=/Applications/MaxMSP\ 4.6/max-help/flext - -############################################################### - -# STK (synthesis tool kit) support -# http://ccrma.stanford.edu/software/stk - -# where to find the STK header files (e.g. stk.h) -#STK_INC=/usr/local/include/stk - -# where to find the STK library (normally libstk.a) -# (comment out STK_LIB if you don't use STK) -#STK_LIB=/usr/local/lib/libstk.a - -############################################################### - -# SndObj support -# http://music.nuim.ie//musictec/SndObj - -# where to find the SndObj header files (e.g. sndobj.h) -#SNDOBJ_INC=/usr/local/include/sndobj - -# where to find the SndObj library (normally libsndobj.a) -# (comment out STK_LIB if you don't use SndObj) -#SNDOBJ_LIB=/usr/local/lib/libsndobj.a - -############################################################### - -# make flags (e.g. use multiprocessor) -MFLAGS=-j 2 - -# user defined compiler flags -UFLAGS += -ffast-math -mmacosx-version-min=10.4 - -# user defined linker flags -LDFLAGS += -mmacosx-version-min=10.4 - -# user defined optimization flags -OFLAGS += -Os # -ftree-vectorize - -# user defined debugging flags -DFLAGS += - -# architecture-specific flags (optional) -UFLAGS_ppc += -mcpu=G4 -faltivec -OFLAGS_ppc += -DFLAGS_ppc += - -UFLAGS_i386 += -mmmx -msse -msse2 -msse3 -mtune=nocona -OFLAGS_i386 += -DFLAGS_i386 += - -# cross-compilation (optional) -ARCH=ppc i386 #x86_64 ppc64 - -# SDK for 10.4 -#OSXSDK=/Developer/SDKs/MacOSX10.4u.sdk diff --git a/externals/grill/trunk/flext/buildsys/mac/max/.svn/text-base/gnumake-gcc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/mac/max/.svn/text-base/gnumake-gcc-ext.inc.svn-base deleted file mode 100644 index 5266a6989..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/max/.svn/text-base/gnumake-gcc-ext.inc.svn-base +++ /dev/null @@ -1,23 +0,0 @@ -EXT=mxo - -############################################## - -LDFLAGS += -bundle - -############################################## - -OBJPATH=$(OUTPATH)/$(OUTSUB) - -# bundle name (build site) -INSTTARGET=$(OBJPATH)/$(OUTNAME).$(EXT) -# folder inside bundle (build site) -TARGETPATH=$(INSTTARGET)/Contents/MacOS -# file inside bundle (build site) -TARGET=$(TARGETPATH)/$(OUTNAME) - -# post build target -TARGETPOST=$(INSTTARGET)/Contents/Pkginfo - -$(INSTTARGET)/Contents/Pkginfo: - echo "iLaX????" >> $@ - diff --git a/externals/grill/trunk/flext/buildsys/mac/max/.svn/text-base/gnumake-gcc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/mac/max/.svn/text-base/gnumake-gcc-flext.inc.svn-base deleted file mode 100644 index 3d5268044..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/max/.svn/text-base/gnumake-gcc-flext.inc.svn-base +++ /dev/null @@ -1,20 +0,0 @@ -ifdef SHARED -EXT=dylib -else -EXT=a -endif - -############################################## - -LDFLAGS += -dynamiclib - -############################################## - -OBJPATH=$(OUTPATH)/$(OUTSUB) -TARGETPATH=$(OBJPATH) - -TARGETNAME=$(OUTNAME).$(EXT) -VERNAME=$(OUTNAME).$(FLEXTMAJOR).$(FLEXTMINOR).$(FLEXTMICRO).$(EXT) -TARGET=$(TARGETPATH)/$(VERNAME) - -INSTTARGET=$(TARGET) diff --git a/externals/grill/trunk/flext/buildsys/mac/max/.svn/text-base/gnumake-gcc.inc.svn-base b/externals/grill/trunk/flext/buildsys/mac/max/.svn/text-base/gnumake-gcc.inc.svn-base deleted file mode 100644 index 44313f626..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/max/.svn/text-base/gnumake-gcc.inc.svn-base +++ /dev/null @@ -1,6 +0,0 @@ -DEFS += -DFLEXT_SYS=1 - -INCPATH += -I$(MAXSDKPATH)/max-includes -I$(MAXSDKPATH)/jit-includes -I$(MAXSDKPATH)/msp-includes - -LDFLAGS += -framework MaxAPI -framework MaxAudioAPI - diff --git a/externals/grill/trunk/flext/buildsys/mac/max/config-gcc.def b/externals/grill/trunk/flext/buildsys/mac/max/config-gcc.def deleted file mode 100644 index 89b76954e..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/max/config-gcc.def +++ /dev/null @@ -1,82 +0,0 @@ -# where are the Max/MSP SDK header files? -# you should have the latest version! -MAXSDKPATH=/Applications/MaxMSP\ 4.6/MaxMSP-SDK/c74support - -############################################################### - -# prefix for flext installation -# headers are in $(FLEXTPREFIX)/include/flext -# libraries are in $(FLEXTPREFIX)/lib -# build system is in $(FLEXTPREFIX)/lib/flext - -FLEXTPREFIX=/usr/local - -############################################################### - -# where should the external be built? -OUTPATH=max-darwin - -# where should the external be installed? -INSTPATH=/Applications/MaxMSP\ 4.6/Cycling\ \'74/externals/flext - -# where should the initialization files be installed? -INITPATH=/Applications/MaxMSP\ 4.6/Cycling\ \'74/init - -# where should the help files be installed? -HELPPATH=/Applications/MaxMSP\ 4.6/max-help/flext - -############################################################### - -# STK (synthesis tool kit) support -# http://ccrma.stanford.edu/software/stk - -# where to find the STK header files (e.g. stk.h) -#STK_INC=/usr/local/include/stk - -# where to find the STK library (normally libstk.a) -# (comment out STK_LIB if you don't use STK) -#STK_LIB=/usr/local/lib/libstk.a - -############################################################### - -# SndObj support -# http://music.nuim.ie//musictec/SndObj - -# where to find the SndObj header files (e.g. sndobj.h) -#SNDOBJ_INC=/usr/local/include/sndobj - -# where to find the SndObj library (normally libsndobj.a) -# (comment out STK_LIB if you don't use SndObj) -#SNDOBJ_LIB=/usr/local/lib/libsndobj.a - -############################################################### - -# make flags (e.g. use multiprocessor) -MFLAGS=-j 2 - -# user defined compiler flags -UFLAGS += -ffast-math -mmacosx-version-min=10.4 - -# user defined linker flags -LDFLAGS += -mmacosx-version-min=10.4 - -# user defined optimization flags -OFLAGS += -Os # -ftree-vectorize - -# user defined debugging flags -DFLAGS += - -# architecture-specific flags (optional) -UFLAGS_ppc += -mcpu=G4 -faltivec -OFLAGS_ppc += -DFLAGS_ppc += - -UFLAGS_i386 += -mmmx -msse -msse2 -msse3 -mtune=nocona -OFLAGS_i386 += -DFLAGS_i386 += - -# cross-compilation (optional) -ARCH=ppc i386 #x86_64 ppc64 - -# SDK for 10.4 -#OSXSDK=/Developer/SDKs/MacOSX10.4u.sdk diff --git a/externals/grill/trunk/flext/buildsys/mac/max/gnumake-gcc-ext.inc b/externals/grill/trunk/flext/buildsys/mac/max/gnumake-gcc-ext.inc deleted file mode 100644 index 5266a6989..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/max/gnumake-gcc-ext.inc +++ /dev/null @@ -1,23 +0,0 @@ -EXT=mxo - -############################################## - -LDFLAGS += -bundle - -############################################## - -OBJPATH=$(OUTPATH)/$(OUTSUB) - -# bundle name (build site) -INSTTARGET=$(OBJPATH)/$(OUTNAME).$(EXT) -# folder inside bundle (build site) -TARGETPATH=$(INSTTARGET)/Contents/MacOS -# file inside bundle (build site) -TARGET=$(TARGETPATH)/$(OUTNAME) - -# post build target -TARGETPOST=$(INSTTARGET)/Contents/Pkginfo - -$(INSTTARGET)/Contents/Pkginfo: - echo "iLaX????" >> $@ - diff --git a/externals/grill/trunk/flext/buildsys/mac/max/gnumake-gcc-flext.inc b/externals/grill/trunk/flext/buildsys/mac/max/gnumake-gcc-flext.inc deleted file mode 100644 index 3d5268044..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/max/gnumake-gcc-flext.inc +++ /dev/null @@ -1,20 +0,0 @@ -ifdef SHARED -EXT=dylib -else -EXT=a -endif - -############################################## - -LDFLAGS += -dynamiclib - -############################################## - -OBJPATH=$(OUTPATH)/$(OUTSUB) -TARGETPATH=$(OBJPATH) - -TARGETNAME=$(OUTNAME).$(EXT) -VERNAME=$(OUTNAME).$(FLEXTMAJOR).$(FLEXTMINOR).$(FLEXTMICRO).$(EXT) -TARGET=$(TARGETPATH)/$(VERNAME) - -INSTTARGET=$(TARGET) diff --git a/externals/grill/trunk/flext/buildsys/mac/max/gnumake-gcc.inc b/externals/grill/trunk/flext/buildsys/mac/max/gnumake-gcc.inc deleted file mode 100644 index 44313f626..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/max/gnumake-gcc.inc +++ /dev/null @@ -1,6 +0,0 @@ -DEFS += -DFLEXT_SYS=1 - -INCPATH += -I$(MAXSDKPATH)/max-includes -I$(MAXSDKPATH)/jit-includes -I$(MAXSDKPATH)/msp-includes - -LDFLAGS += -framework MaxAPI -framework MaxAudioAPI - diff --git a/externals/grill/trunk/flext/buildsys/mac/pd/.svn/all-wcprops b/externals/grill/trunk/flext/buildsys/mac/pd/.svn/all-wcprops deleted file mode 100644 index 4f3ae11a5..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/pd/.svn/all-wcprops +++ /dev/null @@ -1,29 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 46 -/ext/!svn/ver/3722/trunk/flext/buildsys/mac/pd -END -config-gcc.def -K 25 -svn:wc:ra_dav:version-url -V 61 -/ext/!svn/ver/3722/trunk/flext/buildsys/mac/pd/config-gcc.def -END -gnumake-gcc-ext.inc -K 25 -svn:wc:ra_dav:version-url -V 66 -/ext/!svn/ver/1247/trunk/flext/buildsys/mac/pd/gnumake-gcc-ext.inc -END -gnumake-gcc-flext.inc -K 25 -svn:wc:ra_dav:version-url -V 68 -/ext/!svn/ver/1247/trunk/flext/buildsys/mac/pd/gnumake-gcc-flext.inc -END -gnumake-gcc.inc -K 25 -svn:wc:ra_dav:version-url -V 62 -/ext/!svn/ver/1247/trunk/flext/buildsys/mac/pd/gnumake-gcc.inc -END diff --git a/externals/grill/trunk/flext/buildsys/mac/pd/.svn/entries b/externals/grill/trunk/flext/buildsys/mac/pd/.svn/entries deleted file mode 100644 index ff5898735..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/pd/.svn/entries +++ /dev/null @@ -1,164 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/buildsys/mac/pd -https://svn.grrrr.org/ext - - - -2010-01-19T23:47:16.127430Z -3722 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -gnumake-gcc-ext.inc -file - - - - -2012-05-13T23:08:36.058556Z -980475c9d14dcf123a4ed0dcdb993bd2 -2008-01-23T02:04:35.711094Z -1237 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -309 - -gnumake-gcc-flext.inc -file - - - - -2012-05-13T23:08:36.058556Z -1a70263dce18db6b5af2eae0dd0d49de -2005-04-12T23:59:09.541740Z -1059 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -222 - -gnumake-gcc.inc -file - - - - -2012-05-13T23:08:36.059556Z -daa5d70e58289d22a09a31f73513b485 -2007-02-13T23:04:34.490536Z -1192 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -211 - -config-gcc.def -file - - - - -2012-05-13T23:08:36.060556Z -7feb16190ebb48a090907ba7d6d62bc1 -2010-01-19T23:47:16.127430Z -3722 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -2077 - diff --git a/externals/grill/trunk/flext/buildsys/mac/pd/.svn/prop-base/config-gcc.def.svn-base b/externals/grill/trunk/flext/buildsys/mac/pd/.svn/prop-base/config-gcc.def.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/pd/.svn/prop-base/config-gcc.def.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/mac/pd/.svn/prop-base/gnumake-gcc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/mac/pd/.svn/prop-base/gnumake-gcc-ext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/pd/.svn/prop-base/gnumake-gcc-ext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/mac/pd/.svn/prop-base/gnumake-gcc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/mac/pd/.svn/prop-base/gnumake-gcc-flext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/pd/.svn/prop-base/gnumake-gcc-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/mac/pd/.svn/prop-base/gnumake-gcc.inc.svn-base b/externals/grill/trunk/flext/buildsys/mac/pd/.svn/prop-base/gnumake-gcc.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/pd/.svn/prop-base/gnumake-gcc.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/mac/pd/.svn/text-base/config-gcc.def.svn-base b/externals/grill/trunk/flext/buildsys/mac/pd/.svn/text-base/config-gcc.def.svn-base deleted file mode 100644 index f43a8ee96..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/pd/.svn/text-base/config-gcc.def.svn-base +++ /dev/null @@ -1,79 +0,0 @@ -# where is the PD installation including source code? -# (this should point to the main folder, which has a "src" subfolder) -PDPATH=/Applications/Pd-0.42-5.app/Contents/Resources - -# where is the PD executable? -PDBIN=$(PDPATH)/bin/pd - -############################################################### - -# prefix for flext installation -# headers are in $(FLEXTPREFIX)/include/flext -# libraries are in $(FLEXTPREFIX)/lib -# build system is in $(FLEXTPREFIX)/lib/flext - -FLEXTPREFIX=/usr/local - -############################################################### - -# where should the external be built? -OUTPATH=pd-darwin - -# where should the external be installed? -INSTPATH=$(PDPATH)/extra - -############################################################### - -# STK (synthesis tool kit) support -# http://ccrma.stanford.edu/software/stk - -# where to find the STK header files (e.g. stk.h) -#STK_INC=/usr/local/include/stk - -# where to find the STK library (normally libstk.a) -# (comment out STK_LIB if you don't use STK) -#STK_LIB=/usr/local/lib/libstk.a - -############################################################### - -# SndObj support -# http://music.nuim.ie//musictec/SndObj - -# where to find the SndObj header files (e.g. sndobj.h) -#SNDOBJ_INC=/usr/local/include/sndobj - -# where to find the SndObj library (normally libsndobj.a) -# (comment out SNDOBJ_LIB if you don't use SndObj) -#SNDOBJ_LIB=/usr/local/lib/libsndobj.a - -############################################################### - -# make flags (e.g. use multiprocessor) -MFLAGS=-j 2 - -# user defined compiler flags -UFLAGS += -ffast-math -mmacosx-version-min=10.4 - -# user defined linker flags -LDFLAGS += -mmacosx-version-min=10.4 - -# user defined optimization flags -OFLAGS += -O2 # -ftree-vectorize - -# user defined debugging flags -DFLAGS += - -# architecture-specific flags (optional) -UFLAGS_ppc += -mcpu=G4 -faltivec -OFLAGS_ppc += -DFLAGS_ppc += - -UFLAGS_i386 += -mmmx -msse -msse2 -msse3 -mtune=nocona -OFLAGS_i386 += -DFLAGS_i386 += - -# cross-compilation (optional) -ARCH=ppc i386 #x86_64 ppc64 - -# SDK for 10.4 -#OSXSDK=/Developer/SDKs/MacOSX10.4u.sdk diff --git a/externals/grill/trunk/flext/buildsys/mac/pd/.svn/text-base/gnumake-gcc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/mac/pd/.svn/text-base/gnumake-gcc-ext.inc.svn-base deleted file mode 100644 index f5dffdb89..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/pd/.svn/text-base/gnumake-gcc-ext.inc.svn-base +++ /dev/null @@ -1,10 +0,0 @@ -EXT=pd_darwin - -#LDFLAGS += -bundle -bundle_loader $(PDBIN) - -# it seems we are having symbol name clashes with the following "new preferred method" -# so we rather stick to the above "deprecated method" -LDFLAGS += -dynamiclib -undefined dynamic_lookup - -TARGET=$(TARGETPATH)/$(TARGETNAME) -INSTTARGET=$(TARGET) diff --git a/externals/grill/trunk/flext/buildsys/mac/pd/.svn/text-base/gnumake-gcc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/mac/pd/.svn/text-base/gnumake-gcc-flext.inc.svn-base deleted file mode 100644 index 782606fc8..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/pd/.svn/text-base/gnumake-gcc-flext.inc.svn-base +++ /dev/null @@ -1,11 +0,0 @@ -ifdef SHARED -EXT=dylib -else -EXT=a -endif - -LDFLAGS += -dynamiclib -flat_namespace -undefined suppress - -VERNAME=$(OUTNAME).$(FLEXTMAJOR).$(FLEXTMINOR).$(FLEXTMICRO).$(EXT) -TARGET=$(TARGETPATH)/$(VERNAME) -INSTTARGET=$(TARGET) diff --git a/externals/grill/trunk/flext/buildsys/mac/pd/.svn/text-base/gnumake-gcc.inc.svn-base b/externals/grill/trunk/flext/buildsys/mac/pd/.svn/text-base/gnumake-gcc.inc.svn-base deleted file mode 100644 index 9d2fc3f35..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/pd/.svn/text-base/gnumake-gcc.inc.svn-base +++ /dev/null @@ -1,10 +0,0 @@ -DEFS += -DFLEXT_SYS=2 -DPD - -INCPATH += -I$(PDPATH)/src -LIBPATH += -L$(PDPATH)/bin - -############################################## - -OBJPATH=$(OUTPATH)/$(OUTSUB) -TARGETPATH=$(OBJPATH) -TARGETNAME=$(OUTNAME).$(EXT) diff --git a/externals/grill/trunk/flext/buildsys/mac/pd/config-gcc.def b/externals/grill/trunk/flext/buildsys/mac/pd/config-gcc.def deleted file mode 100644 index f43a8ee96..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/pd/config-gcc.def +++ /dev/null @@ -1,79 +0,0 @@ -# where is the PD installation including source code? -# (this should point to the main folder, which has a "src" subfolder) -PDPATH=/Applications/Pd-0.42-5.app/Contents/Resources - -# where is the PD executable? -PDBIN=$(PDPATH)/bin/pd - -############################################################### - -# prefix for flext installation -# headers are in $(FLEXTPREFIX)/include/flext -# libraries are in $(FLEXTPREFIX)/lib -# build system is in $(FLEXTPREFIX)/lib/flext - -FLEXTPREFIX=/usr/local - -############################################################### - -# where should the external be built? -OUTPATH=pd-darwin - -# where should the external be installed? -INSTPATH=$(PDPATH)/extra - -############################################################### - -# STK (synthesis tool kit) support -# http://ccrma.stanford.edu/software/stk - -# where to find the STK header files (e.g. stk.h) -#STK_INC=/usr/local/include/stk - -# where to find the STK library (normally libstk.a) -# (comment out STK_LIB if you don't use STK) -#STK_LIB=/usr/local/lib/libstk.a - -############################################################### - -# SndObj support -# http://music.nuim.ie//musictec/SndObj - -# where to find the SndObj header files (e.g. sndobj.h) -#SNDOBJ_INC=/usr/local/include/sndobj - -# where to find the SndObj library (normally libsndobj.a) -# (comment out SNDOBJ_LIB if you don't use SndObj) -#SNDOBJ_LIB=/usr/local/lib/libsndobj.a - -############################################################### - -# make flags (e.g. use multiprocessor) -MFLAGS=-j 2 - -# user defined compiler flags -UFLAGS += -ffast-math -mmacosx-version-min=10.4 - -# user defined linker flags -LDFLAGS += -mmacosx-version-min=10.4 - -# user defined optimization flags -OFLAGS += -O2 # -ftree-vectorize - -# user defined debugging flags -DFLAGS += - -# architecture-specific flags (optional) -UFLAGS_ppc += -mcpu=G4 -faltivec -OFLAGS_ppc += -DFLAGS_ppc += - -UFLAGS_i386 += -mmmx -msse -msse2 -msse3 -mtune=nocona -OFLAGS_i386 += -DFLAGS_i386 += - -# cross-compilation (optional) -ARCH=ppc i386 #x86_64 ppc64 - -# SDK for 10.4 -#OSXSDK=/Developer/SDKs/MacOSX10.4u.sdk diff --git a/externals/grill/trunk/flext/buildsys/mac/pd/gnumake-gcc-ext.inc b/externals/grill/trunk/flext/buildsys/mac/pd/gnumake-gcc-ext.inc deleted file mode 100644 index f5dffdb89..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/pd/gnumake-gcc-ext.inc +++ /dev/null @@ -1,10 +0,0 @@ -EXT=pd_darwin - -#LDFLAGS += -bundle -bundle_loader $(PDBIN) - -# it seems we are having symbol name clashes with the following "new preferred method" -# so we rather stick to the above "deprecated method" -LDFLAGS += -dynamiclib -undefined dynamic_lookup - -TARGET=$(TARGETPATH)/$(TARGETNAME) -INSTTARGET=$(TARGET) diff --git a/externals/grill/trunk/flext/buildsys/mac/pd/gnumake-gcc-flext.inc b/externals/grill/trunk/flext/buildsys/mac/pd/gnumake-gcc-flext.inc deleted file mode 100644 index 782606fc8..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/pd/gnumake-gcc-flext.inc +++ /dev/null @@ -1,11 +0,0 @@ -ifdef SHARED -EXT=dylib -else -EXT=a -endif - -LDFLAGS += -dynamiclib -flat_namespace -undefined suppress - -VERNAME=$(OUTNAME).$(FLEXTMAJOR).$(FLEXTMINOR).$(FLEXTMICRO).$(EXT) -TARGET=$(TARGETPATH)/$(VERNAME) -INSTTARGET=$(TARGET) diff --git a/externals/grill/trunk/flext/buildsys/mac/pd/gnumake-gcc.inc b/externals/grill/trunk/flext/buildsys/mac/pd/gnumake-gcc.inc deleted file mode 100644 index 9d2fc3f35..000000000 --- a/externals/grill/trunk/flext/buildsys/mac/pd/gnumake-gcc.inc +++ /dev/null @@ -1,10 +0,0 @@ -DEFS += -DFLEXT_SYS=2 -DPD - -INCPATH += -I$(PDPATH)/src -LIBPATH += -L$(PDPATH)/bin - -############################################## - -OBJPATH=$(OUTPATH)/$(OUTSUB) -TARGETPATH=$(OBJPATH) -TARGETNAME=$(OUTNAME).$(EXT) diff --git a/externals/grill/trunk/flext/buildsys/nmake-ext.inc b/externals/grill/trunk/flext/buildsys/nmake-ext.inc deleted file mode 100644 index 1455c83e3..000000000 --- a/externals/grill/trunk/flext/buildsys/nmake-ext.inc +++ /dev/null @@ -1 +0,0 @@ -OUTNAME=$(NAME) diff --git a/externals/grill/trunk/flext/buildsys/nmake-flext.inc b/externals/grill/trunk/flext/buildsys/nmake-flext.inc deleted file mode 100644 index 2e7faf0c3..000000000 --- a/externals/grill/trunk/flext/buildsys/nmake-flext.inc +++ /dev/null @@ -1,3 +0,0 @@ -DEFS=$(DEFS) /DFLEXT_EXPORTS - -OUTNAME=$(FLEXTNAME) diff --git a/externals/grill/trunk/flext/buildsys/nmake-shlib.inc b/externals/grill/trunk/flext/buildsys/nmake-shlib.inc deleted file mode 100644 index 1455c83e3..000000000 --- a/externals/grill/trunk/flext/buildsys/nmake-shlib.inc +++ /dev/null @@ -1 +0,0 @@ -OUTNAME=$(NAME) diff --git a/externals/grill/trunk/flext/buildsys/nmake-sub.mak b/externals/grill/trunk/flext/buildsys/nmake-sub.mak deleted file mode 100644 index c8b78044a..000000000 --- a/externals/grill/trunk/flext/buildsys/nmake-sub.mak +++ /dev/null @@ -1,44 +0,0 @@ -# include flext version number -!include $(BUILDPATH)version.inc - -# general settings -!include $(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt - -############################## -# project-specific definitions - -# package info -!if "$(PKGINFO)" != "" -!include $(PKGINFO) -!endif - -# special package settings -!ifdef USRCONFIG -!include $(USRCONFIG) -!endif - -# package specific make stuff -!ifdef USRMAKE -!include $(USRMAKE) -!endif - -############################## -# flext-specific definitions - -!include $(BUILDPATH)nmake.inc - -!include $(BUILDPATH)nmake-$(BUILDCLASS).inc - -############################## -# platform-specific make stuff - -!include $(BUILDPATH)$(PLATFORM)\$(RTSYS)\nmake-$(COMPILER).inc - -!include $(BUILDPATH)$(PLATFORM)\$(RTSYS)\nmake-$(COMPILER)-$(BUILDCLASS).inc - -############################## -# general make stuff - -!include $(BUILDPATH)$(PLATFORM)\nmake-$(COMPILER).inc - -!include $(BUILDPATH)$(PLATFORM)\nmake-$(COMPILER)-$(BUILDCLASS).inc diff --git a/externals/grill/trunk/flext/buildsys/nmake.inc b/externals/grill/trunk/flext/buildsys/nmake.inc deleted file mode 100644 index fd1bb50d9..000000000 --- a/externals/grill/trunk/flext/buildsys/nmake.inc +++ /dev/null @@ -1,64 +0,0 @@ -############################################## -# flext defines -############################################## - -CFLAGS=$(CFLAGS) $(UFLAGS) - -!ifdef DEBUG -CFLAGS=$(CFLAGS) /D_DEBUG $(DFLAGS) -!else -CFLAGS=$(CFLAGS) /DNDEBUG $(OFLAGS) -!endif - - -!ifdef SHARED -# --- shared --- -DEFS=$(DEFS) /DFLEXT_SHARED - -!elseifdef THREADED -# --- static multi-threaded --- -DEFS=$(DEFS) /DFLEXT_THREADS - -!else -# --- static single-threaded --- - -!endif - -############################################## -# name of flext library -############################################## - -!ifdef SHARED -TYPEEXT=_ -!else -!ifdef THREADED -TYPEEXT=_t -!else -TYPEEXT=_s -!endif -!endif - -!ifdef DEBUG -MODEEXT=d -!else -!ifdef PROFILE -MODEEXT=p -!else -MODEEXT= -!ifdef SHARED -TYPEEXT= -!endif -!endif -!endif - -FLEXTNAME=flext-$(RTSYS)$(TYPEEXT)$(MODEEXT) - -############################################## -# product name and folder -############################################## - -!ifndef SRCDIR -SRCDIR=. -!endif - -OUTSUB=$(TARGETMODE)-$(TARGETTYPE) diff --git a/externals/grill/trunk/flext/buildsys/nmake.mak b/externals/grill/trunk/flext/buildsys/nmake.mak deleted file mode 100644 index b2e89ef10..000000000 --- a/externals/grill/trunk/flext/buildsys/nmake.mak +++ /dev/null @@ -1,110 +0,0 @@ -# required settings: -# -# PLATFORM - win/mac/lnx -# RTSYS - pd/max -# COMPILER - msvc/gcc/mingw/cygwin -# BUILDPATH including trailing \ - -############################################### -# package info - -!ifndef PKGINFO -PKGINFO=package.txt -!endif - -!if "$(PKGINFO)" != "" -!include $(PKGINFO) -!endif - -!ifndef NAME -!error NAME variable must be defined (name of target) -!endif - -!ifndef SRCS -!error SRCS variable must be defined (list of source files) -!endif - -############################################### -# check variables - -!ifndef BUILDCLASS -BUILDCLASS=ext -!endif - -!ifndef BUILDMODE -BUILDMODE=release -!endif - -!ifndef BUILDTYPE -BUILDTYPE=single -!endif - -############################## - -#!ifndef TARGETMODE -#TARGETMODE=$(BUILDMODE) -#!endif - -#!ifndef TARGETTYPE -#TARGETTYPE=$(BUILDTYPE) -#!endif - -############################################### - -SYSCONFIG=$(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt -SYSDEFAULT=$(BUILDPATH)$(PLATFORM)\$(RTSYS)\config-$(COMPILER).def - -MAKE_OPTIONS=/NOLOGO /f $(BUILDPATH)nmake-sub.mak \ - PLATFORM=$(PLATFORM) RTSYS=$(RTSYS) COMPILER=$(COMPILER) \ - BUILDPATH=$(BUILDPATH) PKGINFO=$(PKGINFO) BUILDCLASS=$(BUILDCLASS) - -############################################### - -!ifdef BUILDDIR -USRCONFIG=config.txt -USRDEFAULT=$(BUILDDIR)\config-$(PLATFORM).def - -USRMAKE=$(BUILDDIR)\nmake-$(PLATFORM)-$(COMPILER).inc - -MAKE_OPTIONS=$(MAKE_OPTIONS) $(MFLAGS) USRCONFIG=$(USRCONFIG) USRMAKE=$(USRMAKE) -!endif - -############################################### -# include file describing default target dependencies - -!include $(BUILDPATH)targets.inc - -!include $(BUILDPATH)targets-$(BUILDCLASS).inc - -############################################### - -.precious: $(SYSCONFIG) $(USRCONFIG) - -$(SYSCONFIG): $(SYSDEFAULT) - @copy $** $@ - @echo ------------------------------------------------------------------------- - @echo A default system configuration file has been created. - @echo Please edit $(SYSCONFIG) - @echo to match your platform and start again. - @echo ------------------------------------------------------------------------- - @exit 1 - -!ifdef BUILDDIR -$(USRCONFIG): $(USRDEFAULT) - @copy $** $@ - @echo ------------------------------------------------------------------------- - @echo A default package configuration file has been created. - @echo Please edit $(USRCONFIG) and start again. - @echo ------------------------------------------------------------------------- - @exit 1 - -$(USRDEFAULT) $(USRMAKE): - @echo ------------------------------------------------------------------------- - @echo Your combination of platform, system and compiler is not supported yet. - @echo Required files: - @echo $(USRDEFAULT) - @echo and - @echo $(USRMAKE) - @echo ------------------------------------------------------------------------- - @exit 1 -!endif diff --git a/externals/grill/trunk/flext/buildsys/readme.txt b/externals/grill/trunk/flext/buildsys/readme.txt deleted file mode 100644 index 4fa74ad43..000000000 --- a/externals/grill/trunk/flext/buildsys/readme.txt +++ /dev/null @@ -1,180 +0,0 @@ -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. - ----------------------------------------------------------------------------- - -At the moment this is more like a sketchboard, but i'll promise to bring some -order into it some fine day in the not too distant future. - ----------------------------------------------------------------------------- - -Build scripts -============= - -Depending on platform the build process is run with -build.sh -or -build.bat - - -Arguments: PLATFORM SYSTEM COMPILER {TARGET} {definitions} - -PLATFORM: win / lnx / mac -SYSTEM: pd / max -COMPILER: msvc / gcc / mingw / cygwin / bcc / icc - -TARGET: (default is all) - all, build - build package in default style - install - install package - clean - clean build products - - config - test if configuration needs refreshing - -or - build-MODE-TYPE - install-MODE-TYPE - clean-MODE-TYPE - -with - MODE: default, all, release, debug, profile - TYPE: default, all, single, multi, shared - - -Additional definitions can be passed to the make program -like - "PKGINFO=info.txt" (defines new filename for package information) -or - "PKGINFO=" (package information will be skipped - only for config target) - -For more macro names, see below - - -For each of the supported combinations of PLATFORM, SYSTEM and COMPILER -a MAKE program has been chosen, normally the one that comes with the compiler. - -For gcc it is GNU make (gnumake) -For msvc it is Microsoft make (nmake) -For bcc it is Borland make (bmake) - - - -Package info (package.txt) -========================== - -Package information contains vital information for the build process. -Obligatory are only: - -NAME: resulting filename of the build product -SRCS: list of source files - - -Normally also used are: - -HDRS: used header files, which SRCS files are dependent upon -SRCDIR: source folder (relative to project folder), default is . - - -Other settings: - -PRECOMPILE: prefix header file (in SRCDIR) for all source files, - will be precompiled if supported by the compiler - -BUILDCLASS: can currently be flext or ext, default is ext. - flext will build the flext system - ext will build a flext-based external - -BUILDMODE: release or debug, default is release - if release, optimization flags will be used - if debug, debug information will be generated - if profile, profiling information will be generated (with debug info and optimization) - -BUILDTYPE: single, multi or shared, default is single - if single, it will be linked against the single-threaded static flext library - if multi, it will be linked against the multi-threaded static flext library - if shared, it will be linked against the shared flext library - -BUILDDIR: relative folder with additional build settings - - - -Additional build settings (BUILDDIR) -==================================== - -If BUILDDIR is defined, all PLATFORM-SYSTEM-COMPILER combinations to support -must are mirrored by the respective .def and .inc files in the BUILDDIR. - - -config-PLATFORM.def files (e.g. config-lnx.def) : - - These files can contain additional macro definitions, that are private - to the project. - The definitions should be strictly in the form SETTING=value, without any - make-specific macros etc. - The .def files work as templates that get copied to a user-editable - config.txt file when the build process is first started. - - -MAKE-PLATFORM-COMPILER.inc files -(e.g. gnumake-lnx-gcc.inc or nmake-win-msvc.inc): - - These files (which are no considered to be edited by the user) can contain - specific modifications to compiler flags, include file paths etc. - - For gnumake this would e.g. be - INCPATH += -I/usr/local/include/python2.3 - - for nmake or bmake e.g. - INCPATH = $(INCPATH) -I"c:\program files\Python2.3\include" - - -Structure of build system -========================= - -The build system has several levels of information, which are evaluated in the -following order (see also buildsys/MAKE-sub.mak) - -Project level: -- PKGINFO file (e.g. package.txt) -- USRCONFIG file (e.g. config.txt) -- USRMAKE file (e.g. build/gnumake-lnx-gcc.inc) - -General definitions (in buildsys): - -- MAKE.inc (e.g. buildsys/gnumake.inc) - contains evaluation of flext library name, build directory etc. -- MAKE-BUILDCLASS.inc (e.g. buildsys/gnumake-ext.inc) - contains some more flag settings - -Real-time-system-dependent definitions (in buildsys/PLATFORM/SYSTEM): - -- MAKE-COMPILER.inc (e.g. buildsys/lnx/pd/gnumake-gcc.inc) - contains general real-time-system dependent info (e.g. paths, FLEXT_SYS setting) -- MAKE-COMPILER-BUILDCLASS.inc (e.g. buildsys/lnx/pd/gnumake-gcc-ext.inc) - contains specific real-time-system dependent info (e.g. extension of binary) - -Platform-dependent definitions (in buildsys/PLATFORM): - -- MAKE-COMPILER.inc (e.g. buildsys/lnx/gnumake-gcc.inc) - contains general platform-specific flags -- MAKE-COMPILER-BUILDCLASS.inc (e.g. buildsys/lnx/gnumake-gcc-ext.inc) - contains the actual make targets (_build_,_clean_ and _install_) - - -Macro names -=============== - -PKGINFO - filename for package information (must reside in project folder) - -UFLAGS - user defined compiler flags -OFLAGS - user defined optimization flags (not used in debug builds) - -CFLAGS - compiler flags -LDFLAGS - linker flags - -INCPATH - include file path (must come with e.g. -I ) -LIBPATH - library path (must come with e.g. -L ) - -LIBS - libraries to link in (must come with e.g. -l ) diff --git a/externals/grill/trunk/flext/buildsys/targets-ext.inc b/externals/grill/trunk/flext/buildsys/targets-ext.inc deleted file mode 100644 index b8031522f..000000000 --- a/externals/grill/trunk/flext/buildsys/targets-ext.inc +++ /dev/null @@ -1,51 +0,0 @@ -build-default-default: build-$(BUILDMODE)-$(BUILDTYPE) - -build-all-default: build-all-$(BUILDTYPE) - -build-release-default: build-release-$(BUILDTYPE) - -build-debug-default: build-debug-$(BUILDTYPE) - -build-profile-default: build-profile-$(BUILDTYPE) - -build-default-all: build-$(BUILDMODE)-all - -build-default-single: build-$(BUILDMODE)-single - -build-default-multi: build-$(BUILDMODE)-multi - -build-default-shared: build-$(BUILDMODE)-shared - - -install-default-default: install-$(BUILDMODE)-$(BUILDTYPE) - -install-all-default: install-all-$(BUILDTYPE) - -install-release-default: install-release-$(BUILDTYPE) - -install-debug-default: install-debug-$(BUILDTYPE) - -install-default-all: install-$(BUILDMODE)-all - -install-default-single: install-$(BUILDMODE)-single - -install-default-multi: install-$(BUILDMODE)-multi - -install-default-shared: install-$(BUILDMODE)-shared - - -clean-default-default: clean-$(BUILDMODE)-$(BUILDTYPE) - -clean-all-default: clean-all-$(BUILDTYPE) - -clean-release-default: clean-release-$(BUILDTYPE) - -clean-debug-default: clean-debug-$(BUILDTYPE) - -clean-default-all: clean-$(BUILDMODE)-all - -clean-default-single: clean-$(BUILDMODE)-single - -clean-default-multi: clean-$(BUILDMODE)-multi - -clean-default-shared: clean-$(BUILDMODE)-shared diff --git a/externals/grill/trunk/flext/buildsys/targets-flext.inc b/externals/grill/trunk/flext/buildsys/targets-flext.inc deleted file mode 100644 index e0e984cfb..000000000 --- a/externals/grill/trunk/flext/buildsys/targets-flext.inc +++ /dev/null @@ -1,52 +0,0 @@ -build-default-default: build-all-all - -build-all-default: build-all-all - -build-release-default: build-release-all - -build-debug-default: build-debug-all - -build-profile-default: build-profile-all - -build-default-all: build-all-all - -build-default-single: build-all-single - -build-default-multi: build-all-multi - -build-default-shared: build-all-shared - - -install-default-default: install-all-all - -install-all-default: install-all-all - -install-release-default: install-release-all - -install-debug-default: install-debug-all - -install-default-all: install-all-all - -install-default-single: install-all-single - -install-default-multi: install-all-multi - -install-default-shared: install-all-shared - - -clean-default-default: clean-all-all - -clean-all-default: clean-all-all - -clean-release-default: clean-release-all - -clean-debug-default: clean-debug-all - -clean-default-all: clean-all-all - -clean-default-single: clean-all-single - -clean-default-multi: clean-all-multi - -clean-default-shared: clean-all-shared - diff --git a/externals/grill/trunk/flext/buildsys/targets-shlib.inc b/externals/grill/trunk/flext/buildsys/targets-shlib.inc deleted file mode 100644 index b8031522f..000000000 --- a/externals/grill/trunk/flext/buildsys/targets-shlib.inc +++ /dev/null @@ -1,51 +0,0 @@ -build-default-default: build-$(BUILDMODE)-$(BUILDTYPE) - -build-all-default: build-all-$(BUILDTYPE) - -build-release-default: build-release-$(BUILDTYPE) - -build-debug-default: build-debug-$(BUILDTYPE) - -build-profile-default: build-profile-$(BUILDTYPE) - -build-default-all: build-$(BUILDMODE)-all - -build-default-single: build-$(BUILDMODE)-single - -build-default-multi: build-$(BUILDMODE)-multi - -build-default-shared: build-$(BUILDMODE)-shared - - -install-default-default: install-$(BUILDMODE)-$(BUILDTYPE) - -install-all-default: install-all-$(BUILDTYPE) - -install-release-default: install-release-$(BUILDTYPE) - -install-debug-default: install-debug-$(BUILDTYPE) - -install-default-all: install-$(BUILDMODE)-all - -install-default-single: install-$(BUILDMODE)-single - -install-default-multi: install-$(BUILDMODE)-multi - -install-default-shared: install-$(BUILDMODE)-shared - - -clean-default-default: clean-$(BUILDMODE)-$(BUILDTYPE) - -clean-all-default: clean-all-$(BUILDTYPE) - -clean-release-default: clean-release-$(BUILDTYPE) - -clean-debug-default: clean-debug-$(BUILDTYPE) - -clean-default-all: clean-$(BUILDMODE)-all - -clean-default-single: clean-$(BUILDMODE)-single - -clean-default-multi: clean-$(BUILDMODE)-multi - -clean-default-shared: clean-$(BUILDMODE)-shared diff --git a/externals/grill/trunk/flext/buildsys/targets.inc b/externals/grill/trunk/flext/buildsys/targets.inc deleted file mode 100644 index 3107b342a..000000000 --- a/externals/grill/trunk/flext/buildsys/targets.inc +++ /dev/null @@ -1,148 +0,0 @@ -all: build - -build: build-default-default - -profile: build-profile-default - -clean: clean-default-default - -install: install-default-default - -########################################################### - -build-all-all: build-release-all build-debug-all - -build-release-all: build-release-single build-release-multi build-release-shared - -build-debug-all: build-debug-single build-debug-multi build-debug-shared - -build-profile-all: build-profile-single build-profile-multi build-profile-shared - -build-all-single: build-release-single build-debug-single - -build-all-multi: build-release-multi build-debug-multi - -build-all-shared: build-release-shared build-debug-shared - -################################################### - -install-all-all: install-release-all install-debug-all - -install-release-all: install-release-single install-release-multi install-release-shared - -install-debug-all: install-debug-single install-debug-multi install-debug-shared - -install-profile-all: install-profile-single install-profile-multi install-profile-shared - -install-all-single: install-release-single install-debug-single - -install-all-multi: install-release-multi install-debug-multi - -install-all-shared: install-release-shared install-debug-shared - -################################################### - -clean-all-all: clean-release-all clean-debug-all - -clean-release-all: clean-release-single clean-release-multi clean-release-shared - -clean-debug-all: clean-debug-single clean-debug-multi clean-debug-shared - -clean-profile-all: clean-profile-single clean-profile-multi clean-profile-shared - -clean-all-single: clean-release-single clean-debug-single - -clean-all-multi: clean-release-multi clean-debug-multi - -clean-all-shared: clean-release-shared clean-debug-shared - -########################################################### - -build-release-single: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=release TARGETTYPE=single _build_ - -build-debug-single: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=debug TARGETTYPE=single DEBUG=1 _build_ - -build-profile-single: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=profile TARGETTYPE=single PROFILE=1 _build_ - -build-release-multi: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=release TARGETTYPE=multi THREADED=1 _build_ - -build-debug-multi: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=debug TARGETTYPE=multi THREADED=1 DEBUG=1 _build_ - -build-profile-multi: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=profile TARGETTYPE=multi THREADED=1 PROFILE=1 _build_ - -build-release-shared: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=release TARGETTYPE=shared SHARED=1 _build_ - -build-debug-shared: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=debug TARGETTYPE=shared SHARED=1 DEBUG=1 _build_ - -build-profile-shared: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=profile TARGETTYPE=shared SHARED=1 PROFILE=1 _build_ - -########################################################### - -install-release-single: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=release TARGETTYPE=single _install_ - -install-debug-single: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=debug TARGETTYPE=single DEBUG=1 _install_ - -install-profile-single: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=profile TARGETTYPE=single PROFILE=1 _install_ - -install-release-multi: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=release TARGETTYPE=multi THREADED=1 _install_ - -install-debug-multi: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=debug TARGETTYPE=multi THREADED=1 DEBUG=1 _install_ - -install-profile-multi: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=profile TARGETTYPE=multi THREADED=1 PROFILE=1 _install_ - -install-release-shared: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=release TARGETTYPE=shared SHARED=1 _install_ - -install-debug-shared: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=debug TARGETTYPE=shared SHARED=1 DEBUG=1 _install_ - -install-profile-shared: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=profile TARGETTYPE=shared SHARED=1 PROFILE=1 _install_ - -########################################################### - -clean-release-single: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=release TARGETTYPE=single _clean_ - -clean-debug-single: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=debug TARGETTYPE=single DEBUG=1 _clean_ - -clean-profile-single: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=profile TARGETTYPE=single PROFILE=1 _clean_ - -clean-release-multi: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=release TARGETTYPE=multi THREADED=1 _clean_ - -clean-debug-multi: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=debug TARGETTYPE=multi THREADED=1 DEBUG=1 _clean_ - -clean-profile-multi: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=profile TARGETTYPE=multi THREADED=1 PROFILE=1 _clean_ - -clean-release-shared: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=release TARGETTYPE=shared SHARED=1 _clean_ - -clean-debug-shared: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=debug TARGETTYPE=shared SHARED=1 DEBUG=1 _clean_ - -clean-profile-shared: config - $(MAKE) $(MAKE_OPTIONS) TARGETMODE=profile TARGETTYPE=shared SHARED=1 PROFILE=1 _clean_ - -########################################################### - -config: $(USRMAKE) $(SYSCONFIG) $(USRCONFIG) diff --git a/externals/grill/trunk/flext/buildsys/version.inc b/externals/grill/trunk/flext/buildsys/version.inc deleted file mode 100644 index 6db62bbeb..000000000 --- a/externals/grill/trunk/flext/buildsys/version.inc +++ /dev/null @@ -1,3 +0,0 @@ -FLEXTMAJOR=0 -FLEXTMINOR=5 -FLEXTMICRO=2 diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/all-wcprops b/externals/grill/trunk/flext/buildsys/win/.svn/all-wcprops deleted file mode 100644 index 94438b713..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/all-wcprops +++ /dev/null @@ -1,107 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 43 -/ext/!svn/ver/3697/trunk/flext/buildsys/win -END -gnumake-gcc-targets.inc -K 25 -svn:wc:ra_dav:version-url -V 67 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/gnumake-gcc-targets.inc -END -nmake-msvc-ext.inc -K 25 -svn:wc:ra_dav:version-url -V 62 -/ext/!svn/ver/3652/trunk/flext/buildsys/win/nmake-msvc-ext.inc -END -nmake-msvc-shlib.inc -K 25 -svn:wc:ra_dav:version-url -V 64 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/nmake-msvc-shlib.inc -END -gnumake-gcc-flext.inc -K 25 -svn:wc:ra_dav:version-url -V 65 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/gnumake-gcc-flext.inc -END -nmake-msvc.inc -K 25 -svn:wc:ra_dav:version-url -V 58 -/ext/!svn/ver/3674/trunk/flext/buildsys/win/nmake-msvc.inc -END -bmake-bcc-ext.inc -K 25 -svn:wc:ra_dav:version-url -V 61 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/bmake-bcc-ext.inc -END -bmake-bcc.inc -K 25 -svn:wc:ra_dav:version-url -V 57 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/bmake-bcc.inc -END -gnumake-mingw-ext.inc -K 25 -svn:wc:ra_dav:version-url -V 65 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/gnumake-mingw-ext.inc -END -gnumake-cygwin-flext.inc -K 25 -svn:wc:ra_dav:version-url -V 68 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/gnumake-cygwin-flext.inc -END -gnumake-mingw.inc -K 25 -svn:wc:ra_dav:version-url -V 61 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/gnumake-mingw.inc -END -gnumake-gcc-ext.inc -K 25 -svn:wc:ra_dav:version-url -V 63 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/gnumake-gcc-ext.inc -END -nmake-msvc-flext.inc -K 25 -svn:wc:ra_dav:version-url -V 64 -/ext/!svn/ver/3674/trunk/flext/buildsys/win/nmake-msvc-flext.inc -END -gnumake-gcc.inc -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/gnumake-gcc.inc -END -gnumake-cygwin-ext.inc -K 25 -svn:wc:ra_dav:version-url -V 66 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/gnumake-cygwin-ext.inc -END -bmake-bcc-flext.inc -K 25 -svn:wc:ra_dav:version-url -V 63 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/bmake-bcc-flext.inc -END -gnumake-cygwin.inc -K 25 -svn:wc:ra_dav:version-url -V 62 -/ext/!svn/ver/3696/trunk/flext/buildsys/win/gnumake-cygwin.inc -END -gnumake-mingw-flext.inc -K 25 -svn:wc:ra_dav:version-url -V 67 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/gnumake-mingw-flext.inc -END diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/entries b/externals/grill/trunk/flext/buildsys/win/.svn/entries deleted file mode 100644 index 9568b8f0a..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/entries +++ /dev/null @@ -1,612 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/buildsys/win -https://svn.grrrr.org/ext - - - -2009-07-07T12:40:50.487949Z -3697 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -nmake-msvc-ext.inc -file - - - - -2012-05-13T23:08:36.024556Z -3daa5e961f6aceb04e946da631d8e37b -2009-01-20T12:18:59.501697Z -3652 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1287 - -nmake-msvc-shlib.inc -file - - - - -2012-05-13T23:08:36.025556Z -16542a567328138b2b9155965def06ed -2008-01-14T17:16:35.661803Z -1226 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -986 - -gnumake-gcc-flext.inc -file - - - - -2012-05-13T23:08:36.026556Z -b461a72937405fd3e7cd308c548c8799 -2008-01-14T17:16:35.661803Z -1226 -thomas - - - - - - - - - - - - - - - - - - - - - -1354 - -nmake-msvc.inc -file - - - - -2012-05-13T23:08:36.025556Z -8d3ec3b034ec1ef01e2534b81f3a6437 -2009-03-07T00:04:02.678800Z -3674 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1575 - -bmake-bcc-ext.inc -file - - - - -2012-05-13T23:08:36.027556Z -9e980f63040ccb7c2c425aa3258c590d -2008-01-14T17:16:35.661803Z -1226 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1351 - -gnumake-mingw-ext.inc -file - - - - -2012-05-13T23:08:36.027556Z -9fc634a5da3efa12f9d9307b30ce4ca7 -2008-01-14T17:16:35.661803Z -1226 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1266 - -bmake-bcc.inc -file - - - - -2012-05-13T23:08:36.028556Z -b14b32299bde9ab7c302943aa2988a04 -2008-01-14T17:16:35.661803Z -1226 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1021 - -gnumake-cygwin-flext.inc -file - - - - -2012-05-13T23:08:36.029556Z -7709a1c6c62f17d1aaaff1586b534134 -2005-07-19T22:59:30.085347Z -1107 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1049 - -gnumake-mingw.inc -file - - - - -2012-05-13T23:08:36.029556Z -3cdf7f6c9fa3289817efeed8061d9789 -2008-01-14T17:16:35.661803Z -1226 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -794 - -max -dir - -gnumake-gcc-ext.inc -file - - - - -2012-05-13T23:08:36.019556Z -32165366b68599509434c602eaee6333 -2008-01-14T17:16:35.661803Z -1226 -thomas - - - - - - - - - - - - - - - - - - - - - -759 - -nmake-msvc-flext.inc -file - - - - -2012-05-13T23:08:36.020556Z -8712cca11dc67b162713c91d61acb25e -2009-03-07T00:04:02.678800Z -3674 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1673 - -gnumake-gcc.inc -file - - - - -2012-05-13T23:08:36.019556Z -a8e27ad4866e599251ab52e76dd0b9c5 -2008-01-14T17:16:35.661803Z -1226 -thomas - - - - - - - - - - - - - - - - - - - - - -821 - -gnumake-cygwin-ext.inc -file - - - - -2012-05-13T23:08:36.020556Z -67f8a908a1412a804552b825e07565af -2005-07-19T23:02:10.165397Z -1108 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -885 - -bmake-bcc-flext.inc -file - - - - -2012-05-13T23:08:36.021556Z -4ed5015f0ee86db44596562d06bccada -2008-01-14T17:16:35.661803Z -1226 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1734 - -gnumake-cygwin.inc -file - - - - -2012-05-13T23:08:36.022556Z -36dd9411f60ce1890de43f0a5a840c17 -2009-06-17T14:18:23.551718Z -3696 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -835 - -gnumake-mingw-flext.inc -file - - - - -2012-05-13T23:08:36.023556Z -f4b6b30d68d574b65edd3636ab10e658 -2005-01-12T20:00:40.753609Z -977 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1294 - -gnumake-gcc-targets.inc -file - - - - -2012-05-13T23:08:36.023556Z -7f41c595abfc135dc28b341c95245352 -2008-01-14T17:16:35.661803Z -1226 -thomas - - - - - - - - - - - - - - - - - - - - - -1401 - -pd -dir - diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/bmake-bcc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/bmake-bcc-ext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/bmake-bcc-ext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/bmake-bcc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/bmake-bcc-flext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/bmake-bcc-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/bmake-bcc.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/bmake-bcc.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/bmake-bcc.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/gnumake-cygwin-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/gnumake-cygwin-ext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/gnumake-cygwin-ext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/gnumake-cygwin-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/gnumake-cygwin-flext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/gnumake-cygwin-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/gnumake-cygwin.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/gnumake-cygwin.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/gnumake-cygwin.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/gnumake-mingw-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/gnumake-mingw-ext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/gnumake-mingw-ext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/gnumake-mingw-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/gnumake-mingw-flext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/gnumake-mingw-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/gnumake-mingw.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/gnumake-mingw.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/gnumake-mingw.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/nmake-msvc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/nmake-msvc-ext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/nmake-msvc-ext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/nmake-msvc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/nmake-msvc-flext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/nmake-msvc-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/nmake-msvc-shlib.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/nmake-msvc-shlib.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/nmake-msvc-shlib.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/nmake-msvc.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/nmake-msvc.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/prop-base/nmake-msvc.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/bmake-bcc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/text-base/bmake-bcc-ext.inc.svn-base deleted file mode 100644 index 89f4adcb2..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/bmake-bcc-ext.inc.svn-base +++ /dev/null @@ -1,63 +0,0 @@ -# build class specific settings - -INCPATH=$(INCPATH) -I$(FLEXTINC) -LIBPATH=$(LIBPATH) -L$(FLEXTLIB) -LIBS=$(LIBS) $(FLEXTNAME).lib - -!ifndef SHARED -!ifdef SNDOBJ -LIBS=$(LIBS) $(SNDOBJ)\lib\SndObj.lib -!endif - -!ifdef STK -LIBS=$(LIBS) $(STK)\src\Stk.obj -!endif -!endif - -############################################## - -# default target -_build_: $(TARGET) - -$(OUTPATH): - if not exist $@ mkdir $@ > nul - -$(TARGETPATH): $(OUTPATH) - if not exist $@ mkdir $@ > nul - -SETUPFUNCTION=$(NAME)_setup - -$(TARGETPATH)\$(NAME).def: $(TARGETPATH) - @echo EXPORTS $(SETUPFUNCTION) = _$(SETUPFUNCTION) > $@ -# this next line fixes a strange problem with implib - lacking underscore?! - @echo IMPORTS _rtext_retext=PD.rtext_retext >> $@ - -$(TARGET) :: $(TARGETPATH)\$(NAME).def - -{$(SRCDIR)}.cpp{}.obj: - bcc32 -c $(CFLAGS) $(DEFS) $(INCPATH) -n$(TARGETPATH) $< - -{$(SRCDIR)}.c{}.obj: - bcc32 -c $(CFLAGS) $(DEFS) $(INCPATH) -n$(TARGETPATH) $< - -$(TARGET) :: $(TARGETPATH) - -$(TARGET) :: $(OBJS) - @cd $(TARGETPATH) - ilink32 $(LDFLAGS) $(LIBPATH) -L. $(OBJS) ,$(<F),,$(LIBS),$(NAME).def - @cd ..\.. - -############################################## -# remove build - -_clean_: - -del /q $(TARGETPATH)\*.* > nul - -rmdir /q $(TARGETPATH) > nul - -############################################## - -$(INSTPATH): - if not exist $@ mkdir $@ > nul - -_install_: $(INSTPATH) - copy $(TARGET) $(INSTPATH) > nul diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/bmake-bcc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/text-base/bmake-bcc-flext.inc.svn-base deleted file mode 100644 index 02103f4c7..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/bmake-bcc-flext.inc.svn-base +++ /dev/null @@ -1,84 +0,0 @@ -# build class specific settings - -!ifdef SHARED - -!ifdef SNDOBJ -LIBS=$(LIBS) $(SNDOBJ)\lib\SndObj.lib -SRCS=$(SRCS) $(SRCS_SNDOBJ) -!endif - -!ifdef STK -LIBS=$(LIBS) $(STK)\src\Stk.obj -SRCS=$(SRCS) $(SRCS_STKOBJ) -!endif - -!endif - -############################################## - -# default target -_build_: $(TARGET) - -$(OUTPATH): - if not exist $@ mkdir $@ > nul - -$(TARGETPATH): $(OUTPATH) - if not exist $@ mkdir $@ > nul - -{$(SRCDIR)}.cpp{}.obj: - bcc32 -c $(CFLAGS) $(DEFS) $(INCPATH) -n$(TARGETPATH) $< - -{$(SRCDIR)}.c{}.obj: - bcc32 -c $(CFLAGS) $(DEFS) $(INCPATH) -n$(TARGETPATH) $< - - -$(TARGETPATH)\pd.lib : $(PDPATH)\bin\pd.dll - implib -a $< $** - -$(TARGETPATH)\pthreadVC.lib : $(PDPATH)\bin\pthreadVC.dll - implib -a $< $** - -PDTARGETS=$(TARGETPATH)\pd.lib $(TARGETPATH)\pthreadVC.lib - - -$(TARGET) :: $(TARGETPATH) $(PDTARGETS) - -$(TARGET) :: $(OBJS) - @cd $(TARGETPATH) -!ifdef SHARED - ilink32 $(LDFLAGS) $(LIBPATH) -L. $(OBJS) ,$(<F),,$(LIBS) - implib -a $(<B).lib $(<F) -!else - -del $(<F) - tlib "$(<F)" +$(OBJS: = +) -!endif - @cd ..\.. - -############################################## - -_clean_: - -del /q $(TARGETPATH)\*.* > nul - -rmdir /q $(TARGETPATH) > nul - -############################################## - -!ifdef SHARED -FLEXTLIBINST=$(FLEXTSHLIB) -!else -FLEXTLIBINST=$(FLEXTLIB) -!endif - -_install_: - @if not exist $(FLEXTINC) mkdir $(FLEXTINC) > nul - @if not exist $(FLEXTLIB) mkdir $(FLEXTLIB) > nul - @if not exist $(FLEXTLIBINST) mkdir $(FLEXTLIBINST) > nul - - copy $(TARGET) $(FLEXTLIBINST) > nul -!ifdef SHARED -# copy import library - copy $(TARGET:.dll=.lib) $(FLEXTLIB) > nul -!endif -# copy headers - for %%i in ($(HDRS)) do @copy $(SRCDIR)\%%i $(FLEXTINC) > nul -# copy import libraries - for %%i in ($(PDTARGETS)) do @copy %%i $(FLEXTLIB) > nul diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/bmake-bcc.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/text-base/bmake-bcc.inc.svn-base deleted file mode 100644 index 20fec5587..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/bmake-bcc.inc.svn-base +++ /dev/null @@ -1,47 +0,0 @@ -!ifdef BCCPATH -INCPATH=$(INCPATH) -I$(BCCPATH)\include -LIBPATH=$(LIBPATH) -L$(BCCPATH)\lib -!endif - -!ifdef SNDOBJ -INCPATH=$(INCPATH) /I$(SNDOBJ)\include -!endif - -!ifdef STK -INCPATH=$(INCPATH) /I$(STK)\include -!endif - -############################################## - -OBJPATH=$(OUTPATH)\$(OUTSUB) -TARGETPATH=$(OBJPATH) -TARGET=$(TARGETPATH)\$(OUTNAME).$(EXT) - -############################################## -# use precompiled headers - -!ifdef PRECOMPILE -CFLAGS=$(CFLAGS) -Hh=$(PRECOMPILE) -H=$(OBJPATH)\precompiled.pch -!endif - -############################################## - -LIBS=$(LIBS) cw32.lib import32.lib C0D32.OBJ -CFLAGS=$(CFLAGS) -tWD -tWM -w-8004 -w-8027 -w-8057 -LDFLAGS=$(LDFLAGS) /C /Tpd - -# default Windows flags as defined from VC IDE -CFLAGS=$(CFLAGS) /DWIN32 /D_WINDOWS - -############################################## - -!ifdef DEBUG -CFLAGS=$(CFLAGS) -v -LDFLAGS=$(LDFLAGS) /v -!endif - -############################################## -# convert both *.c and *.cpp - -OBJSTMP= $(SRCS:.c=.obj) -OBJS= $(OBJSTMP:.objpp=.obj) diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-cygwin-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-cygwin-ext.inc.svn-base deleted file mode 100644 index 141d50930..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-cygwin-ext.inc.svn-base +++ /dev/null @@ -1,42 +0,0 @@ -# build class specific settings - -INCPATH += -I$(FLEXTINC) -LIBPATH += -L$(FLEXTLIB) -L$(FLEXTSHLIB) -LIBS += -l$(FLEXTNAME) - -############################################## - -# default target -_build_: $(TARGET) - -$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS)) - touch $@ - -$(TARGETPATH): - -mkdir -p $@ - -$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp - $(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ - -$(TARGETPATH)/%.o : $(SRCDIR)/%.c - $(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ - -$(TARGET) :: $(TARGETPATH) - -$(TARGET) :: $(COBJS) $(CPPOBJS) - $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS) $(SYSLIBS) - strip --strip-unneeded $@ - chmod 755 $@ - -############################################## - -_clean_: - rm $(COBJS) $(CPPOBJS) $(TARGET) - -############################################## - -$(INSTPATH): - -mkdir -p $(INSTPATH) - -_install_: $(INSTPATH) - install $(TARGET) $(INSTPATH) diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-cygwin-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-cygwin-flext.inc.svn-base deleted file mode 100644 index e8940a5d3..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-cygwin-flext.inc.svn-base +++ /dev/null @@ -1,52 +0,0 @@ -# build class specific settings - -############################################## - -# default target -_build_: $(TARGET) - -$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS)) - touch $@ - -$(TARGETPATH): - -mkdir -p $@ - -$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp - $(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ - -$(TARGETPATH)/%.o : $(SRCDIR)/%.c - $(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ - -$(TARGET) :: $(TARGETPATH) - -$(TARGET) :: $(COBJS) $(CPPOBJS) -ifdef SHARED - $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS) $(SYSLIBS) - chmod 755 $@ - strip --strip-unneeded $@ -else - $(AR) rc $@ $(COBJS) $(CPPOBJS) -endif - -############################################## - -_clean_: - rm $(COBJS) $(CPPOBJS) $(TARGET) - -############################################## - -ifdef SHARED -FLEXTLIBINST=$(FLEXTSHLIB) -else -FLEXTLIBINST=$(FLEXTLIB) -endif - -$(FLEXTINC): - -mkdir -p $(FLEXTINC) - -$(FLEXTLIBINST): - -mkdir -p $(FLEXTLIBINST) - -_install_: $(FLEXTINC) $(FLEXTLIBINST) - install $(TARGET) $(FLEXTLIBINST) - install $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(FLEXTINC) diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-cygwin.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-cygwin.inc.svn-base deleted file mode 100644 index 196987940..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-cygwin.inc.svn-base +++ /dev/null @@ -1,34 +0,0 @@ -############################################## - -OBJPATH=$(OUTPATH)/$(OUTSUB) -TARGETPATH=$(OBJPATH) -TARGET=$(TARGETPATH)/$(OUTNAME).$(EXT) -INCPATH += -I/usr/include - -############################################## - -CFLAGS += -mno-cygwin -include /usr/include/stdlib.h -LDFLAGS += -shared -mno-cygwin - -# default Windows flags as defined from VC IDE -CFLAGS += -DWIN32 -D_WINDOWS - -############################################## - -ifdef DEBUG -CFLAGS += -g -else -ifdef PROFILE -CFLAGS += -g -pg -LDFLAGS += -pg -else -LDFLAGS += -Wl,-S -endif -endif - -############################################## - -CSRCS=$(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS))) -CPPSRCS=$(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS))) -COBJS=$(patsubst %.c,$(OBJPATH)/%.o,$(filter %.c,$(SRCS))) -CPPOBJS=$(patsubst %.cpp,$(OBJPATH)/%.opp,$(filter %.cpp,$(SRCS))) diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-gcc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-gcc-ext.inc.svn-base deleted file mode 100644 index a4523b0df..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-gcc-ext.inc.svn-base +++ /dev/null @@ -1,37 +0,0 @@ -# build class specific settings - -INCPATH += -I$(FLEXTINC) -LIBPATH += -L$(FLEXTLIB) -LIBS += -l$(FLEXTNAME) - -# common compilation stuff -include $(BUILDPATH)$(PLATFORM)/gnumake-gcc-targets.inc - -##### linking ################### - -$(TARGET) :: $(OBJPATH) $(TARGETPATH) - -$(TARGET) :: $(PRECOMDST) $(COBJS) $(CPPOBJS) - $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS) -ifdef DEBUG -else -ifdef PROFILE -else - strip -x $@ -endif -endif - chmod 755 $@ - -ifdef TARGETPOST -$(TARGET) :: $(TARGETPOST) -endif - -################################### - -# Attention: $@ doesn't work for paths with spaces.... -$(INSTPATH): - -mkdir -p $(INSTPATH) - -_install_:: $(INSTPATH) -# copy plain file or whole bundle - cp -R $(INSTTARGET) $(INSTPATH) diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-gcc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-gcc-flext.inc.svn-base deleted file mode 100644 index 2ce6adeec..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-gcc-flext.inc.svn-base +++ /dev/null @@ -1,57 +0,0 @@ -# build class specific settings - -#ifdef SHARED -#LDFLAGS += -install_name $(FLEXTLIB)/$(TARGETNAME) -#LDFLAGS += -current_version $(FLEXTMAJOR).$(FLEXTMINOR).$(FLEXTMICRO) -#LDFLAGS += -compatibility_version $(FLEXTMAJOR).$(FLEXTMINOR) -#LDFLAGS += -preload -seg1addr 0xd0000000 -#endif - -# common compilation stuff -include $(BUILDPATH)$(PLATFORM)/gnumake-gcc-targets.inc - -##### linking ################### - -$(TARGET) :: $(OBJPATH) $(TARGETPATH) - -$(TARGET) :: $(PRECOMDST) $(COBJS) $(CPPOBJS) -ifdef SHARED - $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS) -ifdef DEBUG -else -ifdef PROFILE -else - strip -x $@ -endif -endif - chmod 755 $@ -else - $(AR) rc $@ $(COBJS) $(CPPOBJS) -endif - -ifdef TARGETPOST -$(TARGET) :: $(TARGETPOST) -endif - -################################### - -$(FLEXTINC): - -mkdir -p $@ - -$(FLEXTLIB): - -mkdir -p $@ - -_install_: $(FLEXTINC) $(FLEXTLIB) -# --- install as dynamic library --- - install $(TARGET) $(FLEXTLIB) -ifdef VERNAME - ln -sf $(VERNAME) $(FLEXTLIB)/$(TARGETNAME) -endif - install $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(FLEXTINC) -# transfer build system -# 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 diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-gcc-targets.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-gcc-targets.inc.svn-base deleted file mode 100644 index 2ed9218ca..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-gcc-targets.inc.svn-base +++ /dev/null @@ -1,56 +0,0 @@ -############################################## - -CSRCS := $(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS))) -CPPSRCS := $(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS))) -COBJS := $(patsubst %.c,$(OBJPATH)/%.o,$(filter %.c,$(SRCS))) -CPPOBJS := $(patsubst %.cpp,$(OBJPATH)/%.opp,$(filter %.cpp,$(SRCS))) - -############################################## - -# default target -_build_: $(TARGET) - -$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS)) - touch $@ - -# Attention: $@ doesn't work for paths with spaces.... -$(OBJPATH): - -mkdir -p $(OBJPATH) - -# Attention: $@ doesn't work for paths with spaces.... -$(TARGETPATH): - -mkdir -p $(TARGETPATH) - -##### precompiled header file ################### - -ifdef PRECOMPILE -PRECOMSRC := $(SRCDIR)/$(PRECOMPILE) -else -PRECOMSRC := $(FLEXTINC)/flext.h -endif - -ifdef PRECOMSRC -PRECOMDST := $(OBJPATH)/$(notdir $(PRECOMSRC)).gch -PRECOMINC := -I $(OBJPATH) -endif - -$(PRECOMDST) : $(PRECOMSRC) $(patsubst %,$(SRCDIR)/%,$(HDRS)) - -mkdir -p $(dir $@) - $(CXX) -c $(DEFS) $(INCPATH) $(PRECOMSRC) -o $@ - - -$(OBJPATH)/%.opp : $(SRCDIR)/%.cpp - -mkdir -p $(dir $@) - $(CXX) -c $(CFLAGS) $(DEFS) $(PRECOMINC) $(INCPATH) $^ -o $@ - -$(OBJPATH)/%.o : $(SRCDIR)/%.c - -mkdir -p $(dir $@) - $(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $^ -o $@ - -############################################## - -_clean_: - -rm -r $(TARGETPATH) - -rm -r $(OBJPATH) - -############################################## diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-gcc.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-gcc.inc.svn-base deleted file mode 100644 index 1eac01857..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-gcc.inc.svn-base +++ /dev/null @@ -1,49 +0,0 @@ -############################################## - -ifdef LOCKFREEPATH -INCPATH += -I$(LOCKFREEPATH) -endif - -ifdef ATOMICOPSPATH -INCPATH += -I$(ATOMICOPSPATH) -endif - -ifdef SNDOBJ_LIB -INCPATH += -I$(SNDOBJ_INC) -LIBPATH += -L$(SNDOBJ_LIB) -endif - -ifdef STK_LIB -INCPATH += -I$(STK_INC) -LIBPATH += -L$(STK_LIB) -endif - -############################################## - -ifndef FLEXTLIB -FLEXTLIB := $(FLEXTPREFIX)/lib -endif -ifndef FLEXTINC -FLEXTINC := $(FLEXTPREFIX)/include/flext -endif -ifndef FLEXTSYS -FLEXTSYS := $(FLEXTPREFIX)/lib/flext -endif - -############################################## - -LDFLAGS += -dynamic - -############################################## - -ifdef DEBUG -CFLAGS += -g -LDFLAGS += -g -else -ifdef PROFILE -CFLAGS += -g -LDFLAGS += -g -else -LDFLAGS += -Wl,-S -endif -endif diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-mingw-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-mingw-ext.inc.svn-base deleted file mode 100644 index ded22d636..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-mingw-ext.inc.svn-base +++ /dev/null @@ -1,58 +0,0 @@ -# build class specific settings - -INCPATH += -I$(FLEXTINC) -LIBPATH += -L$(FLEXTLIB) -L$(FLEXTSHLIB) - -ifdef SHARED -LIBS += $(FLEXTSHLIB)/lib$(FLEXTNAME).dll -else -LIBS += -l$(FLEXTNAME) -endif - -ifndef SHARED -ifdef SNDOBJ -LIBS += -lSndObj -endif - -ifdef STK -LIBS += -lStk -endif -endif - -############################################## - -# default target -_build_: $(TARGET) - -#$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS)) -# touch $@ - -$(OUTPATH): - -mkdir $(subst /,\,$@) - -$(TARGETPATH): $(OUTPATH) - -mkdir $(subst /,\,$@) - -$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp - $(CXX) -c $(CFLAGS) $(DEFS) $(subst \,/,$(INCPATH)) $< -o $(subst /,\,$@) - -$(TARGETPATH)/%.o : $(SRCDIR)/%.c - $(CC) -c $(CFLAGS) $(DEFS) $(subst \,/,$(INCPATH)) $< -o $(subst /,\,$@) - -$(TARGET) :: $(TARGETPATH) - -$(TARGET) :: $(COBJS) $(CPPOBJS) - $(CXX) $(LDFLAGS) $(subst \,/,$(LIBPATH)) -o $(subst /,\,$@) $(subst /,\,$(COBJS) $(CPPOBJS) $(LIBS) $(SYSLIBS)) - -strip --strip-unneeded $@ - -############################################## - -_clean_: - -del /q $(subst /,\,$(TARGETPATH)/*.*) > nul - -rmdir /q $(subst /,\,$(TARGETPATH)) > nul - -############################################## - -_install_: - @if not exist $(subst /,\,$(INSTPATH)) -mkdir $(subst /,\,$(INSTPATH)) - copy $(subst /,\,$(TARGET) $(INSTPATH)) diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-mingw-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-mingw-flext.inc.svn-base deleted file mode 100644 index 8cd517205..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-mingw-flext.inc.svn-base +++ /dev/null @@ -1,52 +0,0 @@ -# build class specific settings - -############################################## - -# default target -_build_: $(TARGET) - -#$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS)) -# touch $@ - -$(OUTPATH): - -mkdir $(subst /,\,$@) - -$(TARGETPATH): $(OUTPATH) - -mkdir $(subst /,\,$@) - -$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp - $(CXX) -c $(CFLAGS) $(DEFS) $(subst \,/,$(INCPATH)) $< -o $(subst /,\,$@) - -$(TARGETPATH)/%.o : $(SRCDIR)/%.c - $(CC) -c $(CFLAGS) $(DEFS) $(subst \,/,$(INCPATH)) $< -o $(subst /,\,$@) - -$(TARGET) :: $(TARGETPATH) - -$(TARGET) :: $(COBJS) $(CPPOBJS) -ifdef SHARED - $(CXX) $(LDFLAGS) $(LIBPATH) -o $(subst /,\,$@) $(subst /,\,$(COBJS) $(CPPOBJS) $(LIBS)) - -strip --strip-unneeded $@ -else - $(AR) rc $@ $(COBJS) $(CPPOBJS) -endif - -############################################## - -_clean_: - -del /q $(subst /,\,$(TARGETPATH)/*.*) > nul - -rmdir /q $(subst /,\,$(TARGETPATH)) > nul - -############################################## - -ifdef SHARED -FLEXTLIBINST=$(FLEXTSHLIB) -else -FLEXTLIBINST=$(FLEXTLIB) -endif - -_install_:: - @if not exist $(subst /,\,$(FLEXTINC)) -mkdir $(subst /,\,$(FLEXTINC)) - @if not exist $(subst /,\,$(FLEXTLIBINST)) -mkdir $(subst /,\,$(FLEXTLIBINST)) - - copy $(subst /,\,$(TARGET) $(FLEXTLIBINST)) - -for %%i in ($(HDRS)) do @copy $(SRCDIR)\%%i $(subst /,\,$(FLEXTINC)) > nul diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-mingw.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-mingw.inc.svn-base deleted file mode 100644 index daff7a750..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/gnumake-mingw.inc.svn-base +++ /dev/null @@ -1,33 +0,0 @@ -############################################## - -OBJPATH=$(OUTPATH)\$(OUTSUB) -TARGETPATH=$(OBJPATH) -TARGET=$(TARGETPATH)\$(OUTNAME).$(EXT) - -############################################## - -CFLAGS += -mms-bitfields -mno-cygwin -LDFLAGS += -shared -mno-cygwin - -# default Windows flags as defined from VC IDE -CFLAGS += -DWIN32 -D_WINDOWS - -############################################## - -ifdef DEBUG -CFLAGS += -g -else -ifdef PROFILE -CFLAGS += -g -pg -LDFLAGS += -pg -else -LDFLAGS += -Wl,-S -endif -endif - -############################################## - -CSRCS=$(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS))) -CPPSRCS=$(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS))) -COBJS=$(patsubst %.c,$(OBJPATH)/%.o,$(filter %.c,$(SRCS))) -CPPOBJS=$(patsubst %.cpp,$(OBJPATH)/%.opp,$(filter %.cpp,$(SRCS))) diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/nmake-msvc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/text-base/nmake-msvc-ext.inc.svn-base deleted file mode 100644 index e94bd4a25..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/nmake-msvc-ext.inc.svn-base +++ /dev/null @@ -1,61 +0,0 @@ -# build class specific settings - -INCPATH=$(INCPATH) /I$(FLEXTINC) -LIBPATH=$(LIBPATH) /LIBPATH:$(FLEXTLIB) -LIBS=$(LIBS) $(FLEXTNAME).lib - -!ifndef SHARED -!ifdef SNDOBJ -LIBS=$(LIBS) $(SNDOBJ)\lib\SndObj.lib -!endif - -!ifdef STK -LIBS=$(LIBS) $(STK)\stk.lib -!endif -!endif - -############################################## - -# default target -_build_: $(TARGET) - -$(OUTPATH): - if not exist $@ mkdir $@ > nul - -$(TARGETPATH): $(OUTPATH) - if not exist $@ mkdir $@ > nul - -{$(SRCDIR)}.cpp{}.obj: - cl /c $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@ - -.cpp.obj: - @-mkdir $(TARGETPATH)\$(@D:/=\) 2> NUL - cl /c $(CFLAGS) $(DEFS) $(INCPATH) $(SRCDIR)\$** /Fo$(TARGETPATH)\$@ - -{$(SRCDIR)}.c{}.obj: - cl /c $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@ - -.c.obj: - @-mkdir $(TARGETPATH)\$(@D:/=\) 2> NUL - cl /c $(CFLAGS) $(DEFS) $(INCPATH) $(SRCDIR)\$** /Fo$(TARGETPATH)\$@ - -$(TARGET):: $(TARGETPATH) - -$(TARGET):: $(OBJS) - @cd $(TARGETPATH) - link /DLL $(LDFLAGS) $(LIBPATH) $(OBJS) $(LIBS) /out:$(@F) - @cd ..\.. - -############################################## -# remove build - -_clean_: - -del /q $(TARGETPATH)\*.* > nul - -rmdir /q $(TARGETPATH) > nul - -############################################## - -_install_: - @if not exist $(INSTPATH) mkdir $(INSTPATH) > nul - - copy $(TARGET) $(INSTPATH) > nul diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/nmake-msvc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/text-base/nmake-msvc-flext.inc.svn-base deleted file mode 100644 index 0ad644be2..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/nmake-msvc-flext.inc.svn-base +++ /dev/null @@ -1,77 +0,0 @@ -# build class specific settings - -!ifdef SHARED - -!ifdef SNDOBJ_LIB -LIBS=$(LIBS) $(SNDOBJ_LIB) -!endif - -!ifdef STK_LIB -LIBS=$(LIBS) $(STK_LIB) -!endif - -!endif - -############################################## - -# default target -_build_: $(TARGET) - -$(OUTPATH): - if not exist $@ mkdir $@ > nul - -$(TARGETPATH): $(OUTPATH) - if not exist $@ mkdir $@ > nul - -{$(SRCDIR)}.cpp{}.obj: - cl /c $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@ - -{$(SRCDIR)}.c{}.obj: - cl /c $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@ - - -$(TARGET):: $(TARGETPATH) - -$(TARGET):: $(OBJS) - @cd $(TARGETPATH) -!ifdef SHARED - link /DLL $(LDFLAGS) $(LIBPATH) $(OBJS) $(LIBS) /out:$(@F) -!else - lib /OUT:$(@F) $(OBJS) -!endif - @cd ..\.. - -############################################## - -# remove build -_clean_: - -del /q $(TARGETPATH)\*.* > nul - -rmdir /q $(TARGETPATH) > nul - -############################################## - -!ifdef SHARED -FLEXTLIBINST=$(FLEXTSHLIB) -!else -FLEXTLIBINST=$(FLEXTLIB) -!endif - -TMPFILE=$(TARGETPATH)\flext_install_filelist.tmp - -_install_: -# create folders -# -@if not exist $(FLEXTINC) mkdir $(FLEXTINC) > nul - -@if not exist $(FLEXTLIB) mkdir $(FLEXTLIB) > nul - -@if not exist $(FLEXTLIBINST) mkdir $(FLEXTLIBINST) > nul - - -copy $(TARGET) $(FLEXTLIBINST) > nul -!ifdef SHARED -# copy import library - -copy $(TARGET:.dll=.lib) $(FLEXTLIB) > nul -!endif -# copy headers (probably with subpath) - - -@del $(TMPFILE) 2>nul - -@for %%i in ($(HDRS)) do @echo %%i >> $(TMPFILE) - -@for /f "tokens=1,2 delims=/" %%i in ($(TMPFILE)) do @if "%%j" == "" ( copy $(SRCDIR)\%%i $(FLEXTINC) > nul ) else ( mkdir $(FLEXTINC)\%%i 2>nul & copy $(SRCDIR)\%%i\%%j $(FLEXTINC)\%%i > nul ) - -@del $(TMPFILE) 2>nul diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/nmake-msvc-shlib.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/text-base/nmake-msvc-shlib.inc.svn-base deleted file mode 100644 index 0f188ba82..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/nmake-msvc-shlib.inc.svn-base +++ /dev/null @@ -1,45 +0,0 @@ -# build class specific settings - -INCPATH=$(INCPATH) /I$(FLEXTINC) -LIBPATH=$(LIBPATH) /LIBPATH:$(FLEXTLIB) -LIBS=$(LIBS) $(FLEXTNAME).lib - -############################################## - -# default target -_build_: $(TARGET) - -$(OUTPATH): - if not exist $@ mkdir $@ > nul - -$(TARGETPATH): $(OUTPATH) - if not exist $@ mkdir $@ > nul - -{$(SRCDIR)}.cpp{}.obj: - cl /c $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@ - -{$(SRCDIR)}.c{}.obj: - cl /c $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@ - -$(TARGET):: $(TARGETPATH) - -$(TARGET):: $(OBJS) - @cd $(TARGETPATH) - link /DLL $(LDFLAGS) $(LIBPATH) $(OBJS) $(LIBS) /OUT:$(@F) - @cd ..\.. - -############################################## -# remove build - -_clean_: - -del /q $(TARGETPATH)\*.* > nul - -rmdir /q $(TARGETPATH) > nul - -############################################## - -_install_: - @if not exist $(FLEXTSHLIB) mkdir $(FLEXTSHLIB) > nul - - copy $(TARGET) $(FLEXTSHLIB) > nul -# copy import library - copy $(TARGET:.dll=.lib) $(FLEXTSHLIB) > nul diff --git a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/nmake-msvc.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/.svn/text-base/nmake-msvc.inc.svn-base deleted file mode 100644 index d00f3a36d..000000000 --- a/externals/grill/trunk/flext/buildsys/win/.svn/text-base/nmake-msvc.inc.svn-base +++ /dev/null @@ -1,81 +0,0 @@ -!ifdef MSVCPATH -INCPATH=$(INCPATH) /I$(MSVCPATH)\include -LIBPATH=$(LIBPATH) /LIBPATH:$(MSVCPATH)\lib -!endif - -!ifdef LOCKFREEPATH -INCPATH=$(INCPATH) /I$(LOCKFREEPATH) -!endif - -!ifdef SNDOBJ_INC -INCPATH=$(INCPATH) /I$(SNDOBJ_INC) -!endif - -!ifdef STK_INC -INCPATH=$(INCPATH) /I$(STK_INC) -!endif - -############################################## - -OBJPATH=$(OUTPATH)\$(OUTSUB) -TARGETPATH=$(OBJPATH) -TARGET=$(TARGETPATH)\$(OUTNAME).$(EXT) - -############################################## -# use precompiled headers (automatic mode) - -!ifdef PRECOMPILE -CFLAGS=$(CFLAGS) /YX$(PRECOMPILE) /Fp$(OBJPATH)\precompiled.pch -!endif - -############################################## - -# create code for DLL -CFLAGS=$(CFLAGS) /LD - -# enable exception handling, RTTI and intrinsic functions -CFLAGS=$(CFLAGS) /EHsc /GR /Oi - -# no banner -CFLAGS=$(CFLAGS) /nologo -LDFLAGS=$(LDFLAGS) /nologo - -# inhibit VC8 warnings -CFLAGS=$(CFLAGS) /D_CRT_SECURE_NO_DEPRECATE - -# default Windows flags as defined from VC IDE -CFLAGS=$(CFLAGS) /DWIN32 /D_WINDOWS - -############################################## - -!ifdef DEBUG - -!ifdef DYNAMIC -CFLAGS=$(CFLAGS) /MDd -LIBS=$(LIBS) MSVCPRTD.LIB MSVCRTD.LIB -!else -CFLAGS=$(CFLAGS) /MTd -LIBS=$(LIBS) LIBCPMTD.LIB LIBCMTD.LIB -!endif - -LDFLAGS=$(LDFLAGS) /DEBUG - -!else - -!ifdef DYNAMIC -CFLAGS=$(CFLAGS) /MD -LIBS=$(LIBS) MSVCPRT.LIB MSVCRT.LIB -!else -CFLAGS=$(CFLAGS) /MT -LIBS=$(LIBS) LIBCPMT.LIB LIBCMT.LIB -!endif - -LDFLAGS=$(LDFLAGS) /INCREMENTAL:NO - -!endif - -############################################## -# convert both *.c and *.cpp - -OBJSTMP= $(SRCS:.c=.obj) -OBJS= $(OBJSTMP:.objpp=.obj) diff --git a/externals/grill/trunk/flext/buildsys/win/bmake-bcc-ext.inc b/externals/grill/trunk/flext/buildsys/win/bmake-bcc-ext.inc deleted file mode 100644 index 89f4adcb2..000000000 --- a/externals/grill/trunk/flext/buildsys/win/bmake-bcc-ext.inc +++ /dev/null @@ -1,63 +0,0 @@ -# build class specific settings - -INCPATH=$(INCPATH) -I$(FLEXTINC) -LIBPATH=$(LIBPATH) -L$(FLEXTLIB) -LIBS=$(LIBS) $(FLEXTNAME).lib - -!ifndef SHARED -!ifdef SNDOBJ -LIBS=$(LIBS) $(SNDOBJ)\lib\SndObj.lib -!endif - -!ifdef STK -LIBS=$(LIBS) $(STK)\src\Stk.obj -!endif -!endif - -############################################## - -# default target -_build_: $(TARGET) - -$(OUTPATH): - if not exist $@ mkdir $@ > nul - -$(TARGETPATH): $(OUTPATH) - if not exist $@ mkdir $@ > nul - -SETUPFUNCTION=$(NAME)_setup - -$(TARGETPATH)\$(NAME).def: $(TARGETPATH) - @echo EXPORTS $(SETUPFUNCTION) = _$(SETUPFUNCTION) > $@ -# this next line fixes a strange problem with implib - lacking underscore?! - @echo IMPORTS _rtext_retext=PD.rtext_retext >> $@ - -$(TARGET) :: $(TARGETPATH)\$(NAME).def - -{$(SRCDIR)}.cpp{}.obj: - bcc32 -c $(CFLAGS) $(DEFS) $(INCPATH) -n$(TARGETPATH) $< - -{$(SRCDIR)}.c{}.obj: - bcc32 -c $(CFLAGS) $(DEFS) $(INCPATH) -n$(TARGETPATH) $< - -$(TARGET) :: $(TARGETPATH) - -$(TARGET) :: $(OBJS) - @cd $(TARGETPATH) - ilink32 $(LDFLAGS) $(LIBPATH) -L. $(OBJS) ,$(<F),,$(LIBS),$(NAME).def - @cd ..\.. - -############################################## -# remove build - -_clean_: - -del /q $(TARGETPATH)\*.* > nul - -rmdir /q $(TARGETPATH) > nul - -############################################## - -$(INSTPATH): - if not exist $@ mkdir $@ > nul - -_install_: $(INSTPATH) - copy $(TARGET) $(INSTPATH) > nul diff --git a/externals/grill/trunk/flext/buildsys/win/bmake-bcc-flext.inc b/externals/grill/trunk/flext/buildsys/win/bmake-bcc-flext.inc deleted file mode 100644 index 02103f4c7..000000000 --- a/externals/grill/trunk/flext/buildsys/win/bmake-bcc-flext.inc +++ /dev/null @@ -1,84 +0,0 @@ -# build class specific settings - -!ifdef SHARED - -!ifdef SNDOBJ -LIBS=$(LIBS) $(SNDOBJ)\lib\SndObj.lib -SRCS=$(SRCS) $(SRCS_SNDOBJ) -!endif - -!ifdef STK -LIBS=$(LIBS) $(STK)\src\Stk.obj -SRCS=$(SRCS) $(SRCS_STKOBJ) -!endif - -!endif - -############################################## - -# default target -_build_: $(TARGET) - -$(OUTPATH): - if not exist $@ mkdir $@ > nul - -$(TARGETPATH): $(OUTPATH) - if not exist $@ mkdir $@ > nul - -{$(SRCDIR)}.cpp{}.obj: - bcc32 -c $(CFLAGS) $(DEFS) $(INCPATH) -n$(TARGETPATH) $< - -{$(SRCDIR)}.c{}.obj: - bcc32 -c $(CFLAGS) $(DEFS) $(INCPATH) -n$(TARGETPATH) $< - - -$(TARGETPATH)\pd.lib : $(PDPATH)\bin\pd.dll - implib -a $< $** - -$(TARGETPATH)\pthreadVC.lib : $(PDPATH)\bin\pthreadVC.dll - implib -a $< $** - -PDTARGETS=$(TARGETPATH)\pd.lib $(TARGETPATH)\pthreadVC.lib - - -$(TARGET) :: $(TARGETPATH) $(PDTARGETS) - -$(TARGET) :: $(OBJS) - @cd $(TARGETPATH) -!ifdef SHARED - ilink32 $(LDFLAGS) $(LIBPATH) -L. $(OBJS) ,$(<F),,$(LIBS) - implib -a $(<B).lib $(<F) -!else - -del $(<F) - tlib "$(<F)" +$(OBJS: = +) -!endif - @cd ..\.. - -############################################## - -_clean_: - -del /q $(TARGETPATH)\*.* > nul - -rmdir /q $(TARGETPATH) > nul - -############################################## - -!ifdef SHARED -FLEXTLIBINST=$(FLEXTSHLIB) -!else -FLEXTLIBINST=$(FLEXTLIB) -!endif - -_install_: - @if not exist $(FLEXTINC) mkdir $(FLEXTINC) > nul - @if not exist $(FLEXTLIB) mkdir $(FLEXTLIB) > nul - @if not exist $(FLEXTLIBINST) mkdir $(FLEXTLIBINST) > nul - - copy $(TARGET) $(FLEXTLIBINST) > nul -!ifdef SHARED -# copy import library - copy $(TARGET:.dll=.lib) $(FLEXTLIB) > nul -!endif -# copy headers - for %%i in ($(HDRS)) do @copy $(SRCDIR)\%%i $(FLEXTINC) > nul -# copy import libraries - for %%i in ($(PDTARGETS)) do @copy %%i $(FLEXTLIB) > nul diff --git a/externals/grill/trunk/flext/buildsys/win/bmake-bcc.inc b/externals/grill/trunk/flext/buildsys/win/bmake-bcc.inc deleted file mode 100644 index 20fec5587..000000000 --- a/externals/grill/trunk/flext/buildsys/win/bmake-bcc.inc +++ /dev/null @@ -1,47 +0,0 @@ -!ifdef BCCPATH -INCPATH=$(INCPATH) -I$(BCCPATH)\include -LIBPATH=$(LIBPATH) -L$(BCCPATH)\lib -!endif - -!ifdef SNDOBJ -INCPATH=$(INCPATH) /I$(SNDOBJ)\include -!endif - -!ifdef STK -INCPATH=$(INCPATH) /I$(STK)\include -!endif - -############################################## - -OBJPATH=$(OUTPATH)\$(OUTSUB) -TARGETPATH=$(OBJPATH) -TARGET=$(TARGETPATH)\$(OUTNAME).$(EXT) - -############################################## -# use precompiled headers - -!ifdef PRECOMPILE -CFLAGS=$(CFLAGS) -Hh=$(PRECOMPILE) -H=$(OBJPATH)\precompiled.pch -!endif - -############################################## - -LIBS=$(LIBS) cw32.lib import32.lib C0D32.OBJ -CFLAGS=$(CFLAGS) -tWD -tWM -w-8004 -w-8027 -w-8057 -LDFLAGS=$(LDFLAGS) /C /Tpd - -# default Windows flags as defined from VC IDE -CFLAGS=$(CFLAGS) /DWIN32 /D_WINDOWS - -############################################## - -!ifdef DEBUG -CFLAGS=$(CFLAGS) -v -LDFLAGS=$(LDFLAGS) /v -!endif - -############################################## -# convert both *.c and *.cpp - -OBJSTMP= $(SRCS:.c=.obj) -OBJS= $(OBJSTMP:.objpp=.obj) diff --git a/externals/grill/trunk/flext/buildsys/win/gnumake-cygwin-ext.inc b/externals/grill/trunk/flext/buildsys/win/gnumake-cygwin-ext.inc deleted file mode 100644 index 141d50930..000000000 --- a/externals/grill/trunk/flext/buildsys/win/gnumake-cygwin-ext.inc +++ /dev/null @@ -1,42 +0,0 @@ -# build class specific settings - -INCPATH += -I$(FLEXTINC) -LIBPATH += -L$(FLEXTLIB) -L$(FLEXTSHLIB) -LIBS += -l$(FLEXTNAME) - -############################################## - -# default target -_build_: $(TARGET) - -$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS)) - touch $@ - -$(TARGETPATH): - -mkdir -p $@ - -$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp - $(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ - -$(TARGETPATH)/%.o : $(SRCDIR)/%.c - $(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ - -$(TARGET) :: $(TARGETPATH) - -$(TARGET) :: $(COBJS) $(CPPOBJS) - $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS) $(SYSLIBS) - strip --strip-unneeded $@ - chmod 755 $@ - -############################################## - -_clean_: - rm $(COBJS) $(CPPOBJS) $(TARGET) - -############################################## - -$(INSTPATH): - -mkdir -p $(INSTPATH) - -_install_: $(INSTPATH) - install $(TARGET) $(INSTPATH) diff --git a/externals/grill/trunk/flext/buildsys/win/gnumake-cygwin-flext.inc b/externals/grill/trunk/flext/buildsys/win/gnumake-cygwin-flext.inc deleted file mode 100644 index e8940a5d3..000000000 --- a/externals/grill/trunk/flext/buildsys/win/gnumake-cygwin-flext.inc +++ /dev/null @@ -1,52 +0,0 @@ -# build class specific settings - -############################################## - -# default target -_build_: $(TARGET) - -$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS)) - touch $@ - -$(TARGETPATH): - -mkdir -p $@ - -$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp - $(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ - -$(TARGETPATH)/%.o : $(SRCDIR)/%.c - $(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ - -$(TARGET) :: $(TARGETPATH) - -$(TARGET) :: $(COBJS) $(CPPOBJS) -ifdef SHARED - $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS) $(SYSLIBS) - chmod 755 $@ - strip --strip-unneeded $@ -else - $(AR) rc $@ $(COBJS) $(CPPOBJS) -endif - -############################################## - -_clean_: - rm $(COBJS) $(CPPOBJS) $(TARGET) - -############################################## - -ifdef SHARED -FLEXTLIBINST=$(FLEXTSHLIB) -else -FLEXTLIBINST=$(FLEXTLIB) -endif - -$(FLEXTINC): - -mkdir -p $(FLEXTINC) - -$(FLEXTLIBINST): - -mkdir -p $(FLEXTLIBINST) - -_install_: $(FLEXTINC) $(FLEXTLIBINST) - install $(TARGET) $(FLEXTLIBINST) - install $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(FLEXTINC) diff --git a/externals/grill/trunk/flext/buildsys/win/gnumake-cygwin.inc b/externals/grill/trunk/flext/buildsys/win/gnumake-cygwin.inc deleted file mode 100644 index 196987940..000000000 --- a/externals/grill/trunk/flext/buildsys/win/gnumake-cygwin.inc +++ /dev/null @@ -1,34 +0,0 @@ -############################################## - -OBJPATH=$(OUTPATH)/$(OUTSUB) -TARGETPATH=$(OBJPATH) -TARGET=$(TARGETPATH)/$(OUTNAME).$(EXT) -INCPATH += -I/usr/include - -############################################## - -CFLAGS += -mno-cygwin -include /usr/include/stdlib.h -LDFLAGS += -shared -mno-cygwin - -# default Windows flags as defined from VC IDE -CFLAGS += -DWIN32 -D_WINDOWS - -############################################## - -ifdef DEBUG -CFLAGS += -g -else -ifdef PROFILE -CFLAGS += -g -pg -LDFLAGS += -pg -else -LDFLAGS += -Wl,-S -endif -endif - -############################################## - -CSRCS=$(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS))) -CPPSRCS=$(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS))) -COBJS=$(patsubst %.c,$(OBJPATH)/%.o,$(filter %.c,$(SRCS))) -CPPOBJS=$(patsubst %.cpp,$(OBJPATH)/%.opp,$(filter %.cpp,$(SRCS))) diff --git a/externals/grill/trunk/flext/buildsys/win/gnumake-gcc-ext.inc b/externals/grill/trunk/flext/buildsys/win/gnumake-gcc-ext.inc deleted file mode 100644 index a4523b0df..000000000 --- a/externals/grill/trunk/flext/buildsys/win/gnumake-gcc-ext.inc +++ /dev/null @@ -1,37 +0,0 @@ -# build class specific settings - -INCPATH += -I$(FLEXTINC) -LIBPATH += -L$(FLEXTLIB) -LIBS += -l$(FLEXTNAME) - -# common compilation stuff -include $(BUILDPATH)$(PLATFORM)/gnumake-gcc-targets.inc - -##### linking ################### - -$(TARGET) :: $(OBJPATH) $(TARGETPATH) - -$(TARGET) :: $(PRECOMDST) $(COBJS) $(CPPOBJS) - $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS) -ifdef DEBUG -else -ifdef PROFILE -else - strip -x $@ -endif -endif - chmod 755 $@ - -ifdef TARGETPOST -$(TARGET) :: $(TARGETPOST) -endif - -################################### - -# Attention: $@ doesn't work for paths with spaces.... -$(INSTPATH): - -mkdir -p $(INSTPATH) - -_install_:: $(INSTPATH) -# copy plain file or whole bundle - cp -R $(INSTTARGET) $(INSTPATH) diff --git a/externals/grill/trunk/flext/buildsys/win/gnumake-gcc-flext.inc b/externals/grill/trunk/flext/buildsys/win/gnumake-gcc-flext.inc deleted file mode 100644 index 2ce6adeec..000000000 --- a/externals/grill/trunk/flext/buildsys/win/gnumake-gcc-flext.inc +++ /dev/null @@ -1,57 +0,0 @@ -# build class specific settings - -#ifdef SHARED -#LDFLAGS += -install_name $(FLEXTLIB)/$(TARGETNAME) -#LDFLAGS += -current_version $(FLEXTMAJOR).$(FLEXTMINOR).$(FLEXTMICRO) -#LDFLAGS += -compatibility_version $(FLEXTMAJOR).$(FLEXTMINOR) -#LDFLAGS += -preload -seg1addr 0xd0000000 -#endif - -# common compilation stuff -include $(BUILDPATH)$(PLATFORM)/gnumake-gcc-targets.inc - -##### linking ################### - -$(TARGET) :: $(OBJPATH) $(TARGETPATH) - -$(TARGET) :: $(PRECOMDST) $(COBJS) $(CPPOBJS) -ifdef SHARED - $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS) -ifdef DEBUG -else -ifdef PROFILE -else - strip -x $@ -endif -endif - chmod 755 $@ -else - $(AR) rc $@ $(COBJS) $(CPPOBJS) -endif - -ifdef TARGETPOST -$(TARGET) :: $(TARGETPOST) -endif - -################################### - -$(FLEXTINC): - -mkdir -p $@ - -$(FLEXTLIB): - -mkdir -p $@ - -_install_: $(FLEXTINC) $(FLEXTLIB) -# --- install as dynamic library --- - install $(TARGET) $(FLEXTLIB) -ifdef VERNAME - ln -sf $(VERNAME) $(FLEXTLIB)/$(TARGETNAME) -endif - install $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(FLEXTINC) -# transfer build system -# 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 diff --git a/externals/grill/trunk/flext/buildsys/win/gnumake-gcc-targets.inc b/externals/grill/trunk/flext/buildsys/win/gnumake-gcc-targets.inc deleted file mode 100644 index 2ed9218ca..000000000 --- a/externals/grill/trunk/flext/buildsys/win/gnumake-gcc-targets.inc +++ /dev/null @@ -1,56 +0,0 @@ -############################################## - -CSRCS := $(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS))) -CPPSRCS := $(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS))) -COBJS := $(patsubst %.c,$(OBJPATH)/%.o,$(filter %.c,$(SRCS))) -CPPOBJS := $(patsubst %.cpp,$(OBJPATH)/%.opp,$(filter %.cpp,$(SRCS))) - -############################################## - -# default target -_build_: $(TARGET) - -$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS)) - touch $@ - -# Attention: $@ doesn't work for paths with spaces.... -$(OBJPATH): - -mkdir -p $(OBJPATH) - -# Attention: $@ doesn't work for paths with spaces.... -$(TARGETPATH): - -mkdir -p $(TARGETPATH) - -##### precompiled header file ################### - -ifdef PRECOMPILE -PRECOMSRC := $(SRCDIR)/$(PRECOMPILE) -else -PRECOMSRC := $(FLEXTINC)/flext.h -endif - -ifdef PRECOMSRC -PRECOMDST := $(OBJPATH)/$(notdir $(PRECOMSRC)).gch -PRECOMINC := -I $(OBJPATH) -endif - -$(PRECOMDST) : $(PRECOMSRC) $(patsubst %,$(SRCDIR)/%,$(HDRS)) - -mkdir -p $(dir $@) - $(CXX) -c $(DEFS) $(INCPATH) $(PRECOMSRC) -o $@ - - -$(OBJPATH)/%.opp : $(SRCDIR)/%.cpp - -mkdir -p $(dir $@) - $(CXX) -c $(CFLAGS) $(DEFS) $(PRECOMINC) $(INCPATH) $^ -o $@ - -$(OBJPATH)/%.o : $(SRCDIR)/%.c - -mkdir -p $(dir $@) - $(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $^ -o $@ - -############################################## - -_clean_: - -rm -r $(TARGETPATH) - -rm -r $(OBJPATH) - -############################################## diff --git a/externals/grill/trunk/flext/buildsys/win/gnumake-gcc.inc b/externals/grill/trunk/flext/buildsys/win/gnumake-gcc.inc deleted file mode 100644 index 1eac01857..000000000 --- a/externals/grill/trunk/flext/buildsys/win/gnumake-gcc.inc +++ /dev/null @@ -1,49 +0,0 @@ -############################################## - -ifdef LOCKFREEPATH -INCPATH += -I$(LOCKFREEPATH) -endif - -ifdef ATOMICOPSPATH -INCPATH += -I$(ATOMICOPSPATH) -endif - -ifdef SNDOBJ_LIB -INCPATH += -I$(SNDOBJ_INC) -LIBPATH += -L$(SNDOBJ_LIB) -endif - -ifdef STK_LIB -INCPATH += -I$(STK_INC) -LIBPATH += -L$(STK_LIB) -endif - -############################################## - -ifndef FLEXTLIB -FLEXTLIB := $(FLEXTPREFIX)/lib -endif -ifndef FLEXTINC -FLEXTINC := $(FLEXTPREFIX)/include/flext -endif -ifndef FLEXTSYS -FLEXTSYS := $(FLEXTPREFIX)/lib/flext -endif - -############################################## - -LDFLAGS += -dynamic - -############################################## - -ifdef DEBUG -CFLAGS += -g -LDFLAGS += -g -else -ifdef PROFILE -CFLAGS += -g -LDFLAGS += -g -else -LDFLAGS += -Wl,-S -endif -endif diff --git a/externals/grill/trunk/flext/buildsys/win/gnumake-mingw-ext.inc b/externals/grill/trunk/flext/buildsys/win/gnumake-mingw-ext.inc deleted file mode 100644 index ded22d636..000000000 --- a/externals/grill/trunk/flext/buildsys/win/gnumake-mingw-ext.inc +++ /dev/null @@ -1,58 +0,0 @@ -# build class specific settings - -INCPATH += -I$(FLEXTINC) -LIBPATH += -L$(FLEXTLIB) -L$(FLEXTSHLIB) - -ifdef SHARED -LIBS += $(FLEXTSHLIB)/lib$(FLEXTNAME).dll -else -LIBS += -l$(FLEXTNAME) -endif - -ifndef SHARED -ifdef SNDOBJ -LIBS += -lSndObj -endif - -ifdef STK -LIBS += -lStk -endif -endif - -############################################## - -# default target -_build_: $(TARGET) - -#$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS)) -# touch $@ - -$(OUTPATH): - -mkdir $(subst /,\,$@) - -$(TARGETPATH): $(OUTPATH) - -mkdir $(subst /,\,$@) - -$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp - $(CXX) -c $(CFLAGS) $(DEFS) $(subst \,/,$(INCPATH)) $< -o $(subst /,\,$@) - -$(TARGETPATH)/%.o : $(SRCDIR)/%.c - $(CC) -c $(CFLAGS) $(DEFS) $(subst \,/,$(INCPATH)) $< -o $(subst /,\,$@) - -$(TARGET) :: $(TARGETPATH) - -$(TARGET) :: $(COBJS) $(CPPOBJS) - $(CXX) $(LDFLAGS) $(subst \,/,$(LIBPATH)) -o $(subst /,\,$@) $(subst /,\,$(COBJS) $(CPPOBJS) $(LIBS) $(SYSLIBS)) - -strip --strip-unneeded $@ - -############################################## - -_clean_: - -del /q $(subst /,\,$(TARGETPATH)/*.*) > nul - -rmdir /q $(subst /,\,$(TARGETPATH)) > nul - -############################################## - -_install_: - @if not exist $(subst /,\,$(INSTPATH)) -mkdir $(subst /,\,$(INSTPATH)) - copy $(subst /,\,$(TARGET) $(INSTPATH)) diff --git a/externals/grill/trunk/flext/buildsys/win/gnumake-mingw-flext.inc b/externals/grill/trunk/flext/buildsys/win/gnumake-mingw-flext.inc deleted file mode 100644 index 8cd517205..000000000 --- a/externals/grill/trunk/flext/buildsys/win/gnumake-mingw-flext.inc +++ /dev/null @@ -1,52 +0,0 @@ -# build class specific settings - -############################################## - -# default target -_build_: $(TARGET) - -#$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS)) -# touch $@ - -$(OUTPATH): - -mkdir $(subst /,\,$@) - -$(TARGETPATH): $(OUTPATH) - -mkdir $(subst /,\,$@) - -$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp - $(CXX) -c $(CFLAGS) $(DEFS) $(subst \,/,$(INCPATH)) $< -o $(subst /,\,$@) - -$(TARGETPATH)/%.o : $(SRCDIR)/%.c - $(CC) -c $(CFLAGS) $(DEFS) $(subst \,/,$(INCPATH)) $< -o $(subst /,\,$@) - -$(TARGET) :: $(TARGETPATH) - -$(TARGET) :: $(COBJS) $(CPPOBJS) -ifdef SHARED - $(CXX) $(LDFLAGS) $(LIBPATH) -o $(subst /,\,$@) $(subst /,\,$(COBJS) $(CPPOBJS) $(LIBS)) - -strip --strip-unneeded $@ -else - $(AR) rc $@ $(COBJS) $(CPPOBJS) -endif - -############################################## - -_clean_: - -del /q $(subst /,\,$(TARGETPATH)/*.*) > nul - -rmdir /q $(subst /,\,$(TARGETPATH)) > nul - -############################################## - -ifdef SHARED -FLEXTLIBINST=$(FLEXTSHLIB) -else -FLEXTLIBINST=$(FLEXTLIB) -endif - -_install_:: - @if not exist $(subst /,\,$(FLEXTINC)) -mkdir $(subst /,\,$(FLEXTINC)) - @if not exist $(subst /,\,$(FLEXTLIBINST)) -mkdir $(subst /,\,$(FLEXTLIBINST)) - - copy $(subst /,\,$(TARGET) $(FLEXTLIBINST)) - -for %%i in ($(HDRS)) do @copy $(SRCDIR)\%%i $(subst /,\,$(FLEXTINC)) > nul diff --git a/externals/grill/trunk/flext/buildsys/win/gnumake-mingw.inc b/externals/grill/trunk/flext/buildsys/win/gnumake-mingw.inc deleted file mode 100644 index daff7a750..000000000 --- a/externals/grill/trunk/flext/buildsys/win/gnumake-mingw.inc +++ /dev/null @@ -1,33 +0,0 @@ -############################################## - -OBJPATH=$(OUTPATH)\$(OUTSUB) -TARGETPATH=$(OBJPATH) -TARGET=$(TARGETPATH)\$(OUTNAME).$(EXT) - -############################################## - -CFLAGS += -mms-bitfields -mno-cygwin -LDFLAGS += -shared -mno-cygwin - -# default Windows flags as defined from VC IDE -CFLAGS += -DWIN32 -D_WINDOWS - -############################################## - -ifdef DEBUG -CFLAGS += -g -else -ifdef PROFILE -CFLAGS += -g -pg -LDFLAGS += -pg -else -LDFLAGS += -Wl,-S -endif -endif - -############################################## - -CSRCS=$(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS))) -CPPSRCS=$(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS))) -COBJS=$(patsubst %.c,$(OBJPATH)/%.o,$(filter %.c,$(SRCS))) -CPPOBJS=$(patsubst %.cpp,$(OBJPATH)/%.opp,$(filter %.cpp,$(SRCS))) diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/all-wcprops b/externals/grill/trunk/flext/buildsys/win/max/.svn/all-wcprops deleted file mode 100644 index 548bdacdb..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/all-wcprops +++ /dev/null @@ -1,77 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 47 -/ext/!svn/ver/3697/trunk/flext/buildsys/win/max -END -config-msvc.def -K 25 -svn:wc:ra_dav:version-url -V 63 -/ext/!svn/ver/3674/trunk/flext/buildsys/win/max/config-msvc.def -END -nmake-msvc-flext.inc -K 25 -svn:wc:ra_dav:version-url -V 68 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/max/nmake-msvc-flext.inc -END -nmake-msvc.inc -K 25 -svn:wc:ra_dav:version-url -V 62 -/ext/!svn/ver/3697/trunk/flext/buildsys/win/max/nmake-msvc.inc -END -gnumake-cygwin-ext.inc -K 25 -svn:wc:ra_dav:version-url -V 70 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/max/gnumake-cygwin-ext.inc -END -gnumake-mingw-ext.inc -K 25 -svn:wc:ra_dav:version-url -V 69 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/max/gnumake-mingw-ext.inc -END -gnumake-cygwin-flext.inc -K 25 -svn:wc:ra_dav:version-url -V 72 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/max/gnumake-cygwin-flext.inc -END -gnumake-cygwin.inc -K 25 -svn:wc:ra_dav:version-url -V 66 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/max/gnumake-cygwin.inc -END -gnumake-mingw-flext.inc -K 25 -svn:wc:ra_dav:version-url -V 71 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/max/gnumake-mingw-flext.inc -END -gnumake-mingw.inc -K 25 -svn:wc:ra_dav:version-url -V 65 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/max/gnumake-mingw.inc -END -config-cygwin.def -K 25 -svn:wc:ra_dav:version-url -V 65 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/max/config-cygwin.def -END -config-mingw.def -K 25 -svn:wc:ra_dav:version-url -V 64 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/max/config-mingw.def -END -nmake-msvc-ext.inc -K 25 -svn:wc:ra_dav:version-url -V 66 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/max/nmake-msvc-ext.inc -END diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/entries b/externals/grill/trunk/flext/buildsys/win/max/.svn/entries deleted file mode 100644 index 076e90bfe..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/entries +++ /dev/null @@ -1,436 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/buildsys/win/max -https://svn.grrrr.org/ext - - - -2009-07-07T12:40:50.487949Z -3697 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -nmake-msvc-ext.inc -file - - - - -2012-05-13T23:08:35.890556Z -c51d3a3e139045bee132b62dc00c4b87 -2008-01-14T17:16:35.661803Z -1226 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -40 - -config-msvc.def -file - - - - -2012-05-13T23:08:35.890556Z -22d5d827eb2f7a7f0097a1a1d0a87dd8 -2009-03-07T00:04:02.678800Z -3674 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -2932 - -nmake-msvc-flext.inc -file - - - - -2012-05-13T23:08:35.894556Z -10599b5fc0e43bf4c4007d58259b128b -2005-01-04T16:18:05.914480Z -956 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -43 - -nmake-msvc.inc -file - - - - -2012-05-13T23:08:35.895556Z -b6412529c6afa57c9a5a7e231db73a44 -2009-07-07T12:40:50.487949Z -3697 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -415 - -gnumake-cygwin-ext.inc -file - - - - -2012-05-13T23:08:35.896556Z -821d645279721c9b89d36b98de502d9f -2008-01-14T17:16:35.661803Z -1226 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -8 - -gnumake-mingw-ext.inc -file - - - - -2012-05-13T23:08:35.897556Z -821d645279721c9b89d36b98de502d9f -2005-01-04T16:18:05.914480Z -956 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -8 - -gnumake-cygwin-flext.inc -file - - - - -2012-05-13T23:08:35.897556Z -b5cc5b4482c9b26e66157c2640bab7fb -2008-01-14T17:16:35.661803Z -1226 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -39 - -gnumake-cygwin.inc -file - - - - -2012-05-13T23:08:35.898556Z -11c97baf3a6c26d0397c1c51b65f7d51 -2008-01-14T17:16:35.661803Z -1226 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -436 - -gnumake-mingw-flext.inc -file - - - - -2012-05-13T23:08:35.899556Z -b5ac10c0cae32503bebfbb5eb2923884 -2005-01-04T16:18:05.914480Z -956 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -41 - -gnumake-mingw.inc -file - - - - -2012-05-13T23:08:35.899556Z -b2866add9c40d72b621a1e296e265e39 -2008-01-14T17:16:35.661803Z -1226 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -526 - -config-cygwin.def -file - - - - -2012-05-13T23:08:35.888556Z -9ee5649e6c5862c561eb7d1e664cffc7 -2008-01-14T17:16:35.661803Z -1226 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -2209 - -config-mingw.def -file - - - - -2012-05-13T23:08:35.889556Z -0007be17407f93274a96b6b1aed14ebd -2008-01-14T17:16:35.661803Z -1226 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -2090 - diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/config-cygwin.def.svn-base b/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/config-cygwin.def.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/config-cygwin.def.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/config-mingw.def.svn-base b/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/config-mingw.def.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/config-mingw.def.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/config-msvc.def.svn-base b/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/config-msvc.def.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/config-msvc.def.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/gnumake-cygwin-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/gnumake-cygwin-ext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/gnumake-cygwin-ext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/gnumake-cygwin-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/gnumake-cygwin-flext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/gnumake-cygwin-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/gnumake-cygwin.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/gnumake-cygwin.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/gnumake-cygwin.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/gnumake-mingw-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/gnumake-mingw-ext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/gnumake-mingw-ext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/gnumake-mingw-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/gnumake-mingw-flext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/gnumake-mingw-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/gnumake-mingw.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/gnumake-mingw.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/gnumake-mingw.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/nmake-msvc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/nmake-msvc-ext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/nmake-msvc-ext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/nmake-msvc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/nmake-msvc-flext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/nmake-msvc-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/nmake-msvc.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/nmake-msvc.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/prop-base/nmake-msvc.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/config-cygwin.def.svn-base b/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/config-cygwin.def.svn-base deleted file mode 100644 index 9abb816b2..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/config-cygwin.def.svn-base +++ /dev/null @@ -1,71 +0,0 @@ -# where is the Max/MSP application? -MAXAPPPATH=/cygdrive/c/program\ files/MaxMSP\ 4.5 - -# where are the Max/MSP common files? -MAXCOMPATH=/cygdrive/c/program\ files/common\ files/Cycling\ \'74 - - -# where are the Max/MSP SDK header files? -# you should have the latest version! -MAXSDKPATH=$(MAXAPPPATH)/maxmspsdk_win/4.5\ headers/c74support - -############################################################### - -############################################################### - -# where do/should the flext headers reside/be built? -FLEXTINC=$(MAXCOMPATH)/flext - -# where do/should the flext static libraries reside/be built? -FLEXTLIB=$(FLEXTINC) - -# where do/should the flext shared libraries reside/be built? -# (a good place is the MaxMSP program folder) -FLEXTSHLIB=$(MAXAPPPATH) - -############################################################### - -# where should the external be built? -# (path for temporary files) -OUTPATH=max-cygwin - -# where should the external be installed? -INSTPATH=$(MAXCOMPATH)/externals/flext - -# where should the initialization files be installed? -INITPATH=$(MAXCOMPATH)/init - -# where should the help files be installed? -HELPPATH=$(MAXAPPPATH)/max-help/flext - -############################################################### - -# where is the STK installation? -# (uncomment the line with # to disable STK support) -# -------------------------------------------------------------------- -# In order to use STK you must have a libstk.a library -# -#STK=c:\data\prog\audio\stk - -# where is the Sndobjs installation? -# (uncomment the line with # to disable SNDOBJ support) -# -------------------------------------------------------------------- -# Please be sure to delete an eventual m_pd.h file from the SNDOBJ include folder!! -# The shared flext library links to the libsndobj.a file from the SNDOBJ distribution. -# -#SNDOBJ=c:\data\prog\audio\sndobj - -############################################################### - -# make flags (e.g. use multiprocessor) -#MFLAGS=-j 2 - -# user defined compiler flags -# (check if they match your system!) -UFLAGS=-msse -mfpmath=sse -ffast-math - -# user defined optimization flags -# (check if they match your system!) -OFLAGS=-O3 -# optimizations for Pentium 4 -OFLAGS+=-march=pentium4 diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/config-mingw.def.svn-base b/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/config-mingw.def.svn-base deleted file mode 100644 index f2d03dfb6..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/config-mingw.def.svn-base +++ /dev/null @@ -1,64 +0,0 @@ -# where are the Max/MSP SDK header files? -# you should have the latest version! -MAXSDKPATH="%ProgramFiles%\MaxMSP 4.5/maxmspsdk_win/4.5 headers/c74support" - -############################################################### - -# where do/should the flext headers reside/be built? -FLEXTINC="%CommonProgramFiles%/Cycling '74/flext" - -# where do/should the flext static libraries reside/be built? -FLEXTLIB=$(FLEXTINC) - -# where do/should the flext shared libraries reside/be built? -# (a good place is the MaxMSP program folder) -FLEXTSHLIB="%ProgramFiles%\MaxMSP 4.5" - -############################################################### - -# where should the external be built? -# (path for temporary files) -OUTPATH=max-mingw - -# where should the external be installed? -INSTPATH="%CommonProgramFiles%/Cycling '74/externals/flext" - -# where should the initialization files be installed? -INITPATH="%CommonProgramFiles%/Cycling '74/init" - -# where should the help files be installed? -HELPPATH="%ProgramFiles%/MaxMSP 4.5/max-help/flext" - -############################################################### - -# where is the STK installation? -# (uncomment the line with # to disable STK support) -# -------------------------------------------------------------------- -# In order to use STK you must have an Stk.obj file -# made with mingw -# g++ -c -mno-cygwin -O3 -I ../include Stk.cpp -o Stk.obj -# -#STK=c:\data\prog\audio\stk - -# where is the Sndobjs installation? -# (uncomment the line with # to disable SNDOBJ support) -# -------------------------------------------------------------------- -# Please be sure to delete an eventual m_pd.h file from the SNDOBJ include folder!! -# The shared flext library links to the libsndobj.a library. -# -#SNDOBJ=c:\data\prog\audio\sndobj - -############################################################### - -# make flags (e.g. use multiprocessor) -#MFLAGS=-j 2 - -# user defined compiler flags -# (check if they match your system!) -UFLAGS=-msse -ffast-math - -# user defined optimization flags -# (check if they match your system!) -OFLAGS=-O3 -# optimizations for Pentium 4 -OFLAGS+=-march=pentium4 diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/config-msvc.def.svn-base b/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/config-msvc.def.svn-base deleted file mode 100644 index 033b50d52..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/config-msvc.def.svn-base +++ /dev/null @@ -1,80 +0,0 @@ -# where are the Max/MSP SDK header files? -# you should have the latest version! -MAXSDKPATH="%ProgramFiles%\MaxMSP 4.5\maxmspsdk_win\4.5 headers\c74support" - -# where is MS VC++? -# (not necessary if the build is run with the compiler environment) -# MSVCPATH="%ProgramFiles%\Microsoft Visual Studio .NET 2003\Vc7" - -############################################################### - -# where do/should the flext headers reside/be built? -FLEXTINC="%CommonProgramFiles%\Cycling '74\flext" - -# where do/should the flext static libraries reside/be built? -FLEXTLIB=$(FLEXTINC) - -# where do/should the flext shared libraries reside/be built? -# (a good place is the MaxMSP program folder) -FLEXTSHLIB="%ProgramFiles%\MaxMSP 4.5" - -############################################################### - -# where should the external be built? -# (path for temporary files) -OUTPATH=max-msvc - -# where should the external be installed? -INSTPATH="%CommonProgramFiles%\Cycling '74\externals\flext" - -# where should the initialization files be installed? -INITPATH="%CommonProgramFiles%\Cycling '74\init" - -# where should the help files be installed? -HELPPATH="%ProgramFiles%\MaxMSP 4.5\max-help\flext" - -############################################################### - -# where is the STK installation? -# (uncomment the line with # to disable STK support) -# -------------------------------------------------------------------- -# In order to use STK you must have an stk.lib library -# Using MSVC you can build it as following (from the STK main folder): -# cl /c /GR /EHsc /Iinclude /MT /Ox src\*.cpp -# (in case you define DYNAMIC=1 below, omit the /MT flag and set /MD instead) -# (you will get errors for some files, you can ignore them in the flext context) -# lib *.obj /out:stk.lib -# - -# where to find the STK header files (e.g. stk.h) -#STK_INC=%HOMEDRIVE%\%HOMEPATH%\stk\include - -# where to find the STK library (normally stk.lib) -# (comment out STK_LIB if you don't use STK) -#STK_LIB=%HOMEDRIVE%\%HOMEPATH%\stk\stk.lib - -# where is the Sndobjs installation? -# (uncomment the line with # to disable SNDOBJ support) -# -------------------------------------------------------------------- -# Please be sure to delete an eventual m_pd.h file from the SNDOBJ include folder!! -# Flext must be compiled with the same compiler version as the SNDOBJ lib (default MSVC6) -# - -# where to find the SndObj header files (e.g. SndObj.h) -#SNDOBJ_INC=%HOMEDRIVE%\%HOMEPATH%\SndObj\include - -# where to find the SndObj library (normally SndObj.lib) -# (comment out SNDOBJ_LIB if you don't use SndObj) -#SNDOBJ_LIB=%HOMEDRIVE%\%HOMEPATH%\SndObj\lib\SndObj.lib - -############################################################### - -# some user-definable flags -# (check if they match your system!) -OFLAGS=/Ox -# optimizations for Pentium 4 -#OFLAGS=$(OFLAGS) /G6 /arch:SSE - -# uncomment to link against dynamic C runtime libraries -# (that's ok if you compile with VC++ 7.0 and 7.1) -DYNAMIC=1 diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/gnumake-cygwin-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/gnumake-cygwin-ext.inc.svn-base deleted file mode 100644 index 04e59462b..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/gnumake-cygwin-ext.inc.svn-base +++ /dev/null @@ -1 +0,0 @@ -EXT=mxe diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/gnumake-cygwin-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/gnumake-cygwin-flext.inc.svn-base deleted file mode 100644 index b9b41f232..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/gnumake-cygwin-flext.inc.svn-base +++ /dev/null @@ -1,6 +0,0 @@ -ifdef SHARED -EXT=dll -else -EXT=a -endif - diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/gnumake-cygwin.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/gnumake-cygwin.inc.svn-base deleted file mode 100644 index c97423fc8..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/gnumake-cygwin.inc.svn-base +++ /dev/null @@ -1,10 +0,0 @@ -DEFS += -DFLEXT_SYS=1 - -# fpack-struct should align to 2 bytes... rely on the SDK to specify that -CFLAGS += -DWINVER=0x0501 -D_WIN32_WINNT=0x501 -DWIN_VERSION -DWIN_EXT_VERSION - -INCPATH += -I$(MAXSDKPATH)/max-includes -I$(MAXSDKPATH)/jit-includes -I$(MAXSDKPATH)/msp-includes -LIBPATH += -L$(MAXSDKPATH)/max-includes -L$(MAXSDKPATH)/jit-includes -L$(MAXSDKPATH)/msp-includes - -# these are both in MAXSDKPATH -SYSLIBS += -lMaxAPI -lMaxAudio diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/gnumake-mingw-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/gnumake-mingw-ext.inc.svn-base deleted file mode 100644 index 04e59462b..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/gnumake-mingw-ext.inc.svn-base +++ /dev/null @@ -1 +0,0 @@ -EXT=mxe diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/gnumake-mingw-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/gnumake-mingw-flext.inc.svn-base deleted file mode 100644 index 821d6fbc8..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/gnumake-mingw-flext.inc.svn-base +++ /dev/null @@ -1,6 +0,0 @@ -ifdef SHARED -EXT=dll -else -EXT=LIB -endif - diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/gnumake-mingw.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/gnumake-mingw.inc.svn-base deleted file mode 100644 index 528482bf8..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/gnumake-mingw.inc.svn-base +++ /dev/null @@ -1,12 +0,0 @@ -DEFS += -DFLEXT_SYS=1 - -# fpack-struct should align to 2 bytes... rely on the SDK header files to specify that -CFLAGS += -DWINVER=0x0501 -D_WIN32_WINNT=0x501 -DWIN_VERSION -DWIN_EXT_VERSION -# suppress multiple symbol errors -LDFLAGS += -Wl,--allow-multiple-definition - -INCPATH += -I$(MAXSDKPATH)/max-includes -I$(MAXSDKPATH)/jit-includes -I$(MAXSDKPATH)/msp-includes -LIBPATH += -L$(MAXSDKPATH)/max-includes -L$(MAXSDKPATH)/jit-includes -L$(MAXSDKPATH)/msp-includes - -# these are both in MAXSDKPATH -SYSLIBS += -lMaxAPI -lMaxAudio diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/nmake-msvc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/nmake-msvc-ext.inc.svn-base deleted file mode 100644 index 105d34f54..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/nmake-msvc-ext.inc.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -EXT=mxe -LDFLAGS=$(LDFLAGS) /EXPORT:main diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/nmake-msvc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/nmake-msvc-flext.inc.svn-base deleted file mode 100644 index d30a71440..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/nmake-msvc-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -!ifdef SHARED -EXT=dll -!else -EXT=lib -!endif diff --git a/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/nmake-msvc.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/nmake-msvc.inc.svn-base deleted file mode 100644 index b399d4cef..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/.svn/text-base/nmake-msvc.inc.svn-base +++ /dev/null @@ -1,8 +0,0 @@ -DEFS=$(DEFS) /DFLEXT_SYS=1 -CFLAGS=$(CFLAGS) /DWINVER=0x0501 /D_WIN32_WINNT=0x501 /DWIN_VERSION /DWIN_EXT_VERSION - -INCPATH=$(INCPATH) /I$(MAXSDKPATH)\max-includes /I$(MAXSDKPATH)\jit-includes /I$(MAXSDKPATH)\msp-includes -LIBPATH=$(LIBPATH) /LIBPATH:$(MAXSDKPATH)\max-includes /LIBPATH:$(MAXSDKPATH)\jit-includes /LIBPATH:$(MAXSDKPATH)\msp-includes - -# these are both in MAXSDKPATH -LIBS=$(LIBS) maxapi.lib maxaudio.lib \ No newline at end of file diff --git a/externals/grill/trunk/flext/buildsys/win/max/config-cygwin.def b/externals/grill/trunk/flext/buildsys/win/max/config-cygwin.def deleted file mode 100644 index 9abb816b2..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/config-cygwin.def +++ /dev/null @@ -1,71 +0,0 @@ -# where is the Max/MSP application? -MAXAPPPATH=/cygdrive/c/program\ files/MaxMSP\ 4.5 - -# where are the Max/MSP common files? -MAXCOMPATH=/cygdrive/c/program\ files/common\ files/Cycling\ \'74 - - -# where are the Max/MSP SDK header files? -# you should have the latest version! -MAXSDKPATH=$(MAXAPPPATH)/maxmspsdk_win/4.5\ headers/c74support - -############################################################### - -############################################################### - -# where do/should the flext headers reside/be built? -FLEXTINC=$(MAXCOMPATH)/flext - -# where do/should the flext static libraries reside/be built? -FLEXTLIB=$(FLEXTINC) - -# where do/should the flext shared libraries reside/be built? -# (a good place is the MaxMSP program folder) -FLEXTSHLIB=$(MAXAPPPATH) - -############################################################### - -# where should the external be built? -# (path for temporary files) -OUTPATH=max-cygwin - -# where should the external be installed? -INSTPATH=$(MAXCOMPATH)/externals/flext - -# where should the initialization files be installed? -INITPATH=$(MAXCOMPATH)/init - -# where should the help files be installed? -HELPPATH=$(MAXAPPPATH)/max-help/flext - -############################################################### - -# where is the STK installation? -# (uncomment the line with # to disable STK support) -# -------------------------------------------------------------------- -# In order to use STK you must have a libstk.a library -# -#STK=c:\data\prog\audio\stk - -# where is the Sndobjs installation? -# (uncomment the line with # to disable SNDOBJ support) -# -------------------------------------------------------------------- -# Please be sure to delete an eventual m_pd.h file from the SNDOBJ include folder!! -# The shared flext library links to the libsndobj.a file from the SNDOBJ distribution. -# -#SNDOBJ=c:\data\prog\audio\sndobj - -############################################################### - -# make flags (e.g. use multiprocessor) -#MFLAGS=-j 2 - -# user defined compiler flags -# (check if they match your system!) -UFLAGS=-msse -mfpmath=sse -ffast-math - -# user defined optimization flags -# (check if they match your system!) -OFLAGS=-O3 -# optimizations for Pentium 4 -OFLAGS+=-march=pentium4 diff --git a/externals/grill/trunk/flext/buildsys/win/max/config-mingw.def b/externals/grill/trunk/flext/buildsys/win/max/config-mingw.def deleted file mode 100644 index f2d03dfb6..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/config-mingw.def +++ /dev/null @@ -1,64 +0,0 @@ -# where are the Max/MSP SDK header files? -# you should have the latest version! -MAXSDKPATH="%ProgramFiles%\MaxMSP 4.5/maxmspsdk_win/4.5 headers/c74support" - -############################################################### - -# where do/should the flext headers reside/be built? -FLEXTINC="%CommonProgramFiles%/Cycling '74/flext" - -# where do/should the flext static libraries reside/be built? -FLEXTLIB=$(FLEXTINC) - -# where do/should the flext shared libraries reside/be built? -# (a good place is the MaxMSP program folder) -FLEXTSHLIB="%ProgramFiles%\MaxMSP 4.5" - -############################################################### - -# where should the external be built? -# (path for temporary files) -OUTPATH=max-mingw - -# where should the external be installed? -INSTPATH="%CommonProgramFiles%/Cycling '74/externals/flext" - -# where should the initialization files be installed? -INITPATH="%CommonProgramFiles%/Cycling '74/init" - -# where should the help files be installed? -HELPPATH="%ProgramFiles%/MaxMSP 4.5/max-help/flext" - -############################################################### - -# where is the STK installation? -# (uncomment the line with # to disable STK support) -# -------------------------------------------------------------------- -# In order to use STK you must have an Stk.obj file -# made with mingw -# g++ -c -mno-cygwin -O3 -I ../include Stk.cpp -o Stk.obj -# -#STK=c:\data\prog\audio\stk - -# where is the Sndobjs installation? -# (uncomment the line with # to disable SNDOBJ support) -# -------------------------------------------------------------------- -# Please be sure to delete an eventual m_pd.h file from the SNDOBJ include folder!! -# The shared flext library links to the libsndobj.a library. -# -#SNDOBJ=c:\data\prog\audio\sndobj - -############################################################### - -# make flags (e.g. use multiprocessor) -#MFLAGS=-j 2 - -# user defined compiler flags -# (check if they match your system!) -UFLAGS=-msse -ffast-math - -# user defined optimization flags -# (check if they match your system!) -OFLAGS=-O3 -# optimizations for Pentium 4 -OFLAGS+=-march=pentium4 diff --git a/externals/grill/trunk/flext/buildsys/win/max/config-msvc.def b/externals/grill/trunk/flext/buildsys/win/max/config-msvc.def deleted file mode 100644 index 033b50d52..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/config-msvc.def +++ /dev/null @@ -1,80 +0,0 @@ -# where are the Max/MSP SDK header files? -# you should have the latest version! -MAXSDKPATH="%ProgramFiles%\MaxMSP 4.5\maxmspsdk_win\4.5 headers\c74support" - -# where is MS VC++? -# (not necessary if the build is run with the compiler environment) -# MSVCPATH="%ProgramFiles%\Microsoft Visual Studio .NET 2003\Vc7" - -############################################################### - -# where do/should the flext headers reside/be built? -FLEXTINC="%CommonProgramFiles%\Cycling '74\flext" - -# where do/should the flext static libraries reside/be built? -FLEXTLIB=$(FLEXTINC) - -# where do/should the flext shared libraries reside/be built? -# (a good place is the MaxMSP program folder) -FLEXTSHLIB="%ProgramFiles%\MaxMSP 4.5" - -############################################################### - -# where should the external be built? -# (path for temporary files) -OUTPATH=max-msvc - -# where should the external be installed? -INSTPATH="%CommonProgramFiles%\Cycling '74\externals\flext" - -# where should the initialization files be installed? -INITPATH="%CommonProgramFiles%\Cycling '74\init" - -# where should the help files be installed? -HELPPATH="%ProgramFiles%\MaxMSP 4.5\max-help\flext" - -############################################################### - -# where is the STK installation? -# (uncomment the line with # to disable STK support) -# -------------------------------------------------------------------- -# In order to use STK you must have an stk.lib library -# Using MSVC you can build it as following (from the STK main folder): -# cl /c /GR /EHsc /Iinclude /MT /Ox src\*.cpp -# (in case you define DYNAMIC=1 below, omit the /MT flag and set /MD instead) -# (you will get errors for some files, you can ignore them in the flext context) -# lib *.obj /out:stk.lib -# - -# where to find the STK header files (e.g. stk.h) -#STK_INC=%HOMEDRIVE%\%HOMEPATH%\stk\include - -# where to find the STK library (normally stk.lib) -# (comment out STK_LIB if you don't use STK) -#STK_LIB=%HOMEDRIVE%\%HOMEPATH%\stk\stk.lib - -# where is the Sndobjs installation? -# (uncomment the line with # to disable SNDOBJ support) -# -------------------------------------------------------------------- -# Please be sure to delete an eventual m_pd.h file from the SNDOBJ include folder!! -# Flext must be compiled with the same compiler version as the SNDOBJ lib (default MSVC6) -# - -# where to find the SndObj header files (e.g. SndObj.h) -#SNDOBJ_INC=%HOMEDRIVE%\%HOMEPATH%\SndObj\include - -# where to find the SndObj library (normally SndObj.lib) -# (comment out SNDOBJ_LIB if you don't use SndObj) -#SNDOBJ_LIB=%HOMEDRIVE%\%HOMEPATH%\SndObj\lib\SndObj.lib - -############################################################### - -# some user-definable flags -# (check if they match your system!) -OFLAGS=/Ox -# optimizations for Pentium 4 -#OFLAGS=$(OFLAGS) /G6 /arch:SSE - -# uncomment to link against dynamic C runtime libraries -# (that's ok if you compile with VC++ 7.0 and 7.1) -DYNAMIC=1 diff --git a/externals/grill/trunk/flext/buildsys/win/max/gnumake-cygwin-ext.inc b/externals/grill/trunk/flext/buildsys/win/max/gnumake-cygwin-ext.inc deleted file mode 100644 index 04e59462b..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/gnumake-cygwin-ext.inc +++ /dev/null @@ -1 +0,0 @@ -EXT=mxe diff --git a/externals/grill/trunk/flext/buildsys/win/max/gnumake-cygwin-flext.inc b/externals/grill/trunk/flext/buildsys/win/max/gnumake-cygwin-flext.inc deleted file mode 100644 index b9b41f232..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/gnumake-cygwin-flext.inc +++ /dev/null @@ -1,6 +0,0 @@ -ifdef SHARED -EXT=dll -else -EXT=a -endif - diff --git a/externals/grill/trunk/flext/buildsys/win/max/gnumake-cygwin.inc b/externals/grill/trunk/flext/buildsys/win/max/gnumake-cygwin.inc deleted file mode 100644 index c97423fc8..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/gnumake-cygwin.inc +++ /dev/null @@ -1,10 +0,0 @@ -DEFS += -DFLEXT_SYS=1 - -# fpack-struct should align to 2 bytes... rely on the SDK to specify that -CFLAGS += -DWINVER=0x0501 -D_WIN32_WINNT=0x501 -DWIN_VERSION -DWIN_EXT_VERSION - -INCPATH += -I$(MAXSDKPATH)/max-includes -I$(MAXSDKPATH)/jit-includes -I$(MAXSDKPATH)/msp-includes -LIBPATH += -L$(MAXSDKPATH)/max-includes -L$(MAXSDKPATH)/jit-includes -L$(MAXSDKPATH)/msp-includes - -# these are both in MAXSDKPATH -SYSLIBS += -lMaxAPI -lMaxAudio diff --git a/externals/grill/trunk/flext/buildsys/win/max/gnumake-mingw-ext.inc b/externals/grill/trunk/flext/buildsys/win/max/gnumake-mingw-ext.inc deleted file mode 100644 index 04e59462b..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/gnumake-mingw-ext.inc +++ /dev/null @@ -1 +0,0 @@ -EXT=mxe diff --git a/externals/grill/trunk/flext/buildsys/win/max/gnumake-mingw-flext.inc b/externals/grill/trunk/flext/buildsys/win/max/gnumake-mingw-flext.inc deleted file mode 100644 index 821d6fbc8..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/gnumake-mingw-flext.inc +++ /dev/null @@ -1,6 +0,0 @@ -ifdef SHARED -EXT=dll -else -EXT=LIB -endif - diff --git a/externals/grill/trunk/flext/buildsys/win/max/gnumake-mingw.inc b/externals/grill/trunk/flext/buildsys/win/max/gnumake-mingw.inc deleted file mode 100644 index 528482bf8..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/gnumake-mingw.inc +++ /dev/null @@ -1,12 +0,0 @@ -DEFS += -DFLEXT_SYS=1 - -# fpack-struct should align to 2 bytes... rely on the SDK header files to specify that -CFLAGS += -DWINVER=0x0501 -D_WIN32_WINNT=0x501 -DWIN_VERSION -DWIN_EXT_VERSION -# suppress multiple symbol errors -LDFLAGS += -Wl,--allow-multiple-definition - -INCPATH += -I$(MAXSDKPATH)/max-includes -I$(MAXSDKPATH)/jit-includes -I$(MAXSDKPATH)/msp-includes -LIBPATH += -L$(MAXSDKPATH)/max-includes -L$(MAXSDKPATH)/jit-includes -L$(MAXSDKPATH)/msp-includes - -# these are both in MAXSDKPATH -SYSLIBS += -lMaxAPI -lMaxAudio diff --git a/externals/grill/trunk/flext/buildsys/win/max/nmake-msvc-ext.inc b/externals/grill/trunk/flext/buildsys/win/max/nmake-msvc-ext.inc deleted file mode 100644 index 105d34f54..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/nmake-msvc-ext.inc +++ /dev/null @@ -1,2 +0,0 @@ -EXT=mxe -LDFLAGS=$(LDFLAGS) /EXPORT:main diff --git a/externals/grill/trunk/flext/buildsys/win/max/nmake-msvc-flext.inc b/externals/grill/trunk/flext/buildsys/win/max/nmake-msvc-flext.inc deleted file mode 100644 index d30a71440..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/nmake-msvc-flext.inc +++ /dev/null @@ -1,5 +0,0 @@ -!ifdef SHARED -EXT=dll -!else -EXT=lib -!endif diff --git a/externals/grill/trunk/flext/buildsys/win/max/nmake-msvc.inc b/externals/grill/trunk/flext/buildsys/win/max/nmake-msvc.inc deleted file mode 100644 index b399d4cef..000000000 --- a/externals/grill/trunk/flext/buildsys/win/max/nmake-msvc.inc +++ /dev/null @@ -1,8 +0,0 @@ -DEFS=$(DEFS) /DFLEXT_SYS=1 -CFLAGS=$(CFLAGS) /DWINVER=0x0501 /D_WIN32_WINNT=0x501 /DWIN_VERSION /DWIN_EXT_VERSION - -INCPATH=$(INCPATH) /I$(MAXSDKPATH)\max-includes /I$(MAXSDKPATH)\jit-includes /I$(MAXSDKPATH)\msp-includes -LIBPATH=$(LIBPATH) /LIBPATH:$(MAXSDKPATH)\max-includes /LIBPATH:$(MAXSDKPATH)\jit-includes /LIBPATH:$(MAXSDKPATH)\msp-includes - -# these are both in MAXSDKPATH -LIBS=$(LIBS) maxapi.lib maxaudio.lib \ No newline at end of file diff --git a/externals/grill/trunk/flext/buildsys/win/nmake-msvc-ext.inc b/externals/grill/trunk/flext/buildsys/win/nmake-msvc-ext.inc deleted file mode 100644 index e94bd4a25..000000000 --- a/externals/grill/trunk/flext/buildsys/win/nmake-msvc-ext.inc +++ /dev/null @@ -1,61 +0,0 @@ -# build class specific settings - -INCPATH=$(INCPATH) /I$(FLEXTINC) -LIBPATH=$(LIBPATH) /LIBPATH:$(FLEXTLIB) -LIBS=$(LIBS) $(FLEXTNAME).lib - -!ifndef SHARED -!ifdef SNDOBJ -LIBS=$(LIBS) $(SNDOBJ)\lib\SndObj.lib -!endif - -!ifdef STK -LIBS=$(LIBS) $(STK)\stk.lib -!endif -!endif - -############################################## - -# default target -_build_: $(TARGET) - -$(OUTPATH): - if not exist $@ mkdir $@ > nul - -$(TARGETPATH): $(OUTPATH) - if not exist $@ mkdir $@ > nul - -{$(SRCDIR)}.cpp{}.obj: - cl /c $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@ - -.cpp.obj: - @-mkdir $(TARGETPATH)\$(@D:/=\) 2> NUL - cl /c $(CFLAGS) $(DEFS) $(INCPATH) $(SRCDIR)\$** /Fo$(TARGETPATH)\$@ - -{$(SRCDIR)}.c{}.obj: - cl /c $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@ - -.c.obj: - @-mkdir $(TARGETPATH)\$(@D:/=\) 2> NUL - cl /c $(CFLAGS) $(DEFS) $(INCPATH) $(SRCDIR)\$** /Fo$(TARGETPATH)\$@ - -$(TARGET):: $(TARGETPATH) - -$(TARGET):: $(OBJS) - @cd $(TARGETPATH) - link /DLL $(LDFLAGS) $(LIBPATH) $(OBJS) $(LIBS) /out:$(@F) - @cd ..\.. - -############################################## -# remove build - -_clean_: - -del /q $(TARGETPATH)\*.* > nul - -rmdir /q $(TARGETPATH) > nul - -############################################## - -_install_: - @if not exist $(INSTPATH) mkdir $(INSTPATH) > nul - - copy $(TARGET) $(INSTPATH) > nul diff --git a/externals/grill/trunk/flext/buildsys/win/nmake-msvc-flext.inc b/externals/grill/trunk/flext/buildsys/win/nmake-msvc-flext.inc deleted file mode 100644 index 0ad644be2..000000000 --- a/externals/grill/trunk/flext/buildsys/win/nmake-msvc-flext.inc +++ /dev/null @@ -1,77 +0,0 @@ -# build class specific settings - -!ifdef SHARED - -!ifdef SNDOBJ_LIB -LIBS=$(LIBS) $(SNDOBJ_LIB) -!endif - -!ifdef STK_LIB -LIBS=$(LIBS) $(STK_LIB) -!endif - -!endif - -############################################## - -# default target -_build_: $(TARGET) - -$(OUTPATH): - if not exist $@ mkdir $@ > nul - -$(TARGETPATH): $(OUTPATH) - if not exist $@ mkdir $@ > nul - -{$(SRCDIR)}.cpp{}.obj: - cl /c $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@ - -{$(SRCDIR)}.c{}.obj: - cl /c $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@ - - -$(TARGET):: $(TARGETPATH) - -$(TARGET):: $(OBJS) - @cd $(TARGETPATH) -!ifdef SHARED - link /DLL $(LDFLAGS) $(LIBPATH) $(OBJS) $(LIBS) /out:$(@F) -!else - lib /OUT:$(@F) $(OBJS) -!endif - @cd ..\.. - -############################################## - -# remove build -_clean_: - -del /q $(TARGETPATH)\*.* > nul - -rmdir /q $(TARGETPATH) > nul - -############################################## - -!ifdef SHARED -FLEXTLIBINST=$(FLEXTSHLIB) -!else -FLEXTLIBINST=$(FLEXTLIB) -!endif - -TMPFILE=$(TARGETPATH)\flext_install_filelist.tmp - -_install_: -# create folders -# -@if not exist $(FLEXTINC) mkdir $(FLEXTINC) > nul - -@if not exist $(FLEXTLIB) mkdir $(FLEXTLIB) > nul - -@if not exist $(FLEXTLIBINST) mkdir $(FLEXTLIBINST) > nul - - -copy $(TARGET) $(FLEXTLIBINST) > nul -!ifdef SHARED -# copy import library - -copy $(TARGET:.dll=.lib) $(FLEXTLIB) > nul -!endif -# copy headers (probably with subpath) - - -@del $(TMPFILE) 2>nul - -@for %%i in ($(HDRS)) do @echo %%i >> $(TMPFILE) - -@for /f "tokens=1,2 delims=/" %%i in ($(TMPFILE)) do @if "%%j" == "" ( copy $(SRCDIR)\%%i $(FLEXTINC) > nul ) else ( mkdir $(FLEXTINC)\%%i 2>nul & copy $(SRCDIR)\%%i\%%j $(FLEXTINC)\%%i > nul ) - -@del $(TMPFILE) 2>nul diff --git a/externals/grill/trunk/flext/buildsys/win/nmake-msvc-shlib.inc b/externals/grill/trunk/flext/buildsys/win/nmake-msvc-shlib.inc deleted file mode 100644 index 0f188ba82..000000000 --- a/externals/grill/trunk/flext/buildsys/win/nmake-msvc-shlib.inc +++ /dev/null @@ -1,45 +0,0 @@ -# build class specific settings - -INCPATH=$(INCPATH) /I$(FLEXTINC) -LIBPATH=$(LIBPATH) /LIBPATH:$(FLEXTLIB) -LIBS=$(LIBS) $(FLEXTNAME).lib - -############################################## - -# default target -_build_: $(TARGET) - -$(OUTPATH): - if not exist $@ mkdir $@ > nul - -$(TARGETPATH): $(OUTPATH) - if not exist $@ mkdir $@ > nul - -{$(SRCDIR)}.cpp{}.obj: - cl /c $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@ - -{$(SRCDIR)}.c{}.obj: - cl /c $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@ - -$(TARGET):: $(TARGETPATH) - -$(TARGET):: $(OBJS) - @cd $(TARGETPATH) - link /DLL $(LDFLAGS) $(LIBPATH) $(OBJS) $(LIBS) /OUT:$(@F) - @cd ..\.. - -############################################## -# remove build - -_clean_: - -del /q $(TARGETPATH)\*.* > nul - -rmdir /q $(TARGETPATH) > nul - -############################################## - -_install_: - @if not exist $(FLEXTSHLIB) mkdir $(FLEXTSHLIB) > nul - - copy $(TARGET) $(FLEXTSHLIB) > nul -# copy import library - copy $(TARGET:.dll=.lib) $(FLEXTSHLIB) > nul diff --git a/externals/grill/trunk/flext/buildsys/win/nmake-msvc.inc b/externals/grill/trunk/flext/buildsys/win/nmake-msvc.inc deleted file mode 100644 index d00f3a36d..000000000 --- a/externals/grill/trunk/flext/buildsys/win/nmake-msvc.inc +++ /dev/null @@ -1,81 +0,0 @@ -!ifdef MSVCPATH -INCPATH=$(INCPATH) /I$(MSVCPATH)\include -LIBPATH=$(LIBPATH) /LIBPATH:$(MSVCPATH)\lib -!endif - -!ifdef LOCKFREEPATH -INCPATH=$(INCPATH) /I$(LOCKFREEPATH) -!endif - -!ifdef SNDOBJ_INC -INCPATH=$(INCPATH) /I$(SNDOBJ_INC) -!endif - -!ifdef STK_INC -INCPATH=$(INCPATH) /I$(STK_INC) -!endif - -############################################## - -OBJPATH=$(OUTPATH)\$(OUTSUB) -TARGETPATH=$(OBJPATH) -TARGET=$(TARGETPATH)\$(OUTNAME).$(EXT) - -############################################## -# use precompiled headers (automatic mode) - -!ifdef PRECOMPILE -CFLAGS=$(CFLAGS) /YX$(PRECOMPILE) /Fp$(OBJPATH)\precompiled.pch -!endif - -############################################## - -# create code for DLL -CFLAGS=$(CFLAGS) /LD - -# enable exception handling, RTTI and intrinsic functions -CFLAGS=$(CFLAGS) /EHsc /GR /Oi - -# no banner -CFLAGS=$(CFLAGS) /nologo -LDFLAGS=$(LDFLAGS) /nologo - -# inhibit VC8 warnings -CFLAGS=$(CFLAGS) /D_CRT_SECURE_NO_DEPRECATE - -# default Windows flags as defined from VC IDE -CFLAGS=$(CFLAGS) /DWIN32 /D_WINDOWS - -############################################## - -!ifdef DEBUG - -!ifdef DYNAMIC -CFLAGS=$(CFLAGS) /MDd -LIBS=$(LIBS) MSVCPRTD.LIB MSVCRTD.LIB -!else -CFLAGS=$(CFLAGS) /MTd -LIBS=$(LIBS) LIBCPMTD.LIB LIBCMTD.LIB -!endif - -LDFLAGS=$(LDFLAGS) /DEBUG - -!else - -!ifdef DYNAMIC -CFLAGS=$(CFLAGS) /MD -LIBS=$(LIBS) MSVCPRT.LIB MSVCRT.LIB -!else -CFLAGS=$(CFLAGS) /MT -LIBS=$(LIBS) LIBCPMT.LIB LIBCMT.LIB -!endif - -LDFLAGS=$(LDFLAGS) /INCREMENTAL:NO - -!endif - -############################################## -# convert both *.c and *.cpp - -OBJSTMP= $(SRCS:.c=.obj) -OBJS= $(OBJSTMP:.objpp=.obj) diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/all-wcprops b/externals/grill/trunk/flext/buildsys/win/pd/.svn/all-wcprops deleted file mode 100644 index 5c52a0a81..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/all-wcprops +++ /dev/null @@ -1,149 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 46 -/ext/!svn/ver/3674/trunk/flext/buildsys/win/pd -END -gnumake-gcc-ext.inc -K 25 -svn:wc:ra_dav:version-url -V 66 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/pd/gnumake-gcc-ext.inc -END -config-bcc.def -K 25 -svn:wc:ra_dav:version-url -V 61 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/pd/config-bcc.def -END -gnumake-gcc.inc -K 25 -svn:wc:ra_dav:version-url -V 62 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/pd/gnumake-gcc.inc -END -nmake-msvc-flext.inc -K 25 -svn:wc:ra_dav:version-url -V 67 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/pd/nmake-msvc-flext.inc -END -gnumake-cygwin-ext.inc -K 25 -svn:wc:ra_dav:version-url -V 69 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/pd/gnumake-cygwin-ext.inc -END -gnumake-cygwin-shlib.inc -K 25 -svn:wc:ra_dav:version-url -V 71 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/pd/gnumake-cygwin-shlib.inc -END -config-gcc.def -K 25 -svn:wc:ra_dav:version-url -V 61 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/pd/config-gcc.def -END -bmake-bcc-flext.inc -K 25 -svn:wc:ra_dav:version-url -V 66 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/pd/bmake-bcc-flext.inc -END -gnumake-cygwin.inc -K 25 -svn:wc:ra_dav:version-url -V 65 -/ext/!svn/ver/3661/trunk/flext/buildsys/win/pd/gnumake-cygwin.inc -END -gnumake-mingw-flext.inc -K 25 -svn:wc:ra_dav:version-url -V 70 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/pd/gnumake-mingw-flext.inc -END -config-cygwin.def -K 25 -svn:wc:ra_dav:version-url -V 64 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/pd/config-cygwin.def -END -nmake-msvc-ext.inc -K 25 -svn:wc:ra_dav:version-url -V 65 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/pd/nmake-msvc-ext.inc -END -config-msvc.def -K 25 -svn:wc:ra_dav:version-url -V 62 -/ext/!svn/ver/3674/trunk/flext/buildsys/win/pd/config-msvc.def -END -nmake-msvc-shlib.inc -K 25 -svn:wc:ra_dav:version-url -V 67 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/pd/nmake-msvc-shlib.inc -END -gnumake-gcc-flext.inc -K 25 -svn:wc:ra_dav:version-url -V 68 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/pd/gnumake-gcc-flext.inc -END -nmake-msvc.inc -K 25 -svn:wc:ra_dav:version-url -V 61 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/pd/nmake-msvc.inc -END -bmake-bcc-ext.inc -K 25 -svn:wc:ra_dav:version-url -V 64 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/pd/bmake-bcc-ext.inc -END -bmake-bcc-shlib.inc -K 25 -svn:wc:ra_dav:version-url -V 66 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/pd/bmake-bcc-shlib.inc -END -bmake-bcc.inc -K 25 -svn:wc:ra_dav:version-url -V 60 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/pd/bmake-bcc.inc -END -gnumake-mingw-ext.inc -K 25 -svn:wc:ra_dav:version-url -V 68 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/pd/gnumake-mingw-ext.inc -END -gnumake-cygwin-flext.inc -K 25 -svn:wc:ra_dav:version-url -V 71 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/pd/gnumake-cygwin-flext.inc -END -gnumake-mingw-shlib.inc -K 25 -svn:wc:ra_dav:version-url -V 70 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/pd/gnumake-mingw-shlib.inc -END -gnumake-mingw.inc -K 25 -svn:wc:ra_dav:version-url -V 64 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/pd/gnumake-mingw.inc -END -config-mingw.def -K 25 -svn:wc:ra_dav:version-url -V 63 -/ext/!svn/ver/1247/trunk/flext/buildsys/win/pd/config-mingw.def -END diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/entries b/externals/grill/trunk/flext/buildsys/win/pd/.svn/entries deleted file mode 100644 index 0f1fbe411..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/entries +++ /dev/null @@ -1,844 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/buildsys/win/pd -https://svn.grrrr.org/ext - - - -2009-03-07T00:04:02.678800Z -3674 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -gnumake-gcc.inc -file - - - - -2012-05-13T23:08:35.978556Z -2019017a7c9cf3bea17f897c406c74b5 -2008-01-14T17:16:35.661803Z -1226 -thomas - - - - - - - - - - - - - - - - - - - - - -710 - -nmake-msvc-flext.inc -file - - - - -2012-05-13T23:08:35.978556Z -10599b5fc0e43bf4c4007d58259b128b -2005-01-04T16:18:05.914480Z -956 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -43 - -gnumake-cygwin-ext.inc -file - - - - -2012-05-13T23:08:35.979556Z -bec4a9507b38115e774330c464d38050 -2005-01-04T16:18:05.914480Z -956 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -8 - -gnumake-cygwin-shlib.inc -file - - - - -2012-05-13T23:08:35.980556Z -bec4a9507b38115e774330c464d38050 -2008-01-14T17:16:35.661803Z -1226 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -8 - -config-gcc.def -file - - - - -2012-05-13T23:08:35.980556Z -ca1d5ff3e6a3a8cc8b47a85b4f62cbdf -2008-01-14T17:16:35.661803Z -1226 -thomas - - - - - - - - - - - - - - - - - - - - - -2036 - -bmake-bcc-flext.inc -file - - - - -2012-05-13T23:08:35.979556Z -10599b5fc0e43bf4c4007d58259b128b -2005-01-04T16:18:05.914480Z -956 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -43 - -gnumake-cygwin.inc -file - - - - -2012-05-13T23:08:35.981556Z -b32cb9c75372c7885791966c12bbcf06 -2009-02-11T14:33:55.018356Z -3661 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -207 - -gnumake-mingw-flext.inc -file - - - - -2012-05-13T23:08:35.982556Z -b1ddc95afe90111c84630160b97ccbfd -2005-01-04T16:18:05.914480Z -956 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -38 - -config-cygwin.def -file - - - - -2012-05-13T23:08:35.982556Z -4f530fd5c45f2cca3555329c6f8a1ccb -2007-03-27T17:15:41.407150Z -1197 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1005 - -nmake-msvc-ext.inc -file - - - - -2012-05-13T23:08:35.986556Z -bec4a9507b38115e774330c464d38050 -2005-01-04T16:18:05.914480Z -956 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -8 - -config-msvc.def -file - - - - -2012-05-13T23:08:35.988556Z -16f9f6f52f2fa9ed19aff5c514e2fc82 -2009-03-07T00:04:02.678800Z -3674 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -3330 - -nmake-msvc-shlib.inc -file - - - - -2012-05-13T23:08:35.987556Z -bec4a9507b38115e774330c464d38050 -2008-01-14T17:16:35.661803Z -1226 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -8 - -gnumake-gcc-flext.inc -file - - - - -2012-05-13T23:08:35.988556Z -fabd6703c65177e1583245be6464f224 -2008-01-14T17:16:35.661803Z -1226 -thomas - - - - - - - - - - - - - - - - - - - - - -191 - -nmake-msvc.inc -file - - - - -2012-05-13T23:08:35.989556Z -dddb01e9ba4e7bedc59b3c845bdcf972 -2008-01-14T17:16:35.661803Z -1226 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -595 - -bmake-bcc-ext.inc -file - - - - -2012-05-13T23:08:35.990556Z -bec4a9507b38115e774330c464d38050 -2005-01-04T16:18:05.914480Z -956 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -8 - -bmake-bcc-shlib.inc -file - - - - -2012-05-13T23:08:35.990556Z -bec4a9507b38115e774330c464d38050 -2008-01-14T17:16:35.661803Z -1226 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -8 - -bmake-bcc.inc -file - - - - -2012-05-13T23:08:35.991556Z -8dc5f2df02fd240f9b3a45a260b086a9 -2008-01-14T17:16:35.661803Z -1226 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -523 - -gnumake-mingw-ext.inc -file - - - - -2012-05-13T23:08:35.992556Z -bec4a9507b38115e774330c464d38050 -2005-01-04T16:18:05.914480Z -956 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -8 - -gnumake-cygwin-flext.inc -file - - - - -2012-05-13T23:08:35.992556Z -b1ddc95afe90111c84630160b97ccbfd -2005-01-04T16:18:05.914480Z -956 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -38 - -gnumake-mingw-shlib.inc -file - - - - -2012-05-13T23:08:35.993556Z -bec4a9507b38115e774330c464d38050 -2008-01-14T17:16:35.661803Z -1226 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -8 - -gnumake-mingw.inc -file - - - - -2012-05-13T23:08:35.994556Z -75d29469427042fa20e89ee79e05c5ff -2008-01-14T17:16:35.661803Z -1226 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -491 - -config-mingw.def -file - - - - -2012-05-13T23:08:35.976556Z -40c5b1537c3c70fe4caec7c15fe2f89c -2008-01-14T17:16:35.661803Z -1226 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1413 - -gnumake-gcc-ext.inc -file - - - - -2012-05-13T23:08:35.977556Z -ee87a3356d4128aef01a5d20e5c16837 -2008-01-14T17:16:35.661803Z -1226 -thomas - - - - - - - - - - - - - - - - - - - - - -91 - -config-bcc.def -file - - - - -2012-05-13T23:08:35.976556Z -11ab2dd95f9defe4fdd61c8f008bc6c2 -2008-01-14T17:16:35.661803Z -1226 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1346 - diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/bmake-bcc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/bmake-bcc-ext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/bmake-bcc-ext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/bmake-bcc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/bmake-bcc-flext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/bmake-bcc-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/bmake-bcc-shlib.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/bmake-bcc-shlib.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/bmake-bcc-shlib.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/bmake-bcc.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/bmake-bcc.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/bmake-bcc.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/config-bcc.def.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/config-bcc.def.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/config-bcc.def.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/config-cygwin.def.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/config-cygwin.def.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/config-cygwin.def.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/config-mingw.def.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/config-mingw.def.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/config-mingw.def.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/config-msvc.def.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/config-msvc.def.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/config-msvc.def.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-cygwin-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-cygwin-ext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-cygwin-ext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-cygwin-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-cygwin-flext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-cygwin-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-cygwin-shlib.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-cygwin-shlib.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-cygwin-shlib.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-cygwin.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-cygwin.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-cygwin.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-mingw-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-mingw-ext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-mingw-ext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-mingw-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-mingw-flext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-mingw-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-mingw-shlib.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-mingw-shlib.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-mingw-shlib.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-mingw.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-mingw.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/gnumake-mingw.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/nmake-msvc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/nmake-msvc-ext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/nmake-msvc-ext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/nmake-msvc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/nmake-msvc-flext.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/nmake-msvc-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/nmake-msvc-shlib.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/nmake-msvc-shlib.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/nmake-msvc-shlib.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/nmake-msvc.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/nmake-msvc.inc.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/prop-base/nmake-msvc.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/bmake-bcc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/bmake-bcc-ext.inc.svn-base deleted file mode 100644 index 26bcf06ea..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/bmake-bcc-ext.inc.svn-base +++ /dev/null @@ -1 +0,0 @@ -EXT=dll diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/bmake-bcc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/bmake-bcc-flext.inc.svn-base deleted file mode 100644 index d30a71440..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/bmake-bcc-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -!ifdef SHARED -EXT=dll -!else -EXT=lib -!endif diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/bmake-bcc-shlib.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/bmake-bcc-shlib.inc.svn-base deleted file mode 100644 index 26bcf06ea..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/bmake-bcc-shlib.inc.svn-base +++ /dev/null @@ -1 +0,0 @@ -EXT=dll diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/bmake-bcc.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/bmake-bcc.inc.svn-base deleted file mode 100644 index 7d012c379..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/bmake-bcc.inc.svn-base +++ /dev/null @@ -1,26 +0,0 @@ -DEFS=$(DEFS) /DFLEXT_SYS=2 /DPD - -!ifdef WINNT -DEFS=$(DEFS) /D_WIN32_WINNT=0x500 -!endif - -############################################## -# let the pthreads path be first, because pthreads headers could also be a $(PDPATH)/src - -INCPATH=$(INCPATH) -I$(PTHREADSINC) -LIBPATH=$(LIBPATH) -L$(PTHREADSLIB) - -!ifdef THREADED -!if $(PTHREADSVERSION) == 2 -LIBS=$(LIBS) pthreadVC2.lib -!else -LIBS=$(LIBS) pthreadVC.lib -!endif -!endif - -############################################## - -INCPATH=$(INCPATH) -I$(PDPATH)\src - -LIBS=$(LIBS) pd.lib - diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/config-bcc.def.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/config-bcc.def.svn-base deleted file mode 100644 index abed695d7..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/config-bcc.def.svn-base +++ /dev/null @@ -1,49 +0,0 @@ -# where is the PD installation? -# (this should point to the main folder, which has a "src" subfolder) -PDPATH="c:\program files\pd" - -# where is BorlandC++? -BCCPATH="c:\program files\bcc55" - -############################################################### - -# version of the pthreads library (the one coming with PD has version number 1) -PTHREADSVERSION=1 - -# path to pthreads headers (PD comes with some in the src folder) -PTHREADSINC=$(PDPATH)\src - -# path to pthreads link library (PD comes with one in the bin folder) -PTHREADSLIB=$(PDPATH)\bin - -############################################################### - -# where do/should the flext headers reside/be built? -FLEXTINC=$(PDPATH)\flext - -# where do/should the flext static libraries reside/be built? -FLEXTLIB=$(FLEXTINC) - -# where do/should the flext shared libraries reside/be built? -FLEXTSHLIB=$(PDPATH)\bin - -############################################################### - -# where should the external be built? -OUTPATH=pd-bcc - -# where should the external be installed? -INSTPATH=$(PDPATH)\extra - -############################################################### - -# user defined compiler flags -# (check if they match your system!) -UFLAGS= - -# user defined optimization flags -# (check if they match your system!) -OFLAGS=-6 -O2 -OS -ff -d - -# comment if you want to compile for Windows 95/98/ME -WINNT=1 diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/config-cygwin.def.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/config-cygwin.def.svn-base deleted file mode 100644 index 8e7d8aa82..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/config-cygwin.def.svn-base +++ /dev/null @@ -1,37 +0,0 @@ -# where is the PD installation? -# (this should point to the main folder, which has a "src" subfolder) -PDPATH=/cygdrive/c/program files/pd - -############################################################### - -# where do/should the flext headers reside/be built? -FLEXTINC=$(PDPATH)/flext - -# where do/should the flext static libraries reside/be built? -FLEXTLIB=$(FLEXTINC) - -# where do/should the flext shared libraries reside/be built? -FLEXTSHLIB=$(PDPATH)/bin - -############################################################### - -# where should the external be built? -OUTPATH=pd-cygwin - -# where should the external be installed? -INSTPATH=$(PDPATH)/extra - -############################################################### - -# make flags (e.g. use multiprocessor) -#MFLAGS=-j 2 - -# user defined compiler flags -# (check if they match your system!) -UFLAGS=-msse -mfpmath=sse -ffast-math - -# user defined optimization flags -# (check if they match your system!) -OFLAGS=-O3 -# optimizations for Pentium 4 -OFLAGS+=-march=pentium4 diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/config-gcc.def.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/config-gcc.def.svn-base deleted file mode 100644 index f37ceeae1..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/config-gcc.def.svn-base +++ /dev/null @@ -1,75 +0,0 @@ -# where is the PD installation including source code? -# (this should point to the main folder, which has a "src" subfolder) -PDPATH=/Applications/Pd-0.40-2.app/Contents/Resources - -# where is the PD executable? -PDBIN=$(PDPATH)/bin/pd - -############################################################### - -# prefix for flext installation -# headers are in $(FLEXTPREFIX)/include/flext -# libraries are in $(FLEXTPREFIX)/lib -# build system is in $(FLEXTPREFIX)/lib/flext - -FLEXTPREFIX=/usr/local - -############################################################### - -# where should the external be built? -OUTPATH=pd-darwin - -# where should the external be installed? -INSTPATH=$(PDPATH)/extra - -############################################################### - -# STK (synthesis tool kit) support -# http://ccrma.stanford.edu/software/stk - -# where to find the STK header files (e.g. stk.h) -STK_INC=/usr/local/include/stk - -# where to find the STK library (normally libstk.a) -# (comment out STK_LIB if you don't use STK) -#STK_LIB=/usr/local/lib/libstk.a - -############################################################### - -# SndObj support -# http://music.nuim.ie//musictec/SndObj - -# where to find the SndObj header files (e.g. sndobj.h) -SNDOBJ_INC=/usr/local/include/sndobj - -# where to find the SndObj library (normally libsndobj.a) -# (comment out STK_LIB if you don't use SndObj) -#SNDOBJ_LIB=/usr/local/lib/libsndobj.a - -############################################################### - -# make flags (e.g. use multiprocessor) -#MFLAGS=-j 2 - -# user defined compiler flags -UFLAGS += -ffast-math - -# user defined optimization flags -OFLAGS += -Os -ftree-vectorize - -# user defined debugging flags -DFLAGS += - -# architecture-specific flags (optional) -UFLAGS_ppc += -maltivec -faltivec -OFLAGS_ppc += -mtune=G4 -DFLAGS_ppc += - -UFLAGS_i386 += -mmmx -msse -msse2 -msse3 -OFLAGS_i386 += -mtune=prescott -DFLAGS_i386 += - -# cross-compilation (optional) -#ARCH=i386 ppc -#OSXSDK=/Developer/SDKs/MacOSX10.4u.sdk - diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/config-mingw.def.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/config-mingw.def.svn-base deleted file mode 100644 index a8c59b21f..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/config-mingw.def.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -# where is the PD installation? -# (this should point to the main folder, which has a "src" subfolder) -PDPATH="%ProgramFiles%\pd" - -############################################################### - -# version of the pthreads library (the one coming with PD has version number 1) -PTHREADSVERSION=1 - -# path to pthreads headers (PD comes with some in the src folder) -PTHREADSINC=$(PDPATH)\src - -# path to pthreads link library (PD comes with one in the bin folder) -PTHREADSLIB=$(PDPATH)\bin - -############################################################### - -# where do/should the flext headers reside/be built? -FLEXTINC=$(PDPATH)\flext - -# where do/should the flext static libraries reside/be built? -FLEXTLIB=$(FLEXTINC) - -# where do/should the flext shared libraries reside/be built? -FLEXTSHLIB=$(PDPATH)\bin - -############################################################### - -# where should the external be built? -OUTPATH=pd-mingw - -# where should the external be installed? -INSTPATH=$(PDPATH)\extra - -############################################################### - -# make flags (e.g. use multiprocessor) -#MFLAGS=-j 2 - -# user defined compiler flags -# (check if they match your system!) -UFLAGS=-msse -mfpmath=sse -ffast-math - -# user defined optimization flags -# (check if they match your system!) -OFLAGS=-O3 -# optimizations for Pentium 4 -OFLAGS+=-march=pentium4 - -# comment if you want to compile for Windows 95/98/ME -WINNT=1 diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/config-msvc.def.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/config-msvc.def.svn-base deleted file mode 100644 index c896e50a6..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/config-msvc.def.svn-base +++ /dev/null @@ -1,97 +0,0 @@ -# where is the PD installation? -# (this should point to the main folder, which has a "src" subfolder) -PDPATH="%ProgramFiles%\pd" - -# where is MS VC++? -# (not necessary if the build is run with the compiler environment) -# MSVCPATH="%ProgramFiles%\Microsoft Visual Studio .NET 2003\Vc7" - -############################################################### - -# version of the pthreads library (the one coming with PD has version number 1) -PTHREADSVERSION=1 - -# path to pthreads headers (PD comes with some in the src folder) -PTHREADSINC=$(PDPATH)\src - -# path to pthreads link library (PD comes with one in the bin folder) -PTHREADSLIB=$(PDPATH)\bin - -############################################################### - -# path to lockfree library -LOCKFREEPATH=$(FLEXTINC)\source\lockfree - -############################################################### - -# where do/should the flext headers reside/be built? -FLEXTINC=$(PDPATH)\flext - -# where do/should the flext static libraries reside/be built? -FLEXTLIB=$(FLEXTINC) - -# where do/should the flext shared libraries reside/be built? -FLEXTSHLIB=$(PDPATH)\bin - -############################################################### - -# where should the external be built? -# (relative one-level subpath to project folder) -OUTPATH=pd-msvc - -# where should externals be installed? -INSTPATH=$(PDPATH)\extra - -############################################################### - -# where is the STK installation? -# (uncomment the line with # to disable STK support) -# -------------------------------------------------------------------- -# In order to use STK you must have an stk.lib library -# Using MSVC you can build it as following (from the STK main folder): -# cl /c /GR /EHsc /Iinclude /MT /Ox src\*.cpp -# (in case you define DYNAMIC=1 below, omit the /MT flag and set /MD instead) -# (you will get errors for some files, you can ignore them in the flext context) -# lib *.obj /out:stk.lib -# - -# where to find the STK header files (e.g. stk.h) -#STK_INC=%HOMEDRIVE%\%HOMEPATH%\stk\include - -# where to find the STK library (normally stk.lib) -# (comment out STK_LIB if you don't use STK) -#STK_LIB=%HOMEDRIVE%\%HOMEPATH%\stk\stk.lib - -# where is the Sndobjs installation? -# (uncomment the line with # to disable SNDOBJ support) -# -------------------------------------------------------------------- -# Please be sure to delete an eventual m_pd.h file from the SNDOBJ include folder!! -# The shared flext library links to the SndObj.lib file from the SNDOBJ distribution. -# Flext must be compiled with the same compiler version as the SNDOBJ lib (default MSVC6) -# - -# where to find the SndObj header files (e.g. SndObj.h) -#SNDOBJ_INC=%HOMEDRIVE%\%HOMEPATH%\SndObj\include - -# where to find the SndObj library (normally SndObj.lib) -# (comment out SNDOBJ_LIB if you don't use SndObj) -#SNDOBJ_LIB=%HOMEDRIVE%\%HOMEPATH%\SndObj\lib\SndObj.lib - -############################################################### - -# user defined compiler flags -# (check if they match your system!) -UFLAGS= - -# user defined optimization flags -# (check if they match your system!) -OFLAGS=/Ox -# optimizations for Pentium 4 -OFLAGS=$(OFLAGS) /G6 /arch:SSE - -# comment if you want to compile for Windows 95/98/ME -WINNT=1 - -# uncomment to link against dynamic C runtime libraries -# (don't use this if you want to distribute the built product) -#DYNAMIC=1 diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-cygwin-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-cygwin-ext.inc.svn-base deleted file mode 100644 index 26bcf06ea..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-cygwin-ext.inc.svn-base +++ /dev/null @@ -1 +0,0 @@ -EXT=dll diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-cygwin-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-cygwin-flext.inc.svn-base deleted file mode 100644 index e64eb6c50..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-cygwin-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -ifdef SHARED -EXT=dll -else -EXT=a -endif diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-cygwin-shlib.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-cygwin-shlib.inc.svn-base deleted file mode 100644 index 26bcf06ea..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-cygwin-shlib.inc.svn-base +++ /dev/null @@ -1 +0,0 @@ -EXT=dll diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-cygwin.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-cygwin.inc.svn-base deleted file mode 100644 index a5d4c85a1..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-cygwin.inc.svn-base +++ /dev/null @@ -1,17 +0,0 @@ -DEFS += -DFLEXT_SYS=2 -DPD - -INCPATH += -I$(PDPATH)/src - -THR=0 -ifdef THREADED -THR=1 -endif -ifdef SHARED -THR=1 -endif - -ifeq ($(THR),1) -LIBS += $(PDPATH)/bin/pthreadVC.dll -endif - -SYSLIBS += $(PDPATH)/bin/pd.dll diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-gcc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-gcc-ext.inc.svn-base deleted file mode 100644 index ed6606919..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-gcc-ext.inc.svn-base +++ /dev/null @@ -1,6 +0,0 @@ -EXT=dll - -LDFLAGS += -shared - -TARGET=$(TARGETPATH)/$(TARGETNAME) -INSTTARGET=$(TARGET) diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-gcc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-gcc-flext.inc.svn-base deleted file mode 100644 index 81d44b96e..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-gcc-flext.inc.svn-base +++ /dev/null @@ -1,11 +0,0 @@ -ifdef SHARED -EXT=dll -else -EXT=a -endif - -LDFLAGS += -shared - -VERNAME=$(OUTNAME).$(FLEXTMAJOR).$(FLEXTMINOR).$(FLEXTMICRO).$(EXT) -TARGET=$(TARGETPATH)/$(VERNAME) -INSTTARGET=$(TARGET) diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-gcc.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-gcc.inc.svn-base deleted file mode 100644 index 09fb3e2ad..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-gcc.inc.svn-base +++ /dev/null @@ -1,38 +0,0 @@ -DEFS += -DFLEXT_SYS=2 -DPD - -ifdef WINNT -DEFS += -D_WIN32_WINNT=0x500 -endif - -############################################## -# let the pthreads path be first, because pthreads headers could also be a $(PDPATH)/src - -INCPATH += -I$(PTHREADSINC) - -THR=0 -ifdef THREADED -THR=1 -endif -ifdef SHARED -THR=1 -endif - -ifeq ($(THR),1) -ifeq ($(PTHREADSVERSION),2) -LIBS += $(PTHREADSLIB)/pthreadVC2.dll -else -LIBS += $(PTHREADSLIB)/pthreadVC.dll -endif -endif - -############################################## - -INCPATH += -I$(PDPATH)/src - -############################################## - -OBJPATH=$(OUTPATH)/$(OUTSUB) -TARGETPATH=$(OBJPATH) -TARGETNAME=$(OUTNAME).$(EXT) - -LIBS += $(PDPATH)/bin/pd.dll diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-mingw-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-mingw-ext.inc.svn-base deleted file mode 100644 index 26bcf06ea..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-mingw-ext.inc.svn-base +++ /dev/null @@ -1 +0,0 @@ -EXT=dll diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-mingw-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-mingw-flext.inc.svn-base deleted file mode 100644 index e64eb6c50..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-mingw-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -ifdef SHARED -EXT=dll -else -EXT=a -endif diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-mingw-shlib.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-mingw-shlib.inc.svn-base deleted file mode 100644 index 26bcf06ea..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-mingw-shlib.inc.svn-base +++ /dev/null @@ -1 +0,0 @@ -EXT=dll diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-mingw.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-mingw.inc.svn-base deleted file mode 100644 index e5e7d26f2..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/gnumake-mingw.inc.svn-base +++ /dev/null @@ -1,27 +0,0 @@ -DEFS += -DFLEXT_SYS=2 -DPD - -ifdef WINNT -CFLAGS += -D_WIN32_WINNT=0x500 -endif - -############################################## -# let the pthreads path be first, because pthreads headers could also be a $(PDPATH)/src - -INCPATH += -I$(PTHREADSINC) -LIBPATH += -L$(PTHREADSLIB) - -ifdef THREADED -ifeq ($(PTHREADSVERSION),2) -LIBS += -lpthreadVC2 -else -LIBS += -lpthreadVC -endif -endif - -############################################## - -INCPATH += -I$(PDPATH)/src -LIBPATH += -L$(PDPATH)/bin - -LIBS += -lpd - diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/nmake-msvc-ext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/nmake-msvc-ext.inc.svn-base deleted file mode 100644 index 26bcf06ea..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/nmake-msvc-ext.inc.svn-base +++ /dev/null @@ -1 +0,0 @@ -EXT=dll diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/nmake-msvc-flext.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/nmake-msvc-flext.inc.svn-base deleted file mode 100644 index d30a71440..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/nmake-msvc-flext.inc.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -!ifdef SHARED -EXT=dll -!else -EXT=lib -!endif diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/nmake-msvc-shlib.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/nmake-msvc-shlib.inc.svn-base deleted file mode 100644 index 26bcf06ea..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/nmake-msvc-shlib.inc.svn-base +++ /dev/null @@ -1 +0,0 @@ -EXT=dll diff --git a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/nmake-msvc.inc.svn-base b/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/nmake-msvc.inc.svn-base deleted file mode 100644 index 4bf055861..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/.svn/text-base/nmake-msvc.inc.svn-base +++ /dev/null @@ -1,26 +0,0 @@ -DEFS=$(DEFS) /DFLEXT_SYS=2 /DPD - -!ifdef WINNT -DEFS=$(DEFS) /D_WIN32_WINNT=0x500 -!endif - -############################################## -# let the pthreads path be first, because pthreads headers could also be a $(PDPATH)/src - -INCPATH=$(INCPATH) /I$(PTHREADSINC) -LIBPATH=$(LIBPATH) /LIBPATH:$(PTHREADSLIB) - -!if defined(THREADED) | defined(SHARED) -!if $(PTHREADSVERSION) == 2 -LIBS=$(LIBS) pthreadVC2.lib -!else -LIBS=$(LIBS) pthreadVC.lib -!endif -!endif - -############################################## - -INCPATH=$(INCPATH) /I$(PDPATH)\src -LIBPATH=$(LIBPATH) /LIBPATH:$(PDPATH)\bin - -LIBS=$(LIBS) pd.lib diff --git a/externals/grill/trunk/flext/buildsys/win/pd/bmake-bcc-ext.inc b/externals/grill/trunk/flext/buildsys/win/pd/bmake-bcc-ext.inc deleted file mode 100644 index 26bcf06ea..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/bmake-bcc-ext.inc +++ /dev/null @@ -1 +0,0 @@ -EXT=dll diff --git a/externals/grill/trunk/flext/buildsys/win/pd/bmake-bcc-flext.inc b/externals/grill/trunk/flext/buildsys/win/pd/bmake-bcc-flext.inc deleted file mode 100644 index d30a71440..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/bmake-bcc-flext.inc +++ /dev/null @@ -1,5 +0,0 @@ -!ifdef SHARED -EXT=dll -!else -EXT=lib -!endif diff --git a/externals/grill/trunk/flext/buildsys/win/pd/bmake-bcc-shlib.inc b/externals/grill/trunk/flext/buildsys/win/pd/bmake-bcc-shlib.inc deleted file mode 100644 index 26bcf06ea..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/bmake-bcc-shlib.inc +++ /dev/null @@ -1 +0,0 @@ -EXT=dll diff --git a/externals/grill/trunk/flext/buildsys/win/pd/bmake-bcc.inc b/externals/grill/trunk/flext/buildsys/win/pd/bmake-bcc.inc deleted file mode 100644 index 7d012c379..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/bmake-bcc.inc +++ /dev/null @@ -1,26 +0,0 @@ -DEFS=$(DEFS) /DFLEXT_SYS=2 /DPD - -!ifdef WINNT -DEFS=$(DEFS) /D_WIN32_WINNT=0x500 -!endif - -############################################## -# let the pthreads path be first, because pthreads headers could also be a $(PDPATH)/src - -INCPATH=$(INCPATH) -I$(PTHREADSINC) -LIBPATH=$(LIBPATH) -L$(PTHREADSLIB) - -!ifdef THREADED -!if $(PTHREADSVERSION) == 2 -LIBS=$(LIBS) pthreadVC2.lib -!else -LIBS=$(LIBS) pthreadVC.lib -!endif -!endif - -############################################## - -INCPATH=$(INCPATH) -I$(PDPATH)\src - -LIBS=$(LIBS) pd.lib - diff --git a/externals/grill/trunk/flext/buildsys/win/pd/config-bcc.def b/externals/grill/trunk/flext/buildsys/win/pd/config-bcc.def deleted file mode 100644 index abed695d7..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/config-bcc.def +++ /dev/null @@ -1,49 +0,0 @@ -# where is the PD installation? -# (this should point to the main folder, which has a "src" subfolder) -PDPATH="c:\program files\pd" - -# where is BorlandC++? -BCCPATH="c:\program files\bcc55" - -############################################################### - -# version of the pthreads library (the one coming with PD has version number 1) -PTHREADSVERSION=1 - -# path to pthreads headers (PD comes with some in the src folder) -PTHREADSINC=$(PDPATH)\src - -# path to pthreads link library (PD comes with one in the bin folder) -PTHREADSLIB=$(PDPATH)\bin - -############################################################### - -# where do/should the flext headers reside/be built? -FLEXTINC=$(PDPATH)\flext - -# where do/should the flext static libraries reside/be built? -FLEXTLIB=$(FLEXTINC) - -# where do/should the flext shared libraries reside/be built? -FLEXTSHLIB=$(PDPATH)\bin - -############################################################### - -# where should the external be built? -OUTPATH=pd-bcc - -# where should the external be installed? -INSTPATH=$(PDPATH)\extra - -############################################################### - -# user defined compiler flags -# (check if they match your system!) -UFLAGS= - -# user defined optimization flags -# (check if they match your system!) -OFLAGS=-6 -O2 -OS -ff -d - -# comment if you want to compile for Windows 95/98/ME -WINNT=1 diff --git a/externals/grill/trunk/flext/buildsys/win/pd/config-cygwin.def b/externals/grill/trunk/flext/buildsys/win/pd/config-cygwin.def deleted file mode 100644 index 8e7d8aa82..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/config-cygwin.def +++ /dev/null @@ -1,37 +0,0 @@ -# where is the PD installation? -# (this should point to the main folder, which has a "src" subfolder) -PDPATH=/cygdrive/c/program files/pd - -############################################################### - -# where do/should the flext headers reside/be built? -FLEXTINC=$(PDPATH)/flext - -# where do/should the flext static libraries reside/be built? -FLEXTLIB=$(FLEXTINC) - -# where do/should the flext shared libraries reside/be built? -FLEXTSHLIB=$(PDPATH)/bin - -############################################################### - -# where should the external be built? -OUTPATH=pd-cygwin - -# where should the external be installed? -INSTPATH=$(PDPATH)/extra - -############################################################### - -# make flags (e.g. use multiprocessor) -#MFLAGS=-j 2 - -# user defined compiler flags -# (check if they match your system!) -UFLAGS=-msse -mfpmath=sse -ffast-math - -# user defined optimization flags -# (check if they match your system!) -OFLAGS=-O3 -# optimizations for Pentium 4 -OFLAGS+=-march=pentium4 diff --git a/externals/grill/trunk/flext/buildsys/win/pd/config-gcc.def b/externals/grill/trunk/flext/buildsys/win/pd/config-gcc.def deleted file mode 100644 index f37ceeae1..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/config-gcc.def +++ /dev/null @@ -1,75 +0,0 @@ -# where is the PD installation including source code? -# (this should point to the main folder, which has a "src" subfolder) -PDPATH=/Applications/Pd-0.40-2.app/Contents/Resources - -# where is the PD executable? -PDBIN=$(PDPATH)/bin/pd - -############################################################### - -# prefix for flext installation -# headers are in $(FLEXTPREFIX)/include/flext -# libraries are in $(FLEXTPREFIX)/lib -# build system is in $(FLEXTPREFIX)/lib/flext - -FLEXTPREFIX=/usr/local - -############################################################### - -# where should the external be built? -OUTPATH=pd-darwin - -# where should the external be installed? -INSTPATH=$(PDPATH)/extra - -############################################################### - -# STK (synthesis tool kit) support -# http://ccrma.stanford.edu/software/stk - -# where to find the STK header files (e.g. stk.h) -STK_INC=/usr/local/include/stk - -# where to find the STK library (normally libstk.a) -# (comment out STK_LIB if you don't use STK) -#STK_LIB=/usr/local/lib/libstk.a - -############################################################### - -# SndObj support -# http://music.nuim.ie//musictec/SndObj - -# where to find the SndObj header files (e.g. sndobj.h) -SNDOBJ_INC=/usr/local/include/sndobj - -# where to find the SndObj library (normally libsndobj.a) -# (comment out STK_LIB if you don't use SndObj) -#SNDOBJ_LIB=/usr/local/lib/libsndobj.a - -############################################################### - -# make flags (e.g. use multiprocessor) -#MFLAGS=-j 2 - -# user defined compiler flags -UFLAGS += -ffast-math - -# user defined optimization flags -OFLAGS += -Os -ftree-vectorize - -# user defined debugging flags -DFLAGS += - -# architecture-specific flags (optional) -UFLAGS_ppc += -maltivec -faltivec -OFLAGS_ppc += -mtune=G4 -DFLAGS_ppc += - -UFLAGS_i386 += -mmmx -msse -msse2 -msse3 -OFLAGS_i386 += -mtune=prescott -DFLAGS_i386 += - -# cross-compilation (optional) -#ARCH=i386 ppc -#OSXSDK=/Developer/SDKs/MacOSX10.4u.sdk - diff --git a/externals/grill/trunk/flext/buildsys/win/pd/config-mingw.def b/externals/grill/trunk/flext/buildsys/win/pd/config-mingw.def deleted file mode 100644 index a8c59b21f..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/config-mingw.def +++ /dev/null @@ -1,51 +0,0 @@ -# where is the PD installation? -# (this should point to the main folder, which has a "src" subfolder) -PDPATH="%ProgramFiles%\pd" - -############################################################### - -# version of the pthreads library (the one coming with PD has version number 1) -PTHREADSVERSION=1 - -# path to pthreads headers (PD comes with some in the src folder) -PTHREADSINC=$(PDPATH)\src - -# path to pthreads link library (PD comes with one in the bin folder) -PTHREADSLIB=$(PDPATH)\bin - -############################################################### - -# where do/should the flext headers reside/be built? -FLEXTINC=$(PDPATH)\flext - -# where do/should the flext static libraries reside/be built? -FLEXTLIB=$(FLEXTINC) - -# where do/should the flext shared libraries reside/be built? -FLEXTSHLIB=$(PDPATH)\bin - -############################################################### - -# where should the external be built? -OUTPATH=pd-mingw - -# where should the external be installed? -INSTPATH=$(PDPATH)\extra - -############################################################### - -# make flags (e.g. use multiprocessor) -#MFLAGS=-j 2 - -# user defined compiler flags -# (check if they match your system!) -UFLAGS=-msse -mfpmath=sse -ffast-math - -# user defined optimization flags -# (check if they match your system!) -OFLAGS=-O3 -# optimizations for Pentium 4 -OFLAGS+=-march=pentium4 - -# comment if you want to compile for Windows 95/98/ME -WINNT=1 diff --git a/externals/grill/trunk/flext/buildsys/win/pd/config-msvc.def b/externals/grill/trunk/flext/buildsys/win/pd/config-msvc.def deleted file mode 100644 index c896e50a6..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/config-msvc.def +++ /dev/null @@ -1,97 +0,0 @@ -# where is the PD installation? -# (this should point to the main folder, which has a "src" subfolder) -PDPATH="%ProgramFiles%\pd" - -# where is MS VC++? -# (not necessary if the build is run with the compiler environment) -# MSVCPATH="%ProgramFiles%\Microsoft Visual Studio .NET 2003\Vc7" - -############################################################### - -# version of the pthreads library (the one coming with PD has version number 1) -PTHREADSVERSION=1 - -# path to pthreads headers (PD comes with some in the src folder) -PTHREADSINC=$(PDPATH)\src - -# path to pthreads link library (PD comes with one in the bin folder) -PTHREADSLIB=$(PDPATH)\bin - -############################################################### - -# path to lockfree library -LOCKFREEPATH=$(FLEXTINC)\source\lockfree - -############################################################### - -# where do/should the flext headers reside/be built? -FLEXTINC=$(PDPATH)\flext - -# where do/should the flext static libraries reside/be built? -FLEXTLIB=$(FLEXTINC) - -# where do/should the flext shared libraries reside/be built? -FLEXTSHLIB=$(PDPATH)\bin - -############################################################### - -# where should the external be built? -# (relative one-level subpath to project folder) -OUTPATH=pd-msvc - -# where should externals be installed? -INSTPATH=$(PDPATH)\extra - -############################################################### - -# where is the STK installation? -# (uncomment the line with # to disable STK support) -# -------------------------------------------------------------------- -# In order to use STK you must have an stk.lib library -# Using MSVC you can build it as following (from the STK main folder): -# cl /c /GR /EHsc /Iinclude /MT /Ox src\*.cpp -# (in case you define DYNAMIC=1 below, omit the /MT flag and set /MD instead) -# (you will get errors for some files, you can ignore them in the flext context) -# lib *.obj /out:stk.lib -# - -# where to find the STK header files (e.g. stk.h) -#STK_INC=%HOMEDRIVE%\%HOMEPATH%\stk\include - -# where to find the STK library (normally stk.lib) -# (comment out STK_LIB if you don't use STK) -#STK_LIB=%HOMEDRIVE%\%HOMEPATH%\stk\stk.lib - -# where is the Sndobjs installation? -# (uncomment the line with # to disable SNDOBJ support) -# -------------------------------------------------------------------- -# Please be sure to delete an eventual m_pd.h file from the SNDOBJ include folder!! -# The shared flext library links to the SndObj.lib file from the SNDOBJ distribution. -# Flext must be compiled with the same compiler version as the SNDOBJ lib (default MSVC6) -# - -# where to find the SndObj header files (e.g. SndObj.h) -#SNDOBJ_INC=%HOMEDRIVE%\%HOMEPATH%\SndObj\include - -# where to find the SndObj library (normally SndObj.lib) -# (comment out SNDOBJ_LIB if you don't use SndObj) -#SNDOBJ_LIB=%HOMEDRIVE%\%HOMEPATH%\SndObj\lib\SndObj.lib - -############################################################### - -# user defined compiler flags -# (check if they match your system!) -UFLAGS= - -# user defined optimization flags -# (check if they match your system!) -OFLAGS=/Ox -# optimizations for Pentium 4 -OFLAGS=$(OFLAGS) /G6 /arch:SSE - -# comment if you want to compile for Windows 95/98/ME -WINNT=1 - -# uncomment to link against dynamic C runtime libraries -# (don't use this if you want to distribute the built product) -#DYNAMIC=1 diff --git a/externals/grill/trunk/flext/buildsys/win/pd/gnumake-cygwin-ext.inc b/externals/grill/trunk/flext/buildsys/win/pd/gnumake-cygwin-ext.inc deleted file mode 100644 index 26bcf06ea..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/gnumake-cygwin-ext.inc +++ /dev/null @@ -1 +0,0 @@ -EXT=dll diff --git a/externals/grill/trunk/flext/buildsys/win/pd/gnumake-cygwin-flext.inc b/externals/grill/trunk/flext/buildsys/win/pd/gnumake-cygwin-flext.inc deleted file mode 100644 index e64eb6c50..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/gnumake-cygwin-flext.inc +++ /dev/null @@ -1,5 +0,0 @@ -ifdef SHARED -EXT=dll -else -EXT=a -endif diff --git a/externals/grill/trunk/flext/buildsys/win/pd/gnumake-cygwin-shlib.inc b/externals/grill/trunk/flext/buildsys/win/pd/gnumake-cygwin-shlib.inc deleted file mode 100644 index 26bcf06ea..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/gnumake-cygwin-shlib.inc +++ /dev/null @@ -1 +0,0 @@ -EXT=dll diff --git a/externals/grill/trunk/flext/buildsys/win/pd/gnumake-cygwin.inc b/externals/grill/trunk/flext/buildsys/win/pd/gnumake-cygwin.inc deleted file mode 100644 index a5d4c85a1..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/gnumake-cygwin.inc +++ /dev/null @@ -1,17 +0,0 @@ -DEFS += -DFLEXT_SYS=2 -DPD - -INCPATH += -I$(PDPATH)/src - -THR=0 -ifdef THREADED -THR=1 -endif -ifdef SHARED -THR=1 -endif - -ifeq ($(THR),1) -LIBS += $(PDPATH)/bin/pthreadVC.dll -endif - -SYSLIBS += $(PDPATH)/bin/pd.dll diff --git a/externals/grill/trunk/flext/buildsys/win/pd/gnumake-gcc-ext.inc b/externals/grill/trunk/flext/buildsys/win/pd/gnumake-gcc-ext.inc deleted file mode 100644 index ed6606919..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/gnumake-gcc-ext.inc +++ /dev/null @@ -1,6 +0,0 @@ -EXT=dll - -LDFLAGS += -shared - -TARGET=$(TARGETPATH)/$(TARGETNAME) -INSTTARGET=$(TARGET) diff --git a/externals/grill/trunk/flext/buildsys/win/pd/gnumake-gcc-flext.inc b/externals/grill/trunk/flext/buildsys/win/pd/gnumake-gcc-flext.inc deleted file mode 100644 index 81d44b96e..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/gnumake-gcc-flext.inc +++ /dev/null @@ -1,11 +0,0 @@ -ifdef SHARED -EXT=dll -else -EXT=a -endif - -LDFLAGS += -shared - -VERNAME=$(OUTNAME).$(FLEXTMAJOR).$(FLEXTMINOR).$(FLEXTMICRO).$(EXT) -TARGET=$(TARGETPATH)/$(VERNAME) -INSTTARGET=$(TARGET) diff --git a/externals/grill/trunk/flext/buildsys/win/pd/gnumake-gcc.inc b/externals/grill/trunk/flext/buildsys/win/pd/gnumake-gcc.inc deleted file mode 100644 index 09fb3e2ad..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/gnumake-gcc.inc +++ /dev/null @@ -1,38 +0,0 @@ -DEFS += -DFLEXT_SYS=2 -DPD - -ifdef WINNT -DEFS += -D_WIN32_WINNT=0x500 -endif - -############################################## -# let the pthreads path be first, because pthreads headers could also be a $(PDPATH)/src - -INCPATH += -I$(PTHREADSINC) - -THR=0 -ifdef THREADED -THR=1 -endif -ifdef SHARED -THR=1 -endif - -ifeq ($(THR),1) -ifeq ($(PTHREADSVERSION),2) -LIBS += $(PTHREADSLIB)/pthreadVC2.dll -else -LIBS += $(PTHREADSLIB)/pthreadVC.dll -endif -endif - -############################################## - -INCPATH += -I$(PDPATH)/src - -############################################## - -OBJPATH=$(OUTPATH)/$(OUTSUB) -TARGETPATH=$(OBJPATH) -TARGETNAME=$(OUTNAME).$(EXT) - -LIBS += $(PDPATH)/bin/pd.dll diff --git a/externals/grill/trunk/flext/buildsys/win/pd/gnumake-mingw-ext.inc b/externals/grill/trunk/flext/buildsys/win/pd/gnumake-mingw-ext.inc deleted file mode 100644 index 26bcf06ea..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/gnumake-mingw-ext.inc +++ /dev/null @@ -1 +0,0 @@ -EXT=dll diff --git a/externals/grill/trunk/flext/buildsys/win/pd/gnumake-mingw-flext.inc b/externals/grill/trunk/flext/buildsys/win/pd/gnumake-mingw-flext.inc deleted file mode 100644 index e64eb6c50..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/gnumake-mingw-flext.inc +++ /dev/null @@ -1,5 +0,0 @@ -ifdef SHARED -EXT=dll -else -EXT=a -endif diff --git a/externals/grill/trunk/flext/buildsys/win/pd/gnumake-mingw-shlib.inc b/externals/grill/trunk/flext/buildsys/win/pd/gnumake-mingw-shlib.inc deleted file mode 100644 index 26bcf06ea..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/gnumake-mingw-shlib.inc +++ /dev/null @@ -1 +0,0 @@ -EXT=dll diff --git a/externals/grill/trunk/flext/buildsys/win/pd/gnumake-mingw.inc b/externals/grill/trunk/flext/buildsys/win/pd/gnumake-mingw.inc deleted file mode 100644 index e5e7d26f2..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/gnumake-mingw.inc +++ /dev/null @@ -1,27 +0,0 @@ -DEFS += -DFLEXT_SYS=2 -DPD - -ifdef WINNT -CFLAGS += -D_WIN32_WINNT=0x500 -endif - -############################################## -# let the pthreads path be first, because pthreads headers could also be a $(PDPATH)/src - -INCPATH += -I$(PTHREADSINC) -LIBPATH += -L$(PTHREADSLIB) - -ifdef THREADED -ifeq ($(PTHREADSVERSION),2) -LIBS += -lpthreadVC2 -else -LIBS += -lpthreadVC -endif -endif - -############################################## - -INCPATH += -I$(PDPATH)/src -LIBPATH += -L$(PDPATH)/bin - -LIBS += -lpd - diff --git a/externals/grill/trunk/flext/buildsys/win/pd/nmake-msvc-ext.inc b/externals/grill/trunk/flext/buildsys/win/pd/nmake-msvc-ext.inc deleted file mode 100644 index 26bcf06ea..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/nmake-msvc-ext.inc +++ /dev/null @@ -1 +0,0 @@ -EXT=dll diff --git a/externals/grill/trunk/flext/buildsys/win/pd/nmake-msvc-flext.inc b/externals/grill/trunk/flext/buildsys/win/pd/nmake-msvc-flext.inc deleted file mode 100644 index d30a71440..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/nmake-msvc-flext.inc +++ /dev/null @@ -1,5 +0,0 @@ -!ifdef SHARED -EXT=dll -!else -EXT=lib -!endif diff --git a/externals/grill/trunk/flext/buildsys/win/pd/nmake-msvc-shlib.inc b/externals/grill/trunk/flext/buildsys/win/pd/nmake-msvc-shlib.inc deleted file mode 100644 index 26bcf06ea..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/nmake-msvc-shlib.inc +++ /dev/null @@ -1 +0,0 @@ -EXT=dll diff --git a/externals/grill/trunk/flext/buildsys/win/pd/nmake-msvc.inc b/externals/grill/trunk/flext/buildsys/win/pd/nmake-msvc.inc deleted file mode 100644 index 4bf055861..000000000 --- a/externals/grill/trunk/flext/buildsys/win/pd/nmake-msvc.inc +++ /dev/null @@ -1,26 +0,0 @@ -DEFS=$(DEFS) /DFLEXT_SYS=2 /DPD - -!ifdef WINNT -DEFS=$(DEFS) /D_WIN32_WINNT=0x500 -!endif - -############################################## -# let the pthreads path be first, because pthreads headers could also be a $(PDPATH)/src - -INCPATH=$(INCPATH) /I$(PTHREADSINC) -LIBPATH=$(LIBPATH) /LIBPATH:$(PTHREADSLIB) - -!if defined(THREADED) | defined(SHARED) -!if $(PTHREADSVERSION) == 2 -LIBS=$(LIBS) pthreadVC2.lib -!else -LIBS=$(LIBS) pthreadVC.lib -!endif -!endif - -############################################## - -INCPATH=$(INCPATH) /I$(PDPATH)\src -LIBPATH=$(LIBPATH) /LIBPATH:$(PDPATH)\bin - -LIBS=$(LIBS) pd.lib diff --git a/externals/grill/trunk/flext/changes.txt b/externals/grill/trunk/flext/changes.txt deleted file mode 100644 index ac3e3b13c..000000000 --- a/externals/grill/trunk/flext/changes.txt +++ /dev/null @@ -1,363 +0,0 @@ -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2010 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. - ----------------------------------------------------------------------------- - -Version history: - -0.5.2: -- 64-bit arch fixes (Pd 0.42) -- STK API adaptations - -0.5.1: -- optimizations for message handling and memory footprint -- enhanced build system for cygwin -- added GetCanvasDir to retrieve folder in which the patcher resides -- better handling of click callback -- more compatible handling of attributes in patcher (hiding is now an option - define FLEXT_ATTRHIDE) -- added header file flfeatures.h for compile-time detection of version-specific features -- typed flext::NewAligned allocator -- fixed severe Altivec bug (load unaligned)... thanks to Ian Ollmann -- restructured initialization and finalization (esp. Max DSP stuff) -- real class names now also reflect debug mode (like in flext_base_shared_d) -- cleaned up internals (like Max/MSP typedefs) -- fixed coexistence of message and signal objects in Max/MSP object libraries -- fixes for pthreads version 2 -- deprecated FLEXT_NOGLOBALNEW in favor of FLEXT_USE_CMEM (either global new/delete operators or C library memory allocation) -- fixing uninitialized pointer (first inlet pointer) -- added message bundle functionality (to send more messages over the thread boundary to arrive at the same logical time) -- fixed dangerous spot (also memory leak) with message queuing -- fixed buggy freeing of memory for AtomListStatic -- optimizations around method registration -- preprocessor symbol FLEXT_COMPATIBLE - if defined don't implement specialities of either PD or Max/MSP -- Max: fixed reported bug (#67), where list elements are distributed over inlets -- added thisParent type, which refers to the class from which the current flext class is derived (as given in FLEXT_HEADER) -- bang method can also by added with FLEXT_(C)ADDMETHOD (FLEXT_(C)ADDBANG is still an alias) -- attribute generation is now determined exclusively by each object class setup (not library is before) -- more robust pack setting for Max/MSP @ Windows -- should work with Mac/Intel (still untested!) -- added new FLEXT_HEADER macros to enable class templates -- more ToOut/Sys* methods -- fixed help name definition at class setup -- added gcc branch hinting -- PD: possibility to create DSP classes without main DSP inlet (use e.g. FLEXT_DSP0_NEW) -- fixed atom sorting (symbols were sorted by pointer, not by content) -- updated build system to handle UB on OSX (including architecture-specific compiler flags) -- new idle callback/method functionality -- Max: fixed bug at destructing of proxy objects -- fixed message processing of empty lists -- fixed STK inlet processing - -0.5.0: -- fixes for 64 bit builds (size_t is integer type of pointer size) -- finally added a autoconf system (many many thanks to Tim Blechmann) -- more character escapes for attribute editor -- fixed the attribute editor for 0.38, stopped redundant transfer of script code -- show saveable attributes on object select -- fix for long attribute dialogs -- dropped support for Max UI objects -- added global system locking -- added general atom outlet functions To{Sys,Out,Queue}Atom -- new build system for flext and flext-based externals -- flags for object construction and destruction phase (Initing() and Exiting()) -- reconsidered flext::buffer::Update -- enhanced buffer handling -- support for buffer locking (flext::buffer::Lock() and Unlock()) - it's a must for Max/MSP at least -- use new PD idle callback for queues messages (currently in devel_0_38) -- fixed bug with unregistering for bound symbols -- removed virtual m_assist function (which was only useful for Max)... stick to static assist strings -- removed virtual flext_dsp::m_enable function (which wasn't present for Max/MSP) -- added m_click method which gets called on alt-click (PD) resp. double clicks (Max) onto the object box -- in ToOut check if we are inside dsp (and use ToQueue then...) -- some restructuring and use symbols (rather than char *) natively for AddMethod* and AddAttrib* functions -- added some more SIMD functionality -- fixes to flext::Timer::At method -- eliminated misleading flext_dsp::ChannelsIn and ChannelsOut -- added lock-free Lifo and Fifo structures and used it with message queueing and thread management -- eliminated default "help" (m_help) method... should be implemented in the flext-based object -- changed virtual callback names m_loadbang, m_method_, m_dsp, m_signal, m_click to CbLoadbang, CbMethodResort, CbDsp, CbSignal, CbClick -- replaced memory-intensive STL maps by custom-made vector/map-monster (should be fast!) -- fixed bug for symbol messages into non-left inlets -- better timers for Windows -- slimmed down object data structures and changed initialization code accordingly -- digest one-element float/int/symbol/pointer list messages as single atoms -- simplified message analysis -- made flext::Forward thread safe - -0.4.7: -- added flext::GetBool (just because flext::GetInt has been there for a while) -- added bool to usable types for creation arguments -- protection for SIMD routines with count=0 -- support exceptions for setup functions, object creation and destruction, method handling -- small fixes for MSVC6 incompatibilites -- fixes for Max 4.5 headers -- removed Mach-O/CFM glue stuff again and added makefiles for Max/MachO -- in flext::StopThread don't wait for thread to have stopped! -- support PD tooltips (only in devel branch at the moment) -- attribute editor: added individual apply buttons -- attribute editor: added escaping for , and ; -- attribute editor: zoomed editor accepts , as newline separator -- attribute editor: close editor window on object destruction -- fixed $0-arguments in attribute saving -- introducing ring buffer for message queue (thanks to Tom Schouten) -- printing of atoms into buffer with better error checking - -0.4.6: -- added a text edit window for list attributes -- finally use global allocator operators (MFC doesn't like it but who cares) -- fixed entry of local variables with attribute editor -- help window for attribute editor -- appended lacking ~ for tilde object help patches -- uniform STL container for all kinds of attribute, method, class handling -- support for MinGW -- added flext_obj::CanvasArgs -- fixed small problem with buffer->Valid() on startup -- fixed buffer overrun problems with flext::post, flext::error... (but still to improve) -- improved handling of patcher arguments -- also initialize flext::sym_int as MakeSymbol("int") for PD (since the variable is there anyhow) -- fixed bug with attribute dumping -- default arguments for object construction (types float0,int0,t_symtype0 for FLEXT_NEW*) -- added flext::sym__ for empty symbol "" - -0.4.5: -- added some more SIMD functions -- PD attributes: added a TCL/TK editor dialog ("properties") and save attributes to patcher -- fixed wrong returned result of flext::buffer::set function -- fix for linux static exported function name-clash (individual linker namings for exported flext base classes) -- made message queue stuff global (static) for all flext objects -- added flext_base::DumpAttrib to send an attribute value to the attribute outlet -- added "getmethods" message (for attribute-enabled externals) to list methods for a specified inlet (default = 0) -- "getattributes" or "getmethods" output lists are now alphabethically sorted -- flext::StopThread function to terminate running threads (started with LaunchThread) -- added flext::CmpAtom and AtomList::operator < methods ... useful for using lists as keys for STL -- make use of new PD thread locking (PD functions sys_lock() and sys_unlock()), queue messages only if necessary -- better FLEXT_OSAPI resolution -- ListAttributes (or the getattributes message) now lists attributes in the order they were created (first class, then object scope) -- enforcing usage of STL -- explicit boolean attributes (great for attribute editor layout!) -- flext_dsp reported wrong inlet/outlet count (CntInSig, CntOutSig functions) -- added support for patcher arguments for attributes (use # instead of $ to save them with a patch) -- moved memory functions and console output from flext to super-base-class flext_root and derived all helper classes from that -- changed FLEXT_THREAD_X: wrappers doesn't delete the passed data pointer anymore -> the called method is responsible for that (and it knows the type....) -- enabled binding of more than one function to a symbol and added flext_base::GetBoundMethod -- native support for Windows threading model - -0.4.4: -- fixed deadly bug for Max/MSP method-to-symbol-binding proxies -- some fixes for CodeWarrior Mach-O compilation -- fixed destruction bug for hashed "item arrays" -- added flext_base::ToSelf* methods for queued (deferred) self messaging -- deleted flext::buffer console outputs for undefined arrays/buffer~s: should be done by externals -- a few changes for the flext shared library -- tiny update for PD 0.37 header file usage -- fixed a bug associated to attribute argument lists -- added functions for version number and string (flext::Version and flext::VerStr, mainly for usage of a shared flext library) -- flext_base::UnbindMethod returns user data -- fixed compilation problem with t_symbol-type attributes -- added methods for sending boolean values (ToOutBool, ToQueueBool, ToSelfBool) - -0.4.3: -- added forgotten flext_base::ToQueueString method -- added timer functions and flext::Timer class -- added functions for SIMD support -- fixed race condition when using LaunchThread in a setup function (now waiting for thread helper to initialize) -- added flext::Forward function to send messages to bound symbols -- added "zero" flag to flext::buffer resize operation -- fixed bug for Max/MSP buffer resize with preservation of contents -- fixed bug with thread initialization (caused PD@OSX to crash on startup) -- flext::setup is only run once now -- fixed creation bug with objects that have attributes but no outlets -- added FLEXT_BINDMETHOD,FLEXT_UNBINDMETHOD to bind a method to a symbol -- fixed bug with hard thread termination (of incooperative threads) - -0.4.2: -- started port for jMax -- moved CLASS_MAINSIGNALIN to class scope (fixed "float method overwritten" warning) -- unix makefiles: CXX should be commented out if standard (to enable environmental settings) -- introduced default returns for the different flext::GetA* functions -- pragma for Metrowerks compilers: enumsalwaysint on, bool on -- MaxMSP: added assist string for attribute outlets -- added new POSIX for ThrCond::TimedWait (but still have to find out when to enable it....) -- added CopySamples and ZeroSamples -- fixed bug for DSP object with zero signal inlets in PD -- added validity check for sample buffers - -0.4.1: -- full port for Max@OSX -- completely redesigned message and attribute handling: now hashed and much more efficient -- greatly enhanced object creation and destruction (esp. for library objects) -- class setup functions now take t_classid type arg... this is BACKWARDS-INCOMPATIBLE for Max/MSP -- added some prerequisites for usage of flext as a shared library -- completed Max/MSPs inlet/outlet assist description functionality -- Max/MSP signal objects: fixed bug of reporting wrong number of inlets -- put overloaded new/delete into flext support class -- introduced "Finalize" virtual method, called after all "Init" methods -- fixed crash issue in flext_dsp when there are NO signal inlets or outlets defined - (this is possibly only a problem for the signal2 tutorial example) -- added flext::GetType(t_atom &), flext::ZeroMem -- put the clock_delay for the message queue inside the thread-locked area - Ok for the actual object, but PD has to be thread-safe here as well -- BACKWARDS-INCOMPATIBLE CHANGE: flext_base::m_methodmain and flext_base::m_method_ have got - const modifiers.... these virtual methods are used rarely (except for example in py/pyext) -- now MUCH cleaner platform identification... FLEXT_SYS,FLEXT_OS,FLEXT_CPU definitions -- also FLEXT_DEBUG for debug build -- SndObjs: virtual FreeObject routine is now called at destruction (by parent class), derived class doesn't need to call it! -- SndObjs: fixed typo (numbers of output slots was wrong) and init bug -- STK: added support for STK object classes (flstk.{h,cpp}) -- introduced a helper thread for launching flext threads in the background -- threads are now handled on class (as opposed to object) level -- threads can now be terminated separately -- put more flext functions into flext static class -- replaced ChangePriority by RefPriority -- fixed setting of priorities... problems were caused by a compiler bug (MSVC 6) -- made a portable threading interface with support for threading libraries other than pthreads (FLEXT_THREADS defined as FLEXT_THR_*) -- implemented threading support with the MacOS MP thread library -- stripped the ThrMutex and ThrCond classes of non-portable (and irrelevant) functionality -- simplified "ToQueue*" and threaded "ToOut*" message queue mechanism for Max/MSP -- deprecated FLEXT_ADDMETHOD_V and FLEXT_ADDMETHOD_A definitions which only lead to confusion -- BACKWARDS-INCOMPATIBLE CHANGE: flext_sndobj::NewObjs must return a boolean!! - -0.4.0: -- the use of the const keyword is enforced (e.g. the preferred type for symbols is now "const t_symbol *") - - there _might_ be some problems with sensitive compilers -- introduced Max/Jitter-like attribute functionality ("@value" command line, "getvalue" get and "value" set functions) -- introduced a flext static class for general flext functions (to clean up the flext_base class) -- creation argument handling is now done by flext - no more weird PD re-ordering of arguments -- no more support for the Apple MPW compiler - MacOS9 is dying anyway... -- calling SetupInOut() has become obsolete - - flext creates all inlets/outlets by itself after the constructor has finished - - this implies that CntIn(),CntOut() and the outlet pointers are not valid in the constructor - - there is a virtual bool Init() function that may be used for such initialization -- completely redesigned FLEXT_NEW macros, usage of dynamic classes (in fllib.cpp) -- added ToQueue* functions - like ToOut* but messages or not directly sent (well suited for deadlock situations) -- introduced additional per-class methods and attributes (just like it ever was in Max and PD) -- fixed potentially dangerous typo in flext.cpp - (was: FLEXT_THREAD instead of FLEXT_THREADS) -- added OSX/darwin support (originally done by Adam T. Lindsay) -- SndObj interface now also available for cygwin and BCC -- added prepend and append functions to AtomList class -- added IsNothing, SetNothing, CanbeBool and GetABool functions -- eliminated the remaining Get*Flint and Set*Flint functions -- added/completed Is/Canbe/Get/Set for pointer atoms -- added print/scan functions for atoms -- fixed anything outlets for Max/MSP... for some strange reason this severe bug has not had severe consequences.... - -0.3.3: -- PD: fixed bug for DSP objects having no signal inlets - this also enables floats into a non-signal leftmost inlet -- revisited priority stuff for detached threads -- Bind/unbind functions for flext classes (in MaxMSP only one object can be bound) -- made "t_symtype" another synonym for "t_symbol *" -- added forgotten dsp_free function for MaxMSP -- fixed forgotten __class__ member for MaxMSP libraries -- changed basic MaxMSP object to t_pxbox (ok, a bit more memory is used....) -- MaxMSP library can now be loaded from startup folder (but can't use aliases) -- if no handler is found for pure anything (just symbol, no args...) try list handler -- added interface for SndObj (http://www.may.ie/academic/music/musictec/SndObj/ ) - -0.3.2: -- Doxygen generated inline documentation / functional reference -- added some more functionality to the AtomAnything class -- bugfix for threaded methods with var list or anything arguments -- added threaded method for arbitrary (void *) data structs -- ThrMutex: added lock count functions Push() and Pop() -- eliminated potentially dangerous SetThing,GetThing and introduced DoBind,DoUnbind,GetBound instead -- fixed severe bug with the current threads list -- add path specification possibility for help symbols (in FLEXT_NEW*) -- use pthread_attr and DETACHED flag - -0.3.1: -- added some more functionality to the AtomList class -- fixed forgotten Sleep implementation in pd@unix -- reorganized file structure and config/make procedures - -0.3.0: -- added CYGWIN support - -- added threaded methods along with a message queue for ToOut* functions (very unstable for MaxMSP!) - to use threads compile flext with FLEXT_THREADS definition -- check/update function for buffer change (resize etc.) -- description text for inlets/outlets (e.g. for MaxMSPs assist function) - not fully implemented -- added buffer resize functions flext_base::buffer::Frames(int,bool) -- added some utility functions: Sleep, CopyAtom, CopyList -- added List manipulation classes: AtomList, AtomAnything -- Alias object names (simply specify with FLEXT_NEW*, separated by whitespace) -- float messages - int method is called if there is no float method -- MaxMSP: int messages - float method is called if there is no int method -- fixed type warning for class constructors with int arguments in PD -- fixed severe bug concerning symbol methods -- MaxMSP: use critical sections for message output (for more safety in overdrive mode) -- PD: default/manual definition of help file by flext_base::DefineHelp -- added GetThing/SetThing to access t_symbol's s_thing data member - -- introduced FLEXT_NEW_DSP* and FLEXT_LIB_DSP* for FLEXT_NEW_TILDE* and FLEXT_LIB_TILDE* (the latter become deprecated) -- all variable argument defs (aka gimme) now have a V instead of G (e.g. FLEXT_NEW_V) - -0.2.3: -- restructured files and started usable inline documentation -- found that there was no method to output a bang?! Ugh! -> corrected -- finally eliminated awful t_flint type and all other schizophrenic flint functions (float and int exist now equally) -- now (finally) using type t_sample for sample values (should just be identical to float) -- added AddInBang/AddOutBang (same as Add*Symbol - unchecked) -- buffer class: added "bool Ok()" check function -- switched on error posting for unhandled messages -- added XletCode and AddInlets/AddOutlets for multiple Inlet/Outlet addition (max. 9 inlets/outlets) -- if float or int message is not handled explicitly then [list float/int( is tried - -0.2.2: -- added xgimme argument type (supplies method handlers with symbol+gimme) -- more information on DSP system with flext_dsp object (block size,number of audio inputs and outputs) -- cleaner gcc makefile -- made NewAligned/FreeAligned static functions -- introduced FLEXT(_TILDE)_SETUP for class setup in a library setup function -- introduced external libraries for MaxMSP, changed library setup behavior (now via FLEXT_LIB_SETUP) -- included MaxMsp's inofficial buffer.h with consent by David Zicarelli -- changed dynamic casts in callback functions to static as gcc 3.0.4 has obvious bugs - -0.2.1: -- fixed bug in message parsing code (anything messages were not correctly mapped to inlets) -- changed t_symtype to t_symptr (= t_symbol *), needed for method argument lists -- eliminated flint type (t_flint remains) - -0.2.0: -- internal proxy objects for any non-leftmost inlets -- Max/MSP: all signal inlets can receive messages -- method/argument parsing is done by flext - float/int are not distinguished, the first handler wins -- integrated more system functions into flext_base & eliminated superfluous #defines -- distribute list (into inlet 0) elements over inlets (right to left) -- added outlets for anythings -- defines for callback-to-method functions and method setup (FLEXT_CALLBACK*, FLEXT_ADD*) -- uses PD's or Max's memory allocation functions (for safety in Max's overdrive) -- no support for default arguments (A_DEFFLOAT and A_DEFSYMBOL).. use GIMME instead! -- better graphics update behavior for PD -- improved behavior for invalid/undefined buffers/arrays -- use MaxMSP internal z_disabled flag with flext_dsp for pausing/resuming dsp processing -- included CHECK_TILDE, a test whether a tilde object (defined as FLEXT_TILDE_*) has a trailing ~. (debug mode only) -- changed notation of flext functions from to_out_float like to ToOutFloat like -- eliminated trivial shortcuts (F,I,V,...) for built-in types -- MaxMSP is only capable of 3 creation arguments... that should be sufficient - otherwise use GIMME -- Methods for aligned memory (NewAligned, FreeAligned) - -0.1.1: -- documentation for flext.h -- more emancipation from GEM code -- virtually everything renamed -- abstraction for dsp processing -- makefile for BCC -- manual call of extern_setup or main unnecessary for single objects - only in pd libraries -- delayed buffer init (only name is set beforehand) -- loadbang also in PD -- introduced "compatibility mode" which denies platform-specific features -- fixed severe dsp bug (symptom: "float method overwritten" warning in pd) -- fixed bug: wrong return code from buffer::Set - -0.1.0: -- max-pd 0.2 becomes flext 0.1.0 -- heavy usage of unchanged GEM code - - - - diff --git a/externals/grill/trunk/flext/config.txt b/externals/grill/trunk/flext/config.txt deleted file mode 100644 index 88c43f4d7..000000000 --- a/externals/grill/trunk/flext/config.txt +++ /dev/null @@ -1,2 +0,0 @@ -# comment out to inhibit SIMD (Altivec/SSE) usage -SIMD=1 diff --git a/externals/grill/trunk/flext/configure b/externals/grill/trunk/flext/configure deleted file mode 100755 index f08b8c005..000000000 --- a/externals/grill/trunk/flext/configure +++ /dev/null @@ -1,18372 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for flext 0.5.1. -# -# Report bugs to <gr@grrrr.org>. -# -# -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software -# Foundation, Inc. -# -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 - - test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ - || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - # We cannot yet assume a decent shell, so we have to provide a - # neutralization value for shells without unset; and this also - # works around shells that cannot unset nonexistent variables. - # Preserve -v and -x to the replacement shell. - BASH_ENV=/dev/null - ENV=/dev/null - (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV - export CONFIG_SHELL - case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; - esac - exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org and gr@grrrr.org about -$0: your system, including any error possibly output before -$0: this message. Then install a modern shell, or manually -$0: run the script under such a shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - -SHELL=${CONFIG_SHELL-/bin/sh} - - -test -n "$DJDIR" || exec 7<&0 </dev/null -exec 6>&1 - -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME='flext' -PACKAGE_TARNAME='flext' -PACKAGE_VERSION='0.5.1' -PACKAGE_STRING='flext 0.5.1' -PACKAGE_BUGREPORT='gr@grrrr.org' -PACKAGE_URL='' - -# Factoring default headers for most tests. -ac_includes_default="\ -#include <stdio.h> -#ifdef HAVE_SYS_TYPES_H -# include <sys/types.h> -#endif -#ifdef HAVE_SYS_STAT_H -# include <sys/stat.h> -#endif -#ifdef STDC_HEADERS -# include <stdlib.h> -# include <stddef.h> -#else -# ifdef HAVE_STDLIB_H -# include <stdlib.h> -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include <memory.h> -# endif -# include <string.h> -#endif -#ifdef HAVE_STRINGS_H -# include <strings.h> -#endif -#ifdef HAVE_INTTYPES_H -# include <inttypes.h> -#endif -#ifdef HAVE_STDINT_H -# include <stdint.h> -#endif -#ifdef HAVE_UNISTD_H -# include <unistd.h> -#endif" - -ac_subst_vars='am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -LIBOBJS -FRAMEWORKS -sndobjdir -stkdir -libs -LD_FLAGS -DBG_FLAGS -OPT_FLAGS -LIBDIRS -INCLUDEDIRS -SYSTEM -CXXCPP -CPP -OTOOL64 -OTOOL -LIPO -NMEDIT -DSYMUTIL -MANIFEST_TOOL -RANLIB -ac_ct_AR -AR -LN_S -NM -ac_ct_DUMPBIN -DUMPBIN -LD -FGREP -EGREP -GREP -SED -LIBTOOL -am__fastdepCXX_FALSE -am__fastdepCXX_TRUE -CXXDEPMODE -ac_ct_CXX -CXXFLAGS -CXX -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -am__nodep -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__quote -am__include -DEPDIR -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -OBJDUMP -DLLTOOL -AS -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -SNDOBJ_FALSE -SNDOBJ_TRUE -STK_FALSE -STK_TRUE -am__untar -am__tar -AMTAR -am__leading_dot -SET_MAKE -AWK -mkdir_p -MKDIR_P -INSTALL_STRIP_PROGRAM -STRIP -install_sh -MAKEINFO -AUTOHEADER -AUTOMAKE -AUTOCONF -ACLOCAL -VERSION -PACKAGE -CYGPATH_W -am__isrc -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_system -with_sdkdir -with_pdbindir -with_atomic_ops -with_stkdir -with_sndobjdir -enable_static -enable_shared -enable_dependency_tracking -with_pic -enable_fast_install -with_gnu_ld -with_sysroot -enable_libtool_lock -enable_optimize -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CXX -CXXFLAGS -CCC -CPP -CXXCPP' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used" >&2 - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures flext 0.5.1 to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/flext] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of flext 0.5.1:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-system realtime system [default=pd] - --enable-static[=PKGS] build static libraries [default=yes] - --enable-shared[=PKGS] build shared libraries [default=yes] - --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors - --enable-fast-install[=PKGS] - optimize for fast installation [default=yes] - --disable-libtool-lock avoid locking (might break parallel builds) - --enable-optimize enables optimized architecture specific builds for - pentium4, pentium3, G4, G5, etc. - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-sdkdir path to pd or max headers - --with-pdbindir path to pd bin dir - --with-atomic_ops path to atomic_ops library (needed for gcc version < - 4.1 on non-i386 cpus) - --with-stk path to STK headers - --with-sndobj path to SndObj headers - --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use - both] - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-sysroot=DIR Search for dependent libraries within DIR - (or the compiler's sysroot if not specified). - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a - nonstandard directory <lib dir> - LIBS libraries to pass to the linker, e.g. -l<library> - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if - you have headers in a nonstandard directory <include dir> - CXX C++ compiler command - CXXFLAGS C++ compiler flags - CPP C preprocessor - CXXCPP C++ preprocessor - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to <gr@grrrr.org>. -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -flext configure 0.5.1 -generated by GNU Autoconf 2.68 - -Copyright (C) 2010 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_compile - -# ac_fn_cxx_try_compile LINENO -# ---------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_cxx_try_compile - -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_link - -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_compile - -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - -# ac_fn_c_check_func LINENO FUNC VAR -# ---------------------------------- -# Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case <limits.h> declares $2. - For example, HP-UX 11i <limits.h> declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - -#undef $2 - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$2 || defined __stub___$2 -choke me -#endif - -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_func - -# ac_fn_cxx_try_cpp LINENO -# ------------------------ -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_cxx_try_cpp - -# ac_fn_cxx_try_link LINENO -# ------------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_cxx_try_link - -# ac_fn_cxx_check_type LINENO TYPE VAR INCLUDES -# --------------------------------------------- -# Tests whether TYPE exists after having included INCLUDES, setting cache -# variable VAR accordingly. -ac_fn_cxx_check_type () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=no" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof ($2)) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof (($2))) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - -else - eval "$3=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_cxx_check_type -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by flext $as_me 0.5.1, which was -generated by GNU Autoconf 2.68. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - $as_echo "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - $as_echo "## ----------------- ## -## Output variables. ## -## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - $as_echo "## ----------- ## -## confdefs.h. ## -## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -am__api_version='1.11' - -ac_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in #(( - ./ | .// | /[cC]/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - - done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# Just in case -sleep 1 -echo timestamp > conftest.file -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; -esac - -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - rm -f conftest.file - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - as_fn_error $? "ls -t appears to fail. Make sure there is not a broken -alias in your environment" "$LINENO" 5 - fi - - test "$2" = conftest.file - ) -then - # Ok. - : -else - as_fn_error $? "newly created file is older than distributed files! -Check your system clock" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` - -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} -fi - -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi - -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if ${ac_cv_path_mkdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done - done -IFS=$as_save_IFS - -fi - - test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - -mkdir_p="$MKDIR_P" -case $mkdir_p in - [\\/$]* | ?:[\\/]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - PACKAGE='flext' - VERSION='0.5.1' - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AMTAR='$${TAR-tar}' - -am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' - - - - - - -if ( test $(uname -s) == CYGWIN_NT-5.0 ) || ( test $(uname -s) == CYGWIN_NT-5.1 ) || ( test $(uname -s) == MINGW32_NT-5.1 ); then - set win = 1 -fi - -# configure options -# Check whether --enable-system was given. -if test "${enable_system+set}" = set; then : - enableval=$enable_system; SYSTEM=$enableval -else - SYSTEM=pd - -fi - - - -# Check whether --with-sdkdir was given. -if test "${with_sdkdir+set}" = set; then : - withval=$with_sdkdir; sdkdir=$withval -else - as_fn_error $? "path to system SDK headers required $withval" "$LINENO" 5 - -fi - - - -# Check whether --with-pdbindir was given. -if test "${with_pdbindir+set}" = set; then : - withval=$with_pdbindir; - if test $win; then -# LATER: shouldn't we use AC_CHECK_LIB([pd]) ? - as_ac_File=`$as_echo "ac_cv_file_$withval/pd.dll" | $as_tr_sh` -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $withval/pd.dll" >&5 -$as_echo_n "checking for $withval/pd.dll... " >&6; } -if eval \${$as_ac_File+:} false; then : - $as_echo_n "(cached) " >&6 -else - test "$cross_compiling" = yes && - as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 -if test -r "$withval/pd.dll"; then - eval "$as_ac_File=yes" -else - eval "$as_ac_File=no" -fi -fi -eval ac_res=\$$as_ac_File - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -if eval test \"x\$"$as_ac_File"\" = x"yes"; then : - -else - as_fn_error $? "Cannot find $withval/pd.dll" "$LINENO" 5 -fi - - fi - LIBDIRS="$LIBDIRS $withval" - -else - - if test $win; then - as_fn_error $? "path to pd bin dir required" "$LINENO" 5 - fi - - -fi - - -if test $SYSTEM == max; then - $as_echo "#define FLEXT_SYS 1" >>confdefs.h - -# check for MaxAPI.h in pd folder - as_ac_File=`$as_echo "ac_cv_file_$sdkdir/max-includes/MaxAPI.h" | $as_tr_sh` -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $sdkdir/max-includes/MaxAPI.h" >&5 -$as_echo_n "checking for $sdkdir/max-includes/MaxAPI.h... " >&6; } -if eval \${$as_ac_File+:} false; then : - $as_echo_n "(cached) " >&6 -else - test "$cross_compiling" = yes && - as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 -if test -r "$sdkdir/max-includes/MaxAPI.h"; then - eval "$as_ac_File=yes" -else - eval "$as_ac_File=no" -fi -fi -eval ac_res=\$$as_ac_File - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -if eval test \"x\$"$as_ac_File"\" = x"yes"; then : - -else - as_fn_error $? "Cannot find $sdkdir/max-includes/MaxAPI.h" "$LINENO" 5 -fi - - as_ac_File=`$as_echo "ac_cv_file_$sdkdir/max-includes/MaxAudioAPI.h" | $as_tr_sh` -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $sdkdir/max-includes/MaxAudioAPI.h" >&5 -$as_echo_n "checking for $sdkdir/max-includes/MaxAudioAPI.h... " >&6; } -if eval \${$as_ac_File+:} false; then : - $as_echo_n "(cached) " >&6 -else - test "$cross_compiling" = yes && - as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 -if test -r "$sdkdir/max-includes/MaxAudioAPI.h"; then - eval "$as_ac_File=yes" -else - eval "$as_ac_File=no" -fi -fi -eval ac_res=\$$as_ac_File - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -if eval test \"x\$"$as_ac_File"\" = x"yes"; then : - -else - as_fn_error $? "Cannot find $sdkdir/max-includes/MaxAudioAPI.h" "$LINENO" 5 -fi - - INCLUDEDIRS="$INCLUDEDIRS $sdkdir/max-includes $sdkdir/msp-includes" - -elif test $SYSTEM == pd; then -# if test $win; then -# fi - - $as_echo "#define FLEXT_SYS 2" >>confdefs.h - -# check for g_canvas.h in pd folder - as_ac_File=`$as_echo "ac_cv_file_$sdkdir/g_canvas.h" | $as_tr_sh` -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $sdkdir/g_canvas.h" >&5 -$as_echo_n "checking for $sdkdir/g_canvas.h... " >&6; } -if eval \${$as_ac_File+:} false; then : - $as_echo_n "(cached) " >&6 -else - test "$cross_compiling" = yes && - as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 -if test -r "$sdkdir/g_canvas.h"; then - eval "$as_ac_File=yes" -else - eval "$as_ac_File=no" -fi -fi -eval ac_res=\$$as_ac_File - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -if eval test \"x\$"$as_ac_File"\" = x"yes"; then : - -else - as_fn_error $? "Cannot find $sdkdir/g_canvas.h" "$LINENO" 5 -fi - - INCLUDEDIRS="$INCLUDEDIRS $sdkdir" - - if test $win; then - libs="$libs pd" - $as_echo "#define NT 1" >>confdefs.h - - fi -else - as_fn_error $? "system must be pd or max" "$LINENO" 5 -fi - - -# Check whether --with-atomic_ops was given. -if test "${with_atomic_ops+set}" = set; then : - withval=$with_atomic_ops; - as_ac_File=`$as_echo "ac_cv_file_$withval/atomic_ops.h" | $as_tr_sh` -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $withval/atomic_ops.h" >&5 -$as_echo_n "checking for $withval/atomic_ops.h... " >&6; } -if eval \${$as_ac_File+:} false; then : - $as_echo_n "(cached) " >&6 -else - test "$cross_compiling" = yes && - as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 -if test -r "$withval/atomic_ops.h"; then - eval "$as_ac_File=yes" -else - eval "$as_ac_File=no" -fi -fi -eval ac_res=\$$as_ac_File - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -if eval test \"x\$"$as_ac_File"\" = x"yes"; then : - -else - as_fn_error $? "Cannot find $withval/atomic_ops.h" "$LINENO" 5 -fi - - INCLUDEDIRS="$INCLUDEDIRS $withval" - $as_echo "#define USE_ATOMIC_OPS 1" >>confdefs.h - - - -fi - - - -# Check whether --with-stkdir was given. -if test "${with_stkdir+set}" = set; then : - withval=$with_stkdir; - as_ac_File=`$as_echo "ac_cv_file_$withval/Stk.h" | $as_tr_sh` -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $withval/Stk.h" >&5 -$as_echo_n "checking for $withval/Stk.h... " >&6; } -if eval \${$as_ac_File+:} false; then : - $as_echo_n "(cached) " >&6 -else - test "$cross_compiling" = yes && - as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 -if test -r "$withval/Stk.h"; then - eval "$as_ac_File=yes" -else - eval "$as_ac_File=no" -fi -fi -eval ac_res=\$$as_ac_File - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -if eval test \"x\$"$as_ac_File"\" = x"yes"; then : - -else - as_fn_error $? "Cannot find $withval/Stk.h" "$LINENO" 5 -fi - - stkdir=$withval - INCLUDEDIRS="$INCLUDEDIRS $withval" - - -fi - - - if test "$stkdir"; then - STK_TRUE= - STK_FALSE='#' -else - STK_TRUE='#' - STK_FALSE= -fi - - - -# Check whether --with-sndobjdir was given. -if test "${with_sndobjdir+set}" = set; then : - withval=$with_sndobjdir; - as_ac_File=`$as_echo "ac_cv_file_$withval/SndObj.h" | $as_tr_sh` -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $withval/SndObj.h" >&5 -$as_echo_n "checking for $withval/SndObj.h... " >&6; } -if eval \${$as_ac_File+:} false; then : - $as_echo_n "(cached) " >&6 -else - test "$cross_compiling" = yes && - as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 -if test -r "$withval/SndObj.h"; then - eval "$as_ac_File=yes" -else - eval "$as_ac_File=no" -fi -fi -eval ac_res=\$$as_ac_File - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -if eval test \"x\$"$as_ac_File"\" = x"yes"; then : - -else - as_fn_error $? "Cannot find $withval/SndObj.h" "$LINENO" 5 -fi - - sndobjdir=$withval - INCLUDEDIRS="$INCLDUEDIRS $withval" - - -fi - - - if test "$sndobjdir"; then - SNDOBJ_TRUE= - SNDOBJ_FALSE='#' -else - SNDOBJ_TRUE='#' - SNDOBJ_FALSE= -fi - - -# 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=" " - -# needed for libtool to build win32 dlls -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - -enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. -set dummy ${ac_tool_prefix}as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AS+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AS"; then - ac_cv_prog_AS="$AS" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AS="${ac_tool_prefix}as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AS=$ac_cv_prog_AS -if test -n "$AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 -$as_echo "$AS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_AS"; then - ac_ct_AS=$AS - # Extract the first word of "as", so it can be a program name with args. -set dummy as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AS+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AS"; then - ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_AS="as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AS=$ac_cv_prog_ac_ct_AS -if test -n "$ac_ct_AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 -$as_echo "$ac_ct_AS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_AS" = x; then - AS="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AS=$ac_ct_AS - fi -else - AS="$ac_cv_prog_AS" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - - ;; -esac - -test -z "$AS" && AS=as - - - - - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - - - -# Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_static=yes -fi - - - - - - - - - -# Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then : - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_shared=yes -fi - - - - - - - - - - -# Checks for programs. -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdio.h> -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdarg.h> -#include <stdio.h> -#include <sys/types.h> -#include <sys/stat.h> -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - - -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -$as_echo_n "checking for style of include used by $am_make... " >&6; } -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -$as_echo "$_am_result" >&6; } -rm -f confinc confmf - -# Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then : - enableval=$enable_dependency_tracking; -fi - -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi - if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC - else - if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -$as_echo "$CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -$as_echo "$ac_ct_CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CXX" && break -done - - if test "x$ac_ct_CXX" = x; then - CXX="g++" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CXX=$ac_ct_CXX - fi -fi - - fi -fi -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 -$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } -if ${ac_cv_cxx_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GXX=yes -else - GXX= -fi -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 -$as_echo_n "checking whether $CXX accepts -g... " >&6; } -if ${ac_cv_prog_cxx_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -else - CXXFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - -else - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -$as_echo "$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CXX" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CXX_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CXX_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CXX_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CXX_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } -CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then - am__fastdepCXX_TRUE= - am__fastdepCXX_FALSE='#' -else - am__fastdepCXX_TRUE='#' - am__fastdepCXX_FALSE= -fi - - -case `pwd` in - *\ * | *\ *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; -esac - - - -macro_version='2.4.2' -macro_revision='1.3337' - - - - - - - - - - - - - -ltmain="$ac_aux_dir/ltmain.sh" - -# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 -$as_echo_n "checking how to print strings... " >&6; } -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "" -} - -case "$ECHO" in - printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 -$as_echo "printf" >&6; } ;; - print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 -$as_echo "print -r" >&6; } ;; - *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 -$as_echo "cat" >&6; } ;; -esac - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - { ac_script=; unset ac_script;} - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_SED_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi -else - ac_cv_path_SED=$SED -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed - -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if ${ac_cv_path_FGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 - then ac_cv_path_FGREP="$GREP -F" - else - if test -z "$FGREP"; then - ac_path_FGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue -# Check for GNU ac_path_FGREP and select it if it is found. - # Check for GNU $ac_path_FGREP -case `"$ac_path_FGREP" --version 2>&1` in -*GNU*) - ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'FGREP' >> "conftest.nl" - "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_FGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_FGREP="$ac_path_FGREP" - ac_path_FGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_FGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_FGREP"; then - as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_FGREP=$FGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } - FGREP="$ac_cv_path_FGREP" - - -test -z "$GREP" && GREP=grep - - - - - - - - - - - - - - - - - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break - ;; - *) - test "$with_gnu_ld" != yes && break - ;; - esac - fi - done - IFS="$lt_save_ifs" -else - lt_cv_path_LD="$LD" # Let the user override the test with a path. -fi -fi - -LD="$lt_cv_path_LD" -if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 </dev/null` in -*GNU* | *'with BFD'*) - lt_cv_prog_gnu_ld=yes - ;; -*) - lt_cv_prog_gnu_ld=no - ;; -esac -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 -$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if ${lt_cv_path_NM+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - if test -n "$ac_tool_prefix"; then - for ac_prog in dumpbin "link -dump" - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DUMPBIN"; then - ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DUMPBIN=$ac_cv_prog_DUMPBIN -if test -n "$DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$DUMPBIN" && break - done -fi -if test -z "$DUMPBIN"; then - ac_ct_DUMPBIN=$DUMPBIN - for ac_prog in dumpbin "link -dump" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DUMPBIN"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN -if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_DUMPBIN" && break -done - - if test "x$ac_ct_DUMPBIN" = x; then - DUMPBIN=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DUMPBIN=$ac_ct_DUMPBIN - fi -fi - - case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols" - ;; - *) - DUMPBIN=: - ;; - esac - fi - - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi -fi -test -z "$NM" && NM=nm - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if ${lt_cv_nm_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: output\"" >&5) - cat conftest.out >&5 - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } -fi - -# find the maximum length of command line arguments -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if ${lt_cv_sys_max_cmd_len+:} false; then : - $as_echo_n "(cached) " >&6 -else - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac - -fi - -if test -n $lt_cv_sys_max_cmd_len ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } -fi -max_cmd_len=$lt_cv_sys_max_cmd_len - - - - - - -: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 -$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,b/c, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 -$as_echo "$xsi_shell" >&6; } - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 -$as_echo_n "checking whether the shell understands \"+=\"... " >&6; } -lt_shell_append=no -( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 -$as_echo "$lt_shell_append" >&6; } - - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi - - - - - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 -$as_echo_n "checking how to convert $build file names to $host format... " >&6; } -if ${lt_cv_to_host_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac - -fi - -to_host_file_cmd=$lt_cv_to_host_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 -$as_echo "$lt_cv_to_host_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 -$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } -if ${lt_cv_to_tool_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - #assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac - -fi - -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 -$as_echo "$lt_cv_to_tool_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if ${lt_cv_ld_reload_flag+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - if test "$GCC" != yes; then - reload_cmds=false - fi - ;; - darwin*) - if test "$GCC" = yes; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if ${lt_cv_deplibs_check_method+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. - -case $host_os in -aix[4-9]*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. - if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[3-9]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - - - - - - - - - - - - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 -$as_echo_n "checking how to associate runtime and link libraries... " >&6; } -if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh - # decide which to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd="$ECHO" - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 -$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - - - - - - - - -if test -n "$ac_tool_prefix"; then - for ac_prog in ar - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AR" && break - done -fi -if test -z "$AR"; then - ac_ct_AR=$AR - for ac_prog in ar -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_AR" && break -done - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -fi - -: ${AR=ar} -: ${AR_FLAGS=cru} - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 -$as_echo_n "checking for archiver @FILE support... " >&6; } -if ${lt_cv_ar_at_file+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ar_at_file=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test "$ac_status" -eq 0; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test "$ac_status" -ne 0; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 -$as_echo "$lt_cv_ar_at_file" >&6; } - -if test "x$lt_cv_ar_at_file" = xno; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -test -z "$STRIP" && STRIP=: - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -test -z "$RANLIB" && RANLIB=: - - - - - - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 -$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if ${lt_cv_sys_global_symbol_pipe+:} false; then : - $as_echo_n "(cached) " >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; -hpux*) - if test "$host_cpu" = ia64; then - symcode='[ABCDEGRST]' - fi - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK '"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined(__osf__) -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 -$as_echo "failed" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 -$as_echo_n "checking for sysroot... " >&6; } - -# Check whether --with-sysroot was given. -if test "${with_sysroot+set}" = set; then : - withval=$with_sysroot; -else - with_sysroot=no -fi - - -lt_sysroot= -case ${with_sysroot} in #( - yes) - if test "$GCC" = yes; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5 -$as_echo "${with_sysroot}" >&6; } - as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 - ;; -esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 -$as_echo "${lt_sysroot:-no}" >&6; } - - - - - -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : - enableval=$enable_libtool_lock; -fi - -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if ${lt_cv_cc_needs_belf+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_cc_needs_belf=yes -else - lt_cv_cc_needs_belf=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD="${LD-ld}_sol2" - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks="$enable_libtool_lock" - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. -set dummy ${ac_tool_prefix}mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MANIFEST_TOOL"; then - ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL -if test -n "$MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 -$as_echo "$MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_MANIFEST_TOOL"; then - ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL - # Extract the first word of "mt", so it can be a program name with args. -set dummy mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_MANIFEST_TOOL"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL -if test -n "$ac_ct_MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 -$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_MANIFEST_TOOL" = x; then - MANIFEST_TOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL - fi -else - MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" -fi - -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 -$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } -if ${lt_cv_path_mainfest_tool+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&5 - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 -$as_echo "$lt_cv_path_mainfest_tool" >&6; } -if test "x$lt_cv_path_mainfest_tool" != xyes; then - MANIFEST_TOOL=: -fi - - - - - - - case $host_os in - rhapsody* | darwin*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. -set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DSYMUTIL"; then - ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DSYMUTIL=$ac_cv_prog_DSYMUTIL -if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DSYMUTIL"; then - ac_ct_DSYMUTIL=$DSYMUTIL - # Extract the first word of "dsymutil", so it can be a program name with args. -set dummy dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DSYMUTIL"; then - ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL -if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DSYMUTIL" = x; then - DSYMUTIL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DSYMUTIL=$ac_ct_DSYMUTIL - fi -else - DSYMUTIL="$ac_cv_prog_DSYMUTIL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. -set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NMEDIT"; then - ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -NMEDIT=$ac_cv_prog_NMEDIT -if test -n "$NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_NMEDIT"; then - ac_ct_NMEDIT=$NMEDIT - # Extract the first word of "nmedit", so it can be a program name with args. -set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_NMEDIT"; then - ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT -if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_NMEDIT" = x; then - NMEDIT=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - NMEDIT=$ac_ct_NMEDIT - fi -else - NMEDIT="$ac_cv_prog_NMEDIT" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. -set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LIPO"; then - ac_cv_prog_LIPO="$LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LIPO=$ac_cv_prog_LIPO -if test -n "$LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_LIPO"; then - ac_ct_LIPO=$LIPO - # Extract the first word of "lipo", so it can be a program name with args. -set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_LIPO"; then - ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO -if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_LIPO" = x; then - LIPO=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - LIPO=$ac_ct_LIPO - fi -else - LIPO="$ac_cv_prog_LIPO" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL"; then - ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL=$ac_cv_prog_OTOOL -if test -n "$OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL"; then - ac_ct_OTOOL=$OTOOL - # Extract the first word of "otool", so it can be a program name with args. -set dummy otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL"; then - ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL -if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL" = x; then - OTOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL=$ac_ct_OTOOL - fi -else - OTOOL="$ac_cv_prog_OTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL64"; then - ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL64=$ac_cv_prog_OTOOL64 -if test -n "$OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL64"; then - ac_ct_OTOOL64=$OTOOL64 - # Extract the first word of "otool64", so it can be a program name with args. -set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL64"; then - ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 -if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL64" = x; then - OTOOL64=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL64=$ac_ct_OTOOL64 - fi -else - OTOOL64="$ac_cv_prog_OTOOL64" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if ${lt_cv_apple_cc_single_mod+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&5 - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test $_lt_result -eq 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&5 - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if ${lt_cv_ld_exported_symbols_list+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_ld_exported_symbols_list=yes -else - lt_cv_ld_exported_symbols_list=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 -$as_echo_n "checking for -force_load linker flag... " >&6; } -if ${lt_cv_ld_force_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR cru libconftest.a conftest.o" >&5 - $AR cru libconftest.a conftest.o 2>&5 - echo "$RANLIB libconftest.a" >&5 - $RANLIB libconftest.a 2>&5 - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&5 - elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&5 - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 -$as_echo "$lt_cv_ld_force_load" >&6; } - case $host_os in - rhapsody* | darwin1.[012]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[91]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[012]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ac_nonexistent.h> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ac_nonexistent.h> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdlib.h> -#include <stdarg.h> -#include <string.h> -#include <float.h> - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <string.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdlib.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ctype.h> -#include <stdlib.h> -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -for ac_header in dlfcn.h -do : - ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default -" -if test "x$ac_cv_header_dlfcn_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DLFCN_H 1 -_ACEOF - -fi - -done - - - - -func_stripname_cnf () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; - esac -} # func_stripname_cnf - - - - - -# Set options - - - - enable_dlopen=no - - - - - - -# Check whether --with-pic was given. -if test "${with_pic+set}" = set; then : - withval=$with_pic; lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for lt_pkg in $withval; do - IFS="$lt_save_ifs" - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - pic_mode=default -fi - - -test -z "$pic_mode" && pic_mode=default - - - - - - - - # Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then : - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_fast_install=yes -fi - - - - - - - - - - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test -z "$LN_S" && LN_S="ln -s" - - - - - - - - - - - - - - -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if ${lt_cv_objdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - - - - - -cat >>confdefs.h <<_ACEOF -#define LT_OBJDIR "$lt_cv_objdir/" -_ACEOF - - - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` - - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/${ac_tool_prefix}file; then - lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/file; then - lt_cv_path_MAGIC_CMD="$ac_dir/file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -# Use C for the default configuration in the libtool script - -lt_save_CC="$CC" -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -objext=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -if test -n "$compiler"; then - -lt_prog_compiler_no_builtin_flag= - -if test "$GCC" = yes; then - case $cc_basename in - nvcc*) - lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; - *) - lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi - -fi - - - - - - - lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= - - - if test "$GCC" = yes; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl='-Xlinker ' - if test -n "$lt_prog_compiler_pic"; then - lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='--shared' - lt_prog_compiler_static='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-qpic' - lt_prog_compiler_static='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi - -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic=$lt_prog_compiler_pic -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 -$as_echo "$lt_cv_prog_compiler_pic" >&6; } -lt_prog_compiler_pic=$lt_cv_prog_compiler_pic - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if ${lt_cv_prog_compiler_pic_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } - -if test x"$lt_cv_prog_compiler_pic_works" = xyes; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi - -fi - - - - - - - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works=yes - fi - else - lt_cv_prog_compiler_static_works=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } - -if test x"$lt_cv_prog_compiler_static_works" = xyes; then - : -else - lt_prog_compiler_static= -fi - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test "$hard_links" = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag= - always_export_symbols=no - archive_cmds= - archive_expsym_cmds= - compiler_needs_object=no - enable_shared_with_static_runtimes=no - export_dynamic_flag_spec= - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic=no - hardcode_direct=no - hardcode_direct_absolute=no - hardcode_libdir_flag_spec= - hardcode_libdir_separator= - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - inherit_rpath=no - link_all_deplibs=unknown - module_cmds= - module_expsym_cmds= - old_archive_from_new_cmds= - old_archive_from_expsyms_cmds= - thread_safe_flag_spec= - whole_archive_flag_spec= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - linux* | k*bsd*-gnu | gnu*) - link_all_deplibs=no - ;; - esac - - ld_shlibs=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test "$with_gnu_ld" = yes; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test "$lt_use_gnu_ld_interface" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach <jrb3@best.com> says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - export_dynamic_flag_spec='${wl}--export-all-symbols' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; - - haiku*) - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - link_all_deplibs=yes - ;; - - interix[3-9]*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec= - tmp_sharedflag='--shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - compiler_needs_object=yes - ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - compiler_needs_object=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs=no - fi - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test "$ld_shlibs" = no; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix[4-9]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global - # defined symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds='' - hardcode_direct=yes - hardcode_direct_absolute=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - file_list_spec='${wl}-f,' - - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - link_all_deplibs=no - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - export_dynamic_flag_spec='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_="/usr/lib:/lib" - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_="/usr/lib:/lib" - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' ${wl}-bernotok' - allow_undefined_flag=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - fi - archive_cmds_need_lc=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl*) - # Native MSVC - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - always_export_symbols=yes - file_list_spec='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, )='true' - enable_shared_with_static_runtimes=yes - exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds='chmod 644 $oldlib' - postlink_cmds='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC wrapper - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - if test "$lt_cv_ld_force_load" = "yes"; then - whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec='' - fi - link_all_deplibs=yes - allow_undefined_flag="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=func_echo_all - archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - - else - ld_shlibs=no - fi - - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 -$as_echo_n "checking if $CC understands -b... " >&6; } -if ${lt_cv_prog_compiler__b+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler__b=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -b" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler__b=yes - fi - else - lt_cv_prog_compiler__b=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 -$as_echo "$lt_cv_prog_compiler__b" >&6; } - -if test x"$lt_cv_prog_compiler__b" = xyes; then - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' -else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' -fi - - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo (void) { return 0; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test "$lt_cv_irix_exported_symbol" = yes; then - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - fi - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - inherit_rpath=yes - link_all_deplibs=yes - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - *nto* | *qnx*) - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - hardcode_shlibpath_var=no - hardcode_direct_absolute=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - archive_cmds_need_lc='no' - hardcode_libdir_separator=: - ;; - - solaris*) - no_undefined_flag=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='${wl}' - archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='${wl}-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='${wl}-z,text' - allow_undefined_flag='${wl}-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-R,$libdir' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac - - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec='${wl}-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } -test "$ld_shlibs" = no && can_build_shared=no - -with_gnu_ld=$with_gnu_ld - - - - - - - - - - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc=no - else - lt_cv_archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } - archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;; - *) lt_sed_strip_eq="s,=/,/,g" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's,/\([A-Za-z]:\),\1,g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib<name>.so - # instead of lib<name>.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - library_names_spec='${libname}.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec="$LIB" - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=yes - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || - test -n "$runpath_var" || - test "X$hardcode_automatic" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$hardcode_direct" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && - test "$hardcode_minus_L" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } - -if test "$hardcode_action" = relink || - test "$inherit_rpath" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - *) - ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : - lt_cv_dlopen="shl_load" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes -else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" -else - ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if ${ac_cv_lib_svld_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_svld_dlopen=yes -else - ac_cv_lib_svld_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if ${ac_cv_lib_dld_dld_link+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_dld_link=yes -else - ac_cv_lib_dld_dld_link=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = xyes; then : - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include <dlfcn.h> -#endif - -#include <stdio.h> - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisbility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 -$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self_static+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include <dlfcn.h> -#endif - -#include <stdio.h> - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisbility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 -$as_echo "$lt_cv_dlopen_self_static" >&6; } - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - - - - - - - - - - - - - - - - -striplib= -old_striplib= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 -$as_echo_n "checking whether stripping libraries is possible... " >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac -fi - - - - - - - - - - - - - # Report which library types will actually be built - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[4-9]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - - - -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC="$lt_save_CC" - - if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 -$as_echo_n "checking how to run the C++ preprocessor... " >&6; } -if test -z "$CXXCPP"; then - if ${ac_cv_prog_CXXCPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" - do - ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ac_nonexistent.h> -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CXXCPP=$CXXCPP - -fi - CXXCPP=$ac_cv_prog_CXXCPP -else - ac_cv_prog_CXXCPP=$CXXCPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 -$as_echo "$CXXCPP" >&6; } -ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ac_nonexistent.h> -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -else - _lt_caught_CXX_error=yes -fi - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -archive_cmds_need_lc_CXX=no -allow_undefined_flag_CXX= -always_export_symbols_CXX=no -archive_expsym_cmds_CXX= -compiler_needs_object_CXX=no -export_dynamic_flag_spec_CXX= -hardcode_direct_CXX=no -hardcode_direct_absolute_CXX=no -hardcode_libdir_flag_spec_CXX= -hardcode_libdir_separator_CXX= -hardcode_minus_L_CXX=no -hardcode_shlibpath_var_CXX=unsupported -hardcode_automatic_CXX=no -inherit_rpath_CXX=no -module_cmds_CXX= -module_expsym_cmds_CXX= -link_all_deplibs_CXX=unknown -old_archive_cmds_CXX=$old_archive_cmds -reload_flag_CXX=$reload_flag -reload_cmds_CXX=$reload_cmds -no_undefined_flag_CXX= -whole_archive_flag_spec_CXX= -enable_shared_with_static_runtimes_CXX=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -objext_CXX=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_caught_CXX_error" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - - # save warnings/boilerplate of simple test code - ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - - ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_CFLAGS=$CFLAGS - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - CFLAGS=$CXXFLAGS - compiler=$CC - compiler_CXX=$CC - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` - - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test "$GXX" = yes; then - lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' - else - lt_prog_compiler_no_builtin_flag_CXX= - fi - - if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break - ;; - *) - test "$with_gnu_ld" != yes && break - ;; - esac - fi - done - IFS="$lt_save_ifs" -else - lt_cv_path_LD="$LD" # Let the user override the test with a path. -fi -fi - -LD="$lt_cv_path_LD" -if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 </dev/null` in -*GNU* | *'with BFD'*) - lt_cv_prog_gnu_ld=yes - ;; -*) - lt_cv_prog_gnu_ld=no - ;; -esac -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_CXX= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - ld_shlibs_CXX=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aix[4-9]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_CXX='' - hardcode_direct_CXX=yes - hardcode_direct_absolute_CXX=yes - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - file_list_spec_CXX='${wl}-f,' - - if test "$GXX" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_CXX=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_CXX=yes - hardcode_libdir_flag_spec_CXX='-L$libdir' - hardcode_libdir_separator_CXX= - fi - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - export_dynamic_flag_spec_CXX='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - always_export_symbols_CXX=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_CXX='-berok' - # Determine the default libpath from the value encoded in an empty - # executable. - if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX="/usr/lib:/lib" - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__CXX -fi - - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - - archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_CXX="-z nodefs" - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX="/usr/lib:/lib" - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__CXX -fi - - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_CXX=' ${wl}-bernotok' - allow_undefined_flag_CXX=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_CXX='$convenience' - fi - archive_cmds_need_lc_CXX=yes - # This is similar to how AIX traditionally builds its shared - # libraries. - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_CXX=unsupported - # Joseph Beckenbach <jrb3@best.com> says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs_CXX=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec_CXX=' ' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=yes - file_list_spec_CXX='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' - enable_shared_with_static_runtimes_CXX=yes - # Don't use ranlib - old_postinstall_cmds_CXX='chmod 644 $oldlib' - postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # g++ - # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_CXX='-L$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-all-symbols' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=no - enable_shared_with_static_runtimes_CXX=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_CXX=no - fi - ;; - esac - ;; - darwin* | rhapsody*) - - - archive_cmds_need_lc_CXX=no - hardcode_direct_CXX=no - hardcode_automatic_CXX=yes - hardcode_shlibpath_var_CXX=unsupported - if test "$lt_cv_ld_force_load" = "yes"; then - whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec_CXX='' - fi - link_all_deplibs_CXX=yes - allow_undefined_flag_CXX="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=func_echo_all - archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - if test "$lt_cv_apple_cc_single_mod" != "yes"; then - archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" - archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" - fi - - else - ld_shlibs_CXX=no - fi - - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - freebsd2.*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - ld_shlibs_CXX=no - ;; - - freebsd-elf*) - archive_cmds_need_lc_CXX=no - ;; - - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - ld_shlibs_CXX=yes - ;; - - gnu*) - ;; - - haiku*) - archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - link_all_deplibs_CXX=yes - ;; - - hpux9*) - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_CXX=: - export_dynamic_flag_spec_CXX='${wl}-E' - hardcode_direct_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes; then - archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - export_dynamic_flag_spec_CXX='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - ;; - *) - hardcode_direct_CXX=yes - hardcode_direct_absolute_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - interix[3-9]*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' - fi - fi - link_all_deplibs_CXX=yes - ;; - esac - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - inherit_rpath_CXX=yes - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [1-5].* | *pgcpp\ [1-5].*) - prelink_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' - old_archive_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ - $RANLIB $oldlib' - archive_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - archive_expsym_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - *) # Version 6 and above use weak symbols - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - esac - - hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' - ;; - xl* | mpixl* | bgxl*) - # IBM XL 8.0 on PPC, with GNU ld - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - hardcode_libdir_flag_spec_CXX='-R$libdir' - whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - compiler_needs_object_CXX=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - ld_shlibs_CXX=yes - ;; - - openbsd2*) - # C++ shared libraries are fairly broken - ld_shlibs_CXX=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - hardcode_direct_absolute_CXX=yes - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - export_dynamic_flag_spec_CXX='${wl}-E' - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd=func_echo_all - else - ld_shlibs_CXX=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - hardcode_libdir_separator_CXX=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx*) - case $host in - osf3*) - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - ;; - *) - allow_undefined_flag_CXX=' -expect_unresolved \*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ - $RM $lib.exp' - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - ;; - esac - - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - case $host in - osf3*) - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - *) - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - esac - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - archive_cmds_need_lc_CXX=yes - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_shlibpath_var_CXX=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' - ;; - esac - link_all_deplibs_CXX=yes - - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - no_undefined_flag_CXX=' ${wl}-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - fi - - hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_CXX='${wl}-z,text' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_CXX='${wl}-z,text' - allow_undefined_flag_CXX='${wl}-z,nodefs' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir' - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - export_dynamic_flag_spec_CXX='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ - '"$old_archive_cmds_CXX" - reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ - '"$reload_cmds_CXX" - ;; - *) - archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } - test "$ld_shlibs_CXX" = no && can_build_shared=no - - GCC_CXX="$GXX" - LD_CXX="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - # Dependencies to place before and after the object being linked: -predep_objects_CXX= -postdep_objects_CXX= -predeps_CXX= -postdeps_CXX= -compiler_lib_search_path_CXX= - -cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF - - -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; -esac - -if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case ${prev}${p} in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" || - test $p = "-R"; then - prev=$p - continue - fi - - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test "$pre_test_object_deps_done" = no; then - case ${prev} in - -L | -R) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$compiler_lib_search_path_CXX"; then - compiler_lib_search_path_CXX="${prev}${p}" - else - compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$postdeps_CXX"; then - postdeps_CXX="${prev}${p}" - else - postdeps_CXX="${postdeps_CXX} ${prev}${p}" - fi - fi - prev= - ;; - - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test "$pre_test_object_deps_done" = no; then - if test -z "$predep_objects_CXX"; then - predep_objects_CXX="$p" - else - predep_objects_CXX="$predep_objects_CXX $p" - fi - else - if test -z "$postdep_objects_CXX"; then - postdep_objects_CXX="$p" - else - postdep_objects_CXX="$postdep_objects_CXX $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling CXX test program" -fi - -$RM -f confest.$objext -CFLAGS=$_lt_libdeps_save_CFLAGS - -# PORTME: override above test on systems where it is broken -case $host_os in -interix[3-9]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - predep_objects_CXX= - postdep_objects_CXX= - postdeps_CXX= - ;; - -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - if test "$solaris_use_stlport4" != yes; then - postdeps_CXX='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC* | sunCC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - postdeps_CXX='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac - - -case " $postdeps_CXX " in -*" -lc "*) archive_cmds_need_lc_CXX=no ;; -esac - compiler_lib_search_dirs_CXX= -if test -n "${compiler_lib_search_path_CXX}"; then - compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - lt_prog_compiler_wl_CXX= -lt_prog_compiler_pic_CXX= -lt_prog_compiler_static_CXX= - - - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic_CXX='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_CXX='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - lt_prog_compiler_pic_CXX= - ;; - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static_CXX= - ;; - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_CXX=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_CXX='-fPIC -shared' - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - else - case $host_os in - aix[4-9]*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - else - lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - ;; - dgux*) - case $cc_basename in - ec++*) - lt_prog_compiler_pic_CXX='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - lt_prog_compiler_pic_CXX='+Z' - fi - ;; - aCC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_CXX='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - KCC*) - # KAI C++ Compiler - lt_prog_compiler_wl_CXX='--backend -Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64 which still supported -KPIC. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - lt_prog_compiler_static_CXX='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fpic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) - # IBM XL 8.0, 9.0 on PPC and BlueGene - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-qpic' - lt_prog_compiler_static_CXX='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - lt_prog_compiler_pic_CXX='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd* | netbsdelf*-gnu) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_CXX='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - lt_prog_compiler_wl_CXX='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - lt_prog_compiler_pic_CXX='-pic' - ;; - cxx*) - # Digital/Compaq C++ - lt_prog_compiler_wl_CXX='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - lt_prog_compiler_pic_CXX='-pic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - lcc*) - # Lucid - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - lt_prog_compiler_pic_CXX='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - lt_prog_compiler_can_build_shared_CXX=no - ;; - esac - fi - -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_CXX= - ;; - *) - lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } -lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } -if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works_CXX=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works_CXX=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } - -if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then - case $lt_prog_compiler_pic_CXX in - "" | " "*) ;; - *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; - esac -else - lt_prog_compiler_pic_CXX= - lt_prog_compiler_can_build_shared_CXX=no -fi - -fi - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works_CXX=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works_CXX=yes - fi - else - lt_cv_prog_compiler_static_works_CXX=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } - -if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then - : -else - lt_prog_compiler_static_CXX= -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } - - - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test "$hard_links" = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - case $host_os in - aix[4-9]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global defined - # symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - export_symbols_cmds_CXX="$ltdll_cmds" - ;; - cygwin* | mingw* | cegcc*) - case $cc_basename in - cl*) - exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - ;; - esac - ;; - linux* | k*bsd*-gnu | gnu*) - link_all_deplibs_CXX=no - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } -test "$ld_shlibs_CXX" = no && can_build_shared=no - -with_gnu_ld_CXX=$with_gnu_ld - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_CXX" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_CXX=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_CXX in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_CXX - pic_flag=$lt_prog_compiler_pic_CXX - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_CXX - allow_undefined_flag_CXX= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc_CXX=no - else - lt_cv_archive_cmds_need_lc_CXX=yes - fi - allow_undefined_flag_CXX=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } - archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib<name>.so - # instead of lib<name>.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - library_names_spec='${libname}.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec="$LIB" - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=yes - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_CXX= -if test -n "$hardcode_libdir_flag_spec_CXX" || - test -n "$runpath_var_CXX" || - test "X$hardcode_automatic_CXX" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$hardcode_direct_CXX" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no && - test "$hardcode_minus_L_CXX" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_CXX=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_CXX=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_CXX=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 -$as_echo "$hardcode_action_CXX" >&6; } - -if test "$hardcode_action_CXX" = relink || - test "$inherit_rpath_CXX" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - - fi # test -n "$compiler" - - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test "$_lt_caught_CXX_error" != yes - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - - - - - - - - - - - - - - ac_config_commands="$ac_config_commands libtool" - - - - -# Only expand once: - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - -# Checks for libraries. - -# Checks for header files. - -# Checks for typedefs, structures, and compiler characteristics. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 -$as_echo_n "checking for an ANSI C-conforming const... " >&6; } -if ${ac_cv_c_const+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -/* FIXME: Include the comments suggested by Paul. */ -#ifndef __cplusplus - /* Ultrix mips cc rejects this. */ - typedef int charset[2]; - const charset cs; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *pcpcc; - char **ppc; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - pcpcc = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++pcpcc; - ppc = (char**) pcpcc; - pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this. */ - char *t; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; - if (s) return 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - if (!foo) return 0; - } - return !cs[0] && !zero.x; -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_c_const=yes -else - ac_cv_c_const=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 -$as_echo "$ac_cv_c_const" >&6; } -if test $ac_cv_c_const = no; then - -$as_echo "#define const /**/" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 -$as_echo_n "checking for inline... " >&6; } -if ${ac_cv_c_inline+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __cplusplus -typedef int foo_t; -static $ac_kw foo_t static_foo () {return 0; } -$ac_kw foo_t foo () {return 0; } -#endif - -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_c_inline=$ac_kw -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$ac_cv_c_inline" != no && break -done - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 -$as_echo "$ac_cv_c_inline" >&6; } - -case $ac_cv_c_inline in - inline | yes) ;; - *) - case $ac_cv_c_inline in - no) ac_val=;; - *) ac_val=$ac_cv_c_inline;; - esac - cat >>confdefs.h <<_ACEOF -#ifndef __cplusplus -#define inline $ac_val -#endif -_ACEOF - ;; -esac - -ac_fn_cxx_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" -if test "x$ac_cv_type_size_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define size_t unsigned int -_ACEOF - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 -$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } -if ${ac_cv_struct_tm+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <sys/types.h> -#include <time.h> - -int -main () -{ -struct tm tm; - int *p = &tm.tm_sec; - return !p; - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_struct_tm=time.h -else - ac_cv_struct_tm=sys/time.h -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 -$as_echo "$ac_cv_struct_tm" >&6; } -if test $ac_cv_struct_tm = sys/time.h; then - -$as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h - -fi - - -# Checks for library functions. - -# system specific -if test $(uname -s) == Linux; then - true -elif test $(uname -s) == Darwin; then - FRAMEWORKS="$FRAMEWORKS ApplicationServices vecLib" - LD_FLAGS="$LD_FLAGS -flat_namespace -undefined dynamic_lookup" -elif test $win; then - C_FLAGS="$C_FLAGS -mms-bitfields -mno-cygwin" - LD_FLAGS="$LD_FLAGS -mno-cygwin" -fi - - -# set compilation flags - -OPT_FLAGS="$C_FLAGS -O2" -DBG_FLAGS="$C_FLAGS -DFLEXT_DEBUG -g" - -# Check whether --enable-optimize was given. -if test "${enable_optimize+set}" = set; then : - enableval=$enable_optimize; - # tune to a specific CPU - OPT_FLAGS="$OPT_FLAGS -mtune=$enableval" - case $enableval in - pentium | pentium2 | athlon | pentium-mmx) - OPT_FLAGS="$OPT_FLAGS -march=$enableval";; - pentium3 | pentium3m | pentium4 | pentium4m | pentium-m | prescott | nocona | athlon-xp | athlon-mp | athlon64 | opteron) - OPT_FLAGS="$OPT_FLAGS -march=$enableval -mfpmath=sse"; - $as_echo "#define FLEXT_USE_SIMD 1" >>confdefs.h -;; - G3) - # set specific architecture (like march) - OPT_FLAGS="$OPT_FLAGS -mcpu=$enableval";; - G5 | G4) - # set specific architecture (like march) - OPT_FLAGS="$OPT_FLAGS -mcpu=$enableval -faltivec"; - $as_echo "#define FLEXT_USE_SIMD 1" >>confdefs.h -;; - *) - ;; - esac - - -fi - - - - - - - - - -# AC_SUBST(API_VERSION) - - - - - -ac_config_files="$ac_config_files Makefile source/Makefile" - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Transform confdefs.h into DEFS. -# Protect against shell expansion while executing Makefile rules. -# Protect against Makefile macro expansion. -# -# If the first sed substitution is executed (which looks for macros that -# take arguments), then branch to the quote section. Otherwise, -# look for a macro that doesn't take arguments. -ac_script=' -:mline -/\\$/{ - N - s,\\\n,, - b mline -} -t clear -:clear -s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g -t quote -s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g -t quote -b any -:quote -s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g -s/\[/\\&/g -s/\]/\\&/g -s/\$/$$/g -H -:any -${ - g - s/^\n// - s/\n/ /g - p -} -' -DEFS=`sed -n "$ac_script" confdefs.h` - - -ac_libobjs= -ac_ltlibobjs= -U= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' -else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= -fi - -if test -z "${STK_TRUE}" && test -z "${STK_FALSE}"; then - as_fn_error $? "conditional \"STK\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${SNDOBJ_TRUE}" && test -z "${SNDOBJ_FALSE}"; then - as_fn_error $? "conditional \"SNDOBJ\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error $? "conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - -: "${CONFIG_STATUS=./config.status}" -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by flext $as_me 0.5.1, which was -generated by GNU Autoconf 2.68. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - -Configuration files: -$config_files - -Configuration commands: -$config_commands - -Report bugs to <gr@grrrr.org>." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -flext config.status 0.5.1 -configured by $0, generated by GNU Autoconf 2.68, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2010 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -AWK='$AWK' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h | --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" - - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`' -DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' -OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' -enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' -enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' -macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' -macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' -pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' -enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' -SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' -ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' -PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' -host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' -host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' -host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' -build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' -build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' -build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' -SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' -Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' -GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' -EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' -FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' -LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' -NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' -LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' -max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' -ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' -exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' -lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' -lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' -lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' -lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' -lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' -reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' -reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' -deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' -file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' -file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' -want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' -sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' -AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' -AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' -archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' -STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' -RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' -old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' -old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' -lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' -CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' -CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' -compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' -GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' -nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' -lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' -objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' -MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' -need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' -MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' -DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' -NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' -LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' -OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' -OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' -libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' -shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' -extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' -compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' -module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' -with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' -no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' -hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' -hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' -inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' -link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' -always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' -exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' -include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' -prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' -postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' -file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' -variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' -need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' -need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' -version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' -runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' -libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' -library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' -soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' -install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' -postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' -postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' -finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' -hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' -sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' -sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`' -hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' -enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' -old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' -striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' -predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' -postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' -predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' -postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' -LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' -reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' -reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' -old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' -compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' -GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' -archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' -module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' -with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' -no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' -inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' -link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' -always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' -exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' -include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' -prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' -postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' -file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' -predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' -postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' -predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' -postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' - -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in AS \ -DLLTOOL \ -OBJDUMP \ -SHELL \ -ECHO \ -PATH_SEPARATOR \ -SED \ -GREP \ -EGREP \ -FGREP \ -LD \ -NM \ -LN_S \ -lt_SP2NL \ -lt_NL2SP \ -reload_flag \ -deplibs_check_method \ -file_magic_cmd \ -file_magic_glob \ -want_nocaseglob \ -sharedlib_from_linklib_cmd \ -AR \ -AR_FLAGS \ -archiver_list_spec \ -STRIP \ -RANLIB \ -CC \ -CFLAGS \ -compiler \ -lt_cv_sys_global_symbol_pipe \ -lt_cv_sys_global_symbol_to_cdecl \ -lt_cv_sys_global_symbol_to_c_name_address \ -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ -nm_file_list_spec \ -lt_prog_compiler_no_builtin_flag \ -lt_prog_compiler_pic \ -lt_prog_compiler_wl \ -lt_prog_compiler_static \ -lt_cv_prog_compiler_c_o \ -need_locks \ -MANIFEST_TOOL \ -DSYMUTIL \ -NMEDIT \ -LIPO \ -OTOOL \ -OTOOL64 \ -shrext_cmds \ -export_dynamic_flag_spec \ -whole_archive_flag_spec \ -compiler_needs_object \ -with_gnu_ld \ -allow_undefined_flag \ -no_undefined_flag \ -hardcode_libdir_flag_spec \ -hardcode_libdir_separator \ -exclude_expsyms \ -include_expsyms \ -file_list_spec \ -variables_saved_for_relink \ -libname_spec \ -library_names_spec \ -soname_spec \ -install_override_mode \ -finish_eval \ -old_striplib \ -striplib \ -compiler_lib_search_dirs \ -predep_objects \ -postdep_objects \ -predeps \ -postdeps \ -compiler_lib_search_path \ -LD_CXX \ -reload_flag_CXX \ -compiler_CXX \ -lt_prog_compiler_no_builtin_flag_CXX \ -lt_prog_compiler_pic_CXX \ -lt_prog_compiler_wl_CXX \ -lt_prog_compiler_static_CXX \ -lt_cv_prog_compiler_c_o_CXX \ -export_dynamic_flag_spec_CXX \ -whole_archive_flag_spec_CXX \ -compiler_needs_object_CXX \ -with_gnu_ld_CXX \ -allow_undefined_flag_CXX \ -no_undefined_flag_CXX \ -hardcode_libdir_flag_spec_CXX \ -hardcode_libdir_separator_CXX \ -exclude_expsyms_CXX \ -include_expsyms_CXX \ -file_list_spec_CXX \ -compiler_lib_search_dirs_CXX \ -predep_objects_CXX \ -postdep_objects_CXX \ -predeps_CXX \ -postdeps_CXX \ -compiler_lib_search_path_CXX; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in reload_cmds \ -old_postinstall_cmds \ -old_postuninstall_cmds \ -old_archive_cmds \ -extract_expsyms_cmds \ -old_archive_from_new_cmds \ -old_archive_from_expsyms_cmds \ -archive_cmds \ -archive_expsym_cmds \ -module_cmds \ -module_expsym_cmds \ -export_symbols_cmds \ -prelink_cmds \ -postlink_cmds \ -postinstall_cmds \ -postuninstall_cmds \ -finish_cmds \ -sys_lib_search_path_spec \ -sys_lib_dlsearch_path_spec \ -reload_cmds_CXX \ -old_archive_cmds_CXX \ -old_archive_from_new_cmds_CXX \ -old_archive_from_expsyms_cmds_CXX \ -archive_cmds_CXX \ -archive_expsym_cmds_CXX \ -module_cmds_CXX \ -module_expsym_cmds_CXX \ -export_symbols_cmds_CXX \ -prelink_cmds_CXX \ -postlink_cmds_CXX; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -ac_aux_dir='$ac_aux_dir' -xsi_shell='$xsi_shell' -lt_shell_append='$lt_shell_append' - -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - - - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile' - - - - - - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "source/Makefile") CONFIG_FILES="$CONFIG_FILES source/Makefile" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' <conf$$subs.awk | sed ' -/^[^""]/{ - N - s/\n// -} -' >>$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - - -eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - - - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Autoconf 2.62 quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir=$dirpart/$fdir; as_fn_mkdir_p - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} - ;; - "libtool":C) - - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - -# The names of the tagged configurations supported by this script. -available_tags="CXX " - -# ### BEGIN LIBTOOL CONFIG - -# Assembler program. -AS=$lt_AS - -# DLL creation program. -DLLTOOL=$lt_DLLTOOL - -# Object dumper program. -OBJDUMP=$lt_OBJDUMP - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - -# What type of objects to build. -pic_mode=$pic_mode - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# An echo program that protects backslashes. -ECHO=$lt_ECHO - -# The PATH separator for the build system. -PATH_SEPARATOR=$lt_PATH_SEPARATOR - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="\$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP=$lt_GREP - -# An ERE matcher. -EGREP=$lt_EGREP - -# A literal string matcher. -FGREP=$lt_FGREP - -# A BSD- or MS-compatible name lister. -NM=$lt_NM - -# Whether we need soft or hard links. -LN_S=$lt_LN_S - -# What is the maximum length of a command? -max_cmd_len=$max_cmd_len - -# Object file suffix (normally "o"). -objext=$ac_objext - -# Executable file suffix (normally ""). -exeext=$exeext - -# whether the shell understands "unset". -lt_unset=$lt_unset - -# turn spaces into newlines. -SP2NL=$lt_lt_SP2NL - -# turn newlines into spaces. -NL2SP=$lt_lt_NL2SP - -# convert \$build file names to \$host format. -to_host_file_cmd=$lt_cv_to_host_file_cmd - -# convert \$build files to toolchain format. -to_tool_file_cmd=$lt_cv_to_tool_file_cmd - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method = "file_magic". -file_magic_cmd=$lt_file_magic_cmd - -# How to find potential files when deplibs_check_method = "file_magic". -file_magic_glob=$lt_file_magic_glob - -# Find potential files using nocaseglob when deplibs_check_method = "file_magic". -want_nocaseglob=$lt_want_nocaseglob - -# Command to associate shared and link libraries. -sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd - -# The archiver. -AR=$lt_AR - -# Flags to create an archive. -AR_FLAGS=$lt_AR_FLAGS - -# How to feed a file listing to the archiver. -archiver_list_spec=$lt_archiver_list_spec - -# A symbol stripping program. -STRIP=$lt_STRIP - -# Commands used to install an old-style archive. -RANLIB=$lt_RANLIB -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Whether to use a lock for old archive extraction. -lock_old_archive_extraction=$lock_old_archive_extraction - -# A C compiler. -LTCC=$lt_CC - -# LTCC compiler flags. -LTCFLAGS=$lt_CFLAGS - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix - -# Specify filename containing input files for \$NM. -nm_file_list_spec=$lt_nm_file_list_spec - -# The root where to search for dependent libraries,and in which our libraries should be installed. -lt_sysroot=$lt_sysroot - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=$MAGIC_CMD - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Manifest tool. -MANIFEST_TOOL=$lt_MANIFEST_TOOL - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL=$lt_DSYMUTIL - -# Tool to change global to local symbols on Mac OS X. -NMEDIT=$lt_NMEDIT - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO=$lt_LIPO - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL=$lt_OTOOL - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=$lt_OTOOL64 - -# Old archive suffix (normally "a"). -libext=$libext - -# Shared library suffix (normally ".so"). -shrext_cmds=$lt_shrext_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink=$lt_variables_saved_for_relink - -# Do we need the "lib" prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Library versioning type. -version_type=$version_type - -# Shared library runtime path variable. -runpath_var=$runpath_var - -# Shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Permission mode override for installation of shared libraries. -install_override_mode=$lt_install_override_mode - -# Command to use after installation of a shared archive. -postinstall_cmds=$lt_postinstall_cmds - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval=$lt_finish_eval - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Compile-time system search path for libraries. -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - - -# The linker used to build libraries. -LD=$lt_LD - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds - -# A language specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU compiler? -with_gcc=$GCC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \${shlibpath_var} if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects -postdep_objects=$lt_postdep_objects -predeps=$lt_predeps -postdeps=$lt_postdeps - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path - -# ### END LIBTOOL CONFIG - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - -ltmain="$ac_aux_dir/ltmain.sh" - - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - if test x"$xsi_shell" = xyes; then - sed -e '/^func_dirname ()$/,/^} # func_dirname /c\ -func_dirname ()\ -{\ -\ case ${1} in\ -\ */*) func_dirname_result="${1%/*}${2}" ;;\ -\ * ) func_dirname_result="${3}" ;;\ -\ esac\ -} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_basename ()$/,/^} # func_basename /c\ -func_basename ()\ -{\ -\ func_basename_result="${1##*/}"\ -} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\ -func_dirname_and_basename ()\ -{\ -\ case ${1} in\ -\ */*) func_dirname_result="${1%/*}${2}" ;;\ -\ * ) func_dirname_result="${3}" ;;\ -\ esac\ -\ func_basename_result="${1##*/}"\ -} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_stripname ()$/,/^} # func_stripname /c\ -func_stripname ()\ -{\ -\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\ -\ # positional parameters, so assign one to ordinary parameter first.\ -\ func_stripname_result=${3}\ -\ func_stripname_result=${func_stripname_result#"${1}"}\ -\ func_stripname_result=${func_stripname_result%"${2}"}\ -} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\ -func_split_long_opt ()\ -{\ -\ func_split_long_opt_name=${1%%=*}\ -\ func_split_long_opt_arg=${1#*=}\ -} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\ -func_split_short_opt ()\ -{\ -\ func_split_short_opt_arg=${1#??}\ -\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\ -} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\ -func_lo2o ()\ -{\ -\ case ${1} in\ -\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\ -\ *) func_lo2o_result=${1} ;;\ -\ esac\ -} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_xform ()$/,/^} # func_xform /c\ -func_xform ()\ -{\ - func_xform_result=${1%.*}.lo\ -} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_arith ()$/,/^} # func_arith /c\ -func_arith ()\ -{\ - func_arith_result=$(( $* ))\ -} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_len ()$/,/^} # func_len /c\ -func_len ()\ -{\ - func_len_result=${#1}\ -} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - -fi - -if test x"$lt_shell_append" = xyes; then - sed -e '/^func_append ()$/,/^} # func_append /c\ -func_append ()\ -{\ - eval "${1}+=\\${2}"\ -} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\ -func_append_quoted ()\ -{\ -\ func_quote_for_eval "${2}"\ -\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\ -} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - # Save a `func_append' function call where possible by direct use of '+=' - sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -else - # Save a `func_append' function call even when '+=' is not available - sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -fi - -if test x"$_lt_function_replace_fail" = x":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5 -$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;} -fi - - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: CXX - -# The linker used to build libraries. -LD=$lt_LD_CXX - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_CXX -reload_cmds=$lt_reload_cmds_CXX - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_CXX - -# A language specific compiler. -CC=$lt_compiler_CXX - -# Is the compiler the GNU compiler? -with_gcc=$GCC_CXX - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_CXX - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_CXX - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_CXX - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_CXX - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_CXX - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_CXX -archive_expsym_cmds=$lt_archive_expsym_cmds_CXX - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_CXX -module_expsym_cmds=$lt_module_expsym_cmds_CXX - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_CXX - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_CXX - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_CXX - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_CXX - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \${shlibpath_var} if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_CXX - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_CXX - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_CXX - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_CXX - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_CXX - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_CXX - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_CXX - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_CXX - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_CXX - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_CXX - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_CXX - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_CXX - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_CXX - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_CXX -postdep_objects=$lt_postdep_objects_CXX -predeps=$lt_predeps_CXX -postdeps=$lt_postdeps_CXX - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_CXX - -# ### END LIBTOOL TAG CONFIG: CXX -_LT_EOF - - ;; - - esac -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - - -# 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 diff --git a/externals/grill/trunk/flext/configure.ac b/externals/grill/trunk/flext/configure.ac deleted file mode 100755 index 3592254b5..000000000 --- a/externals/grill/trunk/flext/configure.ac +++ /dev/null @@ -1,213 +0,0 @@ -# -# 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 - -if ( test $(uname -s) == CYGWIN_NT-5.0 ) || ( test $(uname -s) == CYGWIN_NT-5.1 ) || ( test $(uname -s) == MINGW32_NT-5.1 ); then - set win = 1 -fi - -# configure options -AC_ARG_ENABLE(system, - AC_HELP_STRING(--enable-system,[realtime system [default=pd]]), - [SYSTEM=$enableval], - [SYSTEM=pd] -) - -AC_ARG_WITH(sdkdir, - AC_HELP_STRING(--with-sdkdir,[path to pd or max headers]), - [sdkdir=$withval], - AC_MSG_ERROR(path to system SDK headers required $withval) -) - -AC_ARG_WITH(pdbindir, - AC_HELP_STRING(--with-pdbindir,[path to pd bin dir]), - [ - if test $win; then -# LATER: shouldn't we use AC_CHECK_LIB([pd]) ? - AC_CHECK_FILE([$withval/pd.dll],,AC_MSG_ERROR([Cannot find $withval/pd.dll])) - fi - LIBDIRS="$LIBDIRS $withval" - ], - [ - if test $win; then - AC_MSG_ERROR(path to pd bin dir required) - fi - ] -) - -if test $SYSTEM == max; then - AC_DEFINE(FLEXT_SYS,1) -# check for MaxAPI.h in pd folder - AC_CHECK_FILE([$sdkdir/max-includes/MaxAPI.h],,AC_MSG_ERROR([Cannot find $sdkdir/max-includes/MaxAPI.h])) - AC_CHECK_FILE([$sdkdir/max-includes/MaxAudioAPI.h],,AC_MSG_ERROR([Cannot find $sdkdir/max-includes/MaxAudioAPI.h])) - INCLUDEDIRS="$INCLUDEDIRS $sdkdir/max-includes $sdkdir/msp-includes" - -elif test $SYSTEM == pd; then -# if test $win; then -# fi - - AC_DEFINE(FLEXT_SYS,2) -# check for g_canvas.h in pd folder - AC_CHECK_FILE([$sdkdir/g_canvas.h],,AC_MSG_ERROR([Cannot find $sdkdir/g_canvas.h])) - INCLUDEDIRS="$INCLUDEDIRS $sdkdir" - - if test $win; then - libs="$libs pd" - AC_DEFINE(NT) - fi -else - AC_MSG_ERROR([system must be pd or max]) -fi - -AC_ARG_WITH(atomic_ops, - AC_HELP_STRING(--with-atomic_ops,[path to atomic_ops library (needed for gcc version < 4.1 on non-i386 cpus)]), - [ - AC_CHECK_FILE([$withval/atomic_ops.h],,AC_MSG_ERROR([Cannot find $withval/atomic_ops.h])) - INCLUDEDIRS="$INCLUDEDIRS $withval" - AC_DEFINE(USE_ATOMIC_OPS) - ] -) - -AC_ARG_WITH(stkdir, - AC_HELP_STRING(--with-stk,[path to STK headers]), - [ - AC_CHECK_FILE([$withval/Stk.h],,AC_MSG_ERROR([Cannot find $withval/Stk.h])) - stkdir=$withval - INCLUDEDIRS="$INCLUDEDIRS $withval" - ] -) - -AM_CONDITIONAL([STK],[test "$stkdir"]) - -AC_ARG_WITH(sndobjdir, - AC_HELP_STRING(--with-sndobj,[path to SndObj headers]), - [ - AC_CHECK_FILE([$withval/SndObj.h],,AC_MSG_ERROR([Cannot find $withval/SndObj.h])) - sndobjdir=$withval - INCLUDEDIRS="$INCLDUEDIRS $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=" " - -# needed for libtool to build win32 dlls -AC_LIBTOOL_WIN32_DLL - -AM_ENABLE_STATIC -AM_ENABLE_SHARED - -# Checks for programs. -AC_PROG_CC -AC_PROG_CXX -AC_PROG_LIBTOOL -AC_PROG_INSTALL -AC_PROG_MAKE_SET - -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="$FRAMEWORKS ApplicationServices vecLib" - LD_FLAGS="$LD_FLAGS -flat_namespace -undefined dynamic_lookup" -elif test $win; then - C_FLAGS="$C_FLAGS -mms-bitfields -mno-cygwin" - LD_FLAGS="$LD_FLAGS -mno-cygwin" -fi - - -# set compilation flags - -OPT_FLAGS="$C_FLAGS -O2" -DBG_FLAGS="$C_FLAGS -DFLEXT_DEBUG -g" - -AC_ARG_ENABLE(optimize, - AC_HELP_STRING(--enable-optimize,[enables optimized architecture specific builds for pentium4, pentium3, G4, G5, etc.]), - [ - # tune to a specific CPU - OPT_FLAGS="$OPT_FLAGS -mtune=$enableval" - case $enableval in - pentium | pentium2 | athlon | pentium-mmx) - OPT_FLAGS="$OPT_FLAGS -march=$enableval";; - pentium3 | pentium3m | pentium4 | pentium4m | pentium-m | prescott | nocona | athlon-xp | athlon-mp | athlon64 | opteron) - OPT_FLAGS="$OPT_FLAGS -march=$enableval -mfpmath=sse"; - AC_DEFINE(FLEXT_USE_SIMD);; - G3) - # set specific architecture (like march) - OPT_FLAGS="$OPT_FLAGS -mcpu=$enableval";; - G5 | G4) - # set specific architecture (like march) - OPT_FLAGS="$OPT_FLAGS -mcpu=$enableval -faltivec"; - AC_DEFINE(FLEXT_USE_SIMD);; - *) - ;; - esac - ] -) - - -AC_SUBST(SYSTEM) -AC_SUBST(INCLUDEDIRS) -AC_SUBST(LIBDIRS) -AC_SUBST(OPT_FLAGS) -AC_SUBST(DBG_FLAGS) -AC_SUBST(LD_FLAGS) -# AC_SUBST(API_VERSION) -AC_SUBST(libs) -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 diff --git a/externals/grill/trunk/flext/examples/.svn/all-wcprops b/externals/grill/trunk/flext/examples/.svn/all-wcprops deleted file mode 100644 index 6c06c93eb..000000000 --- a/externals/grill/trunk/flext/examples/.svn/all-wcprops +++ /dev/null @@ -1,11 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 39 -/ext/!svn/ver/3746/trunk/flext/examples -END -examples.dsw -K 25 -svn:wc:ra_dav:version-url -V 52 -/ext/!svn/ver/1247/trunk/flext/examples/examples.dsw -END diff --git a/externals/grill/trunk/flext/examples/.svn/entries b/externals/grill/trunk/flext/examples/.svn/entries deleted file mode 100644 index b2f321dcb..000000000 --- a/externals/grill/trunk/flext/examples/.svn/entries +++ /dev/null @@ -1,71 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/examples -https://svn.grrrr.org/ext - - - -2011-03-23T21:00:55.963217Z -3746 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -source -dir - -pd -dir - -examples.dsw -file - - - - -2012-05-13T23:08:37.401556Z -22b2dfbdde1da134d2c7f4e3c544ba38 -2003-01-05T16:04:53.000000Z -483 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -640 - -xcode-template -dir - diff --git a/externals/grill/trunk/flext/examples/.svn/prop-base/examples.dsw.svn-base b/externals/grill/trunk/flext/examples/.svn/prop-base/examples.dsw.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/examples/.svn/prop-base/examples.dsw.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/examples/.svn/text-base/examples.dsw.svn-base b/externals/grill/trunk/flext/examples/.svn/text-base/examples.dsw.svn-base deleted file mode 100644 index 6f52bde29..000000000 --- a/externals/grill/trunk/flext/examples/.svn/text-base/examples.dsw.svn-base +++ /dev/null @@ -1,33 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNUNG: DIESE ARBEITSBEREICHSDATEI DARF NICHT BEARBEITET ODER GELÖSCHT WERDEN! - -############################################################################### - -Project: "henon"=.\source\henon.dsp - Package Owner=<4> - -Package=<5> -{{{ - begin source code control - max/flext/examples/source - .\source - end source code control -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/externals/grill/trunk/flext/examples/examples.dsw b/externals/grill/trunk/flext/examples/examples.dsw deleted file mode 100644 index 6f52bde29..000000000 --- a/externals/grill/trunk/flext/examples/examples.dsw +++ /dev/null @@ -1,33 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNUNG: DIESE ARBEITSBEREICHSDATEI DARF NICHT BEARBEITET ODER GELÖSCHT WERDEN! - -############################################################################### - -Project: "henon"=.\source\henon.dsp - Package Owner=<4> - -Package=<5> -{{{ - begin source code control - max/flext/examples/source - .\source - end source code control -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/externals/grill/trunk/flext/examples/pd/.svn/all-wcprops b/externals/grill/trunk/flext/examples/pd/.svn/all-wcprops deleted file mode 100644 index fafdac325..000000000 --- a/externals/grill/trunk/flext/examples/pd/.svn/all-wcprops +++ /dev/null @@ -1,11 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 42 -/ext/!svn/ver/1247/trunk/flext/examples/pd -END -ex-henon.pd -K 25 -svn:wc:ra_dav:version-url -V 54 -/ext/!svn/ver/1247/trunk/flext/examples/pd/ex-henon.pd -END diff --git a/externals/grill/trunk/flext/examples/pd/.svn/entries b/externals/grill/trunk/flext/examples/pd/.svn/entries deleted file mode 100644 index c74db56cc..000000000 --- a/externals/grill/trunk/flext/examples/pd/.svn/entries +++ /dev/null @@ -1,62 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/examples/pd -https://svn.grrrr.org/ext - - - -2003-01-05T16:04:53.000000Z -483 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -ex-henon.pd -file - - - - -2012-05-13T23:08:37.360556Z -bc0e112deaa4e732efc52f9065053527 -2003-01-05T16:04:53.000000Z -483 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -2266 - diff --git a/externals/grill/trunk/flext/examples/pd/.svn/prop-base/ex-henon.pd.svn-base b/externals/grill/trunk/flext/examples/pd/.svn/prop-base/ex-henon.pd.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/examples/pd/.svn/prop-base/ex-henon.pd.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/examples/pd/.svn/text-base/ex-henon.pd.svn-base b/externals/grill/trunk/flext/examples/pd/.svn/text-base/ex-henon.pd.svn-base deleted file mode 100644 index a70ec5400..000000000 --- a/externals/grill/trunk/flext/examples/pd/.svn/text-base/ex-henon.pd.svn-base +++ /dev/null @@ -1,87 +0,0 @@ -#N canvas 412 48 465 467 12; -#X obj 18 43 bng 25 250 50 0 empty empty reset 0 -10 0 14 -261689 -1 --1; -#X obj 99 44 bng 25 250 50 0 empty empty trigger 0 -10 0 14 -261689 --1 -1; -#X obj 206 43 nbx 4 18 0 1 0 1 empty empty pre-alpha 0 -10 0 14 -225271 --1 -1 0.75 256; -#X obj 322 44 nbx 4 18 0 1 0 1 empty empty pre-beta 0 -10 0 14 -225271 --1 -1 0.41 256; -#X obj 60 264 nbx 5 18 -1e+037 1e+037 0 0 empty empty result 0 -10 -0 14 -228992 -1 -1 0 256; -#N canvas 0 0 458 522 henon 0; -#X text 115 130 x; -#X text 190 129 y; -#X obj 157 166 *; -#X obj 47 158 t f f; -#X obj 48 189 *; -#X obj 77 215 *; -#X obj 130 248 +; -#X obj 113 281 + 1; -#X obj 85 131 f 0; -#X obj 158 130 f 0; -#X obj 33 23 inlet; -#X obj 263 27 inlet; -#X obj 368 28 inlet; -#X text 264 7 alpha; -#X text 373 7 beta; -#X text 28 5 commands; -#X obj 31 50 route reset bang; -#X obj 112 445 outlet; -#X obj 100 86 t b b; -#X obj 31 76 t 0; -#X obj 241 55 * 1.5; -#X obj 241 80 - 2.5; -#X obj 361 55 - 0.5; -#X obj 114 342 + 1; -#X obj 114 369 / 2; -#X obj 113 394 max 0; -#X obj 113 418 min 1; -#X connect 2 0 6 1; -#X connect 3 0 4 0; -#X connect 3 1 4 1; -#X connect 4 0 5 0; -#X connect 5 0 6 0; -#X connect 6 0 7 0; -#X connect 7 0 8 1; -#X connect 7 0 23 0; -#X connect 8 0 3 0; -#X connect 8 0 9 1; -#X connect 9 0 2 0; -#X connect 10 0 16 0; -#X connect 11 0 20 0; -#X connect 12 0 22 0; -#X connect 16 0 19 0; -#X connect 16 1 18 0; -#X connect 18 0 8 0; -#X connect 18 1 9 0; -#X connect 19 0 8 1; -#X connect 19 0 9 1; -#X connect 20 0 21 0; -#X connect 21 0 5 1; -#X connect 22 0 2 1; -#X connect 23 0 24 0; -#X connect 24 0 25 0; -#X connect 25 0 26 0; -#X connect 26 0 17 0; -#X restore 60 208 pd henon; -#X msg 18 77 reset; -#X obj 294 201 henon; -#X obj 292 259 nbx 5 18 -1e+037 1e+037 0 0 empty empty result 0 -10 -0 14 -228992 -1 -1 0 256; -#X text 17 331 alpha and beta can also be initialized; -#X text 18 350 at creation time; -#X obj 45 426 henon @alpha 0.7 @beta 0.2; -#X text 15 403 or \, using attributes; -#X obj 45 377 henon 0.7 0.2; -#X connect 0 0 6 0; -#X connect 1 0 5 0; -#X connect 1 0 7 0; -#X connect 2 0 7 1; -#X connect 2 0 5 1; -#X connect 3 0 7 2; -#X connect 3 0 5 2; -#X connect 5 0 4 0; -#X connect 6 0 5 0; -#X connect 6 0 7 0; -#X connect 7 0 8 0; diff --git a/externals/grill/trunk/flext/examples/pd/ex-henon.pd b/externals/grill/trunk/flext/examples/pd/ex-henon.pd deleted file mode 100644 index a70ec5400..000000000 --- a/externals/grill/trunk/flext/examples/pd/ex-henon.pd +++ /dev/null @@ -1,87 +0,0 @@ -#N canvas 412 48 465 467 12; -#X obj 18 43 bng 25 250 50 0 empty empty reset 0 -10 0 14 -261689 -1 --1; -#X obj 99 44 bng 25 250 50 0 empty empty trigger 0 -10 0 14 -261689 --1 -1; -#X obj 206 43 nbx 4 18 0 1 0 1 empty empty pre-alpha 0 -10 0 14 -225271 --1 -1 0.75 256; -#X obj 322 44 nbx 4 18 0 1 0 1 empty empty pre-beta 0 -10 0 14 -225271 --1 -1 0.41 256; -#X obj 60 264 nbx 5 18 -1e+037 1e+037 0 0 empty empty result 0 -10 -0 14 -228992 -1 -1 0 256; -#N canvas 0 0 458 522 henon 0; -#X text 115 130 x; -#X text 190 129 y; -#X obj 157 166 *; -#X obj 47 158 t f f; -#X obj 48 189 *; -#X obj 77 215 *; -#X obj 130 248 +; -#X obj 113 281 + 1; -#X obj 85 131 f 0; -#X obj 158 130 f 0; -#X obj 33 23 inlet; -#X obj 263 27 inlet; -#X obj 368 28 inlet; -#X text 264 7 alpha; -#X text 373 7 beta; -#X text 28 5 commands; -#X obj 31 50 route reset bang; -#X obj 112 445 outlet; -#X obj 100 86 t b b; -#X obj 31 76 t 0; -#X obj 241 55 * 1.5; -#X obj 241 80 - 2.5; -#X obj 361 55 - 0.5; -#X obj 114 342 + 1; -#X obj 114 369 / 2; -#X obj 113 394 max 0; -#X obj 113 418 min 1; -#X connect 2 0 6 1; -#X connect 3 0 4 0; -#X connect 3 1 4 1; -#X connect 4 0 5 0; -#X connect 5 0 6 0; -#X connect 6 0 7 0; -#X connect 7 0 8 1; -#X connect 7 0 23 0; -#X connect 8 0 3 0; -#X connect 8 0 9 1; -#X connect 9 0 2 0; -#X connect 10 0 16 0; -#X connect 11 0 20 0; -#X connect 12 0 22 0; -#X connect 16 0 19 0; -#X connect 16 1 18 0; -#X connect 18 0 8 0; -#X connect 18 1 9 0; -#X connect 19 0 8 1; -#X connect 19 0 9 1; -#X connect 20 0 21 0; -#X connect 21 0 5 1; -#X connect 22 0 2 1; -#X connect 23 0 24 0; -#X connect 24 0 25 0; -#X connect 25 0 26 0; -#X connect 26 0 17 0; -#X restore 60 208 pd henon; -#X msg 18 77 reset; -#X obj 294 201 henon; -#X obj 292 259 nbx 5 18 -1e+037 1e+037 0 0 empty empty result 0 -10 -0 14 -228992 -1 -1 0 256; -#X text 17 331 alpha and beta can also be initialized; -#X text 18 350 at creation time; -#X obj 45 426 henon @alpha 0.7 @beta 0.2; -#X text 15 403 or \, using attributes; -#X obj 45 377 henon 0.7 0.2; -#X connect 0 0 6 0; -#X connect 1 0 5 0; -#X connect 1 0 7 0; -#X connect 2 0 7 1; -#X connect 2 0 5 1; -#X connect 3 0 7 2; -#X connect 3 0 5 2; -#X connect 5 0 4 0; -#X connect 6 0 5 0; -#X connect 6 0 7 0; -#X connect 7 0 8 0; diff --git a/externals/grill/trunk/flext/examples/source/.svn/all-wcprops b/externals/grill/trunk/flext/examples/source/.svn/all-wcprops deleted file mode 100644 index de9cb8826..000000000 --- a/externals/grill/trunk/flext/examples/source/.svn/all-wcprops +++ /dev/null @@ -1,23 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 46 -/ext/!svn/ver/1247/trunk/flext/examples/source -END -henon.cpp -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/examples/source/henon.cpp -END -henon.dsp -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/examples/source/henon.dsp -END -henon.cw -K 25 -svn:wc:ra_dav:version-url -V 55 -/ext/!svn/ver/1247/trunk/flext/examples/source/henon.cw -END diff --git a/externals/grill/trunk/flext/examples/source/.svn/entries b/externals/grill/trunk/flext/examples/source/.svn/entries deleted file mode 100644 index 229bc1288..000000000 --- a/externals/grill/trunk/flext/examples/source/.svn/entries +++ /dev/null @@ -1,130 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/examples/source -https://svn.grrrr.org/ext - - - -2003-02-24T16:58:54.000000Z -526 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -henon.cw -file - - - - -2012-05-13T23:08:37.348556Z -b1891ab2505f5a5d9beb455e552585d6 -2003-01-05T16:04:53.000000Z -483 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -101183 - -henon.cpp -file - - - - -2012-05-13T23:08:37.349556Z -221dfb55a6ce3c82e16258c61e019c1d -2003-02-24T16:58:54.000000Z -526 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -2766 - -henon.dsp -file - - - - -2012-05-13T23:08:37.350556Z -b4d313b5197fe1fe095645361f3f076d -2003-01-05T16:04:53.000000Z -483 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -3371 - diff --git a/externals/grill/trunk/flext/examples/source/.svn/prop-base/henon.cpp.svn-base b/externals/grill/trunk/flext/examples/source/.svn/prop-base/henon.cpp.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/examples/source/.svn/prop-base/henon.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/examples/source/.svn/prop-base/henon.cw.svn-base b/externals/grill/trunk/flext/examples/source/.svn/prop-base/henon.cw.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/examples/source/.svn/prop-base/henon.cw.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/examples/source/.svn/prop-base/henon.dsp.svn-base b/externals/grill/trunk/flext/examples/source/.svn/prop-base/henon.dsp.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/examples/source/.svn/prop-base/henon.dsp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/examples/source/.svn/text-base/henon.cpp.svn-base b/externals/grill/trunk/flext/examples/source/.svn/text-base/henon.cpp.svn-base deleted file mode 100644 index e48b9555e..000000000 --- a/externals/grill/trunk/flext/examples/source/.svn/text-base/henon.cpp.svn-base +++ /dev/null @@ -1,122 +0,0 @@ -/* -flext examples - henon - -Copyright (c) 2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is a simple external featuring the chaotic Henon attractor. - -See also http://improv.sapp.org/doc/examples/synthImprov/henontune/henontune.html -Thanks to David Casal for the pointer! - -*/ - -// IMPORTANT: enable attribute processing (specify before inclusion of flext headers!) -// For clarity, this is done here, but you'd better specify it as a compiler definition -// FLEXT_ATTRIBUTES must be 0 or 1, -#define FLEXT_ATTRIBUTES 1 - - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401) -#error You need at least flext version 0.4.1 -#endif - - -class henon: - public flext_base -{ - FLEXT_HEADER_S(henon,flext_base,Setup) - -public: - // constructor - henon(int argc,const t_atom *argv); - -protected: - void m_bang(); - void m_reset() { x = y = 0; } - - void m_alpha(float a) { alpha = a; } - void m_beta(float b) { beta = b; } - - float alpha,beta; - float x,y; - -private: - static void Setup(t_classid c); - - // method callbacks - FLEXT_CALLBACK(m_reset) - FLEXT_CALLBACK(m_bang) - FLEXT_CALLBACK_F(m_alpha) - FLEXT_CALLBACK_F(m_beta) - - // define attribute callbacks for variables alpha and beta (with GET and SET properties) - FLEXT_ATTRVAR_F(alpha) - FLEXT_ATTRVAR_F(beta) -}; - -// instantiate the class -FLEXT_NEW_V("henon",henon) - - -henon::henon(int argc,const t_atom *argv): - alpha(0),beta(0),x(0),y(0) // initializations -{ - // define inlets - AddInAnything("reset,bang,..."); - AddInFloat("alpha"); - AddInFloat("beta"); - - // define outlets - AddOutFloat(); - - // processing command line - if(argc == 2 && CanbeFloat(argv[0]) && CanbeFloat(argv[1])) { - // two float args - alpha = GetAFloat(argv[0]); - beta = GetAFloat(argv[1]); - } -} - -void henon::Setup(t_classid c) -{ - // register methods - FLEXT_CADDBANG(c,0,m_bang); - FLEXT_CADDMETHOD_(c,0,"reset",m_reset); - - // methods for non-left inlets - FLEXT_CADDMETHOD(c,1,m_alpha); - FLEXT_CADDMETHOD(c,2,m_beta); - - // register attributes - FLEXT_CADDATTR_VAR1(c,"alpha",alpha); // register attribute "alpha" - FLEXT_CADDATTR_VAR1(c,"beta",beta); // register attribute "beta" -} - -// Trigger output -void henon::m_bang() -{ - float _alpha_ = alpha*1.5f-2.5f; - float _beta_ = beta-0.5f; - - float newx = 1 + _alpha_ * x * x + _beta_ * y; - float newy = x; - x = newx; - y = newy; - - float output = (x + 1.0f)/2.0f; - if(output < 0) - output = 0; - else if(output > 1) - output = 1; - - // output value to outlet - ToOutFloat(0,output); // (0 stands for the outlet index 0) -} diff --git a/externals/grill/trunk/flext/examples/source/.svn/text-base/henon.cw.svn-base b/externals/grill/trunk/flext/examples/source/.svn/text-base/henon.cw.svn-base deleted file mode 100644 index cf8809384aadc4f605fa5043b917b912b862fc8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101183 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 W=4+QxTX)}2s`38G+tFVw`u_*VyuHf+ diff --git a/externals/grill/trunk/flext/examples/source/.svn/text-base/henon.dsp.svn-base b/externals/grill/trunk/flext/examples/source/.svn/text-base/henon.dsp.svn-base deleted file mode 100644 index 24cbdfcf7..000000000 --- a/externals/grill/trunk/flext/examples/source/.svn/text-base/henon.dsp.svn-base +++ /dev/null @@ -1,95 +0,0 @@ -# Microsoft Developer Studio Project File - Name="henon" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** NICHT BEARBEITEN ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=henon - Win32 Debug -!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE -!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl -!MESSAGE -!MESSAGE NMAKE /f "henon.mak". -!MESSAGE -!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben -!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel: -!MESSAGE -!MESSAGE NMAKE /f "henon.mak" CFG="henon - Win32 Debug" -!MESSAGE -!MESSAGE Für die Konfiguration stehen zur Auswahl: -!MESSAGE -!MESSAGE "henon - Win32 Release" (basierend auf "Win32 (x86) Dynamic-Link Library") -!MESSAGE "henon - Win32 Debug" (basierend auf "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "henon" -# PROP Scc_LocalPath "." -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "henon - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "msvc" -# PROP Intermediate_Dir "msvc" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /c -# ADD CPP /nologo /W3 /O2 /I "..\..\source" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /YX /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0xc07 /d "NDEBUG" -# ADD RSC /l 0xc07 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /dll /machine:I386 -# ADD LINK32 kernel32.lib user32.lib pd.lib flext-pdwin.lib /nologo /dll /machine:I386 /out:"../pd-msvc/henon.dll" /libpath:"..\..\pd-msvc" - -!ELSEIF "$(CFG)" == "henon - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "msvc-debug" -# PROP Intermediate_Dir "msvc-debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /ZI /Od /I "..\..\source" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /FR /YX /FD /GZ /c -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0xc07 /d "_DEBUG" -# ADD RSC /l 0xc07 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib pd.lib flext_d-pdwin.lib /nologo /dll /debug /machine:I386 /pdbtype:sept /libpath:"..\..\pd-msvc" - -!ENDIF - -# Begin Target - -# Name "henon - Win32 Release" -# Name "henon - Win32 Debug" -# Begin Source File - -SOURCE=.\henon.cpp -# End Source File -# End Target -# End Project diff --git a/externals/grill/trunk/flext/examples/source/henon.cpp b/externals/grill/trunk/flext/examples/source/henon.cpp deleted file mode 100644 index e48b9555e..000000000 --- a/externals/grill/trunk/flext/examples/source/henon.cpp +++ /dev/null @@ -1,122 +0,0 @@ -/* -flext examples - henon - -Copyright (c) 2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is a simple external featuring the chaotic Henon attractor. - -See also http://improv.sapp.org/doc/examples/synthImprov/henontune/henontune.html -Thanks to David Casal for the pointer! - -*/ - -// IMPORTANT: enable attribute processing (specify before inclusion of flext headers!) -// For clarity, this is done here, but you'd better specify it as a compiler definition -// FLEXT_ATTRIBUTES must be 0 or 1, -#define FLEXT_ATTRIBUTES 1 - - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401) -#error You need at least flext version 0.4.1 -#endif - - -class henon: - public flext_base -{ - FLEXT_HEADER_S(henon,flext_base,Setup) - -public: - // constructor - henon(int argc,const t_atom *argv); - -protected: - void m_bang(); - void m_reset() { x = y = 0; } - - void m_alpha(float a) { alpha = a; } - void m_beta(float b) { beta = b; } - - float alpha,beta; - float x,y; - -private: - static void Setup(t_classid c); - - // method callbacks - FLEXT_CALLBACK(m_reset) - FLEXT_CALLBACK(m_bang) - FLEXT_CALLBACK_F(m_alpha) - FLEXT_CALLBACK_F(m_beta) - - // define attribute callbacks for variables alpha and beta (with GET and SET properties) - FLEXT_ATTRVAR_F(alpha) - FLEXT_ATTRVAR_F(beta) -}; - -// instantiate the class -FLEXT_NEW_V("henon",henon) - - -henon::henon(int argc,const t_atom *argv): - alpha(0),beta(0),x(0),y(0) // initializations -{ - // define inlets - AddInAnything("reset,bang,..."); - AddInFloat("alpha"); - AddInFloat("beta"); - - // define outlets - AddOutFloat(); - - // processing command line - if(argc == 2 && CanbeFloat(argv[0]) && CanbeFloat(argv[1])) { - // two float args - alpha = GetAFloat(argv[0]); - beta = GetAFloat(argv[1]); - } -} - -void henon::Setup(t_classid c) -{ - // register methods - FLEXT_CADDBANG(c,0,m_bang); - FLEXT_CADDMETHOD_(c,0,"reset",m_reset); - - // methods for non-left inlets - FLEXT_CADDMETHOD(c,1,m_alpha); - FLEXT_CADDMETHOD(c,2,m_beta); - - // register attributes - FLEXT_CADDATTR_VAR1(c,"alpha",alpha); // register attribute "alpha" - FLEXT_CADDATTR_VAR1(c,"beta",beta); // register attribute "beta" -} - -// Trigger output -void henon::m_bang() -{ - float _alpha_ = alpha*1.5f-2.5f; - float _beta_ = beta-0.5f; - - float newx = 1 + _alpha_ * x * x + _beta_ * y; - float newy = x; - x = newx; - y = newy; - - float output = (x + 1.0f)/2.0f; - if(output < 0) - output = 0; - else if(output > 1) - output = 1; - - // output value to outlet - ToOutFloat(0,output); // (0 stands for the outlet index 0) -} diff --git a/externals/grill/trunk/flext/examples/source/henon.cw b/externals/grill/trunk/flext/examples/source/henon.cw deleted file mode 100644 index cf8809384aadc4f605fa5043b917b912b862fc8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101183 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 W=4+QxTX)}2s`38G+tFVw`u_*VyuHf+ diff --git a/externals/grill/trunk/flext/examples/source/henon.dsp b/externals/grill/trunk/flext/examples/source/henon.dsp deleted file mode 100644 index 24cbdfcf7..000000000 --- a/externals/grill/trunk/flext/examples/source/henon.dsp +++ /dev/null @@ -1,95 +0,0 @@ -# Microsoft Developer Studio Project File - Name="henon" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** NICHT BEARBEITEN ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=henon - Win32 Debug -!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE -!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl -!MESSAGE -!MESSAGE NMAKE /f "henon.mak". -!MESSAGE -!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben -!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel: -!MESSAGE -!MESSAGE NMAKE /f "henon.mak" CFG="henon - Win32 Debug" -!MESSAGE -!MESSAGE Für die Konfiguration stehen zur Auswahl: -!MESSAGE -!MESSAGE "henon - Win32 Release" (basierend auf "Win32 (x86) Dynamic-Link Library") -!MESSAGE "henon - Win32 Debug" (basierend auf "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "henon" -# PROP Scc_LocalPath "." -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "henon - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "msvc" -# PROP Intermediate_Dir "msvc" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /c -# ADD CPP /nologo /W3 /O2 /I "..\..\source" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /YX /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0xc07 /d "NDEBUG" -# ADD RSC /l 0xc07 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib /nologo /dll /machine:I386 -# ADD LINK32 kernel32.lib user32.lib pd.lib flext-pdwin.lib /nologo /dll /machine:I386 /out:"../pd-msvc/henon.dll" /libpath:"..\..\pd-msvc" - -!ELSEIF "$(CFG)" == "henon - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "msvc-debug" -# PROP Intermediate_Dir "msvc-debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /ZI /Od /I "..\..\source" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /FR /YX /FD /GZ /c -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0xc07 /d "_DEBUG" -# ADD RSC /l 0xc07 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib pd.lib flext_d-pdwin.lib /nologo /dll /debug /machine:I386 /pdbtype:sept /libpath:"..\..\pd-msvc" - -!ENDIF - -# Begin Target - -# Name "henon - Win32 Release" -# Name "henon - Win32 Debug" -# Begin Source File - -SOURCE=.\henon.cpp -# End Source File -# End Target -# End Project diff --git a/externals/grill/trunk/flext/examples/xcode-template/.svn/all-wcprops b/externals/grill/trunk/flext/examples/xcode-template/.svn/all-wcprops deleted file mode 100644 index 4b2ce7925..000000000 --- a/externals/grill/trunk/flext/examples/xcode-template/.svn/all-wcprops +++ /dev/null @@ -1,23 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 54 -/ext/!svn/ver/3746/trunk/flext/examples/xcode-template -END -Info.plist -K 25 -svn:wc:ra_dav:version-url -V 65 -/ext/!svn/ver/1247/trunk/flext/examples/xcode-template/Info.plist -END -main.cpp -K 25 -svn:wc:ra_dav:version-url -V 63 -/ext/!svn/ver/1247/trunk/flext/examples/xcode-template/main.cpp -END -readme.txt -K 25 -svn:wc:ra_dav:version-url -V 65 -/ext/!svn/ver/3600/trunk/flext/examples/xcode-template/readme.txt -END diff --git a/externals/grill/trunk/flext/examples/xcode-template/.svn/entries b/externals/grill/trunk/flext/examples/xcode-template/.svn/entries deleted file mode 100644 index 71786944e..000000000 --- a/externals/grill/trunk/flext/examples/xcode-template/.svn/entries +++ /dev/null @@ -1,133 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/examples/xcode-template -https://svn.grrrr.org/ext - - - -2011-03-23T21:00:55.963217Z -3746 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -Info.plist -file - - - - -2012-05-13T23:08:37.397556Z -64ba5c4c1a60e53ac82c97e4f8751ad8 -2008-01-14T17:14:55.925327Z -1225 -thomas - - - - - - - - - - - - - - - - - - - - - -674 - -main.cpp -file - - - - -2012-05-13T23:08:37.398556Z -bd25a8c776c81b96582e12f5c57cfc05 -2008-03-29T10:40:04.012741Z -1243 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -619 - -template.xcodeproj -dir - -readme.txt -file - - - - -2012-05-13T23:08:37.399556Z -ecc54fafaf623224f2b9326f052ebd7e -2008-04-13T12:14:54.096139Z -3600 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -243 - diff --git a/externals/grill/trunk/flext/examples/xcode-template/.svn/prop-base/main.cpp.svn-base b/externals/grill/trunk/flext/examples/xcode-template/.svn/prop-base/main.cpp.svn-base deleted file mode 100644 index 5f75400ea..000000000 --- a/externals/grill/trunk/flext/examples/xcode-template/.svn/prop-base/main.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 61 -Id Revision LastChangedRevision LastChangedDate LastChangedBy -END diff --git a/externals/grill/trunk/flext/examples/xcode-template/.svn/prop-base/readme.txt.svn-base b/externals/grill/trunk/flext/examples/xcode-template/.svn/prop-base/readme.txt.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/examples/xcode-template/.svn/prop-base/readme.txt.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/examples/xcode-template/.svn/text-base/Info.plist.svn-base b/externals/grill/trunk/flext/examples/xcode-template/.svn/text-base/Info.plist.svn-base deleted file mode 100644 index fcc03a320..000000000 --- a/externals/grill/trunk/flext/examples/xcode-template/.svn/text-base/Info.plist.svn-base +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>CFBundleDevelopmentRegion</key> - <string>English</string> - <key>CFBundleExecutable</key> - <string>$(PROJECT_NAME)</string> - <key>CFBundleIdentifier</key> - <string>org.grrrr.ext.$(PROJECT_NAME)</string> - <key>CFBundleInfoDictionaryVersion</key> - <string>6.0</string> - <key>CFBundlePackageType</key> - <string>iLaX</string> - <key>CFBundleSignature</key> - <string>????</string> - <key>CFBundleVersion</key> - <string>1.0</string> - <key>CSResourcesFileMapped</key> - <string>yes</string> -</dict> -</plist> diff --git a/externals/grill/trunk/flext/examples/xcode-template/.svn/text-base/main.cpp.svn-base b/externals/grill/trunk/flext/examples/xcode-template/.svn/text-base/main.cpp.svn-base deleted file mode 100644 index 5d6ea98a9..000000000 --- a/externals/grill/trunk/flext/examples/xcode-template/.svn/text-base/main.cpp.svn-base +++ /dev/null @@ -1,40 +0,0 @@ -#include <flext.h> - -class myext - : public flext_base -{ - FLEXT_HEADER_S(myext,flext_base,setup); - -public: - myext(int argc,t_atom *argv) - { - post("creating myext object"); - - // initialization stuff... - } - - ~myext() - { - post("destroying myext object"); - - // destruction stuff... - } - -protected: - static void setup(t_classid c) - { - post("setting up myext class"); - - // add methods here... - FLEXT_CADDBANG(c,0,m_bang); - } - - void m_bang() - { - post("BANG!"); - } - - FLEXT_CALLBACK(m_bang) -}; - -FLEXT_NEW_V("myext",myext) diff --git a/externals/grill/trunk/flext/examples/xcode-template/.svn/text-base/readme.txt.svn-base b/externals/grill/trunk/flext/examples/xcode-template/.svn/text-base/readme.txt.svn-base deleted file mode 100644 index 6b25375fb..000000000 --- a/externals/grill/trunk/flext/examples/xcode-template/.svn/text-base/readme.txt.svn-base +++ /dev/null @@ -1,3 +0,0 @@ -You can use this template project file to build and debug flext-based externals on OSX -- rename the template.xcodeproj bundle to your liking (e.g. coolext.xcodeproj) -- edit main.cpp, or add source files and library dependencies to the project diff --git a/externals/grill/trunk/flext/examples/xcode-template/Info.plist b/externals/grill/trunk/flext/examples/xcode-template/Info.plist deleted file mode 100644 index fcc03a320..000000000 --- a/externals/grill/trunk/flext/examples/xcode-template/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>CFBundleDevelopmentRegion</key> - <string>English</string> - <key>CFBundleExecutable</key> - <string>$(PROJECT_NAME)</string> - <key>CFBundleIdentifier</key> - <string>org.grrrr.ext.$(PROJECT_NAME)</string> - <key>CFBundleInfoDictionaryVersion</key> - <string>6.0</string> - <key>CFBundlePackageType</key> - <string>iLaX</string> - <key>CFBundleSignature</key> - <string>????</string> - <key>CFBundleVersion</key> - <string>1.0</string> - <key>CSResourcesFileMapped</key> - <string>yes</string> -</dict> -</plist> diff --git a/externals/grill/trunk/flext/examples/xcode-template/main.cpp b/externals/grill/trunk/flext/examples/xcode-template/main.cpp deleted file mode 100644 index 5d6ea98a9..000000000 --- a/externals/grill/trunk/flext/examples/xcode-template/main.cpp +++ /dev/null @@ -1,40 +0,0 @@ -#include <flext.h> - -class myext - : public flext_base -{ - FLEXT_HEADER_S(myext,flext_base,setup); - -public: - myext(int argc,t_atom *argv) - { - post("creating myext object"); - - // initialization stuff... - } - - ~myext() - { - post("destroying myext object"); - - // destruction stuff... - } - -protected: - static void setup(t_classid c) - { - post("setting up myext class"); - - // add methods here... - FLEXT_CADDBANG(c,0,m_bang); - } - - void m_bang() - { - post("BANG!"); - } - - FLEXT_CALLBACK(m_bang) -}; - -FLEXT_NEW_V("myext",myext) diff --git a/externals/grill/trunk/flext/examples/xcode-template/readme.txt b/externals/grill/trunk/flext/examples/xcode-template/readme.txt deleted file mode 100644 index 6b25375fb..000000000 --- a/externals/grill/trunk/flext/examples/xcode-template/readme.txt +++ /dev/null @@ -1,3 +0,0 @@ -You can use this template project file to build and debug flext-based externals on OSX -- rename the template.xcodeproj bundle to your liking (e.g. coolext.xcodeproj) -- edit main.cpp, or add source files and library dependencies to the project diff --git a/externals/grill/trunk/flext/examples/xcode-template/template.xcodeproj/.svn/all-wcprops b/externals/grill/trunk/flext/examples/xcode-template/template.xcodeproj/.svn/all-wcprops deleted file mode 100644 index 95e382534..000000000 --- a/externals/grill/trunk/flext/examples/xcode-template/template.xcodeproj/.svn/all-wcprops +++ /dev/null @@ -1,11 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 73 -/ext/!svn/ver/3746/trunk/flext/examples/xcode-template/template.xcodeproj -END -project.pbxproj -K 25 -svn:wc:ra_dav:version-url -V 89 -/ext/!svn/ver/3746/trunk/flext/examples/xcode-template/template.xcodeproj/project.pbxproj -END diff --git a/externals/grill/trunk/flext/examples/xcode-template/template.xcodeproj/.svn/entries b/externals/grill/trunk/flext/examples/xcode-template/template.xcodeproj/.svn/entries deleted file mode 100644 index afa5eb200..000000000 --- a/externals/grill/trunk/flext/examples/xcode-template/template.xcodeproj/.svn/entries +++ /dev/null @@ -1,62 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/examples/xcode-template/template.xcodeproj -https://svn.grrrr.org/ext - - - -2011-03-23T21:00:55.963217Z -3746 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -project.pbxproj -file - - - - -2012-05-13T23:08:37.391556Z -975c6c9e86c8aee3f7ea73844862709e -2011-03-23T21:00:55.963217Z -3746 -thomas - - - - - - - - - - - - - - - - - - - - - -15023 - diff --git a/externals/grill/trunk/flext/examples/xcode-template/template.xcodeproj/.svn/text-base/project.pbxproj.svn-base b/externals/grill/trunk/flext/examples/xcode-template/template.xcodeproj/.svn/text-base/project.pbxproj.svn-base deleted file mode 100644 index ec77f1eef..000000000 --- a/externals/grill/trunk/flext/examples/xcode-template/template.xcodeproj/.svn/text-base/project.pbxproj.svn-base +++ /dev/null @@ -1,450 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { - -/* Begin PBXBuildFile section */ - E98573570D9E52D300682171 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E98573560D9E52D300682171 /* main.cpp */; }; - E98573580D9E52D300682171 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E98573560D9E52D300682171 /* main.cpp */; }; - E98C3077078D948800EC0264 /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E98C3076078D948800EC0264 /* vecLib.framework */; }; - E98C3078078D948800EC0264 /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E98C3076078D948800EC0264 /* vecLib.framework */; }; - E9974E5B0770851500206F68 /* MaxAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974DFA0770750400206F68 /* MaxAPI.framework */; }; - E9974E5C0770851700206F68 /* MaxAudioAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974DFB0770750400206F68 /* MaxAudioAPI.framework */; }; - E99A3B770D35508600E692EF /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = E99A3B760D35508600E692EF /* Info.plist */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - E9974EC207708C9300206F68 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 8; - dstPath = "/Library/Application Support/Cycling '74/init"; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - D2AAC09D05546B4700DB518D /* vasp.pd_darwin */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = vasp.pd_darwin; sourceTree = BUILT_PRODUCTS_DIR; }; - E98573560D9E52D300682171 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = "<group>"; }; - E98C3076078D948800EC0264 /* vecLib.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = vecLib.framework; path = /System/Library/Frameworks/vecLib.framework; sourceTree = "<absolute>"; }; - E9974DFA0770750400206F68 /* MaxAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAPI.framework; path = /Library/Frameworks/MaxAPI.framework; sourceTree = "<absolute>"; }; - E9974DFB0770750400206F68 /* MaxAudioAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAudioAPI.framework; path = /Library/Frameworks/MaxAudioAPI.framework; sourceTree = "<absolute>"; }; - E9974E53077083C700206F68 /* vasp.mxo */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = vasp.mxo; sourceTree = BUILT_PRODUCTS_DIR; }; - E99A3B760D35508600E692EF /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; - E99A3C6B0D35525C00E692EF /* readme.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = readme.txt; sourceTree = "<group>"; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - D2AAC09B05546B4700DB518D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E98C3077078D948800EC0264 /* vecLib.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E9974E51077083C700206F68 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E9974E5C0770851700206F68 /* MaxAudioAPI.framework in Frameworks */, - E9974E5B0770851500206F68 /* MaxAPI.framework in Frameworks */, - E98C3078078D948800EC0264 /* vecLib.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 034768DDFF38A45A11DB9C8B /* Products */ = { - isa = PBXGroup; - children = ( - D2AAC09D05546B4700DB518D /* vasp.pd_darwin */, - E9974E53077083C700206F68 /* vasp.mxo */, - ); - name = Products; - sourceTree = "<group>"; - }; - 0867D691FE84028FC02AAC07 /* xsample */ = { - isa = PBXGroup; - children = ( - E99A3C6B0D35525C00E692EF /* readme.txt */, - 08FB77ACFE841707C02AAC07 /* Source */, - 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */, - 034768DDFF38A45A11DB9C8B /* Products */, - ); - name = xsample; - sourceTree = "<group>"; - }; - 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */ = { - isa = PBXGroup; - children = ( - E98C3076078D948800EC0264 /* vecLib.framework */, - E9974DFA0770750400206F68 /* MaxAPI.framework */, - E9974DFB0770750400206F68 /* MaxAudioAPI.framework */, - ); - name = "External Frameworks and Libraries"; - sourceTree = "<group>"; - }; - 08FB77ACFE841707C02AAC07 /* Source */ = { - isa = PBXGroup; - children = ( - E98573560D9E52D300682171 /* main.cpp */, - E99A3B760D35508600E692EF /* Info.plist */, - ); - name = Source; - sourceTree = "<group>"; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - D2AAC09905546B4700DB518D /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - D2AAC09C05546B4700DB518D /* pd static */ = { - isa = PBXNativeTarget; - buildConfigurationList = E9A5BC8A0A33819900AD9F03 /* Build configuration list for PBXNativeTarget "pd static" */; - buildPhases = ( - D2AAC09905546B4700DB518D /* Headers */, - D2AAC09B05546B4700DB518D /* Frameworks */, - D2AAC09A05546B4700DB518D /* Sources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "pd static"; - productName = xsample; - productReference = D2AAC09D05546B4700DB518D /* vasp.pd_darwin */; - productType = "com.apple.product-type.library.dynamic"; - }; - E9974E52077083C700206F68 /* max static */ = { - isa = PBXNativeTarget; - buildConfigurationList = E9A5BC8E0A33819900AD9F03 /* Build configuration list for PBXNativeTarget "max static" */; - buildPhases = ( - E9974E4F077083C700206F68 /* Resources */, - E9974E50077083C700206F68 /* Sources */, - E9974E51077083C700206F68 /* Frameworks */, - E9974EC207708C9300206F68 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "max static"; - productName = "Max xsample static"; - productReference = E9974E53077083C700206F68 /* vasp.mxo */; - productType = "com.apple.product-type.bundle"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 0867D690FE84028FC02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = E9A5BC920A33819900AD9F03 /* Build configuration list for PBXProject "vasp" */; - compatibilityVersion = "Xcode 2.4"; - hasScannedForEncodings = 1; - mainGroup = 0867D691FE84028FC02AAC07 /* xsample */; - productRefGroup = 034768DDFF38A45A11DB9C8B /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - D2AAC09C05546B4700DB518D /* pd static */, - E9974E52077083C700206F68 /* max static */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - E9974E4F077083C700206F68 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E99A3B770D35508600E692EF /* Info.plist in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - D2AAC09A05546B4700DB518D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E98573570D9E52D300682171 /* main.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E9974E50077083C700206F68 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E98573580D9E52D300682171 /* main.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - E9A5BC8B0A33819900AD9F03 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - DEBUGGING_SYMBOLS = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - EXECUTABLE_EXTENSION = pd_darwin; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=2", - ); - HEADER_SEARCH_PATHS = ( - "$(PD-devel)/src", - /usr/local/include/flext, - ); - INSTALL_PATH = "$(PD)/extra"; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = BUNDLE; - MACH_O_TYPE = mh_dylib; - MACOSX_DEPLOYMENT_TARGET = 10.3; - OTHER_LDFLAGS = ( - "-lflext-pd_sd", - "-undefined", - dynamic_lookup, - ); - ZERO_LINK = YES; - }; - name = Development; - }; - E9A5BC8C0A33819900AD9F03 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - EXECUTABLE_EXTENSION = pd_darwin; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=2", - ); - HEADER_SEARCH_PATHS = ( - "$(PD)/src", - "$(flext)/source", - ); - INSTALL_PATH = "$(PD)/extra"; - LIBRARY_SEARCH_PATHS = "$(flext)/build"; - LIBRARY_STYLE = BUNDLE; - MACH_O_TYPE = mh_dylib; - MACOSX_DEPLOYMENT_TARGET = 10.3; - OTHER_LDFLAGS = ( - "-lflext-pd_s", - "-undefined", - dynamic_lookup, - ); - ZERO_LINK = NO; - }; - name = Deployment; - }; - E9A5BC8D0A33819900AD9F03 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - EXECUTABLE_EXTENSION = pd_darwin; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INPUT_FILETYPE = sourcecode.cpp.cpp; - GCC_PREPROCESSOR_DEFINITIONS = "FLEXT_SYS=2"; - HEADER_SEARCH_PATHS = ( - "$(PDApp)/src", - "$(flext)/source", - ); - INSTALL_PATH = "$(PD)/extra"; - LIBRARY_SEARCH_PATHS = "$(flext)/build"; - LIBRARY_STYLE = BUNDLE; - MACH_O_TYPE = mh_bundle; - OTHER_LDFLAGS = ( - "-bundle_loader", - "$(PDApp)/bin/pd", - ); - PRODUCT_NAME = xsample; - }; - name = Default; - }; - E9A5BC8F0A33819900AD9F03 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - DEBUGGING_SYMBOLS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=1", - ); - GENERATE_PKGINFO_FILE = YES; - HEADER_SEARCH_PATHS = ( - "$(maxsdk)/max-includes", - "$(maxsdk)/msp-includes", - "$(flext)/source", - ); - INFOPLIST_FILE = Info.plist; - INFOPLIST_PREPROCESS = YES; - INSTALL_PATH = "/Library/Application Support/Cycling 74/externals/flext"; - LIBRARY_SEARCH_PATHS = "$(flext)/build"; - LIBRARY_STYLE = DYNAMIC; - OTHER_LDFLAGS = "-lflext-max_sd"; - OTHER_REZFLAGS = ""; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - WRAPPER_EXTENSION = mxo; - ZERO_LINK = YES; - }; - name = Development; - }; - E9A5BC900A33819900AD9F03 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=1", - ); - GENERATE_PKGINFO_FILE = YES; - HEADER_SEARCH_PATHS = ( - "$(maxsdk)/max-includes", - "$(maxsdk)/msp-includes", - "$(flext)/source", - ); - INFOPLIST_FILE = Info.plist; - INFOPLIST_PREPROCESS = YES; - INSTALL_PATH = "/Library/Application Support/Cycling 74/externals/flext"; - LIBRARY_SEARCH_PATHS = "$(flext)/build"; - LIBRARY_STYLE = DYNAMIC; - OTHER_LDFLAGS = "-lflext-max_s"; - OTHER_REZFLAGS = ""; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - WRAPPER_EXTENSION = mxo; - ZERO_LINK = NO; - }; - name = Deployment; - }; - E9A5BC910A33819900AD9F03 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_PREPROCESSOR_DEFINITIONS = "FLEXT_SYS=1"; - GENERATE_PKGINFO_FILE = YES; - HEADER_SEARCH_PATHS = ( - "$(maxsdk)/max-includes", - "$(maxsdk)/msp-includes", - "$(flext)/source", - ); - INFOPLIST_FILE = "source/xsample-Info.plist"; - INSTALL_PATH = "/Library/Application Support/Cycling 74/externals/flext"; - LIBRARY_SEARCH_PATHS = "$(flext)/build"; - LIBRARY_STYLE = DYNAMIC; - OTHER_CFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = xsample; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - WRAPPER_EXTENSION = mxo; - }; - name = Default; - }; - E9A5BC930A33819900AD9F03 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_ALTIVEC_EXTENSIONS = YES; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - _DEBUG, - FLEXT_USESIMD, - ); - PRODUCT_NAME = "$(PROJECT_NAME)"; - }; - name = Development; - }; - E9A5BC940A33819900AD9F03 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_ALTIVEC_EXTENSIONS = YES; - GCC_ENABLE_SSE3_EXTENSIONS = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - NDEBUG, - FLEXT_USESIMD, - ); - GCC_STRICT_ALIASING = YES; - PRODUCT_NAME = "$(PROJECT_NAME)"; - }; - name = Deployment; - }; - E9A5BC950A33819900AD9F03 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = Default; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - E9A5BC8A0A33819900AD9F03 /* Build configuration list for PBXNativeTarget "pd static" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E9A5BC8B0A33819900AD9F03 /* Development */, - E9A5BC8C0A33819900AD9F03 /* Deployment */, - E9A5BC8D0A33819900AD9F03 /* Default */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; - }; - E9A5BC8E0A33819900AD9F03 /* Build configuration list for PBXNativeTarget "max static" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E9A5BC8F0A33819900AD9F03 /* Development */, - E9A5BC900A33819900AD9F03 /* Deployment */, - E9A5BC910A33819900AD9F03 /* Default */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; - }; - E9A5BC920A33819900AD9F03 /* Build configuration list for PBXProject "vasp" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E9A5BC930A33819900AD9F03 /* Development */, - E9A5BC940A33819900AD9F03 /* Deployment */, - E9A5BC950A33819900AD9F03 /* Default */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; - }; -/* End XCConfigurationList section */ - }; - rootObject = 0867D690FE84028FC02AAC07 /* Project object */; -} diff --git a/externals/grill/trunk/flext/examples/xcode-template/template.xcodeproj/project.pbxproj b/externals/grill/trunk/flext/examples/xcode-template/template.xcodeproj/project.pbxproj deleted file mode 100644 index ec77f1eef..000000000 --- a/externals/grill/trunk/flext/examples/xcode-template/template.xcodeproj/project.pbxproj +++ /dev/null @@ -1,450 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { - -/* Begin PBXBuildFile section */ - E98573570D9E52D300682171 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E98573560D9E52D300682171 /* main.cpp */; }; - E98573580D9E52D300682171 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E98573560D9E52D300682171 /* main.cpp */; }; - E98C3077078D948800EC0264 /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E98C3076078D948800EC0264 /* vecLib.framework */; }; - E98C3078078D948800EC0264 /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E98C3076078D948800EC0264 /* vecLib.framework */; }; - E9974E5B0770851500206F68 /* MaxAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974DFA0770750400206F68 /* MaxAPI.framework */; }; - E9974E5C0770851700206F68 /* MaxAudioAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974DFB0770750400206F68 /* MaxAudioAPI.framework */; }; - E99A3B770D35508600E692EF /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = E99A3B760D35508600E692EF /* Info.plist */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - E9974EC207708C9300206F68 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 8; - dstPath = "/Library/Application Support/Cycling '74/init"; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - D2AAC09D05546B4700DB518D /* vasp.pd_darwin */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = vasp.pd_darwin; sourceTree = BUILT_PRODUCTS_DIR; }; - E98573560D9E52D300682171 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = "<group>"; }; - E98C3076078D948800EC0264 /* vecLib.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = vecLib.framework; path = /System/Library/Frameworks/vecLib.framework; sourceTree = "<absolute>"; }; - E9974DFA0770750400206F68 /* MaxAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAPI.framework; path = /Library/Frameworks/MaxAPI.framework; sourceTree = "<absolute>"; }; - E9974DFB0770750400206F68 /* MaxAudioAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAudioAPI.framework; path = /Library/Frameworks/MaxAudioAPI.framework; sourceTree = "<absolute>"; }; - E9974E53077083C700206F68 /* vasp.mxo */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = vasp.mxo; sourceTree = BUILT_PRODUCTS_DIR; }; - E99A3B760D35508600E692EF /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; - E99A3C6B0D35525C00E692EF /* readme.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = readme.txt; sourceTree = "<group>"; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - D2AAC09B05546B4700DB518D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E98C3077078D948800EC0264 /* vecLib.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E9974E51077083C700206F68 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E9974E5C0770851700206F68 /* MaxAudioAPI.framework in Frameworks */, - E9974E5B0770851500206F68 /* MaxAPI.framework in Frameworks */, - E98C3078078D948800EC0264 /* vecLib.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 034768DDFF38A45A11DB9C8B /* Products */ = { - isa = PBXGroup; - children = ( - D2AAC09D05546B4700DB518D /* vasp.pd_darwin */, - E9974E53077083C700206F68 /* vasp.mxo */, - ); - name = Products; - sourceTree = "<group>"; - }; - 0867D691FE84028FC02AAC07 /* xsample */ = { - isa = PBXGroup; - children = ( - E99A3C6B0D35525C00E692EF /* readme.txt */, - 08FB77ACFE841707C02AAC07 /* Source */, - 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */, - 034768DDFF38A45A11DB9C8B /* Products */, - ); - name = xsample; - sourceTree = "<group>"; - }; - 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */ = { - isa = PBXGroup; - children = ( - E98C3076078D948800EC0264 /* vecLib.framework */, - E9974DFA0770750400206F68 /* MaxAPI.framework */, - E9974DFB0770750400206F68 /* MaxAudioAPI.framework */, - ); - name = "External Frameworks and Libraries"; - sourceTree = "<group>"; - }; - 08FB77ACFE841707C02AAC07 /* Source */ = { - isa = PBXGroup; - children = ( - E98573560D9E52D300682171 /* main.cpp */, - E99A3B760D35508600E692EF /* Info.plist */, - ); - name = Source; - sourceTree = "<group>"; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - D2AAC09905546B4700DB518D /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - D2AAC09C05546B4700DB518D /* pd static */ = { - isa = PBXNativeTarget; - buildConfigurationList = E9A5BC8A0A33819900AD9F03 /* Build configuration list for PBXNativeTarget "pd static" */; - buildPhases = ( - D2AAC09905546B4700DB518D /* Headers */, - D2AAC09B05546B4700DB518D /* Frameworks */, - D2AAC09A05546B4700DB518D /* Sources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "pd static"; - productName = xsample; - productReference = D2AAC09D05546B4700DB518D /* vasp.pd_darwin */; - productType = "com.apple.product-type.library.dynamic"; - }; - E9974E52077083C700206F68 /* max static */ = { - isa = PBXNativeTarget; - buildConfigurationList = E9A5BC8E0A33819900AD9F03 /* Build configuration list for PBXNativeTarget "max static" */; - buildPhases = ( - E9974E4F077083C700206F68 /* Resources */, - E9974E50077083C700206F68 /* Sources */, - E9974E51077083C700206F68 /* Frameworks */, - E9974EC207708C9300206F68 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "max static"; - productName = "Max xsample static"; - productReference = E9974E53077083C700206F68 /* vasp.mxo */; - productType = "com.apple.product-type.bundle"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 0867D690FE84028FC02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = E9A5BC920A33819900AD9F03 /* Build configuration list for PBXProject "vasp" */; - compatibilityVersion = "Xcode 2.4"; - hasScannedForEncodings = 1; - mainGroup = 0867D691FE84028FC02AAC07 /* xsample */; - productRefGroup = 034768DDFF38A45A11DB9C8B /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - D2AAC09C05546B4700DB518D /* pd static */, - E9974E52077083C700206F68 /* max static */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - E9974E4F077083C700206F68 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E99A3B770D35508600E692EF /* Info.plist in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - D2AAC09A05546B4700DB518D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E98573570D9E52D300682171 /* main.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E9974E50077083C700206F68 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E98573580D9E52D300682171 /* main.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - E9A5BC8B0A33819900AD9F03 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - DEBUGGING_SYMBOLS = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - EXECUTABLE_EXTENSION = pd_darwin; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=2", - ); - HEADER_SEARCH_PATHS = ( - "$(PD-devel)/src", - /usr/local/include/flext, - ); - INSTALL_PATH = "$(PD)/extra"; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = BUNDLE; - MACH_O_TYPE = mh_dylib; - MACOSX_DEPLOYMENT_TARGET = 10.3; - OTHER_LDFLAGS = ( - "-lflext-pd_sd", - "-undefined", - dynamic_lookup, - ); - ZERO_LINK = YES; - }; - name = Development; - }; - E9A5BC8C0A33819900AD9F03 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - EXECUTABLE_EXTENSION = pd_darwin; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=2", - ); - HEADER_SEARCH_PATHS = ( - "$(PD)/src", - "$(flext)/source", - ); - INSTALL_PATH = "$(PD)/extra"; - LIBRARY_SEARCH_PATHS = "$(flext)/build"; - LIBRARY_STYLE = BUNDLE; - MACH_O_TYPE = mh_dylib; - MACOSX_DEPLOYMENT_TARGET = 10.3; - OTHER_LDFLAGS = ( - "-lflext-pd_s", - "-undefined", - dynamic_lookup, - ); - ZERO_LINK = NO; - }; - name = Deployment; - }; - E9A5BC8D0A33819900AD9F03 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - EXECUTABLE_EXTENSION = pd_darwin; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INPUT_FILETYPE = sourcecode.cpp.cpp; - GCC_PREPROCESSOR_DEFINITIONS = "FLEXT_SYS=2"; - HEADER_SEARCH_PATHS = ( - "$(PDApp)/src", - "$(flext)/source", - ); - INSTALL_PATH = "$(PD)/extra"; - LIBRARY_SEARCH_PATHS = "$(flext)/build"; - LIBRARY_STYLE = BUNDLE; - MACH_O_TYPE = mh_bundle; - OTHER_LDFLAGS = ( - "-bundle_loader", - "$(PDApp)/bin/pd", - ); - PRODUCT_NAME = xsample; - }; - name = Default; - }; - E9A5BC8F0A33819900AD9F03 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - DEBUGGING_SYMBOLS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=1", - ); - GENERATE_PKGINFO_FILE = YES; - HEADER_SEARCH_PATHS = ( - "$(maxsdk)/max-includes", - "$(maxsdk)/msp-includes", - "$(flext)/source", - ); - INFOPLIST_FILE = Info.plist; - INFOPLIST_PREPROCESS = YES; - INSTALL_PATH = "/Library/Application Support/Cycling 74/externals/flext"; - LIBRARY_SEARCH_PATHS = "$(flext)/build"; - LIBRARY_STYLE = DYNAMIC; - OTHER_LDFLAGS = "-lflext-max_sd"; - OTHER_REZFLAGS = ""; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - WRAPPER_EXTENSION = mxo; - ZERO_LINK = YES; - }; - name = Development; - }; - E9A5BC900A33819900AD9F03 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=1", - ); - GENERATE_PKGINFO_FILE = YES; - HEADER_SEARCH_PATHS = ( - "$(maxsdk)/max-includes", - "$(maxsdk)/msp-includes", - "$(flext)/source", - ); - INFOPLIST_FILE = Info.plist; - INFOPLIST_PREPROCESS = YES; - INSTALL_PATH = "/Library/Application Support/Cycling 74/externals/flext"; - LIBRARY_SEARCH_PATHS = "$(flext)/build"; - LIBRARY_STYLE = DYNAMIC; - OTHER_LDFLAGS = "-lflext-max_s"; - OTHER_REZFLAGS = ""; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - WRAPPER_EXTENSION = mxo; - ZERO_LINK = NO; - }; - name = Deployment; - }; - E9A5BC910A33819900AD9F03 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_PREPROCESSOR_DEFINITIONS = "FLEXT_SYS=1"; - GENERATE_PKGINFO_FILE = YES; - HEADER_SEARCH_PATHS = ( - "$(maxsdk)/max-includes", - "$(maxsdk)/msp-includes", - "$(flext)/source", - ); - INFOPLIST_FILE = "source/xsample-Info.plist"; - INSTALL_PATH = "/Library/Application Support/Cycling 74/externals/flext"; - LIBRARY_SEARCH_PATHS = "$(flext)/build"; - LIBRARY_STYLE = DYNAMIC; - OTHER_CFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = xsample; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - WRAPPER_EXTENSION = mxo; - }; - name = Default; - }; - E9A5BC930A33819900AD9F03 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_ALTIVEC_EXTENSIONS = YES; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - _DEBUG, - FLEXT_USESIMD, - ); - PRODUCT_NAME = "$(PROJECT_NAME)"; - }; - name = Development; - }; - E9A5BC940A33819900AD9F03 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_ALTIVEC_EXTENSIONS = YES; - GCC_ENABLE_SSE3_EXTENSIONS = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - NDEBUG, - FLEXT_USESIMD, - ); - GCC_STRICT_ALIASING = YES; - PRODUCT_NAME = "$(PROJECT_NAME)"; - }; - name = Deployment; - }; - E9A5BC950A33819900AD9F03 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = Default; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - E9A5BC8A0A33819900AD9F03 /* Build configuration list for PBXNativeTarget "pd static" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E9A5BC8B0A33819900AD9F03 /* Development */, - E9A5BC8C0A33819900AD9F03 /* Deployment */, - E9A5BC8D0A33819900AD9F03 /* Default */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; - }; - E9A5BC8E0A33819900AD9F03 /* Build configuration list for PBXNativeTarget "max static" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E9A5BC8F0A33819900AD9F03 /* Development */, - E9A5BC900A33819900AD9F03 /* Deployment */, - E9A5BC910A33819900AD9F03 /* Default */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; - }; - E9A5BC920A33819900AD9F03 /* Build configuration list for PBXProject "vasp" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E9A5BC930A33819900AD9F03 /* Development */, - E9A5BC940A33819900AD9F03 /* Deployment */, - E9A5BC950A33819900AD9F03 /* Default */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; - }; -/* End XCConfigurationList section */ - }; - rootObject = 0867D690FE84028FC02AAC07 /* Project object */; -} diff --git a/externals/grill/trunk/flext/flext.mcp b/externals/grill/trunk/flext/flext.mcp deleted file mode 100644 index 595fe11eb1b892156ab55c4ff86fd0e6f21058f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 935395 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 SUZ>lCVjuIrya>Fr;QtFk;F2l; diff --git a/externals/grill/trunk/flext/flext.vcproj b/externals/grill/trunk/flext/flext.vcproj deleted file mode 100644 index 6bd76eeb5..000000000 --- a/externals/grill/trunk/flext/flext.vcproj +++ /dev/null @@ -1,4635 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="flext" - ProjectGUID="{B94DB81C-B5FB-4984-99DC-5063C3793BFE}" - Keyword="Win32Proj"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Threads DLL Debug|Win32" - OutputDirectory=".\pd-msvc\tdl" - IntermediateDirectory=".\pd-msvc\tdl" - ConfigurationType="4" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,f:\prog\audio\sndobj\include,f:\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLEXT_SYS_PD;FLEXT_THREADS;FLEXT_USE_SIMD" - BasicRuntimeChecks="3" - RuntimeLibrary="3" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLibrarianTool" - OutputFile="pd-msvc/flext_tdl-pdwin.lib" - SuppressStartupBanner="TRUE"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Threads DLL Release|Win32" - OutputDirectory=".\pd-msvc\trl" - IntermediateDirectory=".\pd-msvc\trl" - ConfigurationType="4" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,f:\prog\audio\sndobj\include,f:\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;NDEBUG;_LIB;FLEXT_SYS=2;FLEXT_THREADS;FLEXT_USE_SIMD" - StringPooling="TRUE" - RuntimeLibrary="2" - EnableFunctionLevelLinking="TRUE" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLibrarianTool" - OutputFile="pd-msvc/flext_tl-pdwin.lib" - SuppressStartupBanner="TRUE"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="PD Threads Debug|Win32" - OutputDirectory=".\pd-msvc\td" - IntermediateDirectory=".\pd-msvc\td" - ConfigurationType="4" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - EnableIntrinsicFunctions="TRUE" - AdditionalIncludeDirectories="c:\programme\pd\src;c:\data\libs\sndobj\include;c:\data\libs\stk\include" - PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLEXT_SYS=2;FLEXT_THREADS;FLEXT_USE_SIMD;FLEXT_EXPORTS;xFLEXT_ATTRHIDE;xFLEXT_NOATTREDIT;_WIN32_WINNT=0x501;FLEXT_USE_CMEM" - BasicRuntimeChecks="3" - RuntimeLibrary="1" - EnableEnhancedInstructionSet="1" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLibrarianTool" - OutputFile="pd-msvc/flext-pd_td.lib" - SuppressStartupBanner="TRUE"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="PD Debug|Win32" - OutputDirectory=".\pd-msvc\sd" - IntermediateDirectory=".\pd-msvc\sd" - ConfigurationType="4" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - EnableIntrinsicFunctions="TRUE" - AdditionalIncludeDirectories=""$(prereq)\pthreads\include";"c:\programme\pd-0.40-2\src";"$(prereq)\sndobj\include\SndObj";"$(prereq)\stk\include"" - PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLEXT_SYS=2;FLEXT_USE_SIMD;FLEXT_EXPORTS;xFLEXT_DEBUGMEM;_WIN32_WINNT=0x400;WIN" - StringPooling="TRUE" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="3" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLibrarianTool" - OutputFile="pd-msvc/flext-pd_sd.lib" - SuppressStartupBanner="TRUE"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="PD Threads Release|Win32" - OutputDirectory=".\pd-msvc\t" - IntermediateDirectory=".\pd-msvc\t" - ConfigurationType="4" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories=""$(pdmax)\pd\src";"$(prereq)\sndobj\include";"$(prereq)\stk\include";"$(prereq)\pthreads\include"" - PreprocessorDefinitions="WIN32;NDEBUG;_LIB;FLEXT_SYS=2;FLEXT_THREADS;FLEXT_USE_SIMD;FLEXT_EXPORTS;_WIN32_WINNT=0x501" - StringPooling="TRUE" - RuntimeLibrary="0" - EnableFunctionLevelLinking="TRUE" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="3" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLibrarianTool" - OutputFile="pd-msvc/flext-pd_t.lib" - SuppressStartupBanner="TRUE"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="PD Release|Win32" - OutputDirectory=".\pd-msvc\s" - IntermediateDirectory=".\pd-msvc\s" - ConfigurationType="4" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - EnableIntrinsicFunctions="TRUE" - AdditionalIncludeDirectories=""$(prereq)\pthreads\include";c:\data\pdmax\pd\src" - PreprocessorDefinitions="WIN32;NDEBUG;_LIB;FLEXT_SYS=1;FLEXT_USE_SIMD;FLEXT_EXPORTS;_WIN32_WINNT=0x400" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="3" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLibrarianTool" - OutputFile="pd-msvc/flext-pd_s.lib" - SuppressStartupBanner="TRUE"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="PD Shared Debug|Win32" - OutputDirectory=".\pd-msvc\ddl" - IntermediateDirectory=".\pd-msvc\ddl" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories=""c:\data\prog\pd\pd-cvs\src";c:\data\prog\packs\pthreads;c:\data\prog\audio\sndobj\include;c:\data\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLEXT_SYS_PD;FLEXT_THREADS;FLEXT_USE_SIMD;FLEXT_SHARED;FLEXT_EXPORTS;FLEXT_PDLOCK" - BasicRuntimeChecks="3" - RuntimeLibrary="3" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - Detect64BitPortabilityProblems="TRUE" - DebugInformationFormat="3" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib pthreadVC.lib stk_d.lib sndobj.lib" - OutputFile=".\pd-msvc\flext-pd_d.dll" - AdditionalLibraryDirectories=""c:\data\prog\pd\pd-cvs\bin";c:\data\prog\packs\pthreads;c:\data\prog\audio\stk\lib;c:\data\prog\audio\sndobj\lib" - GenerateDebugInformation="TRUE" - OptimizeReferences="1" - ImportLibrary="./pd-msvc/flext-pd_d.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="PD Shared Release|Win32" - OutputDirectory=".\pd-msvc\dd" - IntermediateDirectory=".\pd-msvc\dd" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="3" - GlobalOptimizations="FALSE" - InlineFunctionExpansion="2" - FavorSizeOrSpeed="0" - EnableFiberSafeOptimizations="FALSE" - AdditionalIncludeDirectories=""c:\data\prog\pd\pd-cvs\src";c:\data\prog\packs\pthreads;c:\data\prog\audio\sndobj\include;c:\data\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;_LIB;FLEXT_SYS_PD;FLEXT_USE_SIMD;FLEXT_SHARED;FLEXT_EXPORTS;FLEXT_PDLOCK" - StringPooling="TRUE" - RuntimeLibrary="2" - EnableEnhancedInstructionSet="1" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="0" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib pthreadVC.lib stk.lib sndobj.lib" - OutputFile=".\pd-msvc\flext-pd.dll" - AdditionalLibraryDirectories="c:\data\prog\packs\pthreads;"c:\data\prog\pd\pd-cvs\bin";c:\data\prog\audio\stk\lib;c:\data\prog\audio\sndobj\lib" - GenerateDebugInformation="FALSE" - OptimizeReferences="1" - ImportLibrary="./pd-msvc/flext-pd.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Max Shared Debug|Win32" - OutputDirectory=".\max-msvc\dd" - IntermediateDirectory=".\max-msvc\dd" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="F:\prog\audio\MaxWinSDK\c74support\max-includes,F:\prog\audio\MaxWinSDK\c74support\msp-includes,f:\prog\packs\pthreads,f:\prog\audio\sndobj\include,f:\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLEXT_SYS_MAX;FLEXT_USE_SIMD;FLEXT_SHARED;FLEXT_EXPORTS" - BasicRuntimeChecks="3" - RuntimeLibrary="3" - StructMemberAlignment="2" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="3" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="maxapi.lib maxext.lib maxaudio.lib pthreadVC.lib stk_d.lib sndobj.lib" - OutputFile=".\max-msvc\flext-max_d.dll" - AdditionalLibraryDirectories=""F:\prog\audio\MaxWinSDK\c74support\max-includes\win-includes\debug";"F:\prog\audio\MaxWinSDK\c74support\msp-includes\win-includes\debug";f:\prog\packs\pthreads;F:\prog\audio\stk\lib;F:\prog\audio\sndobj\lib" - GenerateDebugInformation="TRUE" - OptimizeReferences="1" - ImportLibrary="./max-msvc/flext-max_d.lib"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool" - Description="copy flext to maestra" - CommandLine="copy F:\prog\max\flext\max-msvc\flext_d.max.dll f:\prog\maestra\dev\debug"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Max Shared Release|Win32" - OutputDirectory=".\max-msvc\dd" - IntermediateDirectory=".\max-msvc\dd" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="3" - GlobalOptimizations="FALSE" - InlineFunctionExpansion="2" - FavorSizeOrSpeed="0" - EnableFiberSafeOptimizations="FALSE" - AdditionalIncludeDirectories="F:\prog\audio\MaxWinSDK\c74support\max-includes,F:\prog\audio\MaxWinSDK\c74support\msp-includes,f:\prog\packs\pthreads,f:\prog\audio\sndobj\include,f:\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;_LIB;FLEXT_SYS_MAX;FLEXT_THREADS;FLEXT_USE_SIMD;FLEXT_SHARED;FLEXT_EXPORTS" - StringPooling="TRUE" - ExceptionHandling="TRUE" - RuntimeLibrary="2" - StructMemberAlignment="2" - EnableEnhancedInstructionSet="1" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="3" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="maxapi.lib maxext.lib maxaudio.lib stk.lib sndobj.lib" - OutputFile=".\max-msvc\flext-max.dll" - AdditionalLibraryDirectories=""F:\prog\audio\MaxWinSDK\c74support\max-includes\win-includes\debug";"F:\prog\audio\MaxWinSDK\c74support\msp-includes\win-includes\debug";f:\prog\packs\pthreads;F:\prog\audio\stk\lib;F:\prog\audio\sndobj\lib" - IgnoreAllDefaultLibraries="FALSE" - GenerateDebugInformation="FALSE" - OptimizeReferences="1" - ImportLibrary="./max-msvc/flext-max.lib"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool" - Description="copy flext to maestra" - CommandLine="copy F:\prog\max\flext\source\*.h f:\prog\maestra\dev\api\include -copy F:\prog\max\flext\max-msvc\flext_l.lib f:\prog\maestra\dev\api\lib -copy F:\prog\max\flext\max-msvc\flext.max.dll f:\prog\maestra\dev\release -copy F:\prog\max\flext\max-msvc\flext.max.dll f:\prog\dll -"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Max Release|Win32" - OutputDirectory=".\max-msvc\s" - IntermediateDirectory=".\max-msvc\s" - ConfigurationType="4" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="3" - GlobalOptimizations="FALSE" - InlineFunctionExpansion="2" - FavorSizeOrSpeed="0" - EnableFiberSafeOptimizations="FALSE" - AdditionalIncludeDirectories=""C:\data\prog\audio\maxmspsdk_win\4.5 headers\c74support\max-includes";"C:\data\prog\audio\maxmspsdk_win\4.5 headers\c74support\msp-includes";f:\prog\packs\pthreads;f:\prog\audio\sndobj\include;f:\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;_LIB;FLEXT_SYS_MAX;FLEXT_USE_SIMD;FLEXT_EXPORTS" - StringPooling="TRUE" - BasicRuntimeChecks="0" - RuntimeLibrary="0" - StructMemberAlignment="2" - BufferSecurityCheck="FALSE" - EnableEnhancedInstructionSet="1" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="0" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLibrarianTool" - OutputFile="max-msvc/flext-max_s.lib"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool" - Description="copy flext to maestra"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Max Debug|Win32" - OutputDirectory=".\max-msvc\sd" - IntermediateDirectory=".\max-msvc\sd" - ConfigurationType="4" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - GlobalOptimizations="FALSE" - InlineFunctionExpansion="0" - EnableIntrinsicFunctions="TRUE" - FavorSizeOrSpeed="0" - OmitFramePointers="FALSE" - OptimizeForProcessor="2" - AdditionalIncludeDirectories=""C:\data\libs\maxmspjit-sdk\c74support\max-includes";"C:\data\libs\maxmspjit-sdk\c74support\msp-includes";$(NOINHERIT)" - PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLEXT_SYS=1;FLEXT_USE_SIMD;FLEXT_USE_CMEM;FLEXT_DEBUGMEM" - StringPooling="FALSE" - RuntimeLibrary="3" - StructMemberAlignment="2" - EnableEnhancedInstructionSet="1" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="3" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLibrarianTool" - OutputFile="max-msvc/flext-max_sd.lib"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Max Threaded Debug|Win32" - OutputDirectory="max-msvc/td" - IntermediateDirectory="max-msvc/td" - ConfigurationType="4" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - GlobalOptimizations="FALSE" - InlineFunctionExpansion="0" - FavorSizeOrSpeed="0" - EnableFiberSafeOptimizations="FALSE" - AdditionalIncludeDirectories=""C:\data\prog\audio\maxmspsdk\c74support\max-includes";"C:\data\prog\audio\maxmspsdk\c74support\msp-includes";c:\data\prog\audio\sndobj\include;c:\data\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLEXT_SYS=1;FLEXT_THREADS;FLEXT_USE_SIMD;FLEXT_EXPORTS;_WIN32_WINNT=0x501" - StringPooling="TRUE" - RuntimeLibrary="1" - EnableEnhancedInstructionSet="1" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="3" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLibrarianTool" - OutputFile="max-msvc/flext-max_td.lib"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Max Threaded Release|Win32" - OutputDirectory="max-msvc/tr" - IntermediateDirectory="max-msvc/tr" - ConfigurationType="4" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="3" - GlobalOptimizations="FALSE" - InlineFunctionExpansion="2" - FavorSizeOrSpeed="0" - EnableFiberSafeOptimizations="FALSE" - AdditionalIncludeDirectories=""C:\data\prog\audio\maxmspsdk\c74support\max-includes";"C:\data\prog\audio\maxmspsdk\c74support\msp-includes";c:\data\prog\audio\sndobj\include;c:\data\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;_LIB;FLEXT_SYS=1;FLEXT_USE_SIMD;FLEXT_EXPORTS;FLEXT_THREADS;_WIN32_WINNT=0x502" - StringPooling="TRUE" - RuntimeLibrary="0" - EnableEnhancedInstructionSet="1" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderThrough="flext.h" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="0" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLibrarianTool" - OutputFile="max-msvc/flext-max_t.lib"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool" - Description="copy flext to maestra"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="PD Lockfree Debug|Win32" - OutputDirectory="$(ConfigurationName)" - IntermediateDirectory="$(ConfigurationName)" - ConfigurationType="4" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - InlineFunctionExpansion="0" - EnableIntrinsicFunctions="TRUE" - AdditionalIncludeDirectories=""$(prereq)\pthreads\include";"$(pdmax)\pd\src";"$(prereq)\sndobj\include";"$(prereq)\stk\include";C:\data\nova\libs\lockfree" - PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLEXT_SYS_PD;FLEXT_THREADS;FLEXT_USE_SIMD;FLEXT_EXPORTS;xFLEXT_ATTRHIDE;xFLEXT_NOATTREDIT;_WIN32_WINNT=0x501;xFLEXT_USECMEM;FLEXT_QMODE=2" - BasicRuntimeChecks="3" - RuntimeLibrary="1" - RuntimeTypeInfo="TRUE" - UsePrecompiledHeader="0" - PrecompiledHeaderThrough="flext.h" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLibrarianTool" - OutputFile="pd-msvc/flext-pd_td_l.lib" - SuppressStartupBanner="TRUE"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="doc" - Filter=""> - <File - RelativePath=".\build.txt"> - </File> - <File - RelativePath="changes.txt"> - </File> - <File - RelativePath="source\fldoxygen.h"> - </File> - <File - RelativePath=".\notes.txt"> - </File> - <File - RelativePath="readme.txt"> - </File> - </Filter> - <Filter - Name="Atom" - Filter=""> - <File - RelativePath="source\flatom.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flatom_part.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flatom_pr.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Filter> - <Filter - Name="Base" - Filter=""> - <File - RelativePath="source\flbase.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flbase.h"> - </File> - <File - RelativePath="source\flclass.h"> - </File> - <File - RelativePath="source\flext.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flext.h"> - </File> - <File - RelativePath="source\flinternal.h"> - </File> - <File - RelativePath="source\fllib.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flprefix.h"> - </File> - <File - RelativePath="source\flstdc.h"> - </File> - <File - RelativePath="source\flthr.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Filter> - <Filter - Name="IO" - Filter=""> - <File - RelativePath="source\flattr.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath=".\source\flattr_ed.cpp"> - </File> - <File - RelativePath="source\flbind.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flitem.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flmeth.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flmsg.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flout.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flproxy.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flqueue.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flxlet.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Filter> - <Filter - Name="Util" - Filter=""> - <File - RelativePath="source\flbuf.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath=".\source\flcontainers.h"> - </File> - <File - RelativePath=".\source\flmap.cpp"> - </File> - <File - RelativePath=".\source\flmap.h"> - </File> - <File - RelativePath="source\flmspbuffer.h"> - </File> - <File - RelativePath="source\flsimd.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flsupport.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flsupport.h"> - </File> - <File - RelativePath="source\fltimer.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flutil.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Filter> - <Filter - Name="Dsp" - Filter=""> - <File - RelativePath="source\fldsp.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\fldsp.h"> - </File> - </Filter> - <Filter - Name="SndObj" - Filter=""> - <File - RelativePath="source\flsndobj.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flsndobj.h"> - <FileConfiguration - Name="PD Shared Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - </File> - </Filter> - <Filter - Name="STK" - Filter=""> - <File - RelativePath="source\flstk.cpp"> - <FileConfiguration - Name="Threads DLL Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Threads DLL Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Threads Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions=""/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="PD Lockfree Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - <File - RelativePath="source\flstk.h"> - <FileConfiguration - Name="PD Shared Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="PD Shared Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="Max Shared Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="Max Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="Max Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Debug|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - <FileConfiguration - Name="Max Threaded Release|Win32" - ExcludedFromBuild="TRUE"> - <Tool - Name="VCCustomBuildTool"/> - </FileConfiguration> - </File> - </Filter> - <Filter - Name="Defs" - Filter=""> - <File - RelativePath="source\fldefs.h"> - </File> - <File - RelativePath="source\fldefs_attradd.h"> - </File> - <File - RelativePath="source\fldefs_attrcb.h"> - </File> - <File - RelativePath="source\fldefs_attrvar.h"> - </File> - <File - RelativePath="source\fldefs_hdr.h"> - </File> - <File - RelativePath="source\fldefs_methadd.h"> - </File> - <File - RelativePath="source\fldefs_methbind.h"> - </File> - <File - RelativePath="source\fldefs_methcall.h"> - </File> - <File - RelativePath="source\fldefs_methcb.h"> - </File> - <File - RelativePath="source\fldefs_meththr.h"> - </File> - <File - RelativePath="source\fldefs_setup.h"> - </File> - </Filter> - <Filter - Name="build" - Filter=""> - <File - RelativePath=".\build-max-msvc.bat"> - </File> - <File - RelativePath=".\build-pd-msvc.bat"> - </File> - <File - RelativePath=".\config-max-msvc.txt"> - </File> - <File - RelativePath=".\config-pd-msvc.txt"> - </File> - </Filter> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/flext.xcodeproj/.svn/all-wcprops b/externals/grill/trunk/flext/flext.xcodeproj/.svn/all-wcprops deleted file mode 100644 index 1a99ba3eb..000000000 --- a/externals/grill/trunk/flext/flext.xcodeproj/.svn/all-wcprops +++ /dev/null @@ -1,11 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 46 -/ext/!svn/ver/3722/trunk/flext/flext.xcodeproj -END -project.pbxproj -K 25 -svn:wc:ra_dav:version-url -V 62 -/ext/!svn/ver/3722/trunk/flext/flext.xcodeproj/project.pbxproj -END diff --git a/externals/grill/trunk/flext/flext.xcodeproj/.svn/entries b/externals/grill/trunk/flext/flext.xcodeproj/.svn/entries deleted file mode 100644 index 281c83a53..000000000 --- a/externals/grill/trunk/flext/flext.xcodeproj/.svn/entries +++ /dev/null @@ -1,62 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/flext.xcodeproj -https://svn.grrrr.org/ext - - - -2010-01-19T23:47:16.127430Z -3722 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -project.pbxproj -file - - - - -2012-05-13T23:08:37.331556Z -4acdf8e4d09f5d8203af48fc3e718865 -2010-01-19T23:47:16.127430Z -3722 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -108416 - diff --git a/externals/grill/trunk/flext/flext.xcodeproj/.svn/prop-base/project.pbxproj.svn-base b/externals/grill/trunk/flext/flext.xcodeproj/.svn/prop-base/project.pbxproj.svn-base deleted file mode 100644 index 869ac71cf..000000000 --- a/externals/grill/trunk/flext/flext.xcodeproj/.svn/prop-base/project.pbxproj.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 14 -svn:executable -V 1 -* -END diff --git a/externals/grill/trunk/flext/flext.xcodeproj/.svn/text-base/project.pbxproj.svn-base b/externals/grill/trunk/flext/flext.xcodeproj/.svn/text-base/project.pbxproj.svn-base deleted file mode 100644 index 636e52a55..000000000 --- a/externals/grill/trunk/flext/flext.xcodeproj/.svn/text-base/project.pbxproj.svn-base +++ /dev/null @@ -1,1565 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { - -/* Begin PBXBuildFile section */ - E95B343B0F40BEE3006336AA /* flpushns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B343A0F40BEE3006336AA /* flpushns.h */; }; - E95B343C0F40BEE3006336AA /* flpushns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B343A0F40BEE3006336AA /* flpushns.h */; }; - E95B343D0F40BEE3006336AA /* flpushns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B343A0F40BEE3006336AA /* flpushns.h */; }; - E95B343E0F40BEE3006336AA /* flpushns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B343A0F40BEE3006336AA /* flpushns.h */; }; - E95B343F0F40BEE3006336AA /* flpushns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B343A0F40BEE3006336AA /* flpushns.h */; }; - E95B34400F40BEE3006336AA /* flpushns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B343A0F40BEE3006336AA /* flpushns.h */; }; - E95B34420F40BEF0006336AA /* flpopns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B34410F40BEF0006336AA /* flpopns.h */; }; - E95B34430F40BEF0006336AA /* flpopns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B34410F40BEF0006336AA /* flpopns.h */; }; - E95B34440F40BEF0006336AA /* flpopns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B34410F40BEF0006336AA /* flpopns.h */; }; - E95B34450F40BEF0006336AA /* flpopns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B34410F40BEF0006336AA /* flpopns.h */; }; - E95B34460F40BEF0006336AA /* flpopns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B34410F40BEF0006336AA /* flpopns.h */; }; - E95B34470F40BEF0006336AA /* flpopns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B34410F40BEF0006336AA /* flpopns.h */; }; - E99747CE0770548700206F68 /* flatom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7C0383E50201A80AC9 /* flatom.cpp */; }; - E99747D00770548700206F68 /* flatom_part.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66C03CE39F501A80AC9 /* flatom_part.cpp */; }; - E99747D10770548700206F68 /* flatom_pr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */; }; - E99747D20770548700206F68 /* flattr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7D0383E50201A80AC9 /* flattr.cpp */; }; - E99747D30770548700206F68 /* flattr_ed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */; }; - E99747D40770548700206F68 /* flbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7E0383E50201A80AC9 /* flbase.cpp */; }; - E99747D50770548700206F68 /* flbind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D263044CC4A001A80AC9 /* flbind.cpp */; }; - E99747D60770548700206F68 /* flbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED800383E50201A80AC9 /* flbuf.cpp */; }; - E99747D70770548700206F68 /* fldsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED880383E50201A80AC9 /* fldsp.cpp */; }; - E99747D80770548700206F68 /* flext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8A0383E50201A80AC9 /* flext.cpp */; }; - E99747D90770548700206F68 /* flitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66D03CE39F501A80AC9 /* flitem.cpp */; }; - E99747DA0770548700206F68 /* fllib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8D0383E50201A80AC9 /* fllib.cpp */; }; - E99747DB0770548700206F68 /* flmeth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66E03CE39F501A80AC9 /* flmeth.cpp */; }; - E99747DC0770548700206F68 /* flmsg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66F03CE39F501A80AC9 /* flmsg.cpp */; }; - E99747DD0770548700206F68 /* flout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8F0383E50201A80AC9 /* flout.cpp */; }; - E99747DE0770548700206F68 /* flproxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67103CE39F501A80AC9 /* flproxy.cpp */; }; - E99747DF0770548700206F68 /* flqueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67203CE39F501A80AC9 /* flqueue.cpp */; }; - E99747E00770548700206F68 /* flsimd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D264044CC4A001A80AC9 /* flsimd.cpp */; }; - E99747E30770548700206F68 /* flsupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED930383E50201A80AC9 /* flsupport.cpp */; }; - E99747E40770548700206F68 /* flthr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED950383E50201A80AC9 /* flthr.cpp */; }; - E99747E50770548700206F68 /* fltimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5B1FAC8041191190179CFEF /* fltimer.cpp */; }; - E99747E60770548700206F68 /* flutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED960383E50201A80AC9 /* flutil.cpp */; }; - E99747E70770548700206F68 /* flxlet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED970383E50201A80AC9 /* flxlet.cpp */; }; - E99747E80770548F00206F68 /* flbase.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED7F0383E50201A80AC9 /* flbase.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747E90770548F00206F68 /* flclass.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED810383E50201A80AC9 /* flclass.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747EA0770548F00206F68 /* fldefs.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED860383E50201A80AC9 /* fldefs.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747EB0770548F00206F68 /* fldefs_attradd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747EC0770548F00206F68 /* fldefs_attrcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747ED0770548F00206F68 /* fldefs_attrvar.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747EE0770548F00206F68 /* fldefs_hdr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747EF0770548F00206F68 /* fldefs_methadd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747F00770548F00206F68 /* fldefs_methbind.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747F10770548F00206F68 /* fldefs_methcall.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747F20770548F00206F68 /* fldefs_methcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747F30770548F00206F68 /* fldefs_meththr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747F40770548F00206F68 /* fldefs_setup.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C104757BC801A0C81C /* fldefs_setup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747F50770548F00206F68 /* fldoxygen.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED870383E50201A80AC9 /* fldoxygen.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747F60770548F00206F68 /* fldsp.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED890383E50201A80AC9 /* fldsp.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747F70770548F00206F68 /* flext.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8B0383E50201A80AC9 /* flext.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747F80770548F00206F68 /* flinternal.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8C0383E50201A80AC9 /* flinternal.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747F90770548F00206F68 /* flmspbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8E0383E50201A80AC9 /* flmspbuffer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747FA0770548F00206F68 /* flprefix.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67003CE39F501A80AC9 /* flprefix.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747FC0770548F00206F68 /* flstdc.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED920383E50201A80AC9 /* flstdc.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747FE0770548F00206F68 /* flsupport.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED940383E50201A80AC9 /* flsupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E9974803077054CD00206F68 /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974802077054CD00206F68 /* vecLib.framework */; }; - E997480F0770570800206F68 /* flprefix.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67003CE39F501A80AC9 /* flprefix.h */; }; - E99748100770570800206F68 /* flbase.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED7F0383E50201A80AC9 /* flbase.h */; }; - E99748110770570800206F68 /* flclass.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED810383E50201A80AC9 /* flclass.h */; }; - E99748120770570800206F68 /* fldoxygen.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED870383E50201A80AC9 /* fldoxygen.h */; }; - E99748130770570800206F68 /* fldsp.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED890383E50201A80AC9 /* fldsp.h */; }; - E99748140770570800206F68 /* flext.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8B0383E50201A80AC9 /* flext.h */; }; - E99748150770570800206F68 /* flinternal.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8C0383E50201A80AC9 /* flinternal.h */; }; - E99748160770570800206F68 /* flmspbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8E0383E50201A80AC9 /* flmspbuffer.h */; }; - E99748170770570800206F68 /* flstdc.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED920383E50201A80AC9 /* flstdc.h */; }; - E99748180770570800206F68 /* flsupport.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED940383E50201A80AC9 /* flsupport.h */; }; - E99748190770570800206F68 /* fldefs.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED860383E50201A80AC9 /* fldefs.h */; }; - E997481A0770570800206F68 /* fldefs_attradd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */; }; - E997481B0770570800206F68 /* fldefs_attrcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */; }; - E997481C0770570800206F68 /* fldefs_attrvar.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */; }; - E997481D0770570800206F68 /* fldefs_hdr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */; }; - E997481E0770570800206F68 /* fldefs_methadd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */; }; - E997481F0770570800206F68 /* fldefs_methbind.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */; }; - E99748200770570800206F68 /* fldefs_methcall.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */; }; - E99748210770570800206F68 /* fldefs_methcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */; }; - E99748220770570800206F68 /* fldefs_meththr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */; }; - E99748230770570800206F68 /* fldefs_setup.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C104757BC801A0C81C /* fldefs_setup.h */; }; - E99748250770570800206F68 /* flatom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7C0383E50201A80AC9 /* flatom.cpp */; }; - E99748270770570800206F68 /* flatom_part.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66C03CE39F501A80AC9 /* flatom_part.cpp */; }; - E99748280770570800206F68 /* flatom_pr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */; }; - E99748290770570800206F68 /* flattr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7D0383E50201A80AC9 /* flattr.cpp */; }; - E997482A0770570800206F68 /* flattr_ed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */; }; - E997482B0770570800206F68 /* flbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7E0383E50201A80AC9 /* flbase.cpp */; }; - E997482C0770570800206F68 /* flbind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D263044CC4A001A80AC9 /* flbind.cpp */; }; - E997482D0770570800206F68 /* flbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED800383E50201A80AC9 /* flbuf.cpp */; }; - E997482E0770570800206F68 /* fldsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED880383E50201A80AC9 /* fldsp.cpp */; }; - E997482F0770570800206F68 /* flext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8A0383E50201A80AC9 /* flext.cpp */; }; - E99748300770570800206F68 /* flitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66D03CE39F501A80AC9 /* flitem.cpp */; }; - E99748310770570800206F68 /* fllib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8D0383E50201A80AC9 /* fllib.cpp */; }; - E99748320770570800206F68 /* flmeth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66E03CE39F501A80AC9 /* flmeth.cpp */; }; - E99748330770570800206F68 /* flmsg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66F03CE39F501A80AC9 /* flmsg.cpp */; }; - E99748340770570800206F68 /* flout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8F0383E50201A80AC9 /* flout.cpp */; }; - E99748350770570800206F68 /* flproxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67103CE39F501A80AC9 /* flproxy.cpp */; }; - E99748360770570800206F68 /* flqueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67203CE39F501A80AC9 /* flqueue.cpp */; }; - E99748370770570800206F68 /* flsimd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D264044CC4A001A80AC9 /* flsimd.cpp */; }; - E99748380770570800206F68 /* flsupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED930383E50201A80AC9 /* flsupport.cpp */; }; - E99748390770570800206F68 /* flthr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED950383E50201A80AC9 /* flthr.cpp */; }; - E997483A0770570800206F68 /* fltimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5B1FAC8041191190179CFEF /* fltimer.cpp */; }; - E997483B0770570800206F68 /* flutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED960383E50201A80AC9 /* flutil.cpp */; }; - E997483C0770570800206F68 /* flxlet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED970383E50201A80AC9 /* flxlet.cpp */; }; - E997483E0770570800206F68 /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974802077054CD00206F68 /* vecLib.framework */; }; - E997488C0770593C00206F68 /* flatom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7C0383E50201A80AC9 /* flatom.cpp */; }; - E997488E0770593C00206F68 /* flatom_part.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66C03CE39F501A80AC9 /* flatom_part.cpp */; }; - E997488F0770593C00206F68 /* flatom_pr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */; }; - E99748900770593C00206F68 /* flattr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7D0383E50201A80AC9 /* flattr.cpp */; }; - E99748910770593C00206F68 /* flattr_ed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */; }; - E99748920770593C00206F68 /* flbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7E0383E50201A80AC9 /* flbase.cpp */; }; - E99748930770593C00206F68 /* flbind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D263044CC4A001A80AC9 /* flbind.cpp */; }; - E99748940770593C00206F68 /* flbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED800383E50201A80AC9 /* flbuf.cpp */; }; - E99748950770593C00206F68 /* fldsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED880383E50201A80AC9 /* fldsp.cpp */; }; - E99748960770593C00206F68 /* flext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8A0383E50201A80AC9 /* flext.cpp */; }; - E99748970770593C00206F68 /* flitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66D03CE39F501A80AC9 /* flitem.cpp */; }; - E99748980770593C00206F68 /* fllib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8D0383E50201A80AC9 /* fllib.cpp */; }; - E99748990770593C00206F68 /* flmeth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66E03CE39F501A80AC9 /* flmeth.cpp */; }; - E997489A0770593C00206F68 /* flmsg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66F03CE39F501A80AC9 /* flmsg.cpp */; }; - E997489B0770593C00206F68 /* flout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8F0383E50201A80AC9 /* flout.cpp */; }; - E997489C0770593C00206F68 /* flproxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67103CE39F501A80AC9 /* flproxy.cpp */; }; - E997489D0770593C00206F68 /* flqueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67203CE39F501A80AC9 /* flqueue.cpp */; }; - E997489E0770593C00206F68 /* flsimd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D264044CC4A001A80AC9 /* flsimd.cpp */; }; - E997489F0770593C00206F68 /* flsupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED930383E50201A80AC9 /* flsupport.cpp */; }; - E99748A00770593C00206F68 /* flthr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED950383E50201A80AC9 /* flthr.cpp */; }; - E99748A10770593C00206F68 /* fltimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5B1FAC8041191190179CFEF /* fltimer.cpp */; }; - E99748A20770593C00206F68 /* flutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED960383E50201A80AC9 /* flutil.cpp */; }; - E99748A30770593C00206F68 /* flxlet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED970383E50201A80AC9 /* flxlet.cpp */; }; - E99748A40770595500206F68 /* flprefix.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67003CE39F501A80AC9 /* flprefix.h */; }; - E99748A50770595500206F68 /* flbase.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED7F0383E50201A80AC9 /* flbase.h */; }; - E99748A60770595500206F68 /* flclass.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED810383E50201A80AC9 /* flclass.h */; }; - E99748A70770595500206F68 /* fldoxygen.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED870383E50201A80AC9 /* fldoxygen.h */; }; - E99748A80770595500206F68 /* fldsp.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED890383E50201A80AC9 /* fldsp.h */; }; - E99748A90770595600206F68 /* flext.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8B0383E50201A80AC9 /* flext.h */; }; - E99748AA0770595600206F68 /* flinternal.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8C0383E50201A80AC9 /* flinternal.h */; }; - E99748AB0770595600206F68 /* flmspbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8E0383E50201A80AC9 /* flmspbuffer.h */; }; - E99748AC0770595600206F68 /* flsndobj.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED910383E50201A80AC9 /* flsndobj.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99748AD0770595600206F68 /* flstdc.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED920383E50201A80AC9 /* flstdc.h */; }; - E99748AE0770595600206F68 /* flsupport.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED940383E50201A80AC9 /* flsupport.h */; }; - E99748AF0770595600206F68 /* flstk.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67403CE39F501A80AC9 /* flstk.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99748B00770595E00206F68 /* fldefs.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED860383E50201A80AC9 /* fldefs.h */; }; - E99748B10770595E00206F68 /* fldefs_attradd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */; }; - E99748B20770595E00206F68 /* fldefs_attrcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */; }; - E99748B30770595E00206F68 /* fldefs_attrvar.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */; }; - E99748B40770595E00206F68 /* fldefs_hdr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */; }; - E99748B50770595E00206F68 /* fldefs_methadd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */; }; - E99748B60770595E00206F68 /* fldefs_methbind.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */; }; - E99748B70770595E00206F68 /* fldefs_methcall.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */; }; - E99748B80770595E00206F68 /* fldefs_methcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */; }; - E99748B90770595E00206F68 /* fldefs_meththr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */; }; - E99748BA0770595E00206F68 /* fldefs_setup.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C104757BC801A0C81C /* fldefs_setup.h */; }; - E99748D107705BAF00206F68 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E99748D007705BAF00206F68 /* ApplicationServices.framework */; }; - E997498E07705CC400206F68 /* flprefix.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67003CE39F501A80AC9 /* flprefix.h */; }; - E997498F07705CC400206F68 /* flbase.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED7F0383E50201A80AC9 /* flbase.h */; }; - E997499007705CC400206F68 /* flclass.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED810383E50201A80AC9 /* flclass.h */; }; - E997499107705CC400206F68 /* fldoxygen.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED870383E50201A80AC9 /* fldoxygen.h */; }; - E997499207705CC400206F68 /* fldsp.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED890383E50201A80AC9 /* fldsp.h */; }; - E997499307705CC400206F68 /* flext.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8B0383E50201A80AC9 /* flext.h */; }; - E997499407705CC400206F68 /* flinternal.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8C0383E50201A80AC9 /* flinternal.h */; }; - E997499507705CC400206F68 /* flmspbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8E0383E50201A80AC9 /* flmspbuffer.h */; }; - E997499607705CC400206F68 /* flstdc.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED920383E50201A80AC9 /* flstdc.h */; }; - E997499707705CC400206F68 /* flsupport.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED940383E50201A80AC9 /* flsupport.h */; }; - E997499807705CC400206F68 /* fldefs.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED860383E50201A80AC9 /* fldefs.h */; }; - E997499907705CC400206F68 /* fldefs_attradd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */; }; - E997499A07705CC400206F68 /* fldefs_attrcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */; }; - E997499B07705CC400206F68 /* fldefs_attrvar.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */; }; - E997499C07705CC400206F68 /* fldefs_hdr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */; }; - E997499D07705CC400206F68 /* fldefs_methadd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */; }; - E997499E07705CC400206F68 /* fldefs_methbind.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */; }; - E997499F07705CC400206F68 /* fldefs_methcall.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */; }; - E99749A007705CC400206F68 /* fldefs_methcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */; }; - E99749A107705CC400206F68 /* fldefs_meththr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */; }; - E99749A207705CC400206F68 /* fldefs_setup.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C104757BC801A0C81C /* fldefs_setup.h */; }; - E99749A407705CC400206F68 /* flatom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7C0383E50201A80AC9 /* flatom.cpp */; }; - E99749A607705CC400206F68 /* flatom_part.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66C03CE39F501A80AC9 /* flatom_part.cpp */; }; - E99749A707705CC400206F68 /* flatom_pr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */; }; - E99749A807705CC400206F68 /* flattr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7D0383E50201A80AC9 /* flattr.cpp */; }; - E99749A907705CC400206F68 /* flattr_ed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */; }; - E99749AA07705CC400206F68 /* flbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7E0383E50201A80AC9 /* flbase.cpp */; }; - E99749AB07705CC400206F68 /* flbind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D263044CC4A001A80AC9 /* flbind.cpp */; }; - E99749AC07705CC400206F68 /* flbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED800383E50201A80AC9 /* flbuf.cpp */; }; - E99749AD07705CC400206F68 /* fldsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED880383E50201A80AC9 /* fldsp.cpp */; }; - E99749AE07705CC400206F68 /* flext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8A0383E50201A80AC9 /* flext.cpp */; }; - E99749AF07705CC400206F68 /* flitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66D03CE39F501A80AC9 /* flitem.cpp */; }; - E99749B007705CC400206F68 /* fllib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8D0383E50201A80AC9 /* fllib.cpp */; }; - E99749B107705CC400206F68 /* flmeth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66E03CE39F501A80AC9 /* flmeth.cpp */; }; - E99749B207705CC400206F68 /* flmsg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66F03CE39F501A80AC9 /* flmsg.cpp */; }; - E99749B307705CC400206F68 /* flout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8F0383E50201A80AC9 /* flout.cpp */; }; - E99749B407705CC400206F68 /* flproxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67103CE39F501A80AC9 /* flproxy.cpp */; }; - E99749B507705CC400206F68 /* flqueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67203CE39F501A80AC9 /* flqueue.cpp */; }; - E99749B607705CC400206F68 /* flsimd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D264044CC4A001A80AC9 /* flsimd.cpp */; }; - E99749B707705CC400206F68 /* flsupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED930383E50201A80AC9 /* flsupport.cpp */; }; - E99749B807705CC400206F68 /* flthr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED950383E50201A80AC9 /* flthr.cpp */; }; - E99749B907705CC400206F68 /* fltimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5B1FAC8041191190179CFEF /* fltimer.cpp */; }; - E99749BA07705CC400206F68 /* flutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED960383E50201A80AC9 /* flutil.cpp */; }; - E99749BB07705CC400206F68 /* flxlet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED970383E50201A80AC9 /* flxlet.cpp */; }; - E99749BD07705CC400206F68 /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974802077054CD00206F68 /* vecLib.framework */; }; - E99749BF07705D5200206F68 /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974802077054CD00206F68 /* vecLib.framework */; }; - E9974B9407705F1400206F68 /* flprefix.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67003CE39F501A80AC9 /* flprefix.h */; }; - E9974B9507705F1400206F68 /* flbase.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED7F0383E50201A80AC9 /* flbase.h */; }; - E9974B9607705F1400206F68 /* flclass.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED810383E50201A80AC9 /* flclass.h */; }; - E9974B9707705F1400206F68 /* fldoxygen.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED870383E50201A80AC9 /* fldoxygen.h */; }; - E9974B9807705F1400206F68 /* fldsp.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED890383E50201A80AC9 /* fldsp.h */; }; - E9974B9907705F1400206F68 /* flext.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8B0383E50201A80AC9 /* flext.h */; }; - E9974B9A07705F1400206F68 /* flinternal.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8C0383E50201A80AC9 /* flinternal.h */; }; - E9974B9B07705F1400206F68 /* flmspbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8E0383E50201A80AC9 /* flmspbuffer.h */; }; - E9974B9C07705F1400206F68 /* flstdc.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED920383E50201A80AC9 /* flstdc.h */; }; - E9974B9D07705F1400206F68 /* flsupport.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED940383E50201A80AC9 /* flsupport.h */; }; - E9974B9E07705F1400206F68 /* fldefs.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED860383E50201A80AC9 /* fldefs.h */; }; - E9974B9F07705F1400206F68 /* fldefs_attradd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */; }; - E9974BA007705F1400206F68 /* fldefs_attrcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */; }; - E9974BA107705F1400206F68 /* fldefs_attrvar.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */; }; - E9974BA207705F1400206F68 /* fldefs_hdr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */; }; - E9974BA307705F1400206F68 /* fldefs_methadd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */; }; - E9974BA407705F1400206F68 /* fldefs_methbind.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */; }; - E9974BA507705F1400206F68 /* fldefs_methcall.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */; }; - E9974BA607705F1400206F68 /* fldefs_methcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */; }; - E9974BA707705F1400206F68 /* fldefs_meththr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */; }; - E9974BA807705F1400206F68 /* fldefs_setup.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C104757BC801A0C81C /* fldefs_setup.h */; }; - E9974BAA07705F1400206F68 /* flatom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7C0383E50201A80AC9 /* flatom.cpp */; }; - E9974BAC07705F1400206F68 /* flatom_part.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66C03CE39F501A80AC9 /* flatom_part.cpp */; }; - E9974BAD07705F1400206F68 /* flatom_pr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */; }; - E9974BAE07705F1400206F68 /* flattr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7D0383E50201A80AC9 /* flattr.cpp */; }; - E9974BAF07705F1400206F68 /* flattr_ed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */; }; - E9974BB007705F1400206F68 /* flbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7E0383E50201A80AC9 /* flbase.cpp */; }; - E9974BB107705F1400206F68 /* flbind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D263044CC4A001A80AC9 /* flbind.cpp */; }; - E9974BB207705F1400206F68 /* flbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED800383E50201A80AC9 /* flbuf.cpp */; }; - E9974BB307705F1400206F68 /* fldsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED880383E50201A80AC9 /* fldsp.cpp */; }; - E9974BB407705F1400206F68 /* flext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8A0383E50201A80AC9 /* flext.cpp */; }; - E9974BB507705F1400206F68 /* flitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66D03CE39F501A80AC9 /* flitem.cpp */; }; - E9974BB607705F1400206F68 /* fllib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8D0383E50201A80AC9 /* fllib.cpp */; }; - E9974BB707705F1400206F68 /* flmeth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66E03CE39F501A80AC9 /* flmeth.cpp */; }; - E9974BB807705F1400206F68 /* flmsg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66F03CE39F501A80AC9 /* flmsg.cpp */; }; - E9974BB907705F1400206F68 /* flout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8F0383E50201A80AC9 /* flout.cpp */; }; - E9974BBA07705F1400206F68 /* flproxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67103CE39F501A80AC9 /* flproxy.cpp */; }; - E9974BBB07705F1400206F68 /* flqueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67203CE39F501A80AC9 /* flqueue.cpp */; }; - E9974BBC07705F1400206F68 /* flsimd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D264044CC4A001A80AC9 /* flsimd.cpp */; }; - E9974BBD07705F1400206F68 /* flsupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED930383E50201A80AC9 /* flsupport.cpp */; }; - E9974BBE07705F1400206F68 /* flthr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED950383E50201A80AC9 /* flthr.cpp */; }; - E9974BBF07705F1400206F68 /* fltimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5B1FAC8041191190179CFEF /* fltimer.cpp */; }; - E9974BC007705F1400206F68 /* flutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED960383E50201A80AC9 /* flutil.cpp */; }; - E9974BC107705F1400206F68 /* flxlet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED970383E50201A80AC9 /* flxlet.cpp */; }; - E9974BC307705F1400206F68 /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974802077054CD00206F68 /* vecLib.framework */; }; - E9974BC707705F4F00206F68 /* fldefs.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED860383E50201A80AC9 /* fldefs.h */; }; - E9974BC807705F4F00206F68 /* fldefs_attradd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */; }; - E9974BC907705F4F00206F68 /* fldefs_attrcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */; }; - E9974BCA07705F4F00206F68 /* fldefs_attrvar.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */; }; - E9974BCB07705F4F00206F68 /* fldefs_hdr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */; }; - E9974BCC07705F4F00206F68 /* fldefs_methadd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */; }; - E9974BCD07705F4F00206F68 /* fldefs_methbind.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */; }; - E9974BCE07705F4F00206F68 /* fldefs_methcall.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */; }; - E9974BCF07705F4F00206F68 /* fldefs_methcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */; }; - E9974BD007705F4F00206F68 /* fldefs_meththr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */; }; - E9974BD107705F4F00206F68 /* fldefs_setup.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C104757BC801A0C81C /* fldefs_setup.h */; }; - E9974BD207705F4F00206F68 /* flprefix.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67003CE39F501A80AC9 /* flprefix.h */; }; - E9974BD307705F4F00206F68 /* flbase.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED7F0383E50201A80AC9 /* flbase.h */; }; - E9974BD407705F4F00206F68 /* flclass.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED810383E50201A80AC9 /* flclass.h */; }; - E9974BD507705F4F00206F68 /* fldoxygen.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED870383E50201A80AC9 /* fldoxygen.h */; }; - E9974BD607705F4F00206F68 /* fldsp.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED890383E50201A80AC9 /* fldsp.h */; }; - E9974BD707705F4F00206F68 /* flext.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8B0383E50201A80AC9 /* flext.h */; }; - E9974BD807705F4F00206F68 /* flinternal.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8C0383E50201A80AC9 /* flinternal.h */; }; - E9974BD907705F4F00206F68 /* flmspbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8E0383E50201A80AC9 /* flmspbuffer.h */; }; - E9974BDA07705F4F00206F68 /* flsndobj.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED910383E50201A80AC9 /* flsndobj.h */; }; - E9974BDB07705F4F00206F68 /* flstdc.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED920383E50201A80AC9 /* flstdc.h */; }; - E9974BDC07705F4F00206F68 /* flsupport.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED940383E50201A80AC9 /* flsupport.h */; }; - E9974BDD07705F4F00206F68 /* flstk.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67403CE39F501A80AC9 /* flstk.h */; }; - E9974BDF07705F4F00206F68 /* flatom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7C0383E50201A80AC9 /* flatom.cpp */; }; - E9974BE107705F4F00206F68 /* flatom_part.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66C03CE39F501A80AC9 /* flatom_part.cpp */; }; - E9974BE207705F4F00206F68 /* flatom_pr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */; }; - E9974BE307705F4F00206F68 /* flattr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7D0383E50201A80AC9 /* flattr.cpp */; }; - E9974BE407705F4F00206F68 /* flattr_ed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */; }; - E9974BE507705F4F00206F68 /* flbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7E0383E50201A80AC9 /* flbase.cpp */; }; - E9974BE607705F4F00206F68 /* flbind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D263044CC4A001A80AC9 /* flbind.cpp */; }; - E9974BE707705F4F00206F68 /* flbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED800383E50201A80AC9 /* flbuf.cpp */; }; - E9974BE807705F4F00206F68 /* fldsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED880383E50201A80AC9 /* fldsp.cpp */; }; - E9974BE907705F4F00206F68 /* flext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8A0383E50201A80AC9 /* flext.cpp */; }; - E9974BEA07705F4F00206F68 /* flitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66D03CE39F501A80AC9 /* flitem.cpp */; }; - E9974BEB07705F4F00206F68 /* fllib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8D0383E50201A80AC9 /* fllib.cpp */; }; - E9974BEC07705F4F00206F68 /* flmeth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66E03CE39F501A80AC9 /* flmeth.cpp */; }; - E9974BED07705F4F00206F68 /* flmsg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66F03CE39F501A80AC9 /* flmsg.cpp */; }; - E9974BEE07705F4F00206F68 /* flout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8F0383E50201A80AC9 /* flout.cpp */; }; - E9974BEF07705F4F00206F68 /* flproxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67103CE39F501A80AC9 /* flproxy.cpp */; }; - E9974BF007705F4F00206F68 /* flqueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67203CE39F501A80AC9 /* flqueue.cpp */; }; - E9974BF107705F4F00206F68 /* flsimd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D264044CC4A001A80AC9 /* flsimd.cpp */; }; - E9974BF207705F4F00206F68 /* flsupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED930383E50201A80AC9 /* flsupport.cpp */; }; - E9974BF307705F4F00206F68 /* flthr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED950383E50201A80AC9 /* flthr.cpp */; }; - E9974BF407705F4F00206F68 /* fltimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5B1FAC8041191190179CFEF /* fltimer.cpp */; }; - E9974BF507705F4F00206F68 /* flutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED960383E50201A80AC9 /* flutil.cpp */; }; - E9974BF607705F4F00206F68 /* flxlet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED970383E50201A80AC9 /* flxlet.cpp */; }; - E9974BF807705F4F00206F68 /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974802077054CD00206F68 /* vecLib.framework */; }; - E9974BF907705F4F00206F68 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E99748D007705BAF00206F68 /* ApplicationServices.framework */; }; - E9974E160770780D00206F68 /* MaxAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974E140770780D00206F68 /* MaxAPI.framework */; }; - E9974E170770780D00206F68 /* MaxAudioAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974E150770780D00206F68 /* MaxAudioAPI.framework */; }; - E9974E180770780D00206F68 /* MaxAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974E140770780D00206F68 /* MaxAPI.framework */; }; - E9974E190770780D00206F68 /* MaxAudioAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974E150770780D00206F68 /* MaxAudioAPI.framework */; }; - E9974E1A0770780D00206F68 /* MaxAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974E140770780D00206F68 /* MaxAPI.framework */; }; - E9974E1B0770780D00206F68 /* MaxAudioAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974E150770780D00206F68 /* MaxAudioAPI.framework */; }; - E99A3D920D35903A00E692EF /* atomic_int.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8B0D35903A00E692EF /* atomic_int.hpp */; }; - E99A3D930D35903A00E692EF /* atomic_ptr.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8C0D35903A00E692EF /* atomic_ptr.hpp */; }; - E99A3D940D35903A00E692EF /* branch_hints.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8D0D35903A00E692EF /* branch_hints.hpp */; }; - E99A3D950D35903A00E692EF /* cas.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8E0D35903A00E692EF /* cas.hpp */; }; - E99A3D960D35903A00E692EF /* fifo.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8F0D35903A00E692EF /* fifo.hpp */; }; - E99A3D970D35903A00E692EF /* prefix.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D900D35903A00E692EF /* prefix.hpp */; }; - E99A3D980D35903A00E692EF /* stack.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D910D35903A00E692EF /* stack.hpp */; }; - E99A3D990D35903A00E692EF /* atomic_int.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8B0D35903A00E692EF /* atomic_int.hpp */; }; - E99A3D9A0D35903A00E692EF /* atomic_ptr.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8C0D35903A00E692EF /* atomic_ptr.hpp */; }; - E99A3D9B0D35903A00E692EF /* branch_hints.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8D0D35903A00E692EF /* branch_hints.hpp */; }; - E99A3D9C0D35903A00E692EF /* cas.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8E0D35903A00E692EF /* cas.hpp */; }; - E99A3D9D0D35903A00E692EF /* fifo.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8F0D35903A00E692EF /* fifo.hpp */; }; - E99A3D9E0D35903A00E692EF /* prefix.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D900D35903A00E692EF /* prefix.hpp */; }; - E99A3D9F0D35903A00E692EF /* stack.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D910D35903A00E692EF /* stack.hpp */; }; - E99A3DA00D35903A00E692EF /* atomic_int.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8B0D35903A00E692EF /* atomic_int.hpp */; }; - E99A3DA10D35903A00E692EF /* atomic_ptr.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8C0D35903A00E692EF /* atomic_ptr.hpp */; }; - E99A3DA20D35903A00E692EF /* branch_hints.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8D0D35903A00E692EF /* branch_hints.hpp */; }; - E99A3DA30D35903A00E692EF /* cas.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8E0D35903A00E692EF /* cas.hpp */; }; - E99A3DA40D35903A00E692EF /* fifo.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8F0D35903A00E692EF /* fifo.hpp */; }; - E99A3DA50D35903A00E692EF /* prefix.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D900D35903A00E692EF /* prefix.hpp */; }; - E99A3DA60D35903A00E692EF /* stack.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D910D35903A00E692EF /* stack.hpp */; }; - E99A3DA70D35903A00E692EF /* atomic_int.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8B0D35903A00E692EF /* atomic_int.hpp */; }; - E99A3DA80D35903A00E692EF /* atomic_ptr.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8C0D35903A00E692EF /* atomic_ptr.hpp */; }; - E99A3DA90D35903A00E692EF /* branch_hints.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8D0D35903A00E692EF /* branch_hints.hpp */; }; - E99A3DAA0D35903A00E692EF /* cas.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8E0D35903A00E692EF /* cas.hpp */; }; - E99A3DAB0D35903A00E692EF /* fifo.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8F0D35903A00E692EF /* fifo.hpp */; }; - E99A3DAC0D35903A00E692EF /* prefix.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D900D35903A00E692EF /* prefix.hpp */; }; - E99A3DAD0D35903A00E692EF /* stack.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D910D35903A00E692EF /* stack.hpp */; }; - E99A3DAE0D35903A00E692EF /* atomic_int.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8B0D35903A00E692EF /* atomic_int.hpp */; }; - E99A3DAF0D35903A00E692EF /* atomic_ptr.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8C0D35903A00E692EF /* atomic_ptr.hpp */; }; - E99A3DB00D35903A00E692EF /* branch_hints.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8D0D35903A00E692EF /* branch_hints.hpp */; }; - E99A3DB10D35903A00E692EF /* cas.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8E0D35903A00E692EF /* cas.hpp */; }; - E99A3DB20D35903A00E692EF /* fifo.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8F0D35903A00E692EF /* fifo.hpp */; }; - E99A3DB30D35903A00E692EF /* prefix.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D900D35903A00E692EF /* prefix.hpp */; }; - E99A3DB40D35903A00E692EF /* stack.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D910D35903A00E692EF /* stack.hpp */; }; - E99A3DB50D35903A00E692EF /* atomic_int.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8B0D35903A00E692EF /* atomic_int.hpp */; }; - E99A3DB60D35903A00E692EF /* atomic_ptr.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8C0D35903A00E692EF /* atomic_ptr.hpp */; }; - E99A3DB70D35903A00E692EF /* branch_hints.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8D0D35903A00E692EF /* branch_hints.hpp */; }; - E99A3DB80D35903A00E692EF /* cas.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8E0D35903A00E692EF /* cas.hpp */; }; - E99A3DB90D35903A00E692EF /* fifo.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8F0D35903A00E692EF /* fifo.hpp */; }; - E99A3DBA0D35903A00E692EF /* prefix.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D900D35903A00E692EF /* prefix.hpp */; }; - E99A3DBB0D35903A00E692EF /* stack.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D910D35903A00E692EF /* stack.hpp */; }; - E99A3DCF0D3592AB00E692EF /* flmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E99A3DCE0D3592AB00E692EF /* flmap.cpp */; }; - E99A3DD00D3592AB00E692EF /* flmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E99A3DCE0D3592AB00E692EF /* flmap.cpp */; }; - E99A3DD10D3592AB00E692EF /* flmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E99A3DCE0D3592AB00E692EF /* flmap.cpp */; }; - E99A3DD20D3592AB00E692EF /* flmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E99A3DCE0D3592AB00E692EF /* flmap.cpp */; }; - E99A3DD30D3592AB00E692EF /* flmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E99A3DCE0D3592AB00E692EF /* flmap.cpp */; }; - E99A3DD40D3592AB00E692EF /* flmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E99A3DCE0D3592AB00E692EF /* flmap.cpp */; }; - E99A3DD80D3592D100E692EF /* flcontainers.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD50D3592D100E692EF /* flcontainers.h */; }; - E99A3DD90D3592D100E692EF /* flfeatures.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD60D3592D100E692EF /* flfeatures.h */; }; - E99A3DDA0D3592D100E692EF /* flmap.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD70D3592D100E692EF /* flmap.h */; }; - E99A3DDB0D3592D100E692EF /* flcontainers.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD50D3592D100E692EF /* flcontainers.h */; }; - E99A3DDC0D3592D100E692EF /* flfeatures.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD60D3592D100E692EF /* flfeatures.h */; }; - E99A3DDD0D3592D100E692EF /* flmap.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD70D3592D100E692EF /* flmap.h */; }; - E99A3DDE0D3592D100E692EF /* flcontainers.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD50D3592D100E692EF /* flcontainers.h */; }; - E99A3DDF0D3592D100E692EF /* flfeatures.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD60D3592D100E692EF /* flfeatures.h */; }; - E99A3DE00D3592D100E692EF /* flmap.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD70D3592D100E692EF /* flmap.h */; }; - E99A3DE10D3592D100E692EF /* flcontainers.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD50D3592D100E692EF /* flcontainers.h */; }; - E99A3DE20D3592D100E692EF /* flfeatures.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD60D3592D100E692EF /* flfeatures.h */; }; - E99A3DE30D3592D100E692EF /* flmap.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD70D3592D100E692EF /* flmap.h */; }; - E99A3DE40D3592D100E692EF /* flcontainers.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD50D3592D100E692EF /* flcontainers.h */; }; - E99A3DE50D3592D100E692EF /* flfeatures.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD60D3592D100E692EF /* flfeatures.h */; }; - E99A3DE60D3592D100E692EF /* flmap.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD70D3592D100E692EF /* flmap.h */; }; - E99A3DE70D3592D100E692EF /* flcontainers.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD50D3592D100E692EF /* flcontainers.h */; }; - E99A3DE80D3592D100E692EF /* flfeatures.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD60D3592D100E692EF /* flfeatures.h */; }; - E99A3DE90D3592D100E692EF /* flmap.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD70D3592D100E692EF /* flmap.h */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - E95B343A0F40BEE3006336AA /* flpushns.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = flpushns.h; sourceTree = "<group>"; }; - E95B34410F40BEF0006336AA /* flpopns.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = flpopns.h; sourceTree = "<group>"; }; - E99747CD0770545100206F68 /* libflext-pd_sd.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libflext-pd_sd.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - E9974802077054CD00206F68 /* vecLib.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = vecLib.framework; path = /System/Library/Frameworks/vecLib.framework; sourceTree = "<absolute>"; }; - E997483F0770570800206F68 /* libflext-pd_td.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libflext-pd_td.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - E9974886077058C100206F68 /* flext-pd_d.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "flext-pd_d.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; - E99748D007705BAF00206F68 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = "<absolute>"; }; - E99749BE07705CC400206F68 /* libflext-max_sd.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libflext-max_sd.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - E9974BC407705F1400206F68 /* libflext-max_td.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libflext-max_td.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - E9974BFA07705F4F00206F68 /* flext-max_d.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "flext-max_d.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; - E9974E140770780D00206F68 /* MaxAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAPI.framework; path = /Library/Frameworks/MaxAPI.framework; sourceTree = "<absolute>"; }; - E9974E150770780D00206F68 /* MaxAudioAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAudioAPI.framework; path = /Library/Frameworks/MaxAudioAPI.framework; sourceTree = "<absolute>"; }; - E99A3D8B0D35903A00E692EF /* atomic_int.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = atomic_int.hpp; sourceTree = "<group>"; }; - E99A3D8C0D35903A00E692EF /* atomic_ptr.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = atomic_ptr.hpp; sourceTree = "<group>"; }; - E99A3D8D0D35903A00E692EF /* branch_hints.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = branch_hints.hpp; sourceTree = "<group>"; }; - E99A3D8E0D35903A00E692EF /* cas.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = cas.hpp; sourceTree = "<group>"; }; - E99A3D8F0D35903A00E692EF /* fifo.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = fifo.hpp; sourceTree = "<group>"; }; - E99A3D900D35903A00E692EF /* prefix.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = prefix.hpp; sourceTree = "<group>"; }; - E99A3D910D35903A00E692EF /* stack.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = stack.hpp; sourceTree = "<group>"; }; - E99A3DCE0D3592AB00E692EF /* flmap.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flmap.cpp; path = source/flmap.cpp; sourceTree = "<group>"; }; - E99A3DD50D3592D100E692EF /* flcontainers.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flcontainers.h; sourceTree = "<group>"; }; - E99A3DD60D3592D100E692EF /* flfeatures.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flfeatures.h; sourceTree = "<group>"; }; - E99A3DD70D3592D100E692EF /* flmap.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flmap.h; sourceTree = "<group>"; }; - E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flattr_ed.cpp; path = source/flattr_ed.cpp; sourceTree = "<group>"; }; - F504A66C03CE39F501A80AC9 /* flatom_part.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flatom_part.cpp; path = source/flatom_part.cpp; sourceTree = "<group>"; }; - F504A66D03CE39F501A80AC9 /* flitem.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flitem.cpp; path = source/flitem.cpp; sourceTree = "<group>"; }; - F504A66E03CE39F501A80AC9 /* flmeth.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flmeth.cpp; path = source/flmeth.cpp; sourceTree = "<group>"; }; - F504A66F03CE39F501A80AC9 /* flmsg.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flmsg.cpp; path = source/flmsg.cpp; sourceTree = "<group>"; }; - F504A67003CE39F501A80AC9 /* flprefix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flprefix.h; sourceTree = "<group>"; }; - F504A67103CE39F501A80AC9 /* flproxy.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flproxy.cpp; path = source/flproxy.cpp; sourceTree = "<group>"; }; - F504A67203CE39F501A80AC9 /* flqueue.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flqueue.cpp; path = source/flqueue.cpp; sourceTree = "<group>"; }; - F504A67303CE39F501A80AC9 /* flstk.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flstk.cpp; path = source/flstk.cpp; sourceTree = "<group>"; }; - F504A67403CE39F501A80AC9 /* flstk.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flstk.h; sourceTree = "<group>"; }; - F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flatom_pr.cpp; path = source/flatom_pr.cpp; sourceTree = SOURCE_ROOT; }; - F55CED7C0383E50201A80AC9 /* flatom.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flatom.cpp; path = source/flatom.cpp; sourceTree = SOURCE_ROOT; }; - F55CED7D0383E50201A80AC9 /* flattr.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flattr.cpp; path = source/flattr.cpp; sourceTree = SOURCE_ROOT; }; - F55CED7E0383E50201A80AC9 /* flbase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flbase.cpp; path = source/flbase.cpp; sourceTree = SOURCE_ROOT; }; - F55CED7F0383E50201A80AC9 /* flbase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flbase.h; sourceTree = "<group>"; }; - F55CED800383E50201A80AC9 /* flbuf.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flbuf.cpp; path = source/flbuf.cpp; sourceTree = SOURCE_ROOT; }; - F55CED810383E50201A80AC9 /* flclass.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flclass.h; sourceTree = "<group>"; }; - F55CED860383E50201A80AC9 /* fldefs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = fldefs.h; path = source/fldefs.h; sourceTree = SOURCE_ROOT; }; - F55CED870383E50201A80AC9 /* fldoxygen.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fldoxygen.h; sourceTree = "<group>"; }; - F55CED880383E50201A80AC9 /* fldsp.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = fldsp.cpp; path = source/fldsp.cpp; sourceTree = SOURCE_ROOT; }; - F55CED890383E50201A80AC9 /* fldsp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fldsp.h; sourceTree = "<group>"; }; - F55CED8A0383E50201A80AC9 /* flext.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flext.cpp; path = source/flext.cpp; sourceTree = SOURCE_ROOT; }; - F55CED8B0383E50201A80AC9 /* flext.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flext.h; sourceTree = "<group>"; }; - F55CED8C0383E50201A80AC9 /* flinternal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flinternal.h; sourceTree = "<group>"; }; - F55CED8D0383E50201A80AC9 /* fllib.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = fllib.cpp; path = source/fllib.cpp; sourceTree = SOURCE_ROOT; }; - F55CED8E0383E50201A80AC9 /* flmspbuffer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flmspbuffer.h; sourceTree = "<group>"; }; - F55CED8F0383E50201A80AC9 /* flout.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flout.cpp; path = source/flout.cpp; sourceTree = SOURCE_ROOT; }; - F55CED900383E50201A80AC9 /* flsndobj.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flsndobj.cpp; path = source/flsndobj.cpp; sourceTree = SOURCE_ROOT; }; - F55CED910383E50201A80AC9 /* flsndobj.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flsndobj.h; sourceTree = "<group>"; }; - F55CED920383E50201A80AC9 /* flstdc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flstdc.h; sourceTree = "<group>"; }; - F55CED930383E50201A80AC9 /* flsupport.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flsupport.cpp; path = source/flsupport.cpp; sourceTree = SOURCE_ROOT; }; - F55CED940383E50201A80AC9 /* flsupport.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flsupport.h; sourceTree = "<group>"; }; - F55CED950383E50201A80AC9 /* flthr.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flthr.cpp; path = source/flthr.cpp; sourceTree = SOURCE_ROOT; }; - F55CED960383E50201A80AC9 /* flutil.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flutil.cpp; path = source/flutil.cpp; sourceTree = SOURCE_ROOT; }; - F55CED970383E50201A80AC9 /* flxlet.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flxlet.cpp; path = source/flxlet.cpp; sourceTree = SOURCE_ROOT; }; - F598D263044CC4A001A80AC9 /* flbind.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flbind.cpp; path = source/flbind.cpp; sourceTree = "<group>"; }; - F598D264044CC4A001A80AC9 /* flsimd.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flsimd.cpp; path = source/flsimd.cpp; sourceTree = "<group>"; }; - F5B1FAC8041191190179CFEF /* fltimer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = fltimer.cpp; path = source/fltimer.cpp; sourceTree = "<group>"; }; - F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fldefs_attradd.h; sourceTree = "<group>"; }; - F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fldefs_attrcb.h; sourceTree = "<group>"; }; - F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fldefs_attrvar.h; sourceTree = "<group>"; }; - F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fldefs_hdr.h; sourceTree = "<group>"; }; - F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fldefs_methadd.h; sourceTree = "<group>"; }; - F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fldefs_methbind.h; sourceTree = "<group>"; }; - F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fldefs_methcall.h; sourceTree = "<group>"; }; - F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fldefs_methcb.h; sourceTree = "<group>"; }; - F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fldefs_meththr.h; sourceTree = "<group>"; }; - F5CBC5C104757BC801A0C81C /* fldefs_setup.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fldefs_setup.h; sourceTree = "<group>"; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - E99747CB0770545100206F68 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E9974803077054CD00206F68 /* vecLib.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E997483D0770570800206F68 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E997483E0770570800206F68 /* vecLib.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E9974884077058C100206F68 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E99749BF07705D5200206F68 /* vecLib.framework in Frameworks */, - E99748D107705BAF00206F68 /* ApplicationServices.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E99749BC07705CC400206F68 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E99749BD07705CC400206F68 /* vecLib.framework in Frameworks */, - E9974E160770780D00206F68 /* MaxAPI.framework in Frameworks */, - E9974E170770780D00206F68 /* MaxAudioAPI.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E9974BC207705F1400206F68 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E9974BC307705F1400206F68 /* vecLib.framework in Frameworks */, - E9974E180770780D00206F68 /* MaxAPI.framework in Frameworks */, - E9974E190770780D00206F68 /* MaxAudioAPI.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E9974BF707705F4F00206F68 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E9974BF807705F4F00206F68 /* vecLib.framework in Frameworks */, - E9974BF907705F4F00206F68 /* ApplicationServices.framework in Frameworks */, - E9974E1A0770780D00206F68 /* MaxAPI.framework in Frameworks */, - E9974E1B0770780D00206F68 /* MaxAudioAPI.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 034768DDFF38A45A11DB9C8B /* Products */ = { - isa = PBXGroup; - children = ( - E99747CD0770545100206F68 /* libflext-pd_sd.a */, - E997483F0770570800206F68 /* libflext-pd_td.a */, - E9974886077058C100206F68 /* flext-pd_d.dylib */, - E99749BE07705CC400206F68 /* libflext-max_sd.a */, - E9974BC407705F1400206F68 /* libflext-max_td.a */, - E9974BFA07705F4F00206F68 /* flext-max_d.dylib */, - ); - name = Products; - sourceTree = "<group>"; - }; - 0867D691FE84028FC02AAC07 /* flext-PB */ = { - isa = PBXGroup; - children = ( - F55CEDB50383E50D01A80AC9 /* Headers */, - 08FB77ACFE841707C02AAC07 /* Source */, - 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */, - 034768DDFF38A45A11DB9C8B /* Products */, - ); - name = "flext-PB"; - sourceTree = "<group>"; - }; - 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */ = { - isa = PBXGroup; - children = ( - E9974E140770780D00206F68 /* MaxAPI.framework */, - E9974E150770780D00206F68 /* MaxAudioAPI.framework */, - E99748D007705BAF00206F68 /* ApplicationServices.framework */, - E9974802077054CD00206F68 /* vecLib.framework */, - ); - name = "External Frameworks and Libraries"; - sourceTree = "<group>"; - }; - 08FB77ACFE841707C02AAC07 /* Source */ = { - isa = PBXGroup; - children = ( - E99A3DCE0D3592AB00E692EF /* flmap.cpp */, - F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */, - F55CED7C0383E50201A80AC9 /* flatom.cpp */, - F55CED7D0383E50201A80AC9 /* flattr.cpp */, - F55CED7E0383E50201A80AC9 /* flbase.cpp */, - F55CED800383E50201A80AC9 /* flbuf.cpp */, - F55CED880383E50201A80AC9 /* fldsp.cpp */, - F55CED8A0383E50201A80AC9 /* flext.cpp */, - F55CED8D0383E50201A80AC9 /* fllib.cpp */, - F55CED8F0383E50201A80AC9 /* flout.cpp */, - F55CED900383E50201A80AC9 /* flsndobj.cpp */, - F55CED930383E50201A80AC9 /* flsupport.cpp */, - F55CED950383E50201A80AC9 /* flthr.cpp */, - F55CED960383E50201A80AC9 /* flutil.cpp */, - F55CED970383E50201A80AC9 /* flxlet.cpp */, - F504A66C03CE39F501A80AC9 /* flatom_part.cpp */, - F504A66D03CE39F501A80AC9 /* flitem.cpp */, - F504A66E03CE39F501A80AC9 /* flmeth.cpp */, - F504A66F03CE39F501A80AC9 /* flmsg.cpp */, - F504A67103CE39F501A80AC9 /* flproxy.cpp */, - F504A67203CE39F501A80AC9 /* flqueue.cpp */, - F504A67303CE39F501A80AC9 /* flstk.cpp */, - F5B1FAC8041191190179CFEF /* fltimer.cpp */, - F598D263044CC4A001A80AC9 /* flbind.cpp */, - F598D264044CC4A001A80AC9 /* flsimd.cpp */, - E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */, - ); - name = Source; - sourceTree = SOURCE_ROOT; - }; - E99A3D870D358FB800E692EF /* lockfree */ = { - isa = PBXGroup; - children = ( - E99A3D8B0D35903A00E692EF /* atomic_int.hpp */, - E99A3D8C0D35903A00E692EF /* atomic_ptr.hpp */, - E99A3D8D0D35903A00E692EF /* branch_hints.hpp */, - E99A3D8E0D35903A00E692EF /* cas.hpp */, - E99A3D8F0D35903A00E692EF /* fifo.hpp */, - E99A3D900D35903A00E692EF /* prefix.hpp */, - E99A3D910D35903A00E692EF /* stack.hpp */, - ); - path = lockfree; - sourceTree = "<group>"; - }; - F55CEDB50383E50D01A80AC9 /* Headers */ = { - isa = PBXGroup; - children = ( - E99A3DD50D3592D100E692EF /* flcontainers.h */, - E99A3DD60D3592D100E692EF /* flfeatures.h */, - E99A3DD70D3592D100E692EF /* flmap.h */, - E99A3D870D358FB800E692EF /* lockfree */, - F5CBC61C04757BDA01A0C81C /* Defs */, - F504A67003CE39F501A80AC9 /* flprefix.h */, - F55CED7F0383E50201A80AC9 /* flbase.h */, - F55CED810383E50201A80AC9 /* flclass.h */, - F55CED870383E50201A80AC9 /* fldoxygen.h */, - F55CED890383E50201A80AC9 /* fldsp.h */, - F55CED8B0383E50201A80AC9 /* flext.h */, - F55CED8C0383E50201A80AC9 /* flinternal.h */, - F55CED8E0383E50201A80AC9 /* flmspbuffer.h */, - F55CED910383E50201A80AC9 /* flsndobj.h */, - F55CED920383E50201A80AC9 /* flstdc.h */, - F55CED940383E50201A80AC9 /* flsupport.h */, - F504A67403CE39F501A80AC9 /* flstk.h */, - E95B343A0F40BEE3006336AA /* flpushns.h */, - E95B34410F40BEF0006336AA /* flpopns.h */, - ); - name = Headers; - path = source; - sourceTree = "<group>"; - }; - F5CBC61C04757BDA01A0C81C /* Defs */ = { - isa = PBXGroup; - children = ( - F55CED860383E50201A80AC9 /* fldefs.h */, - F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */, - F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */, - F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */, - F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */, - F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */, - F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */, - F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */, - F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */, - F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */, - F5CBC5C104757BC801A0C81C /* fldefs_setup.h */, - ); - name = Defs; - sourceTree = "<group>"; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - E99747C90770545100206F68 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - E99747FA0770548F00206F68 /* flprefix.h in Headers */, - E99747E80770548F00206F68 /* flbase.h in Headers */, - E99747E90770548F00206F68 /* flclass.h in Headers */, - E99747F50770548F00206F68 /* fldoxygen.h in Headers */, - E99747F60770548F00206F68 /* fldsp.h in Headers */, - E99747F70770548F00206F68 /* flext.h in Headers */, - E99747F80770548F00206F68 /* flinternal.h in Headers */, - E99747F90770548F00206F68 /* flmspbuffer.h in Headers */, - E99747FC0770548F00206F68 /* flstdc.h in Headers */, - E99747FE0770548F00206F68 /* flsupport.h in Headers */, - E99747EA0770548F00206F68 /* fldefs.h in Headers */, - E99747EB0770548F00206F68 /* fldefs_attradd.h in Headers */, - E99747EC0770548F00206F68 /* fldefs_attrcb.h in Headers */, - E99747ED0770548F00206F68 /* fldefs_attrvar.h in Headers */, - E99747EE0770548F00206F68 /* fldefs_hdr.h in Headers */, - E99747EF0770548F00206F68 /* fldefs_methadd.h in Headers */, - E99747F00770548F00206F68 /* fldefs_methbind.h in Headers */, - E99747F10770548F00206F68 /* fldefs_methcall.h in Headers */, - E99747F20770548F00206F68 /* fldefs_methcb.h in Headers */, - E99747F30770548F00206F68 /* fldefs_meththr.h in Headers */, - E99747F40770548F00206F68 /* fldefs_setup.h in Headers */, - E99A3D990D35903A00E692EF /* atomic_int.hpp in Headers */, - E99A3D9A0D35903A00E692EF /* atomic_ptr.hpp in Headers */, - E99A3D9B0D35903A00E692EF /* branch_hints.hpp in Headers */, - E99A3D9C0D35903A00E692EF /* cas.hpp in Headers */, - E99A3D9D0D35903A00E692EF /* fifo.hpp in Headers */, - E99A3D9E0D35903A00E692EF /* prefix.hpp in Headers */, - E99A3D9F0D35903A00E692EF /* stack.hpp in Headers */, - E99A3DDB0D3592D100E692EF /* flcontainers.h in Headers */, - E99A3DDC0D3592D100E692EF /* flfeatures.h in Headers */, - E99A3DDD0D3592D100E692EF /* flmap.h in Headers */, - E95B34400F40BEE3006336AA /* flpushns.h in Headers */, - E95B34470F40BEF0006336AA /* flpopns.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E997480E0770570800206F68 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - E997480F0770570800206F68 /* flprefix.h in Headers */, - E99748100770570800206F68 /* flbase.h in Headers */, - E99748110770570800206F68 /* flclass.h in Headers */, - E99748120770570800206F68 /* fldoxygen.h in Headers */, - E99748130770570800206F68 /* fldsp.h in Headers */, - E99748140770570800206F68 /* flext.h in Headers */, - E99748150770570800206F68 /* flinternal.h in Headers */, - E99748160770570800206F68 /* flmspbuffer.h in Headers */, - E99748170770570800206F68 /* flstdc.h in Headers */, - E99748180770570800206F68 /* flsupport.h in Headers */, - E99748190770570800206F68 /* fldefs.h in Headers */, - E997481A0770570800206F68 /* fldefs_attradd.h in Headers */, - E997481B0770570800206F68 /* fldefs_attrcb.h in Headers */, - E997481C0770570800206F68 /* fldefs_attrvar.h in Headers */, - E997481D0770570800206F68 /* fldefs_hdr.h in Headers */, - E997481E0770570800206F68 /* fldefs_methadd.h in Headers */, - E997481F0770570800206F68 /* fldefs_methbind.h in Headers */, - E99748200770570800206F68 /* fldefs_methcall.h in Headers */, - E99748210770570800206F68 /* fldefs_methcb.h in Headers */, - E99748220770570800206F68 /* fldefs_meththr.h in Headers */, - E99748230770570800206F68 /* fldefs_setup.h in Headers */, - E99A3DA00D35903A00E692EF /* atomic_int.hpp in Headers */, - E99A3DA10D35903A00E692EF /* atomic_ptr.hpp in Headers */, - E99A3DA20D35903A00E692EF /* branch_hints.hpp in Headers */, - E99A3DA30D35903A00E692EF /* cas.hpp in Headers */, - E99A3DA40D35903A00E692EF /* fifo.hpp in Headers */, - E99A3DA50D35903A00E692EF /* prefix.hpp in Headers */, - E99A3DA60D35903A00E692EF /* stack.hpp in Headers */, - E99A3DDE0D3592D100E692EF /* flcontainers.h in Headers */, - E99A3DDF0D3592D100E692EF /* flfeatures.h in Headers */, - E99A3DE00D3592D100E692EF /* flmap.h in Headers */, - E95B343B0F40BEE3006336AA /* flpushns.h in Headers */, - E95B34420F40BEF0006336AA /* flpopns.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E9974882077058C100206F68 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - E99748B00770595E00206F68 /* fldefs.h in Headers */, - E99748B10770595E00206F68 /* fldefs_attradd.h in Headers */, - E99748B20770595E00206F68 /* fldefs_attrcb.h in Headers */, - E99748B30770595E00206F68 /* fldefs_attrvar.h in Headers */, - E99748B40770595E00206F68 /* fldefs_hdr.h in Headers */, - E99748B50770595E00206F68 /* fldefs_methadd.h in Headers */, - E99748B60770595E00206F68 /* fldefs_methbind.h in Headers */, - E99748B70770595E00206F68 /* fldefs_methcall.h in Headers */, - E99748B80770595E00206F68 /* fldefs_methcb.h in Headers */, - E99748B90770595E00206F68 /* fldefs_meththr.h in Headers */, - E99748BA0770595E00206F68 /* fldefs_setup.h in Headers */, - E99748A40770595500206F68 /* flprefix.h in Headers */, - E99748A50770595500206F68 /* flbase.h in Headers */, - E99748A60770595500206F68 /* flclass.h in Headers */, - E99748A70770595500206F68 /* fldoxygen.h in Headers */, - E99748A80770595500206F68 /* fldsp.h in Headers */, - E99748A90770595600206F68 /* flext.h in Headers */, - E99748AA0770595600206F68 /* flinternal.h in Headers */, - E99748AB0770595600206F68 /* flmspbuffer.h in Headers */, - E99748AC0770595600206F68 /* flsndobj.h in Headers */, - E99748AD0770595600206F68 /* flstdc.h in Headers */, - E99748AE0770595600206F68 /* flsupport.h in Headers */, - E99748AF0770595600206F68 /* flstk.h in Headers */, - E99A3D920D35903A00E692EF /* atomic_int.hpp in Headers */, - E99A3D930D35903A00E692EF /* atomic_ptr.hpp in Headers */, - E99A3D940D35903A00E692EF /* branch_hints.hpp in Headers */, - E99A3D950D35903A00E692EF /* cas.hpp in Headers */, - E99A3D960D35903A00E692EF /* fifo.hpp in Headers */, - E99A3D970D35903A00E692EF /* prefix.hpp in Headers */, - E99A3D980D35903A00E692EF /* stack.hpp in Headers */, - E99A3DD80D3592D100E692EF /* flcontainers.h in Headers */, - E99A3DD90D3592D100E692EF /* flfeatures.h in Headers */, - E99A3DDA0D3592D100E692EF /* flmap.h in Headers */, - E95B343C0F40BEE3006336AA /* flpushns.h in Headers */, - E95B34430F40BEF0006336AA /* flpopns.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E997498D07705CC400206F68 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - E997498E07705CC400206F68 /* flprefix.h in Headers */, - E997498F07705CC400206F68 /* flbase.h in Headers */, - E997499007705CC400206F68 /* flclass.h in Headers */, - E997499107705CC400206F68 /* fldoxygen.h in Headers */, - E997499207705CC400206F68 /* fldsp.h in Headers */, - E997499307705CC400206F68 /* flext.h in Headers */, - E997499407705CC400206F68 /* flinternal.h in Headers */, - E997499507705CC400206F68 /* flmspbuffer.h in Headers */, - E997499607705CC400206F68 /* flstdc.h in Headers */, - E997499707705CC400206F68 /* flsupport.h in Headers */, - E997499807705CC400206F68 /* fldefs.h in Headers */, - E997499907705CC400206F68 /* fldefs_attradd.h in Headers */, - E997499A07705CC400206F68 /* fldefs_attrcb.h in Headers */, - E997499B07705CC400206F68 /* fldefs_attrvar.h in Headers */, - E997499C07705CC400206F68 /* fldefs_hdr.h in Headers */, - E997499D07705CC400206F68 /* fldefs_methadd.h in Headers */, - E997499E07705CC400206F68 /* fldefs_methbind.h in Headers */, - E997499F07705CC400206F68 /* fldefs_methcall.h in Headers */, - E99749A007705CC400206F68 /* fldefs_methcb.h in Headers */, - E99749A107705CC400206F68 /* fldefs_meththr.h in Headers */, - E99749A207705CC400206F68 /* fldefs_setup.h in Headers */, - E99A3DA70D35903A00E692EF /* atomic_int.hpp in Headers */, - E99A3DA80D35903A00E692EF /* atomic_ptr.hpp in Headers */, - E99A3DA90D35903A00E692EF /* branch_hints.hpp in Headers */, - E99A3DAA0D35903A00E692EF /* cas.hpp in Headers */, - E99A3DAB0D35903A00E692EF /* fifo.hpp in Headers */, - E99A3DAC0D35903A00E692EF /* prefix.hpp in Headers */, - E99A3DAD0D35903A00E692EF /* stack.hpp in Headers */, - E99A3DE10D3592D100E692EF /* flcontainers.h in Headers */, - E99A3DE20D3592D100E692EF /* flfeatures.h in Headers */, - E99A3DE30D3592D100E692EF /* flmap.h in Headers */, - E95B343F0F40BEE3006336AA /* flpushns.h in Headers */, - E95B34460F40BEF0006336AA /* flpopns.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E9974B9307705F1400206F68 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - E9974B9407705F1400206F68 /* flprefix.h in Headers */, - E9974B9507705F1400206F68 /* flbase.h in Headers */, - E9974B9607705F1400206F68 /* flclass.h in Headers */, - E9974B9707705F1400206F68 /* fldoxygen.h in Headers */, - E9974B9807705F1400206F68 /* fldsp.h in Headers */, - E9974B9907705F1400206F68 /* flext.h in Headers */, - E9974B9A07705F1400206F68 /* flinternal.h in Headers */, - E9974B9B07705F1400206F68 /* flmspbuffer.h in Headers */, - E9974B9C07705F1400206F68 /* flstdc.h in Headers */, - E9974B9D07705F1400206F68 /* flsupport.h in Headers */, - E9974B9E07705F1400206F68 /* fldefs.h in Headers */, - E9974B9F07705F1400206F68 /* fldefs_attradd.h in Headers */, - E9974BA007705F1400206F68 /* fldefs_attrcb.h in Headers */, - E9974BA107705F1400206F68 /* fldefs_attrvar.h in Headers */, - E9974BA207705F1400206F68 /* fldefs_hdr.h in Headers */, - E9974BA307705F1400206F68 /* fldefs_methadd.h in Headers */, - E9974BA407705F1400206F68 /* fldefs_methbind.h in Headers */, - E9974BA507705F1400206F68 /* fldefs_methcall.h in Headers */, - E9974BA607705F1400206F68 /* fldefs_methcb.h in Headers */, - E9974BA707705F1400206F68 /* fldefs_meththr.h in Headers */, - E9974BA807705F1400206F68 /* fldefs_setup.h in Headers */, - E99A3DAE0D35903A00E692EF /* atomic_int.hpp in Headers */, - E99A3DAF0D35903A00E692EF /* atomic_ptr.hpp in Headers */, - E99A3DB00D35903A00E692EF /* branch_hints.hpp in Headers */, - E99A3DB10D35903A00E692EF /* cas.hpp in Headers */, - E99A3DB20D35903A00E692EF /* fifo.hpp in Headers */, - E99A3DB30D35903A00E692EF /* prefix.hpp in Headers */, - E99A3DB40D35903A00E692EF /* stack.hpp in Headers */, - E99A3DE40D3592D100E692EF /* flcontainers.h in Headers */, - E99A3DE50D3592D100E692EF /* flfeatures.h in Headers */, - E99A3DE60D3592D100E692EF /* flmap.h in Headers */, - E95B343D0F40BEE3006336AA /* flpushns.h in Headers */, - E95B34440F40BEF0006336AA /* flpopns.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E9974BC607705F4F00206F68 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - E9974BC707705F4F00206F68 /* fldefs.h in Headers */, - E9974BC807705F4F00206F68 /* fldefs_attradd.h in Headers */, - E9974BC907705F4F00206F68 /* fldefs_attrcb.h in Headers */, - E9974BCA07705F4F00206F68 /* fldefs_attrvar.h in Headers */, - E9974BCB07705F4F00206F68 /* fldefs_hdr.h in Headers */, - E9974BCC07705F4F00206F68 /* fldefs_methadd.h in Headers */, - E9974BCD07705F4F00206F68 /* fldefs_methbind.h in Headers */, - E9974BCE07705F4F00206F68 /* fldefs_methcall.h in Headers */, - E9974BCF07705F4F00206F68 /* fldefs_methcb.h in Headers */, - E9974BD007705F4F00206F68 /* fldefs_meththr.h in Headers */, - E9974BD107705F4F00206F68 /* fldefs_setup.h in Headers */, - E9974BD207705F4F00206F68 /* flprefix.h in Headers */, - E9974BD307705F4F00206F68 /* flbase.h in Headers */, - E9974BD407705F4F00206F68 /* flclass.h in Headers */, - E9974BD507705F4F00206F68 /* fldoxygen.h in Headers */, - E9974BD607705F4F00206F68 /* fldsp.h in Headers */, - E9974BD707705F4F00206F68 /* flext.h in Headers */, - E9974BD807705F4F00206F68 /* flinternal.h in Headers */, - E9974BD907705F4F00206F68 /* flmspbuffer.h in Headers */, - E9974BDA07705F4F00206F68 /* flsndobj.h in Headers */, - E9974BDB07705F4F00206F68 /* flstdc.h in Headers */, - E9974BDC07705F4F00206F68 /* flsupport.h in Headers */, - E9974BDD07705F4F00206F68 /* flstk.h in Headers */, - E99A3DB50D35903A00E692EF /* atomic_int.hpp in Headers */, - E99A3DB60D35903A00E692EF /* atomic_ptr.hpp in Headers */, - E99A3DB70D35903A00E692EF /* branch_hints.hpp in Headers */, - E99A3DB80D35903A00E692EF /* cas.hpp in Headers */, - E99A3DB90D35903A00E692EF /* fifo.hpp in Headers */, - E99A3DBA0D35903A00E692EF /* prefix.hpp in Headers */, - E99A3DBB0D35903A00E692EF /* stack.hpp in Headers */, - E99A3DE70D3592D100E692EF /* flcontainers.h in Headers */, - E99A3DE80D3592D100E692EF /* flfeatures.h in Headers */, - E99A3DE90D3592D100E692EF /* flmap.h in Headers */, - E95B343E0F40BEE3006336AA /* flpushns.h in Headers */, - E95B34450F40BEF0006336AA /* flpopns.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - E99747CC0770545100206F68 /* PD static single */ = { - isa = PBXNativeTarget; - buildConfigurationList = E9A5BCA10A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "PD static single" */; - buildPhases = ( - E99747C90770545100206F68 /* Headers */, - E99747CA0770545100206F68 /* Sources */, - E99747CB0770545100206F68 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "PD static single"; - productName = "PD static single"; - productReference = E99747CD0770545100206F68 /* libflext-pd_sd.a */; - productType = "com.apple.product-type.library.static"; - }; - E997480D0770570800206F68 /* PD static multi */ = { - isa = PBXNativeTarget; - buildConfigurationList = E9A5BCA50A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "PD static multi" */; - buildPhases = ( - E997480E0770570800206F68 /* Headers */, - E99748240770570800206F68 /* Sources */, - E997483D0770570800206F68 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "PD static multi"; - productName = "PD static single"; - productReference = E997483F0770570800206F68 /* libflext-pd_td.a */; - productType = "com.apple.product-type.library.static"; - }; - E9974885077058C100206F68 /* PD shared */ = { - isa = PBXNativeTarget; - buildConfigurationList = E9A5BCA90A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "PD shared" */; - buildPhases = ( - E9974882077058C100206F68 /* Headers */, - E9974883077058C100206F68 /* Sources */, - E9974884077058C100206F68 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "PD shared"; - productName = "PD shared"; - productReference = E9974886077058C100206F68 /* flext-pd_d.dylib */; - productType = "com.apple.product-type.library.dynamic"; - }; - E997498C07705CC400206F68 /* Max static single */ = { - isa = PBXNativeTarget; - buildConfigurationList = E9A5BCAD0A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "Max static single" */; - buildPhases = ( - E997498D07705CC400206F68 /* Headers */, - E99749A307705CC400206F68 /* Sources */, - E99749BC07705CC400206F68 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Max static single"; - productName = "PD static single"; - productReference = E99749BE07705CC400206F68 /* libflext-max_sd.a */; - productType = "com.apple.product-type.library.static"; - }; - E9974B9207705F1400206F68 /* Max static multi */ = { - isa = PBXNativeTarget; - buildConfigurationList = E9A5BCB10A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "Max static multi" */; - buildPhases = ( - E9974B9307705F1400206F68 /* Headers */, - E9974BA907705F1400206F68 /* Sources */, - E9974BC207705F1400206F68 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Max static multi"; - productName = "PD static single"; - productReference = E9974BC407705F1400206F68 /* libflext-max_td.a */; - productType = "com.apple.product-type.library.static"; - }; - E9974BC507705F4F00206F68 /* Max shared */ = { - isa = PBXNativeTarget; - buildConfigurationList = E9A5BCB50A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "Max shared" */; - buildPhases = ( - E9974BC607705F4F00206F68 /* Headers */, - E9974BDE07705F4F00206F68 /* Sources */, - E9974BF707705F4F00206F68 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Max shared"; - productName = "PD shared"; - productReference = E9974BFA07705F4F00206F68 /* flext-max_d.dylib */; - productType = "com.apple.product-type.library.dynamic"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 0867D690FE84028FC02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = E9A5BCB90A3381C400AD9F03 /* Build configuration list for PBXProject "flext" */; - compatibilityVersion = "Xcode 2.4"; - hasScannedForEncodings = 1; - mainGroup = 0867D691FE84028FC02AAC07 /* flext-PB */; - productRefGroup = 034768DDFF38A45A11DB9C8B /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - E99747CC0770545100206F68 /* PD static single */, - E997480D0770570800206F68 /* PD static multi */, - E9974885077058C100206F68 /* PD shared */, - E997498C07705CC400206F68 /* Max static single */, - E9974B9207705F1400206F68 /* Max static multi */, - E9974BC507705F4F00206F68 /* Max shared */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXSourcesBuildPhase section */ - E99747CA0770545100206F68 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E99747CE0770548700206F68 /* flatom.cpp in Sources */, - E99747D00770548700206F68 /* flatom_part.cpp in Sources */, - E99747D10770548700206F68 /* flatom_pr.cpp in Sources */, - E99747D20770548700206F68 /* flattr.cpp in Sources */, - E99747D30770548700206F68 /* flattr_ed.cpp in Sources */, - E99747D40770548700206F68 /* flbase.cpp in Sources */, - E99747D50770548700206F68 /* flbind.cpp in Sources */, - E99747D60770548700206F68 /* flbuf.cpp in Sources */, - E99747D70770548700206F68 /* fldsp.cpp in Sources */, - E99747D80770548700206F68 /* flext.cpp in Sources */, - E99747D90770548700206F68 /* flitem.cpp in Sources */, - E99747DA0770548700206F68 /* fllib.cpp in Sources */, - E99747DB0770548700206F68 /* flmeth.cpp in Sources */, - E99747DC0770548700206F68 /* flmsg.cpp in Sources */, - E99747DD0770548700206F68 /* flout.cpp in Sources */, - E99747DE0770548700206F68 /* flproxy.cpp in Sources */, - E99747DF0770548700206F68 /* flqueue.cpp in Sources */, - E99747E00770548700206F68 /* flsimd.cpp in Sources */, - E99747E30770548700206F68 /* flsupport.cpp in Sources */, - E99747E40770548700206F68 /* flthr.cpp in Sources */, - E99747E50770548700206F68 /* fltimer.cpp in Sources */, - E99747E60770548700206F68 /* flutil.cpp in Sources */, - E99747E70770548700206F68 /* flxlet.cpp in Sources */, - E99A3DD00D3592AB00E692EF /* flmap.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E99748240770570800206F68 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E99748250770570800206F68 /* flatom.cpp in Sources */, - E99748270770570800206F68 /* flatom_part.cpp in Sources */, - E99748280770570800206F68 /* flatom_pr.cpp in Sources */, - E99748290770570800206F68 /* flattr.cpp in Sources */, - E997482A0770570800206F68 /* flattr_ed.cpp in Sources */, - E997482B0770570800206F68 /* flbase.cpp in Sources */, - E997482C0770570800206F68 /* flbind.cpp in Sources */, - E997482D0770570800206F68 /* flbuf.cpp in Sources */, - E997482E0770570800206F68 /* fldsp.cpp in Sources */, - E997482F0770570800206F68 /* flext.cpp in Sources */, - E99748300770570800206F68 /* flitem.cpp in Sources */, - E99748310770570800206F68 /* fllib.cpp in Sources */, - E99748320770570800206F68 /* flmeth.cpp in Sources */, - E99748330770570800206F68 /* flmsg.cpp in Sources */, - E99748340770570800206F68 /* flout.cpp in Sources */, - E99748350770570800206F68 /* flproxy.cpp in Sources */, - E99748360770570800206F68 /* flqueue.cpp in Sources */, - E99748370770570800206F68 /* flsimd.cpp in Sources */, - E99748380770570800206F68 /* flsupport.cpp in Sources */, - E99748390770570800206F68 /* flthr.cpp in Sources */, - E997483A0770570800206F68 /* fltimer.cpp in Sources */, - E997483B0770570800206F68 /* flutil.cpp in Sources */, - E997483C0770570800206F68 /* flxlet.cpp in Sources */, - E99A3DD10D3592AB00E692EF /* flmap.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E9974883077058C100206F68 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E997488C0770593C00206F68 /* flatom.cpp in Sources */, - E997488E0770593C00206F68 /* flatom_part.cpp in Sources */, - E997488F0770593C00206F68 /* flatom_pr.cpp in Sources */, - E99748900770593C00206F68 /* flattr.cpp in Sources */, - E99748910770593C00206F68 /* flattr_ed.cpp in Sources */, - E99748920770593C00206F68 /* flbase.cpp in Sources */, - E99748930770593C00206F68 /* flbind.cpp in Sources */, - E99748940770593C00206F68 /* flbuf.cpp in Sources */, - E99748950770593C00206F68 /* fldsp.cpp in Sources */, - E99748960770593C00206F68 /* flext.cpp in Sources */, - E99748970770593C00206F68 /* flitem.cpp in Sources */, - E99748980770593C00206F68 /* fllib.cpp in Sources */, - E99748990770593C00206F68 /* flmeth.cpp in Sources */, - E997489A0770593C00206F68 /* flmsg.cpp in Sources */, - E997489B0770593C00206F68 /* flout.cpp in Sources */, - E997489C0770593C00206F68 /* flproxy.cpp in Sources */, - E997489D0770593C00206F68 /* flqueue.cpp in Sources */, - E997489E0770593C00206F68 /* flsimd.cpp in Sources */, - E997489F0770593C00206F68 /* flsupport.cpp in Sources */, - E99748A00770593C00206F68 /* flthr.cpp in Sources */, - E99748A10770593C00206F68 /* fltimer.cpp in Sources */, - E99748A20770593C00206F68 /* flutil.cpp in Sources */, - E99748A30770593C00206F68 /* flxlet.cpp in Sources */, - E99A3DCF0D3592AB00E692EF /* flmap.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E99749A307705CC400206F68 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E99749A407705CC400206F68 /* flatom.cpp in Sources */, - E99749A607705CC400206F68 /* flatom_part.cpp in Sources */, - E99749A707705CC400206F68 /* flatom_pr.cpp in Sources */, - E99749A807705CC400206F68 /* flattr.cpp in Sources */, - E99749A907705CC400206F68 /* flattr_ed.cpp in Sources */, - E99749AA07705CC400206F68 /* flbase.cpp in Sources */, - E99749AB07705CC400206F68 /* flbind.cpp in Sources */, - E99749AC07705CC400206F68 /* flbuf.cpp in Sources */, - E99749AD07705CC400206F68 /* fldsp.cpp in Sources */, - E99749AE07705CC400206F68 /* flext.cpp in Sources */, - E99749AF07705CC400206F68 /* flitem.cpp in Sources */, - E99749B007705CC400206F68 /* fllib.cpp in Sources */, - E99749B107705CC400206F68 /* flmeth.cpp in Sources */, - E99749B207705CC400206F68 /* flmsg.cpp in Sources */, - E99749B307705CC400206F68 /* flout.cpp in Sources */, - E99749B407705CC400206F68 /* flproxy.cpp in Sources */, - E99749B507705CC400206F68 /* flqueue.cpp in Sources */, - E99749B607705CC400206F68 /* flsimd.cpp in Sources */, - E99749B707705CC400206F68 /* flsupport.cpp in Sources */, - E99749B807705CC400206F68 /* flthr.cpp in Sources */, - E99749B907705CC400206F68 /* fltimer.cpp in Sources */, - E99749BA07705CC400206F68 /* flutil.cpp in Sources */, - E99749BB07705CC400206F68 /* flxlet.cpp in Sources */, - E99A3DD20D3592AB00E692EF /* flmap.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E9974BA907705F1400206F68 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E9974BAA07705F1400206F68 /* flatom.cpp in Sources */, - E9974BAC07705F1400206F68 /* flatom_part.cpp in Sources */, - E9974BAD07705F1400206F68 /* flatom_pr.cpp in Sources */, - E9974BAE07705F1400206F68 /* flattr.cpp in Sources */, - E9974BAF07705F1400206F68 /* flattr_ed.cpp in Sources */, - E9974BB007705F1400206F68 /* flbase.cpp in Sources */, - E9974BB107705F1400206F68 /* flbind.cpp in Sources */, - E9974BB207705F1400206F68 /* flbuf.cpp in Sources */, - E9974BB307705F1400206F68 /* fldsp.cpp in Sources */, - E9974BB407705F1400206F68 /* flext.cpp in Sources */, - E9974BB507705F1400206F68 /* flitem.cpp in Sources */, - E9974BB607705F1400206F68 /* fllib.cpp in Sources */, - E9974BB707705F1400206F68 /* flmeth.cpp in Sources */, - E9974BB807705F1400206F68 /* flmsg.cpp in Sources */, - E9974BB907705F1400206F68 /* flout.cpp in Sources */, - E9974BBA07705F1400206F68 /* flproxy.cpp in Sources */, - E9974BBB07705F1400206F68 /* flqueue.cpp in Sources */, - E9974BBC07705F1400206F68 /* flsimd.cpp in Sources */, - E9974BBD07705F1400206F68 /* flsupport.cpp in Sources */, - E9974BBE07705F1400206F68 /* flthr.cpp in Sources */, - E9974BBF07705F1400206F68 /* fltimer.cpp in Sources */, - E9974BC007705F1400206F68 /* flutil.cpp in Sources */, - E9974BC107705F1400206F68 /* flxlet.cpp in Sources */, - E99A3DD30D3592AB00E692EF /* flmap.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E9974BDE07705F4F00206F68 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E9974BDF07705F4F00206F68 /* flatom.cpp in Sources */, - E9974BE107705F4F00206F68 /* flatom_part.cpp in Sources */, - E9974BE207705F4F00206F68 /* flatom_pr.cpp in Sources */, - E9974BE307705F4F00206F68 /* flattr.cpp in Sources */, - E9974BE407705F4F00206F68 /* flattr_ed.cpp in Sources */, - E9974BE507705F4F00206F68 /* flbase.cpp in Sources */, - E9974BE607705F4F00206F68 /* flbind.cpp in Sources */, - E9974BE707705F4F00206F68 /* flbuf.cpp in Sources */, - E9974BE807705F4F00206F68 /* fldsp.cpp in Sources */, - E9974BE907705F4F00206F68 /* flext.cpp in Sources */, - E9974BEA07705F4F00206F68 /* flitem.cpp in Sources */, - E9974BEB07705F4F00206F68 /* fllib.cpp in Sources */, - E9974BEC07705F4F00206F68 /* flmeth.cpp in Sources */, - E9974BED07705F4F00206F68 /* flmsg.cpp in Sources */, - E9974BEE07705F4F00206F68 /* flout.cpp in Sources */, - E9974BEF07705F4F00206F68 /* flproxy.cpp in Sources */, - E9974BF007705F4F00206F68 /* flqueue.cpp in Sources */, - E9974BF107705F4F00206F68 /* flsimd.cpp in Sources */, - E9974BF207705F4F00206F68 /* flsupport.cpp in Sources */, - E9974BF307705F4F00206F68 /* flthr.cpp in Sources */, - E9974BF407705F4F00206F68 /* fltimer.cpp in Sources */, - E9974BF507705F4F00206F68 /* flutil.cpp in Sources */, - E9974BF607705F4F00206F68 /* flxlet.cpp in Sources */, - E99A3DD40D3592AB00E692EF /* flmap.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - E9A5BCA20A3381C400AD9F03 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=2", - ); - HEADER_SEARCH_PATHS = "$(PD)/src"; - INSTALL_PATH = /usr/local/lib; - LIBRARY_STYLE = STATIC; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "$(inherited)-pd_sd"; - ZERO_LINK = YES; - }; - name = Development; - }; - E9A5BCA30A3381C400AD9F03 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=2", - ); - HEADER_SEARCH_PATHS = "$(PD)/src"; - INSTALL_PATH = /usr/local/lib; - LIBRARY_STYLE = STATIC; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "$(inherited)-pd_s"; - SECTORDER_FLAGS = ""; - ZERO_LINK = NO; - }; - name = Deployment; - }; - E9A5BCA60A3381C400AD9F03 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=2", - FLEXT_THREADS, - ); - HEADER_SEARCH_PATHS = "$(PD)/src"; - INSTALL_PATH = /usr/local/lib; - LIBRARY_STYLE = STATIC; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "$(inherited)-pd_td"; - }; - name = Development; - }; - E9A5BCA70A3381C400AD9F03 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=2", - FLEXT_THREADS, - ); - HEADER_SEARCH_PATHS = "$(PD)/src"; - INSTALL_PATH = /usr/local/lib; - LIBRARY_STYLE = STATIC; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "$(inherited)-pd_t"; - }; - name = Deployment; - }; - E9A5BCAA0A3381C400AD9F03 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=2", - FLEXT_SHARED, - ); - HEADER_SEARCH_PATHS = "$(PD)/src"; - INSTALL_PATH = /usr/local/lib; - LIBRARY_STYLE = BUNDLE; - MACH_O_TYPE = mh_dylib; - OTHER_LDFLAGS = ( - "-undefined", - dynamic_lookup, - ); - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "$(inherited)-pd_d"; - }; - name = Development; - }; - E9A5BCAB0A3381C400AD9F03 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=2", - FLEXT_SHARED, - ); - HEADER_SEARCH_PATHS = "$(PD)/src"; - INSTALL_PATH = /usr/local/lib; - LIBRARY_STYLE = BUNDLE; - MACH_O_TYPE = mh_dylib; - OTHER_LDFLAGS = ( - "-undefined", - dynamic_lookup, - ); - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "$(inherited)-pd"; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - }; - name = Deployment; - }; - E9A5BCAE0A3381C400AD9F03 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=1", - MAC_VERSION, - ); - HEADER_SEARCH_PATHS = ( - "$(maxsdk)/max-includes", - "$(maxsdk)/msp-includes", - ); - INSTALL_PATH = /usr/local/lib; - LIBRARY_STYLE = STATIC; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "$(inherited)-max_sd"; - }; - name = Development; - }; - E9A5BCAF0A3381C400AD9F03 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=1", - ); - HEADER_SEARCH_PATHS = ( - "$(maxsdk)/max-includes", - "$(maxsdk)/msp-includes", - ); - INSTALL_PATH = /usr/local/lib; - LIBRARY_STYLE = STATIC; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "$(inherited)-max_s"; - }; - name = Deployment; - }; - E9A5BCB20A3381C400AD9F03 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=1", - FLEXT_THREADS, - ); - HEADER_SEARCH_PATHS = ( - "$(maxsdk)/max-includes", - "$(maxsdk)/msp-includes", - ); - INSTALL_PATH = /usr/local/lib; - LIBRARY_STYLE = STATIC; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "$(inherited)-max_td"; - }; - name = Development; - }; - E9A5BCB30A3381C400AD9F03 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=1", - FLEXT_THREADS, - ); - HEADER_SEARCH_PATHS = ( - "$(maxsdk)/max-includes", - "$(maxsdk)/msp-includes", - ); - INSTALL_PATH = /usr/local/lib; - LIBRARY_STYLE = STATIC; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "$(inherited)-max_t"; - }; - name = Deployment; - }; - E9A5BCB60A3381C400AD9F03 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=1", - FLEXT_SHARED, - ); - HEADER_SEARCH_PATHS = ( - "$(maxsdk)/max-includes", - "$(maxsdk)/msp-includes", - ); - INSTALL_PATH = /usr/local/lib; - LIBRARY_SEARCH_PATHS = ( - "$(maxsdk)/msp-includes", - "$(maxsdk)/msp-includes", - ); - LIBRARY_STYLE = DYNAMIC; - MACH_O_TYPE = mh_dylib; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "$(inherited)-max_d"; - }; - name = Development; - }; - E9A5BCB70A3381C400AD9F03 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=1", - FLEXT_SHARED, - ); - HEADER_SEARCH_PATHS = ( - "$(maxsdk)/max-includes", - "$(maxsdk)/msp-includes", - ); - INSTALL_PATH = /usr/local/lib; - LIBRARY_SEARCH_PATHS = ( - "$(maxsdk)/msp-includes", - "$(maxsdk)/msp-includes", - ); - LIBRARY_STYLE = DYNAMIC; - MACH_O_TYPE = mh_dylib; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "$(inherited)-max"; - }; - name = Deployment; - }; - E9A5BCBA0A3381C400AD9F03 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - GCC_ALTIVEC_EXTENSIONS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = source/flext.h; - GCC_PREPROCESSOR_DEFINITIONS = ( - DEBUG, - FLEXT_USE_SIMD, - FLEXT_NAMESPACE, - FLEXT_USE_CMEM, - ); - MACOSX_DEPLOYMENT_TARGET = 10.3; - PRODUCT_NAME = "$(PROJECT_NAME)"; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - }; - name = Development; - }; - E9A5BCBB0A3381C400AD9F03 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = source/flext.h; - GCC_PREPROCESSOR_DEFINITIONS = ( - NDEBUG, - FLEXT_USE_SIMD, - ); - MACOSX_DEPLOYMENT_TARGET = 10.3; - PRODUCT_NAME = "$(PROJECT_NAME)"; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - }; - name = Deployment; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - E9A5BCA10A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "PD static single" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E9A5BCA20A3381C400AD9F03 /* Development */, - E9A5BCA30A3381C400AD9F03 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Deployment; - }; - E9A5BCA50A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "PD static multi" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E9A5BCA60A3381C400AD9F03 /* Development */, - E9A5BCA70A3381C400AD9F03 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Deployment; - }; - E9A5BCA90A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "PD shared" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E9A5BCAA0A3381C400AD9F03 /* Development */, - E9A5BCAB0A3381C400AD9F03 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Deployment; - }; - E9A5BCAD0A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "Max static single" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E9A5BCAE0A3381C400AD9F03 /* Development */, - E9A5BCAF0A3381C400AD9F03 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Deployment; - }; - E9A5BCB10A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "Max static multi" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E9A5BCB20A3381C400AD9F03 /* Development */, - E9A5BCB30A3381C400AD9F03 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Deployment; - }; - E9A5BCB50A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "Max shared" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E9A5BCB60A3381C400AD9F03 /* Development */, - E9A5BCB70A3381C400AD9F03 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Deployment; - }; - E9A5BCB90A3381C400AD9F03 /* Build configuration list for PBXProject "flext" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E9A5BCBA0A3381C400AD9F03 /* Development */, - E9A5BCBB0A3381C400AD9F03 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Deployment; - }; -/* End XCConfigurationList section */ - }; - rootObject = 0867D690FE84028FC02AAC07 /* Project object */; -} diff --git a/externals/grill/trunk/flext/flext.xcodeproj/project.pbxproj b/externals/grill/trunk/flext/flext.xcodeproj/project.pbxproj deleted file mode 100755 index 636e52a55..000000000 --- a/externals/grill/trunk/flext/flext.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1565 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { - -/* Begin PBXBuildFile section */ - E95B343B0F40BEE3006336AA /* flpushns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B343A0F40BEE3006336AA /* flpushns.h */; }; - E95B343C0F40BEE3006336AA /* flpushns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B343A0F40BEE3006336AA /* flpushns.h */; }; - E95B343D0F40BEE3006336AA /* flpushns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B343A0F40BEE3006336AA /* flpushns.h */; }; - E95B343E0F40BEE3006336AA /* flpushns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B343A0F40BEE3006336AA /* flpushns.h */; }; - E95B343F0F40BEE3006336AA /* flpushns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B343A0F40BEE3006336AA /* flpushns.h */; }; - E95B34400F40BEE3006336AA /* flpushns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B343A0F40BEE3006336AA /* flpushns.h */; }; - E95B34420F40BEF0006336AA /* flpopns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B34410F40BEF0006336AA /* flpopns.h */; }; - E95B34430F40BEF0006336AA /* flpopns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B34410F40BEF0006336AA /* flpopns.h */; }; - E95B34440F40BEF0006336AA /* flpopns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B34410F40BEF0006336AA /* flpopns.h */; }; - E95B34450F40BEF0006336AA /* flpopns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B34410F40BEF0006336AA /* flpopns.h */; }; - E95B34460F40BEF0006336AA /* flpopns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B34410F40BEF0006336AA /* flpopns.h */; }; - E95B34470F40BEF0006336AA /* flpopns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B34410F40BEF0006336AA /* flpopns.h */; }; - E99747CE0770548700206F68 /* flatom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7C0383E50201A80AC9 /* flatom.cpp */; }; - E99747D00770548700206F68 /* flatom_part.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66C03CE39F501A80AC9 /* flatom_part.cpp */; }; - E99747D10770548700206F68 /* flatom_pr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */; }; - E99747D20770548700206F68 /* flattr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7D0383E50201A80AC9 /* flattr.cpp */; }; - E99747D30770548700206F68 /* flattr_ed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */; }; - E99747D40770548700206F68 /* flbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7E0383E50201A80AC9 /* flbase.cpp */; }; - E99747D50770548700206F68 /* flbind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D263044CC4A001A80AC9 /* flbind.cpp */; }; - E99747D60770548700206F68 /* flbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED800383E50201A80AC9 /* flbuf.cpp */; }; - E99747D70770548700206F68 /* fldsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED880383E50201A80AC9 /* fldsp.cpp */; }; - E99747D80770548700206F68 /* flext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8A0383E50201A80AC9 /* flext.cpp */; }; - E99747D90770548700206F68 /* flitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66D03CE39F501A80AC9 /* flitem.cpp */; }; - E99747DA0770548700206F68 /* fllib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8D0383E50201A80AC9 /* fllib.cpp */; }; - E99747DB0770548700206F68 /* flmeth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66E03CE39F501A80AC9 /* flmeth.cpp */; }; - E99747DC0770548700206F68 /* flmsg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66F03CE39F501A80AC9 /* flmsg.cpp */; }; - E99747DD0770548700206F68 /* flout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8F0383E50201A80AC9 /* flout.cpp */; }; - E99747DE0770548700206F68 /* flproxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67103CE39F501A80AC9 /* flproxy.cpp */; }; - E99747DF0770548700206F68 /* flqueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67203CE39F501A80AC9 /* flqueue.cpp */; }; - E99747E00770548700206F68 /* flsimd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D264044CC4A001A80AC9 /* flsimd.cpp */; }; - E99747E30770548700206F68 /* flsupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED930383E50201A80AC9 /* flsupport.cpp */; }; - E99747E40770548700206F68 /* flthr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED950383E50201A80AC9 /* flthr.cpp */; }; - E99747E50770548700206F68 /* fltimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5B1FAC8041191190179CFEF /* fltimer.cpp */; }; - E99747E60770548700206F68 /* flutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED960383E50201A80AC9 /* flutil.cpp */; }; - E99747E70770548700206F68 /* flxlet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED970383E50201A80AC9 /* flxlet.cpp */; }; - E99747E80770548F00206F68 /* flbase.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED7F0383E50201A80AC9 /* flbase.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747E90770548F00206F68 /* flclass.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED810383E50201A80AC9 /* flclass.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747EA0770548F00206F68 /* fldefs.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED860383E50201A80AC9 /* fldefs.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747EB0770548F00206F68 /* fldefs_attradd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747EC0770548F00206F68 /* fldefs_attrcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747ED0770548F00206F68 /* fldefs_attrvar.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747EE0770548F00206F68 /* fldefs_hdr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747EF0770548F00206F68 /* fldefs_methadd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747F00770548F00206F68 /* fldefs_methbind.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747F10770548F00206F68 /* fldefs_methcall.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747F20770548F00206F68 /* fldefs_methcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747F30770548F00206F68 /* fldefs_meththr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747F40770548F00206F68 /* fldefs_setup.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C104757BC801A0C81C /* fldefs_setup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747F50770548F00206F68 /* fldoxygen.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED870383E50201A80AC9 /* fldoxygen.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747F60770548F00206F68 /* fldsp.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED890383E50201A80AC9 /* fldsp.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747F70770548F00206F68 /* flext.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8B0383E50201A80AC9 /* flext.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747F80770548F00206F68 /* flinternal.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8C0383E50201A80AC9 /* flinternal.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747F90770548F00206F68 /* flmspbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8E0383E50201A80AC9 /* flmspbuffer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747FA0770548F00206F68 /* flprefix.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67003CE39F501A80AC9 /* flprefix.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747FC0770548F00206F68 /* flstdc.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED920383E50201A80AC9 /* flstdc.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99747FE0770548F00206F68 /* flsupport.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED940383E50201A80AC9 /* flsupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E9974803077054CD00206F68 /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974802077054CD00206F68 /* vecLib.framework */; }; - E997480F0770570800206F68 /* flprefix.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67003CE39F501A80AC9 /* flprefix.h */; }; - E99748100770570800206F68 /* flbase.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED7F0383E50201A80AC9 /* flbase.h */; }; - E99748110770570800206F68 /* flclass.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED810383E50201A80AC9 /* flclass.h */; }; - E99748120770570800206F68 /* fldoxygen.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED870383E50201A80AC9 /* fldoxygen.h */; }; - E99748130770570800206F68 /* fldsp.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED890383E50201A80AC9 /* fldsp.h */; }; - E99748140770570800206F68 /* flext.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8B0383E50201A80AC9 /* flext.h */; }; - E99748150770570800206F68 /* flinternal.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8C0383E50201A80AC9 /* flinternal.h */; }; - E99748160770570800206F68 /* flmspbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8E0383E50201A80AC9 /* flmspbuffer.h */; }; - E99748170770570800206F68 /* flstdc.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED920383E50201A80AC9 /* flstdc.h */; }; - E99748180770570800206F68 /* flsupport.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED940383E50201A80AC9 /* flsupport.h */; }; - E99748190770570800206F68 /* fldefs.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED860383E50201A80AC9 /* fldefs.h */; }; - E997481A0770570800206F68 /* fldefs_attradd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */; }; - E997481B0770570800206F68 /* fldefs_attrcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */; }; - E997481C0770570800206F68 /* fldefs_attrvar.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */; }; - E997481D0770570800206F68 /* fldefs_hdr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */; }; - E997481E0770570800206F68 /* fldefs_methadd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */; }; - E997481F0770570800206F68 /* fldefs_methbind.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */; }; - E99748200770570800206F68 /* fldefs_methcall.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */; }; - E99748210770570800206F68 /* fldefs_methcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */; }; - E99748220770570800206F68 /* fldefs_meththr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */; }; - E99748230770570800206F68 /* fldefs_setup.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C104757BC801A0C81C /* fldefs_setup.h */; }; - E99748250770570800206F68 /* flatom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7C0383E50201A80AC9 /* flatom.cpp */; }; - E99748270770570800206F68 /* flatom_part.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66C03CE39F501A80AC9 /* flatom_part.cpp */; }; - E99748280770570800206F68 /* flatom_pr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */; }; - E99748290770570800206F68 /* flattr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7D0383E50201A80AC9 /* flattr.cpp */; }; - E997482A0770570800206F68 /* flattr_ed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */; }; - E997482B0770570800206F68 /* flbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7E0383E50201A80AC9 /* flbase.cpp */; }; - E997482C0770570800206F68 /* flbind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D263044CC4A001A80AC9 /* flbind.cpp */; }; - E997482D0770570800206F68 /* flbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED800383E50201A80AC9 /* flbuf.cpp */; }; - E997482E0770570800206F68 /* fldsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED880383E50201A80AC9 /* fldsp.cpp */; }; - E997482F0770570800206F68 /* flext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8A0383E50201A80AC9 /* flext.cpp */; }; - E99748300770570800206F68 /* flitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66D03CE39F501A80AC9 /* flitem.cpp */; }; - E99748310770570800206F68 /* fllib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8D0383E50201A80AC9 /* fllib.cpp */; }; - E99748320770570800206F68 /* flmeth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66E03CE39F501A80AC9 /* flmeth.cpp */; }; - E99748330770570800206F68 /* flmsg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66F03CE39F501A80AC9 /* flmsg.cpp */; }; - E99748340770570800206F68 /* flout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8F0383E50201A80AC9 /* flout.cpp */; }; - E99748350770570800206F68 /* flproxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67103CE39F501A80AC9 /* flproxy.cpp */; }; - E99748360770570800206F68 /* flqueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67203CE39F501A80AC9 /* flqueue.cpp */; }; - E99748370770570800206F68 /* flsimd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D264044CC4A001A80AC9 /* flsimd.cpp */; }; - E99748380770570800206F68 /* flsupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED930383E50201A80AC9 /* flsupport.cpp */; }; - E99748390770570800206F68 /* flthr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED950383E50201A80AC9 /* flthr.cpp */; }; - E997483A0770570800206F68 /* fltimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5B1FAC8041191190179CFEF /* fltimer.cpp */; }; - E997483B0770570800206F68 /* flutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED960383E50201A80AC9 /* flutil.cpp */; }; - E997483C0770570800206F68 /* flxlet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED970383E50201A80AC9 /* flxlet.cpp */; }; - E997483E0770570800206F68 /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974802077054CD00206F68 /* vecLib.framework */; }; - E997488C0770593C00206F68 /* flatom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7C0383E50201A80AC9 /* flatom.cpp */; }; - E997488E0770593C00206F68 /* flatom_part.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66C03CE39F501A80AC9 /* flatom_part.cpp */; }; - E997488F0770593C00206F68 /* flatom_pr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */; }; - E99748900770593C00206F68 /* flattr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7D0383E50201A80AC9 /* flattr.cpp */; }; - E99748910770593C00206F68 /* flattr_ed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */; }; - E99748920770593C00206F68 /* flbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7E0383E50201A80AC9 /* flbase.cpp */; }; - E99748930770593C00206F68 /* flbind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D263044CC4A001A80AC9 /* flbind.cpp */; }; - E99748940770593C00206F68 /* flbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED800383E50201A80AC9 /* flbuf.cpp */; }; - E99748950770593C00206F68 /* fldsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED880383E50201A80AC9 /* fldsp.cpp */; }; - E99748960770593C00206F68 /* flext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8A0383E50201A80AC9 /* flext.cpp */; }; - E99748970770593C00206F68 /* flitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66D03CE39F501A80AC9 /* flitem.cpp */; }; - E99748980770593C00206F68 /* fllib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8D0383E50201A80AC9 /* fllib.cpp */; }; - E99748990770593C00206F68 /* flmeth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66E03CE39F501A80AC9 /* flmeth.cpp */; }; - E997489A0770593C00206F68 /* flmsg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66F03CE39F501A80AC9 /* flmsg.cpp */; }; - E997489B0770593C00206F68 /* flout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8F0383E50201A80AC9 /* flout.cpp */; }; - E997489C0770593C00206F68 /* flproxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67103CE39F501A80AC9 /* flproxy.cpp */; }; - E997489D0770593C00206F68 /* flqueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67203CE39F501A80AC9 /* flqueue.cpp */; }; - E997489E0770593C00206F68 /* flsimd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D264044CC4A001A80AC9 /* flsimd.cpp */; }; - E997489F0770593C00206F68 /* flsupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED930383E50201A80AC9 /* flsupport.cpp */; }; - E99748A00770593C00206F68 /* flthr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED950383E50201A80AC9 /* flthr.cpp */; }; - E99748A10770593C00206F68 /* fltimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5B1FAC8041191190179CFEF /* fltimer.cpp */; }; - E99748A20770593C00206F68 /* flutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED960383E50201A80AC9 /* flutil.cpp */; }; - E99748A30770593C00206F68 /* flxlet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED970383E50201A80AC9 /* flxlet.cpp */; }; - E99748A40770595500206F68 /* flprefix.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67003CE39F501A80AC9 /* flprefix.h */; }; - E99748A50770595500206F68 /* flbase.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED7F0383E50201A80AC9 /* flbase.h */; }; - E99748A60770595500206F68 /* flclass.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED810383E50201A80AC9 /* flclass.h */; }; - E99748A70770595500206F68 /* fldoxygen.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED870383E50201A80AC9 /* fldoxygen.h */; }; - E99748A80770595500206F68 /* fldsp.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED890383E50201A80AC9 /* fldsp.h */; }; - E99748A90770595600206F68 /* flext.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8B0383E50201A80AC9 /* flext.h */; }; - E99748AA0770595600206F68 /* flinternal.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8C0383E50201A80AC9 /* flinternal.h */; }; - E99748AB0770595600206F68 /* flmspbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8E0383E50201A80AC9 /* flmspbuffer.h */; }; - E99748AC0770595600206F68 /* flsndobj.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED910383E50201A80AC9 /* flsndobj.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99748AD0770595600206F68 /* flstdc.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED920383E50201A80AC9 /* flstdc.h */; }; - E99748AE0770595600206F68 /* flsupport.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED940383E50201A80AC9 /* flsupport.h */; }; - E99748AF0770595600206F68 /* flstk.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67403CE39F501A80AC9 /* flstk.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E99748B00770595E00206F68 /* fldefs.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED860383E50201A80AC9 /* fldefs.h */; }; - E99748B10770595E00206F68 /* fldefs_attradd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */; }; - E99748B20770595E00206F68 /* fldefs_attrcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */; }; - E99748B30770595E00206F68 /* fldefs_attrvar.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */; }; - E99748B40770595E00206F68 /* fldefs_hdr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */; }; - E99748B50770595E00206F68 /* fldefs_methadd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */; }; - E99748B60770595E00206F68 /* fldefs_methbind.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */; }; - E99748B70770595E00206F68 /* fldefs_methcall.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */; }; - E99748B80770595E00206F68 /* fldefs_methcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */; }; - E99748B90770595E00206F68 /* fldefs_meththr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */; }; - E99748BA0770595E00206F68 /* fldefs_setup.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C104757BC801A0C81C /* fldefs_setup.h */; }; - E99748D107705BAF00206F68 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E99748D007705BAF00206F68 /* ApplicationServices.framework */; }; - E997498E07705CC400206F68 /* flprefix.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67003CE39F501A80AC9 /* flprefix.h */; }; - E997498F07705CC400206F68 /* flbase.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED7F0383E50201A80AC9 /* flbase.h */; }; - E997499007705CC400206F68 /* flclass.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED810383E50201A80AC9 /* flclass.h */; }; - E997499107705CC400206F68 /* fldoxygen.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED870383E50201A80AC9 /* fldoxygen.h */; }; - E997499207705CC400206F68 /* fldsp.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED890383E50201A80AC9 /* fldsp.h */; }; - E997499307705CC400206F68 /* flext.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8B0383E50201A80AC9 /* flext.h */; }; - E997499407705CC400206F68 /* flinternal.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8C0383E50201A80AC9 /* flinternal.h */; }; - E997499507705CC400206F68 /* flmspbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8E0383E50201A80AC9 /* flmspbuffer.h */; }; - E997499607705CC400206F68 /* flstdc.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED920383E50201A80AC9 /* flstdc.h */; }; - E997499707705CC400206F68 /* flsupport.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED940383E50201A80AC9 /* flsupport.h */; }; - E997499807705CC400206F68 /* fldefs.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED860383E50201A80AC9 /* fldefs.h */; }; - E997499907705CC400206F68 /* fldefs_attradd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */; }; - E997499A07705CC400206F68 /* fldefs_attrcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */; }; - E997499B07705CC400206F68 /* fldefs_attrvar.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */; }; - E997499C07705CC400206F68 /* fldefs_hdr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */; }; - E997499D07705CC400206F68 /* fldefs_methadd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */; }; - E997499E07705CC400206F68 /* fldefs_methbind.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */; }; - E997499F07705CC400206F68 /* fldefs_methcall.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */; }; - E99749A007705CC400206F68 /* fldefs_methcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */; }; - E99749A107705CC400206F68 /* fldefs_meththr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */; }; - E99749A207705CC400206F68 /* fldefs_setup.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C104757BC801A0C81C /* fldefs_setup.h */; }; - E99749A407705CC400206F68 /* flatom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7C0383E50201A80AC9 /* flatom.cpp */; }; - E99749A607705CC400206F68 /* flatom_part.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66C03CE39F501A80AC9 /* flatom_part.cpp */; }; - E99749A707705CC400206F68 /* flatom_pr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */; }; - E99749A807705CC400206F68 /* flattr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7D0383E50201A80AC9 /* flattr.cpp */; }; - E99749A907705CC400206F68 /* flattr_ed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */; }; - E99749AA07705CC400206F68 /* flbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7E0383E50201A80AC9 /* flbase.cpp */; }; - E99749AB07705CC400206F68 /* flbind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D263044CC4A001A80AC9 /* flbind.cpp */; }; - E99749AC07705CC400206F68 /* flbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED800383E50201A80AC9 /* flbuf.cpp */; }; - E99749AD07705CC400206F68 /* fldsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED880383E50201A80AC9 /* fldsp.cpp */; }; - E99749AE07705CC400206F68 /* flext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8A0383E50201A80AC9 /* flext.cpp */; }; - E99749AF07705CC400206F68 /* flitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66D03CE39F501A80AC9 /* flitem.cpp */; }; - E99749B007705CC400206F68 /* fllib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8D0383E50201A80AC9 /* fllib.cpp */; }; - E99749B107705CC400206F68 /* flmeth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66E03CE39F501A80AC9 /* flmeth.cpp */; }; - E99749B207705CC400206F68 /* flmsg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66F03CE39F501A80AC9 /* flmsg.cpp */; }; - E99749B307705CC400206F68 /* flout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8F0383E50201A80AC9 /* flout.cpp */; }; - E99749B407705CC400206F68 /* flproxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67103CE39F501A80AC9 /* flproxy.cpp */; }; - E99749B507705CC400206F68 /* flqueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67203CE39F501A80AC9 /* flqueue.cpp */; }; - E99749B607705CC400206F68 /* flsimd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D264044CC4A001A80AC9 /* flsimd.cpp */; }; - E99749B707705CC400206F68 /* flsupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED930383E50201A80AC9 /* flsupport.cpp */; }; - E99749B807705CC400206F68 /* flthr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED950383E50201A80AC9 /* flthr.cpp */; }; - E99749B907705CC400206F68 /* fltimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5B1FAC8041191190179CFEF /* fltimer.cpp */; }; - E99749BA07705CC400206F68 /* flutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED960383E50201A80AC9 /* flutil.cpp */; }; - E99749BB07705CC400206F68 /* flxlet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED970383E50201A80AC9 /* flxlet.cpp */; }; - E99749BD07705CC400206F68 /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974802077054CD00206F68 /* vecLib.framework */; }; - E99749BF07705D5200206F68 /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974802077054CD00206F68 /* vecLib.framework */; }; - E9974B9407705F1400206F68 /* flprefix.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67003CE39F501A80AC9 /* flprefix.h */; }; - E9974B9507705F1400206F68 /* flbase.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED7F0383E50201A80AC9 /* flbase.h */; }; - E9974B9607705F1400206F68 /* flclass.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED810383E50201A80AC9 /* flclass.h */; }; - E9974B9707705F1400206F68 /* fldoxygen.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED870383E50201A80AC9 /* fldoxygen.h */; }; - E9974B9807705F1400206F68 /* fldsp.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED890383E50201A80AC9 /* fldsp.h */; }; - E9974B9907705F1400206F68 /* flext.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8B0383E50201A80AC9 /* flext.h */; }; - E9974B9A07705F1400206F68 /* flinternal.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8C0383E50201A80AC9 /* flinternal.h */; }; - E9974B9B07705F1400206F68 /* flmspbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8E0383E50201A80AC9 /* flmspbuffer.h */; }; - E9974B9C07705F1400206F68 /* flstdc.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED920383E50201A80AC9 /* flstdc.h */; }; - E9974B9D07705F1400206F68 /* flsupport.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED940383E50201A80AC9 /* flsupport.h */; }; - E9974B9E07705F1400206F68 /* fldefs.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED860383E50201A80AC9 /* fldefs.h */; }; - E9974B9F07705F1400206F68 /* fldefs_attradd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */; }; - E9974BA007705F1400206F68 /* fldefs_attrcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */; }; - E9974BA107705F1400206F68 /* fldefs_attrvar.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */; }; - E9974BA207705F1400206F68 /* fldefs_hdr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */; }; - E9974BA307705F1400206F68 /* fldefs_methadd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */; }; - E9974BA407705F1400206F68 /* fldefs_methbind.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */; }; - E9974BA507705F1400206F68 /* fldefs_methcall.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */; }; - E9974BA607705F1400206F68 /* fldefs_methcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */; }; - E9974BA707705F1400206F68 /* fldefs_meththr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */; }; - E9974BA807705F1400206F68 /* fldefs_setup.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C104757BC801A0C81C /* fldefs_setup.h */; }; - E9974BAA07705F1400206F68 /* flatom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7C0383E50201A80AC9 /* flatom.cpp */; }; - E9974BAC07705F1400206F68 /* flatom_part.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66C03CE39F501A80AC9 /* flatom_part.cpp */; }; - E9974BAD07705F1400206F68 /* flatom_pr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */; }; - E9974BAE07705F1400206F68 /* flattr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7D0383E50201A80AC9 /* flattr.cpp */; }; - E9974BAF07705F1400206F68 /* flattr_ed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */; }; - E9974BB007705F1400206F68 /* flbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7E0383E50201A80AC9 /* flbase.cpp */; }; - E9974BB107705F1400206F68 /* flbind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D263044CC4A001A80AC9 /* flbind.cpp */; }; - E9974BB207705F1400206F68 /* flbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED800383E50201A80AC9 /* flbuf.cpp */; }; - E9974BB307705F1400206F68 /* fldsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED880383E50201A80AC9 /* fldsp.cpp */; }; - E9974BB407705F1400206F68 /* flext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8A0383E50201A80AC9 /* flext.cpp */; }; - E9974BB507705F1400206F68 /* flitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66D03CE39F501A80AC9 /* flitem.cpp */; }; - E9974BB607705F1400206F68 /* fllib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8D0383E50201A80AC9 /* fllib.cpp */; }; - E9974BB707705F1400206F68 /* flmeth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66E03CE39F501A80AC9 /* flmeth.cpp */; }; - E9974BB807705F1400206F68 /* flmsg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66F03CE39F501A80AC9 /* flmsg.cpp */; }; - E9974BB907705F1400206F68 /* flout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8F0383E50201A80AC9 /* flout.cpp */; }; - E9974BBA07705F1400206F68 /* flproxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67103CE39F501A80AC9 /* flproxy.cpp */; }; - E9974BBB07705F1400206F68 /* flqueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67203CE39F501A80AC9 /* flqueue.cpp */; }; - E9974BBC07705F1400206F68 /* flsimd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D264044CC4A001A80AC9 /* flsimd.cpp */; }; - E9974BBD07705F1400206F68 /* flsupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED930383E50201A80AC9 /* flsupport.cpp */; }; - E9974BBE07705F1400206F68 /* flthr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED950383E50201A80AC9 /* flthr.cpp */; }; - E9974BBF07705F1400206F68 /* fltimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5B1FAC8041191190179CFEF /* fltimer.cpp */; }; - E9974BC007705F1400206F68 /* flutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED960383E50201A80AC9 /* flutil.cpp */; }; - E9974BC107705F1400206F68 /* flxlet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED970383E50201A80AC9 /* flxlet.cpp */; }; - E9974BC307705F1400206F68 /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974802077054CD00206F68 /* vecLib.framework */; }; - E9974BC707705F4F00206F68 /* fldefs.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED860383E50201A80AC9 /* fldefs.h */; }; - E9974BC807705F4F00206F68 /* fldefs_attradd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */; }; - E9974BC907705F4F00206F68 /* fldefs_attrcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */; }; - E9974BCA07705F4F00206F68 /* fldefs_attrvar.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */; }; - E9974BCB07705F4F00206F68 /* fldefs_hdr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */; }; - E9974BCC07705F4F00206F68 /* fldefs_methadd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */; }; - E9974BCD07705F4F00206F68 /* fldefs_methbind.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */; }; - E9974BCE07705F4F00206F68 /* fldefs_methcall.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */; }; - E9974BCF07705F4F00206F68 /* fldefs_methcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */; }; - E9974BD007705F4F00206F68 /* fldefs_meththr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */; }; - E9974BD107705F4F00206F68 /* fldefs_setup.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C104757BC801A0C81C /* fldefs_setup.h */; }; - E9974BD207705F4F00206F68 /* flprefix.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67003CE39F501A80AC9 /* flprefix.h */; }; - E9974BD307705F4F00206F68 /* flbase.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED7F0383E50201A80AC9 /* flbase.h */; }; - E9974BD407705F4F00206F68 /* flclass.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED810383E50201A80AC9 /* flclass.h */; }; - E9974BD507705F4F00206F68 /* fldoxygen.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED870383E50201A80AC9 /* fldoxygen.h */; }; - E9974BD607705F4F00206F68 /* fldsp.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED890383E50201A80AC9 /* fldsp.h */; }; - E9974BD707705F4F00206F68 /* flext.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8B0383E50201A80AC9 /* flext.h */; }; - E9974BD807705F4F00206F68 /* flinternal.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8C0383E50201A80AC9 /* flinternal.h */; }; - E9974BD907705F4F00206F68 /* flmspbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8E0383E50201A80AC9 /* flmspbuffer.h */; }; - E9974BDA07705F4F00206F68 /* flsndobj.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED910383E50201A80AC9 /* flsndobj.h */; }; - E9974BDB07705F4F00206F68 /* flstdc.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED920383E50201A80AC9 /* flstdc.h */; }; - E9974BDC07705F4F00206F68 /* flsupport.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED940383E50201A80AC9 /* flsupport.h */; }; - E9974BDD07705F4F00206F68 /* flstk.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67403CE39F501A80AC9 /* flstk.h */; }; - E9974BDF07705F4F00206F68 /* flatom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7C0383E50201A80AC9 /* flatom.cpp */; }; - E9974BE107705F4F00206F68 /* flatom_part.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66C03CE39F501A80AC9 /* flatom_part.cpp */; }; - E9974BE207705F4F00206F68 /* flatom_pr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */; }; - E9974BE307705F4F00206F68 /* flattr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7D0383E50201A80AC9 /* flattr.cpp */; }; - E9974BE407705F4F00206F68 /* flattr_ed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */; }; - E9974BE507705F4F00206F68 /* flbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7E0383E50201A80AC9 /* flbase.cpp */; }; - E9974BE607705F4F00206F68 /* flbind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D263044CC4A001A80AC9 /* flbind.cpp */; }; - E9974BE707705F4F00206F68 /* flbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED800383E50201A80AC9 /* flbuf.cpp */; }; - E9974BE807705F4F00206F68 /* fldsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED880383E50201A80AC9 /* fldsp.cpp */; }; - E9974BE907705F4F00206F68 /* flext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8A0383E50201A80AC9 /* flext.cpp */; }; - E9974BEA07705F4F00206F68 /* flitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66D03CE39F501A80AC9 /* flitem.cpp */; }; - E9974BEB07705F4F00206F68 /* fllib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8D0383E50201A80AC9 /* fllib.cpp */; }; - E9974BEC07705F4F00206F68 /* flmeth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66E03CE39F501A80AC9 /* flmeth.cpp */; }; - E9974BED07705F4F00206F68 /* flmsg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66F03CE39F501A80AC9 /* flmsg.cpp */; }; - E9974BEE07705F4F00206F68 /* flout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8F0383E50201A80AC9 /* flout.cpp */; }; - E9974BEF07705F4F00206F68 /* flproxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67103CE39F501A80AC9 /* flproxy.cpp */; }; - E9974BF007705F4F00206F68 /* flqueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67203CE39F501A80AC9 /* flqueue.cpp */; }; - E9974BF107705F4F00206F68 /* flsimd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D264044CC4A001A80AC9 /* flsimd.cpp */; }; - E9974BF207705F4F00206F68 /* flsupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED930383E50201A80AC9 /* flsupport.cpp */; }; - E9974BF307705F4F00206F68 /* flthr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED950383E50201A80AC9 /* flthr.cpp */; }; - E9974BF407705F4F00206F68 /* fltimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5B1FAC8041191190179CFEF /* fltimer.cpp */; }; - E9974BF507705F4F00206F68 /* flutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED960383E50201A80AC9 /* flutil.cpp */; }; - E9974BF607705F4F00206F68 /* flxlet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED970383E50201A80AC9 /* flxlet.cpp */; }; - E9974BF807705F4F00206F68 /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974802077054CD00206F68 /* vecLib.framework */; }; - E9974BF907705F4F00206F68 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E99748D007705BAF00206F68 /* ApplicationServices.framework */; }; - E9974E160770780D00206F68 /* MaxAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974E140770780D00206F68 /* MaxAPI.framework */; }; - E9974E170770780D00206F68 /* MaxAudioAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974E150770780D00206F68 /* MaxAudioAPI.framework */; }; - E9974E180770780D00206F68 /* MaxAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974E140770780D00206F68 /* MaxAPI.framework */; }; - E9974E190770780D00206F68 /* MaxAudioAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974E150770780D00206F68 /* MaxAudioAPI.framework */; }; - E9974E1A0770780D00206F68 /* MaxAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974E140770780D00206F68 /* MaxAPI.framework */; }; - E9974E1B0770780D00206F68 /* MaxAudioAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974E150770780D00206F68 /* MaxAudioAPI.framework */; }; - E99A3D920D35903A00E692EF /* atomic_int.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8B0D35903A00E692EF /* atomic_int.hpp */; }; - E99A3D930D35903A00E692EF /* atomic_ptr.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8C0D35903A00E692EF /* atomic_ptr.hpp */; }; - E99A3D940D35903A00E692EF /* branch_hints.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8D0D35903A00E692EF /* branch_hints.hpp */; }; - E99A3D950D35903A00E692EF /* cas.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8E0D35903A00E692EF /* cas.hpp */; }; - E99A3D960D35903A00E692EF /* fifo.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8F0D35903A00E692EF /* fifo.hpp */; }; - E99A3D970D35903A00E692EF /* prefix.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D900D35903A00E692EF /* prefix.hpp */; }; - E99A3D980D35903A00E692EF /* stack.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D910D35903A00E692EF /* stack.hpp */; }; - E99A3D990D35903A00E692EF /* atomic_int.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8B0D35903A00E692EF /* atomic_int.hpp */; }; - E99A3D9A0D35903A00E692EF /* atomic_ptr.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8C0D35903A00E692EF /* atomic_ptr.hpp */; }; - E99A3D9B0D35903A00E692EF /* branch_hints.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8D0D35903A00E692EF /* branch_hints.hpp */; }; - E99A3D9C0D35903A00E692EF /* cas.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8E0D35903A00E692EF /* cas.hpp */; }; - E99A3D9D0D35903A00E692EF /* fifo.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8F0D35903A00E692EF /* fifo.hpp */; }; - E99A3D9E0D35903A00E692EF /* prefix.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D900D35903A00E692EF /* prefix.hpp */; }; - E99A3D9F0D35903A00E692EF /* stack.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D910D35903A00E692EF /* stack.hpp */; }; - E99A3DA00D35903A00E692EF /* atomic_int.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8B0D35903A00E692EF /* atomic_int.hpp */; }; - E99A3DA10D35903A00E692EF /* atomic_ptr.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8C0D35903A00E692EF /* atomic_ptr.hpp */; }; - E99A3DA20D35903A00E692EF /* branch_hints.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8D0D35903A00E692EF /* branch_hints.hpp */; }; - E99A3DA30D35903A00E692EF /* cas.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8E0D35903A00E692EF /* cas.hpp */; }; - E99A3DA40D35903A00E692EF /* fifo.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8F0D35903A00E692EF /* fifo.hpp */; }; - E99A3DA50D35903A00E692EF /* prefix.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D900D35903A00E692EF /* prefix.hpp */; }; - E99A3DA60D35903A00E692EF /* stack.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D910D35903A00E692EF /* stack.hpp */; }; - E99A3DA70D35903A00E692EF /* atomic_int.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8B0D35903A00E692EF /* atomic_int.hpp */; }; - E99A3DA80D35903A00E692EF /* atomic_ptr.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8C0D35903A00E692EF /* atomic_ptr.hpp */; }; - E99A3DA90D35903A00E692EF /* branch_hints.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8D0D35903A00E692EF /* branch_hints.hpp */; }; - E99A3DAA0D35903A00E692EF /* cas.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8E0D35903A00E692EF /* cas.hpp */; }; - E99A3DAB0D35903A00E692EF /* fifo.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8F0D35903A00E692EF /* fifo.hpp */; }; - E99A3DAC0D35903A00E692EF /* prefix.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D900D35903A00E692EF /* prefix.hpp */; }; - E99A3DAD0D35903A00E692EF /* stack.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D910D35903A00E692EF /* stack.hpp */; }; - E99A3DAE0D35903A00E692EF /* atomic_int.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8B0D35903A00E692EF /* atomic_int.hpp */; }; - E99A3DAF0D35903A00E692EF /* atomic_ptr.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8C0D35903A00E692EF /* atomic_ptr.hpp */; }; - E99A3DB00D35903A00E692EF /* branch_hints.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8D0D35903A00E692EF /* branch_hints.hpp */; }; - E99A3DB10D35903A00E692EF /* cas.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8E0D35903A00E692EF /* cas.hpp */; }; - E99A3DB20D35903A00E692EF /* fifo.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8F0D35903A00E692EF /* fifo.hpp */; }; - E99A3DB30D35903A00E692EF /* prefix.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D900D35903A00E692EF /* prefix.hpp */; }; - E99A3DB40D35903A00E692EF /* stack.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D910D35903A00E692EF /* stack.hpp */; }; - E99A3DB50D35903A00E692EF /* atomic_int.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8B0D35903A00E692EF /* atomic_int.hpp */; }; - E99A3DB60D35903A00E692EF /* atomic_ptr.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8C0D35903A00E692EF /* atomic_ptr.hpp */; }; - E99A3DB70D35903A00E692EF /* branch_hints.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8D0D35903A00E692EF /* branch_hints.hpp */; }; - E99A3DB80D35903A00E692EF /* cas.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8E0D35903A00E692EF /* cas.hpp */; }; - E99A3DB90D35903A00E692EF /* fifo.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8F0D35903A00E692EF /* fifo.hpp */; }; - E99A3DBA0D35903A00E692EF /* prefix.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D900D35903A00E692EF /* prefix.hpp */; }; - E99A3DBB0D35903A00E692EF /* stack.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D910D35903A00E692EF /* stack.hpp */; }; - E99A3DCF0D3592AB00E692EF /* flmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E99A3DCE0D3592AB00E692EF /* flmap.cpp */; }; - E99A3DD00D3592AB00E692EF /* flmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E99A3DCE0D3592AB00E692EF /* flmap.cpp */; }; - E99A3DD10D3592AB00E692EF /* flmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E99A3DCE0D3592AB00E692EF /* flmap.cpp */; }; - E99A3DD20D3592AB00E692EF /* flmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E99A3DCE0D3592AB00E692EF /* flmap.cpp */; }; - E99A3DD30D3592AB00E692EF /* flmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E99A3DCE0D3592AB00E692EF /* flmap.cpp */; }; - E99A3DD40D3592AB00E692EF /* flmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E99A3DCE0D3592AB00E692EF /* flmap.cpp */; }; - E99A3DD80D3592D100E692EF /* flcontainers.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD50D3592D100E692EF /* flcontainers.h */; }; - E99A3DD90D3592D100E692EF /* flfeatures.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD60D3592D100E692EF /* flfeatures.h */; }; - E99A3DDA0D3592D100E692EF /* flmap.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD70D3592D100E692EF /* flmap.h */; }; - E99A3DDB0D3592D100E692EF /* flcontainers.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD50D3592D100E692EF /* flcontainers.h */; }; - E99A3DDC0D3592D100E692EF /* flfeatures.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD60D3592D100E692EF /* flfeatures.h */; }; - E99A3DDD0D3592D100E692EF /* flmap.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD70D3592D100E692EF /* flmap.h */; }; - E99A3DDE0D3592D100E692EF /* flcontainers.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD50D3592D100E692EF /* flcontainers.h */; }; - E99A3DDF0D3592D100E692EF /* flfeatures.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD60D3592D100E692EF /* flfeatures.h */; }; - E99A3DE00D3592D100E692EF /* flmap.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD70D3592D100E692EF /* flmap.h */; }; - E99A3DE10D3592D100E692EF /* flcontainers.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD50D3592D100E692EF /* flcontainers.h */; }; - E99A3DE20D3592D100E692EF /* flfeatures.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD60D3592D100E692EF /* flfeatures.h */; }; - E99A3DE30D3592D100E692EF /* flmap.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD70D3592D100E692EF /* flmap.h */; }; - E99A3DE40D3592D100E692EF /* flcontainers.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD50D3592D100E692EF /* flcontainers.h */; }; - E99A3DE50D3592D100E692EF /* flfeatures.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD60D3592D100E692EF /* flfeatures.h */; }; - E99A3DE60D3592D100E692EF /* flmap.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD70D3592D100E692EF /* flmap.h */; }; - E99A3DE70D3592D100E692EF /* flcontainers.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD50D3592D100E692EF /* flcontainers.h */; }; - E99A3DE80D3592D100E692EF /* flfeatures.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD60D3592D100E692EF /* flfeatures.h */; }; - E99A3DE90D3592D100E692EF /* flmap.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD70D3592D100E692EF /* flmap.h */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - E95B343A0F40BEE3006336AA /* flpushns.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = flpushns.h; sourceTree = "<group>"; }; - E95B34410F40BEF0006336AA /* flpopns.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = flpopns.h; sourceTree = "<group>"; }; - E99747CD0770545100206F68 /* libflext-pd_sd.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libflext-pd_sd.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - E9974802077054CD00206F68 /* vecLib.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = vecLib.framework; path = /System/Library/Frameworks/vecLib.framework; sourceTree = "<absolute>"; }; - E997483F0770570800206F68 /* libflext-pd_td.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libflext-pd_td.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - E9974886077058C100206F68 /* flext-pd_d.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "flext-pd_d.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; - E99748D007705BAF00206F68 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = "<absolute>"; }; - E99749BE07705CC400206F68 /* libflext-max_sd.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libflext-max_sd.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - E9974BC407705F1400206F68 /* libflext-max_td.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libflext-max_td.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - E9974BFA07705F4F00206F68 /* flext-max_d.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "flext-max_d.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; - E9974E140770780D00206F68 /* MaxAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAPI.framework; path = /Library/Frameworks/MaxAPI.framework; sourceTree = "<absolute>"; }; - E9974E150770780D00206F68 /* MaxAudioAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAudioAPI.framework; path = /Library/Frameworks/MaxAudioAPI.framework; sourceTree = "<absolute>"; }; - E99A3D8B0D35903A00E692EF /* atomic_int.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = atomic_int.hpp; sourceTree = "<group>"; }; - E99A3D8C0D35903A00E692EF /* atomic_ptr.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = atomic_ptr.hpp; sourceTree = "<group>"; }; - E99A3D8D0D35903A00E692EF /* branch_hints.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = branch_hints.hpp; sourceTree = "<group>"; }; - E99A3D8E0D35903A00E692EF /* cas.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = cas.hpp; sourceTree = "<group>"; }; - E99A3D8F0D35903A00E692EF /* fifo.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = fifo.hpp; sourceTree = "<group>"; }; - E99A3D900D35903A00E692EF /* prefix.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = prefix.hpp; sourceTree = "<group>"; }; - E99A3D910D35903A00E692EF /* stack.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = stack.hpp; sourceTree = "<group>"; }; - E99A3DCE0D3592AB00E692EF /* flmap.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flmap.cpp; path = source/flmap.cpp; sourceTree = "<group>"; }; - E99A3DD50D3592D100E692EF /* flcontainers.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flcontainers.h; sourceTree = "<group>"; }; - E99A3DD60D3592D100E692EF /* flfeatures.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flfeatures.h; sourceTree = "<group>"; }; - E99A3DD70D3592D100E692EF /* flmap.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flmap.h; sourceTree = "<group>"; }; - E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flattr_ed.cpp; path = source/flattr_ed.cpp; sourceTree = "<group>"; }; - F504A66C03CE39F501A80AC9 /* flatom_part.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flatom_part.cpp; path = source/flatom_part.cpp; sourceTree = "<group>"; }; - F504A66D03CE39F501A80AC9 /* flitem.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flitem.cpp; path = source/flitem.cpp; sourceTree = "<group>"; }; - F504A66E03CE39F501A80AC9 /* flmeth.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flmeth.cpp; path = source/flmeth.cpp; sourceTree = "<group>"; }; - F504A66F03CE39F501A80AC9 /* flmsg.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flmsg.cpp; path = source/flmsg.cpp; sourceTree = "<group>"; }; - F504A67003CE39F501A80AC9 /* flprefix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flprefix.h; sourceTree = "<group>"; }; - F504A67103CE39F501A80AC9 /* flproxy.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flproxy.cpp; path = source/flproxy.cpp; sourceTree = "<group>"; }; - F504A67203CE39F501A80AC9 /* flqueue.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flqueue.cpp; path = source/flqueue.cpp; sourceTree = "<group>"; }; - F504A67303CE39F501A80AC9 /* flstk.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flstk.cpp; path = source/flstk.cpp; sourceTree = "<group>"; }; - F504A67403CE39F501A80AC9 /* flstk.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flstk.h; sourceTree = "<group>"; }; - F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flatom_pr.cpp; path = source/flatom_pr.cpp; sourceTree = SOURCE_ROOT; }; - F55CED7C0383E50201A80AC9 /* flatom.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flatom.cpp; path = source/flatom.cpp; sourceTree = SOURCE_ROOT; }; - F55CED7D0383E50201A80AC9 /* flattr.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flattr.cpp; path = source/flattr.cpp; sourceTree = SOURCE_ROOT; }; - F55CED7E0383E50201A80AC9 /* flbase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flbase.cpp; path = source/flbase.cpp; sourceTree = SOURCE_ROOT; }; - F55CED7F0383E50201A80AC9 /* flbase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flbase.h; sourceTree = "<group>"; }; - F55CED800383E50201A80AC9 /* flbuf.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flbuf.cpp; path = source/flbuf.cpp; sourceTree = SOURCE_ROOT; }; - F55CED810383E50201A80AC9 /* flclass.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flclass.h; sourceTree = "<group>"; }; - F55CED860383E50201A80AC9 /* fldefs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = fldefs.h; path = source/fldefs.h; sourceTree = SOURCE_ROOT; }; - F55CED870383E50201A80AC9 /* fldoxygen.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fldoxygen.h; sourceTree = "<group>"; }; - F55CED880383E50201A80AC9 /* fldsp.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = fldsp.cpp; path = source/fldsp.cpp; sourceTree = SOURCE_ROOT; }; - F55CED890383E50201A80AC9 /* fldsp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fldsp.h; sourceTree = "<group>"; }; - F55CED8A0383E50201A80AC9 /* flext.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flext.cpp; path = source/flext.cpp; sourceTree = SOURCE_ROOT; }; - F55CED8B0383E50201A80AC9 /* flext.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flext.h; sourceTree = "<group>"; }; - F55CED8C0383E50201A80AC9 /* flinternal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flinternal.h; sourceTree = "<group>"; }; - F55CED8D0383E50201A80AC9 /* fllib.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = fllib.cpp; path = source/fllib.cpp; sourceTree = SOURCE_ROOT; }; - F55CED8E0383E50201A80AC9 /* flmspbuffer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flmspbuffer.h; sourceTree = "<group>"; }; - F55CED8F0383E50201A80AC9 /* flout.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flout.cpp; path = source/flout.cpp; sourceTree = SOURCE_ROOT; }; - F55CED900383E50201A80AC9 /* flsndobj.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flsndobj.cpp; path = source/flsndobj.cpp; sourceTree = SOURCE_ROOT; }; - F55CED910383E50201A80AC9 /* flsndobj.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flsndobj.h; sourceTree = "<group>"; }; - F55CED920383E50201A80AC9 /* flstdc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flstdc.h; sourceTree = "<group>"; }; - F55CED930383E50201A80AC9 /* flsupport.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flsupport.cpp; path = source/flsupport.cpp; sourceTree = SOURCE_ROOT; }; - F55CED940383E50201A80AC9 /* flsupport.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = flsupport.h; sourceTree = "<group>"; }; - F55CED950383E50201A80AC9 /* flthr.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flthr.cpp; path = source/flthr.cpp; sourceTree = SOURCE_ROOT; }; - F55CED960383E50201A80AC9 /* flutil.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flutil.cpp; path = source/flutil.cpp; sourceTree = SOURCE_ROOT; }; - F55CED970383E50201A80AC9 /* flxlet.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flxlet.cpp; path = source/flxlet.cpp; sourceTree = SOURCE_ROOT; }; - F598D263044CC4A001A80AC9 /* flbind.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flbind.cpp; path = source/flbind.cpp; sourceTree = "<group>"; }; - F598D264044CC4A001A80AC9 /* flsimd.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flsimd.cpp; path = source/flsimd.cpp; sourceTree = "<group>"; }; - F5B1FAC8041191190179CFEF /* fltimer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = fltimer.cpp; path = source/fltimer.cpp; sourceTree = "<group>"; }; - F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fldefs_attradd.h; sourceTree = "<group>"; }; - F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fldefs_attrcb.h; sourceTree = "<group>"; }; - F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fldefs_attrvar.h; sourceTree = "<group>"; }; - F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fldefs_hdr.h; sourceTree = "<group>"; }; - F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fldefs_methadd.h; sourceTree = "<group>"; }; - F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fldefs_methbind.h; sourceTree = "<group>"; }; - F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fldefs_methcall.h; sourceTree = "<group>"; }; - F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fldefs_methcb.h; sourceTree = "<group>"; }; - F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fldefs_meththr.h; sourceTree = "<group>"; }; - F5CBC5C104757BC801A0C81C /* fldefs_setup.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fldefs_setup.h; sourceTree = "<group>"; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - E99747CB0770545100206F68 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E9974803077054CD00206F68 /* vecLib.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E997483D0770570800206F68 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E997483E0770570800206F68 /* vecLib.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E9974884077058C100206F68 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E99749BF07705D5200206F68 /* vecLib.framework in Frameworks */, - E99748D107705BAF00206F68 /* ApplicationServices.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E99749BC07705CC400206F68 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E99749BD07705CC400206F68 /* vecLib.framework in Frameworks */, - E9974E160770780D00206F68 /* MaxAPI.framework in Frameworks */, - E9974E170770780D00206F68 /* MaxAudioAPI.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E9974BC207705F1400206F68 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E9974BC307705F1400206F68 /* vecLib.framework in Frameworks */, - E9974E180770780D00206F68 /* MaxAPI.framework in Frameworks */, - E9974E190770780D00206F68 /* MaxAudioAPI.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E9974BF707705F4F00206F68 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E9974BF807705F4F00206F68 /* vecLib.framework in Frameworks */, - E9974BF907705F4F00206F68 /* ApplicationServices.framework in Frameworks */, - E9974E1A0770780D00206F68 /* MaxAPI.framework in Frameworks */, - E9974E1B0770780D00206F68 /* MaxAudioAPI.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 034768DDFF38A45A11DB9C8B /* Products */ = { - isa = PBXGroup; - children = ( - E99747CD0770545100206F68 /* libflext-pd_sd.a */, - E997483F0770570800206F68 /* libflext-pd_td.a */, - E9974886077058C100206F68 /* flext-pd_d.dylib */, - E99749BE07705CC400206F68 /* libflext-max_sd.a */, - E9974BC407705F1400206F68 /* libflext-max_td.a */, - E9974BFA07705F4F00206F68 /* flext-max_d.dylib */, - ); - name = Products; - sourceTree = "<group>"; - }; - 0867D691FE84028FC02AAC07 /* flext-PB */ = { - isa = PBXGroup; - children = ( - F55CEDB50383E50D01A80AC9 /* Headers */, - 08FB77ACFE841707C02AAC07 /* Source */, - 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */, - 034768DDFF38A45A11DB9C8B /* Products */, - ); - name = "flext-PB"; - sourceTree = "<group>"; - }; - 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */ = { - isa = PBXGroup; - children = ( - E9974E140770780D00206F68 /* MaxAPI.framework */, - E9974E150770780D00206F68 /* MaxAudioAPI.framework */, - E99748D007705BAF00206F68 /* ApplicationServices.framework */, - E9974802077054CD00206F68 /* vecLib.framework */, - ); - name = "External Frameworks and Libraries"; - sourceTree = "<group>"; - }; - 08FB77ACFE841707C02AAC07 /* Source */ = { - isa = PBXGroup; - children = ( - E99A3DCE0D3592AB00E692EF /* flmap.cpp */, - F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */, - F55CED7C0383E50201A80AC9 /* flatom.cpp */, - F55CED7D0383E50201A80AC9 /* flattr.cpp */, - F55CED7E0383E50201A80AC9 /* flbase.cpp */, - F55CED800383E50201A80AC9 /* flbuf.cpp */, - F55CED880383E50201A80AC9 /* fldsp.cpp */, - F55CED8A0383E50201A80AC9 /* flext.cpp */, - F55CED8D0383E50201A80AC9 /* fllib.cpp */, - F55CED8F0383E50201A80AC9 /* flout.cpp */, - F55CED900383E50201A80AC9 /* flsndobj.cpp */, - F55CED930383E50201A80AC9 /* flsupport.cpp */, - F55CED950383E50201A80AC9 /* flthr.cpp */, - F55CED960383E50201A80AC9 /* flutil.cpp */, - F55CED970383E50201A80AC9 /* flxlet.cpp */, - F504A66C03CE39F501A80AC9 /* flatom_part.cpp */, - F504A66D03CE39F501A80AC9 /* flitem.cpp */, - F504A66E03CE39F501A80AC9 /* flmeth.cpp */, - F504A66F03CE39F501A80AC9 /* flmsg.cpp */, - F504A67103CE39F501A80AC9 /* flproxy.cpp */, - F504A67203CE39F501A80AC9 /* flqueue.cpp */, - F504A67303CE39F501A80AC9 /* flstk.cpp */, - F5B1FAC8041191190179CFEF /* fltimer.cpp */, - F598D263044CC4A001A80AC9 /* flbind.cpp */, - F598D264044CC4A001A80AC9 /* flsimd.cpp */, - E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */, - ); - name = Source; - sourceTree = SOURCE_ROOT; - }; - E99A3D870D358FB800E692EF /* lockfree */ = { - isa = PBXGroup; - children = ( - E99A3D8B0D35903A00E692EF /* atomic_int.hpp */, - E99A3D8C0D35903A00E692EF /* atomic_ptr.hpp */, - E99A3D8D0D35903A00E692EF /* branch_hints.hpp */, - E99A3D8E0D35903A00E692EF /* cas.hpp */, - E99A3D8F0D35903A00E692EF /* fifo.hpp */, - E99A3D900D35903A00E692EF /* prefix.hpp */, - E99A3D910D35903A00E692EF /* stack.hpp */, - ); - path = lockfree; - sourceTree = "<group>"; - }; - F55CEDB50383E50D01A80AC9 /* Headers */ = { - isa = PBXGroup; - children = ( - E99A3DD50D3592D100E692EF /* flcontainers.h */, - E99A3DD60D3592D100E692EF /* flfeatures.h */, - E99A3DD70D3592D100E692EF /* flmap.h */, - E99A3D870D358FB800E692EF /* lockfree */, - F5CBC61C04757BDA01A0C81C /* Defs */, - F504A67003CE39F501A80AC9 /* flprefix.h */, - F55CED7F0383E50201A80AC9 /* flbase.h */, - F55CED810383E50201A80AC9 /* flclass.h */, - F55CED870383E50201A80AC9 /* fldoxygen.h */, - F55CED890383E50201A80AC9 /* fldsp.h */, - F55CED8B0383E50201A80AC9 /* flext.h */, - F55CED8C0383E50201A80AC9 /* flinternal.h */, - F55CED8E0383E50201A80AC9 /* flmspbuffer.h */, - F55CED910383E50201A80AC9 /* flsndobj.h */, - F55CED920383E50201A80AC9 /* flstdc.h */, - F55CED940383E50201A80AC9 /* flsupport.h */, - F504A67403CE39F501A80AC9 /* flstk.h */, - E95B343A0F40BEE3006336AA /* flpushns.h */, - E95B34410F40BEF0006336AA /* flpopns.h */, - ); - name = Headers; - path = source; - sourceTree = "<group>"; - }; - F5CBC61C04757BDA01A0C81C /* Defs */ = { - isa = PBXGroup; - children = ( - F55CED860383E50201A80AC9 /* fldefs.h */, - F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */, - F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */, - F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */, - F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */, - F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */, - F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */, - F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */, - F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */, - F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */, - F5CBC5C104757BC801A0C81C /* fldefs_setup.h */, - ); - name = Defs; - sourceTree = "<group>"; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - E99747C90770545100206F68 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - E99747FA0770548F00206F68 /* flprefix.h in Headers */, - E99747E80770548F00206F68 /* flbase.h in Headers */, - E99747E90770548F00206F68 /* flclass.h in Headers */, - E99747F50770548F00206F68 /* fldoxygen.h in Headers */, - E99747F60770548F00206F68 /* fldsp.h in Headers */, - E99747F70770548F00206F68 /* flext.h in Headers */, - E99747F80770548F00206F68 /* flinternal.h in Headers */, - E99747F90770548F00206F68 /* flmspbuffer.h in Headers */, - E99747FC0770548F00206F68 /* flstdc.h in Headers */, - E99747FE0770548F00206F68 /* flsupport.h in Headers */, - E99747EA0770548F00206F68 /* fldefs.h in Headers */, - E99747EB0770548F00206F68 /* fldefs_attradd.h in Headers */, - E99747EC0770548F00206F68 /* fldefs_attrcb.h in Headers */, - E99747ED0770548F00206F68 /* fldefs_attrvar.h in Headers */, - E99747EE0770548F00206F68 /* fldefs_hdr.h in Headers */, - E99747EF0770548F00206F68 /* fldefs_methadd.h in Headers */, - E99747F00770548F00206F68 /* fldefs_methbind.h in Headers */, - E99747F10770548F00206F68 /* fldefs_methcall.h in Headers */, - E99747F20770548F00206F68 /* fldefs_methcb.h in Headers */, - E99747F30770548F00206F68 /* fldefs_meththr.h in Headers */, - E99747F40770548F00206F68 /* fldefs_setup.h in Headers */, - E99A3D990D35903A00E692EF /* atomic_int.hpp in Headers */, - E99A3D9A0D35903A00E692EF /* atomic_ptr.hpp in Headers */, - E99A3D9B0D35903A00E692EF /* branch_hints.hpp in Headers */, - E99A3D9C0D35903A00E692EF /* cas.hpp in Headers */, - E99A3D9D0D35903A00E692EF /* fifo.hpp in Headers */, - E99A3D9E0D35903A00E692EF /* prefix.hpp in Headers */, - E99A3D9F0D35903A00E692EF /* stack.hpp in Headers */, - E99A3DDB0D3592D100E692EF /* flcontainers.h in Headers */, - E99A3DDC0D3592D100E692EF /* flfeatures.h in Headers */, - E99A3DDD0D3592D100E692EF /* flmap.h in Headers */, - E95B34400F40BEE3006336AA /* flpushns.h in Headers */, - E95B34470F40BEF0006336AA /* flpopns.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E997480E0770570800206F68 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - E997480F0770570800206F68 /* flprefix.h in Headers */, - E99748100770570800206F68 /* flbase.h in Headers */, - E99748110770570800206F68 /* flclass.h in Headers */, - E99748120770570800206F68 /* fldoxygen.h in Headers */, - E99748130770570800206F68 /* fldsp.h in Headers */, - E99748140770570800206F68 /* flext.h in Headers */, - E99748150770570800206F68 /* flinternal.h in Headers */, - E99748160770570800206F68 /* flmspbuffer.h in Headers */, - E99748170770570800206F68 /* flstdc.h in Headers */, - E99748180770570800206F68 /* flsupport.h in Headers */, - E99748190770570800206F68 /* fldefs.h in Headers */, - E997481A0770570800206F68 /* fldefs_attradd.h in Headers */, - E997481B0770570800206F68 /* fldefs_attrcb.h in Headers */, - E997481C0770570800206F68 /* fldefs_attrvar.h in Headers */, - E997481D0770570800206F68 /* fldefs_hdr.h in Headers */, - E997481E0770570800206F68 /* fldefs_methadd.h in Headers */, - E997481F0770570800206F68 /* fldefs_methbind.h in Headers */, - E99748200770570800206F68 /* fldefs_methcall.h in Headers */, - E99748210770570800206F68 /* fldefs_methcb.h in Headers */, - E99748220770570800206F68 /* fldefs_meththr.h in Headers */, - E99748230770570800206F68 /* fldefs_setup.h in Headers */, - E99A3DA00D35903A00E692EF /* atomic_int.hpp in Headers */, - E99A3DA10D35903A00E692EF /* atomic_ptr.hpp in Headers */, - E99A3DA20D35903A00E692EF /* branch_hints.hpp in Headers */, - E99A3DA30D35903A00E692EF /* cas.hpp in Headers */, - E99A3DA40D35903A00E692EF /* fifo.hpp in Headers */, - E99A3DA50D35903A00E692EF /* prefix.hpp in Headers */, - E99A3DA60D35903A00E692EF /* stack.hpp in Headers */, - E99A3DDE0D3592D100E692EF /* flcontainers.h in Headers */, - E99A3DDF0D3592D100E692EF /* flfeatures.h in Headers */, - E99A3DE00D3592D100E692EF /* flmap.h in Headers */, - E95B343B0F40BEE3006336AA /* flpushns.h in Headers */, - E95B34420F40BEF0006336AA /* flpopns.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E9974882077058C100206F68 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - E99748B00770595E00206F68 /* fldefs.h in Headers */, - E99748B10770595E00206F68 /* fldefs_attradd.h in Headers */, - E99748B20770595E00206F68 /* fldefs_attrcb.h in Headers */, - E99748B30770595E00206F68 /* fldefs_attrvar.h in Headers */, - E99748B40770595E00206F68 /* fldefs_hdr.h in Headers */, - E99748B50770595E00206F68 /* fldefs_methadd.h in Headers */, - E99748B60770595E00206F68 /* fldefs_methbind.h in Headers */, - E99748B70770595E00206F68 /* fldefs_methcall.h in Headers */, - E99748B80770595E00206F68 /* fldefs_methcb.h in Headers */, - E99748B90770595E00206F68 /* fldefs_meththr.h in Headers */, - E99748BA0770595E00206F68 /* fldefs_setup.h in Headers */, - E99748A40770595500206F68 /* flprefix.h in Headers */, - E99748A50770595500206F68 /* flbase.h in Headers */, - E99748A60770595500206F68 /* flclass.h in Headers */, - E99748A70770595500206F68 /* fldoxygen.h in Headers */, - E99748A80770595500206F68 /* fldsp.h in Headers */, - E99748A90770595600206F68 /* flext.h in Headers */, - E99748AA0770595600206F68 /* flinternal.h in Headers */, - E99748AB0770595600206F68 /* flmspbuffer.h in Headers */, - E99748AC0770595600206F68 /* flsndobj.h in Headers */, - E99748AD0770595600206F68 /* flstdc.h in Headers */, - E99748AE0770595600206F68 /* flsupport.h in Headers */, - E99748AF0770595600206F68 /* flstk.h in Headers */, - E99A3D920D35903A00E692EF /* atomic_int.hpp in Headers */, - E99A3D930D35903A00E692EF /* atomic_ptr.hpp in Headers */, - E99A3D940D35903A00E692EF /* branch_hints.hpp in Headers */, - E99A3D950D35903A00E692EF /* cas.hpp in Headers */, - E99A3D960D35903A00E692EF /* fifo.hpp in Headers */, - E99A3D970D35903A00E692EF /* prefix.hpp in Headers */, - E99A3D980D35903A00E692EF /* stack.hpp in Headers */, - E99A3DD80D3592D100E692EF /* flcontainers.h in Headers */, - E99A3DD90D3592D100E692EF /* flfeatures.h in Headers */, - E99A3DDA0D3592D100E692EF /* flmap.h in Headers */, - E95B343C0F40BEE3006336AA /* flpushns.h in Headers */, - E95B34430F40BEF0006336AA /* flpopns.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E997498D07705CC400206F68 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - E997498E07705CC400206F68 /* flprefix.h in Headers */, - E997498F07705CC400206F68 /* flbase.h in Headers */, - E997499007705CC400206F68 /* flclass.h in Headers */, - E997499107705CC400206F68 /* fldoxygen.h in Headers */, - E997499207705CC400206F68 /* fldsp.h in Headers */, - E997499307705CC400206F68 /* flext.h in Headers */, - E997499407705CC400206F68 /* flinternal.h in Headers */, - E997499507705CC400206F68 /* flmspbuffer.h in Headers */, - E997499607705CC400206F68 /* flstdc.h in Headers */, - E997499707705CC400206F68 /* flsupport.h in Headers */, - E997499807705CC400206F68 /* fldefs.h in Headers */, - E997499907705CC400206F68 /* fldefs_attradd.h in Headers */, - E997499A07705CC400206F68 /* fldefs_attrcb.h in Headers */, - E997499B07705CC400206F68 /* fldefs_attrvar.h in Headers */, - E997499C07705CC400206F68 /* fldefs_hdr.h in Headers */, - E997499D07705CC400206F68 /* fldefs_methadd.h in Headers */, - E997499E07705CC400206F68 /* fldefs_methbind.h in Headers */, - E997499F07705CC400206F68 /* fldefs_methcall.h in Headers */, - E99749A007705CC400206F68 /* fldefs_methcb.h in Headers */, - E99749A107705CC400206F68 /* fldefs_meththr.h in Headers */, - E99749A207705CC400206F68 /* fldefs_setup.h in Headers */, - E99A3DA70D35903A00E692EF /* atomic_int.hpp in Headers */, - E99A3DA80D35903A00E692EF /* atomic_ptr.hpp in Headers */, - E99A3DA90D35903A00E692EF /* branch_hints.hpp in Headers */, - E99A3DAA0D35903A00E692EF /* cas.hpp in Headers */, - E99A3DAB0D35903A00E692EF /* fifo.hpp in Headers */, - E99A3DAC0D35903A00E692EF /* prefix.hpp in Headers */, - E99A3DAD0D35903A00E692EF /* stack.hpp in Headers */, - E99A3DE10D3592D100E692EF /* flcontainers.h in Headers */, - E99A3DE20D3592D100E692EF /* flfeatures.h in Headers */, - E99A3DE30D3592D100E692EF /* flmap.h in Headers */, - E95B343F0F40BEE3006336AA /* flpushns.h in Headers */, - E95B34460F40BEF0006336AA /* flpopns.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E9974B9307705F1400206F68 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - E9974B9407705F1400206F68 /* flprefix.h in Headers */, - E9974B9507705F1400206F68 /* flbase.h in Headers */, - E9974B9607705F1400206F68 /* flclass.h in Headers */, - E9974B9707705F1400206F68 /* fldoxygen.h in Headers */, - E9974B9807705F1400206F68 /* fldsp.h in Headers */, - E9974B9907705F1400206F68 /* flext.h in Headers */, - E9974B9A07705F1400206F68 /* flinternal.h in Headers */, - E9974B9B07705F1400206F68 /* flmspbuffer.h in Headers */, - E9974B9C07705F1400206F68 /* flstdc.h in Headers */, - E9974B9D07705F1400206F68 /* flsupport.h in Headers */, - E9974B9E07705F1400206F68 /* fldefs.h in Headers */, - E9974B9F07705F1400206F68 /* fldefs_attradd.h in Headers */, - E9974BA007705F1400206F68 /* fldefs_attrcb.h in Headers */, - E9974BA107705F1400206F68 /* fldefs_attrvar.h in Headers */, - E9974BA207705F1400206F68 /* fldefs_hdr.h in Headers */, - E9974BA307705F1400206F68 /* fldefs_methadd.h in Headers */, - E9974BA407705F1400206F68 /* fldefs_methbind.h in Headers */, - E9974BA507705F1400206F68 /* fldefs_methcall.h in Headers */, - E9974BA607705F1400206F68 /* fldefs_methcb.h in Headers */, - E9974BA707705F1400206F68 /* fldefs_meththr.h in Headers */, - E9974BA807705F1400206F68 /* fldefs_setup.h in Headers */, - E99A3DAE0D35903A00E692EF /* atomic_int.hpp in Headers */, - E99A3DAF0D35903A00E692EF /* atomic_ptr.hpp in Headers */, - E99A3DB00D35903A00E692EF /* branch_hints.hpp in Headers */, - E99A3DB10D35903A00E692EF /* cas.hpp in Headers */, - E99A3DB20D35903A00E692EF /* fifo.hpp in Headers */, - E99A3DB30D35903A00E692EF /* prefix.hpp in Headers */, - E99A3DB40D35903A00E692EF /* stack.hpp in Headers */, - E99A3DE40D3592D100E692EF /* flcontainers.h in Headers */, - E99A3DE50D3592D100E692EF /* flfeatures.h in Headers */, - E99A3DE60D3592D100E692EF /* flmap.h in Headers */, - E95B343D0F40BEE3006336AA /* flpushns.h in Headers */, - E95B34440F40BEF0006336AA /* flpopns.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E9974BC607705F4F00206F68 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - E9974BC707705F4F00206F68 /* fldefs.h in Headers */, - E9974BC807705F4F00206F68 /* fldefs_attradd.h in Headers */, - E9974BC907705F4F00206F68 /* fldefs_attrcb.h in Headers */, - E9974BCA07705F4F00206F68 /* fldefs_attrvar.h in Headers */, - E9974BCB07705F4F00206F68 /* fldefs_hdr.h in Headers */, - E9974BCC07705F4F00206F68 /* fldefs_methadd.h in Headers */, - E9974BCD07705F4F00206F68 /* fldefs_methbind.h in Headers */, - E9974BCE07705F4F00206F68 /* fldefs_methcall.h in Headers */, - E9974BCF07705F4F00206F68 /* fldefs_methcb.h in Headers */, - E9974BD007705F4F00206F68 /* fldefs_meththr.h in Headers */, - E9974BD107705F4F00206F68 /* fldefs_setup.h in Headers */, - E9974BD207705F4F00206F68 /* flprefix.h in Headers */, - E9974BD307705F4F00206F68 /* flbase.h in Headers */, - E9974BD407705F4F00206F68 /* flclass.h in Headers */, - E9974BD507705F4F00206F68 /* fldoxygen.h in Headers */, - E9974BD607705F4F00206F68 /* fldsp.h in Headers */, - E9974BD707705F4F00206F68 /* flext.h in Headers */, - E9974BD807705F4F00206F68 /* flinternal.h in Headers */, - E9974BD907705F4F00206F68 /* flmspbuffer.h in Headers */, - E9974BDA07705F4F00206F68 /* flsndobj.h in Headers */, - E9974BDB07705F4F00206F68 /* flstdc.h in Headers */, - E9974BDC07705F4F00206F68 /* flsupport.h in Headers */, - E9974BDD07705F4F00206F68 /* flstk.h in Headers */, - E99A3DB50D35903A00E692EF /* atomic_int.hpp in Headers */, - E99A3DB60D35903A00E692EF /* atomic_ptr.hpp in Headers */, - E99A3DB70D35903A00E692EF /* branch_hints.hpp in Headers */, - E99A3DB80D35903A00E692EF /* cas.hpp in Headers */, - E99A3DB90D35903A00E692EF /* fifo.hpp in Headers */, - E99A3DBA0D35903A00E692EF /* prefix.hpp in Headers */, - E99A3DBB0D35903A00E692EF /* stack.hpp in Headers */, - E99A3DE70D3592D100E692EF /* flcontainers.h in Headers */, - E99A3DE80D3592D100E692EF /* flfeatures.h in Headers */, - E99A3DE90D3592D100E692EF /* flmap.h in Headers */, - E95B343E0F40BEE3006336AA /* flpushns.h in Headers */, - E95B34450F40BEF0006336AA /* flpopns.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - E99747CC0770545100206F68 /* PD static single */ = { - isa = PBXNativeTarget; - buildConfigurationList = E9A5BCA10A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "PD static single" */; - buildPhases = ( - E99747C90770545100206F68 /* Headers */, - E99747CA0770545100206F68 /* Sources */, - E99747CB0770545100206F68 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "PD static single"; - productName = "PD static single"; - productReference = E99747CD0770545100206F68 /* libflext-pd_sd.a */; - productType = "com.apple.product-type.library.static"; - }; - E997480D0770570800206F68 /* PD static multi */ = { - isa = PBXNativeTarget; - buildConfigurationList = E9A5BCA50A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "PD static multi" */; - buildPhases = ( - E997480E0770570800206F68 /* Headers */, - E99748240770570800206F68 /* Sources */, - E997483D0770570800206F68 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "PD static multi"; - productName = "PD static single"; - productReference = E997483F0770570800206F68 /* libflext-pd_td.a */; - productType = "com.apple.product-type.library.static"; - }; - E9974885077058C100206F68 /* PD shared */ = { - isa = PBXNativeTarget; - buildConfigurationList = E9A5BCA90A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "PD shared" */; - buildPhases = ( - E9974882077058C100206F68 /* Headers */, - E9974883077058C100206F68 /* Sources */, - E9974884077058C100206F68 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "PD shared"; - productName = "PD shared"; - productReference = E9974886077058C100206F68 /* flext-pd_d.dylib */; - productType = "com.apple.product-type.library.dynamic"; - }; - E997498C07705CC400206F68 /* Max static single */ = { - isa = PBXNativeTarget; - buildConfigurationList = E9A5BCAD0A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "Max static single" */; - buildPhases = ( - E997498D07705CC400206F68 /* Headers */, - E99749A307705CC400206F68 /* Sources */, - E99749BC07705CC400206F68 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Max static single"; - productName = "PD static single"; - productReference = E99749BE07705CC400206F68 /* libflext-max_sd.a */; - productType = "com.apple.product-type.library.static"; - }; - E9974B9207705F1400206F68 /* Max static multi */ = { - isa = PBXNativeTarget; - buildConfigurationList = E9A5BCB10A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "Max static multi" */; - buildPhases = ( - E9974B9307705F1400206F68 /* Headers */, - E9974BA907705F1400206F68 /* Sources */, - E9974BC207705F1400206F68 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Max static multi"; - productName = "PD static single"; - productReference = E9974BC407705F1400206F68 /* libflext-max_td.a */; - productType = "com.apple.product-type.library.static"; - }; - E9974BC507705F4F00206F68 /* Max shared */ = { - isa = PBXNativeTarget; - buildConfigurationList = E9A5BCB50A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "Max shared" */; - buildPhases = ( - E9974BC607705F4F00206F68 /* Headers */, - E9974BDE07705F4F00206F68 /* Sources */, - E9974BF707705F4F00206F68 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Max shared"; - productName = "PD shared"; - productReference = E9974BFA07705F4F00206F68 /* flext-max_d.dylib */; - productType = "com.apple.product-type.library.dynamic"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 0867D690FE84028FC02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = E9A5BCB90A3381C400AD9F03 /* Build configuration list for PBXProject "flext" */; - compatibilityVersion = "Xcode 2.4"; - hasScannedForEncodings = 1; - mainGroup = 0867D691FE84028FC02AAC07 /* flext-PB */; - productRefGroup = 034768DDFF38A45A11DB9C8B /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - E99747CC0770545100206F68 /* PD static single */, - E997480D0770570800206F68 /* PD static multi */, - E9974885077058C100206F68 /* PD shared */, - E997498C07705CC400206F68 /* Max static single */, - E9974B9207705F1400206F68 /* Max static multi */, - E9974BC507705F4F00206F68 /* Max shared */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXSourcesBuildPhase section */ - E99747CA0770545100206F68 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E99747CE0770548700206F68 /* flatom.cpp in Sources */, - E99747D00770548700206F68 /* flatom_part.cpp in Sources */, - E99747D10770548700206F68 /* flatom_pr.cpp in Sources */, - E99747D20770548700206F68 /* flattr.cpp in Sources */, - E99747D30770548700206F68 /* flattr_ed.cpp in Sources */, - E99747D40770548700206F68 /* flbase.cpp in Sources */, - E99747D50770548700206F68 /* flbind.cpp in Sources */, - E99747D60770548700206F68 /* flbuf.cpp in Sources */, - E99747D70770548700206F68 /* fldsp.cpp in Sources */, - E99747D80770548700206F68 /* flext.cpp in Sources */, - E99747D90770548700206F68 /* flitem.cpp in Sources */, - E99747DA0770548700206F68 /* fllib.cpp in Sources */, - E99747DB0770548700206F68 /* flmeth.cpp in Sources */, - E99747DC0770548700206F68 /* flmsg.cpp in Sources */, - E99747DD0770548700206F68 /* flout.cpp in Sources */, - E99747DE0770548700206F68 /* flproxy.cpp in Sources */, - E99747DF0770548700206F68 /* flqueue.cpp in Sources */, - E99747E00770548700206F68 /* flsimd.cpp in Sources */, - E99747E30770548700206F68 /* flsupport.cpp in Sources */, - E99747E40770548700206F68 /* flthr.cpp in Sources */, - E99747E50770548700206F68 /* fltimer.cpp in Sources */, - E99747E60770548700206F68 /* flutil.cpp in Sources */, - E99747E70770548700206F68 /* flxlet.cpp in Sources */, - E99A3DD00D3592AB00E692EF /* flmap.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E99748240770570800206F68 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E99748250770570800206F68 /* flatom.cpp in Sources */, - E99748270770570800206F68 /* flatom_part.cpp in Sources */, - E99748280770570800206F68 /* flatom_pr.cpp in Sources */, - E99748290770570800206F68 /* flattr.cpp in Sources */, - E997482A0770570800206F68 /* flattr_ed.cpp in Sources */, - E997482B0770570800206F68 /* flbase.cpp in Sources */, - E997482C0770570800206F68 /* flbind.cpp in Sources */, - E997482D0770570800206F68 /* flbuf.cpp in Sources */, - E997482E0770570800206F68 /* fldsp.cpp in Sources */, - E997482F0770570800206F68 /* flext.cpp in Sources */, - E99748300770570800206F68 /* flitem.cpp in Sources */, - E99748310770570800206F68 /* fllib.cpp in Sources */, - E99748320770570800206F68 /* flmeth.cpp in Sources */, - E99748330770570800206F68 /* flmsg.cpp in Sources */, - E99748340770570800206F68 /* flout.cpp in Sources */, - E99748350770570800206F68 /* flproxy.cpp in Sources */, - E99748360770570800206F68 /* flqueue.cpp in Sources */, - E99748370770570800206F68 /* flsimd.cpp in Sources */, - E99748380770570800206F68 /* flsupport.cpp in Sources */, - E99748390770570800206F68 /* flthr.cpp in Sources */, - E997483A0770570800206F68 /* fltimer.cpp in Sources */, - E997483B0770570800206F68 /* flutil.cpp in Sources */, - E997483C0770570800206F68 /* flxlet.cpp in Sources */, - E99A3DD10D3592AB00E692EF /* flmap.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E9974883077058C100206F68 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E997488C0770593C00206F68 /* flatom.cpp in Sources */, - E997488E0770593C00206F68 /* flatom_part.cpp in Sources */, - E997488F0770593C00206F68 /* flatom_pr.cpp in Sources */, - E99748900770593C00206F68 /* flattr.cpp in Sources */, - E99748910770593C00206F68 /* flattr_ed.cpp in Sources */, - E99748920770593C00206F68 /* flbase.cpp in Sources */, - E99748930770593C00206F68 /* flbind.cpp in Sources */, - E99748940770593C00206F68 /* flbuf.cpp in Sources */, - E99748950770593C00206F68 /* fldsp.cpp in Sources */, - E99748960770593C00206F68 /* flext.cpp in Sources */, - E99748970770593C00206F68 /* flitem.cpp in Sources */, - E99748980770593C00206F68 /* fllib.cpp in Sources */, - E99748990770593C00206F68 /* flmeth.cpp in Sources */, - E997489A0770593C00206F68 /* flmsg.cpp in Sources */, - E997489B0770593C00206F68 /* flout.cpp in Sources */, - E997489C0770593C00206F68 /* flproxy.cpp in Sources */, - E997489D0770593C00206F68 /* flqueue.cpp in Sources */, - E997489E0770593C00206F68 /* flsimd.cpp in Sources */, - E997489F0770593C00206F68 /* flsupport.cpp in Sources */, - E99748A00770593C00206F68 /* flthr.cpp in Sources */, - E99748A10770593C00206F68 /* fltimer.cpp in Sources */, - E99748A20770593C00206F68 /* flutil.cpp in Sources */, - E99748A30770593C00206F68 /* flxlet.cpp in Sources */, - E99A3DCF0D3592AB00E692EF /* flmap.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E99749A307705CC400206F68 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E99749A407705CC400206F68 /* flatom.cpp in Sources */, - E99749A607705CC400206F68 /* flatom_part.cpp in Sources */, - E99749A707705CC400206F68 /* flatom_pr.cpp in Sources */, - E99749A807705CC400206F68 /* flattr.cpp in Sources */, - E99749A907705CC400206F68 /* flattr_ed.cpp in Sources */, - E99749AA07705CC400206F68 /* flbase.cpp in Sources */, - E99749AB07705CC400206F68 /* flbind.cpp in Sources */, - E99749AC07705CC400206F68 /* flbuf.cpp in Sources */, - E99749AD07705CC400206F68 /* fldsp.cpp in Sources */, - E99749AE07705CC400206F68 /* flext.cpp in Sources */, - E99749AF07705CC400206F68 /* flitem.cpp in Sources */, - E99749B007705CC400206F68 /* fllib.cpp in Sources */, - E99749B107705CC400206F68 /* flmeth.cpp in Sources */, - E99749B207705CC400206F68 /* flmsg.cpp in Sources */, - E99749B307705CC400206F68 /* flout.cpp in Sources */, - E99749B407705CC400206F68 /* flproxy.cpp in Sources */, - E99749B507705CC400206F68 /* flqueue.cpp in Sources */, - E99749B607705CC400206F68 /* flsimd.cpp in Sources */, - E99749B707705CC400206F68 /* flsupport.cpp in Sources */, - E99749B807705CC400206F68 /* flthr.cpp in Sources */, - E99749B907705CC400206F68 /* fltimer.cpp in Sources */, - E99749BA07705CC400206F68 /* flutil.cpp in Sources */, - E99749BB07705CC400206F68 /* flxlet.cpp in Sources */, - E99A3DD20D3592AB00E692EF /* flmap.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E9974BA907705F1400206F68 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E9974BAA07705F1400206F68 /* flatom.cpp in Sources */, - E9974BAC07705F1400206F68 /* flatom_part.cpp in Sources */, - E9974BAD07705F1400206F68 /* flatom_pr.cpp in Sources */, - E9974BAE07705F1400206F68 /* flattr.cpp in Sources */, - E9974BAF07705F1400206F68 /* flattr_ed.cpp in Sources */, - E9974BB007705F1400206F68 /* flbase.cpp in Sources */, - E9974BB107705F1400206F68 /* flbind.cpp in Sources */, - E9974BB207705F1400206F68 /* flbuf.cpp in Sources */, - E9974BB307705F1400206F68 /* fldsp.cpp in Sources */, - E9974BB407705F1400206F68 /* flext.cpp in Sources */, - E9974BB507705F1400206F68 /* flitem.cpp in Sources */, - E9974BB607705F1400206F68 /* fllib.cpp in Sources */, - E9974BB707705F1400206F68 /* flmeth.cpp in Sources */, - E9974BB807705F1400206F68 /* flmsg.cpp in Sources */, - E9974BB907705F1400206F68 /* flout.cpp in Sources */, - E9974BBA07705F1400206F68 /* flproxy.cpp in Sources */, - E9974BBB07705F1400206F68 /* flqueue.cpp in Sources */, - E9974BBC07705F1400206F68 /* flsimd.cpp in Sources */, - E9974BBD07705F1400206F68 /* flsupport.cpp in Sources */, - E9974BBE07705F1400206F68 /* flthr.cpp in Sources */, - E9974BBF07705F1400206F68 /* fltimer.cpp in Sources */, - E9974BC007705F1400206F68 /* flutil.cpp in Sources */, - E9974BC107705F1400206F68 /* flxlet.cpp in Sources */, - E99A3DD30D3592AB00E692EF /* flmap.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E9974BDE07705F4F00206F68 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E9974BDF07705F4F00206F68 /* flatom.cpp in Sources */, - E9974BE107705F4F00206F68 /* flatom_part.cpp in Sources */, - E9974BE207705F4F00206F68 /* flatom_pr.cpp in Sources */, - E9974BE307705F4F00206F68 /* flattr.cpp in Sources */, - E9974BE407705F4F00206F68 /* flattr_ed.cpp in Sources */, - E9974BE507705F4F00206F68 /* flbase.cpp in Sources */, - E9974BE607705F4F00206F68 /* flbind.cpp in Sources */, - E9974BE707705F4F00206F68 /* flbuf.cpp in Sources */, - E9974BE807705F4F00206F68 /* fldsp.cpp in Sources */, - E9974BE907705F4F00206F68 /* flext.cpp in Sources */, - E9974BEA07705F4F00206F68 /* flitem.cpp in Sources */, - E9974BEB07705F4F00206F68 /* fllib.cpp in Sources */, - E9974BEC07705F4F00206F68 /* flmeth.cpp in Sources */, - E9974BED07705F4F00206F68 /* flmsg.cpp in Sources */, - E9974BEE07705F4F00206F68 /* flout.cpp in Sources */, - E9974BEF07705F4F00206F68 /* flproxy.cpp in Sources */, - E9974BF007705F4F00206F68 /* flqueue.cpp in Sources */, - E9974BF107705F4F00206F68 /* flsimd.cpp in Sources */, - E9974BF207705F4F00206F68 /* flsupport.cpp in Sources */, - E9974BF307705F4F00206F68 /* flthr.cpp in Sources */, - E9974BF407705F4F00206F68 /* fltimer.cpp in Sources */, - E9974BF507705F4F00206F68 /* flutil.cpp in Sources */, - E9974BF607705F4F00206F68 /* flxlet.cpp in Sources */, - E99A3DD40D3592AB00E692EF /* flmap.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - E9A5BCA20A3381C400AD9F03 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=2", - ); - HEADER_SEARCH_PATHS = "$(PD)/src"; - INSTALL_PATH = /usr/local/lib; - LIBRARY_STYLE = STATIC; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "$(inherited)-pd_sd"; - ZERO_LINK = YES; - }; - name = Development; - }; - E9A5BCA30A3381C400AD9F03 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=2", - ); - HEADER_SEARCH_PATHS = "$(PD)/src"; - INSTALL_PATH = /usr/local/lib; - LIBRARY_STYLE = STATIC; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "$(inherited)-pd_s"; - SECTORDER_FLAGS = ""; - ZERO_LINK = NO; - }; - name = Deployment; - }; - E9A5BCA60A3381C400AD9F03 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=2", - FLEXT_THREADS, - ); - HEADER_SEARCH_PATHS = "$(PD)/src"; - INSTALL_PATH = /usr/local/lib; - LIBRARY_STYLE = STATIC; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "$(inherited)-pd_td"; - }; - name = Development; - }; - E9A5BCA70A3381C400AD9F03 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=2", - FLEXT_THREADS, - ); - HEADER_SEARCH_PATHS = "$(PD)/src"; - INSTALL_PATH = /usr/local/lib; - LIBRARY_STYLE = STATIC; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "$(inherited)-pd_t"; - }; - name = Deployment; - }; - E9A5BCAA0A3381C400AD9F03 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=2", - FLEXT_SHARED, - ); - HEADER_SEARCH_PATHS = "$(PD)/src"; - INSTALL_PATH = /usr/local/lib; - LIBRARY_STYLE = BUNDLE; - MACH_O_TYPE = mh_dylib; - OTHER_LDFLAGS = ( - "-undefined", - dynamic_lookup, - ); - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "$(inherited)-pd_d"; - }; - name = Development; - }; - E9A5BCAB0A3381C400AD9F03 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=2", - FLEXT_SHARED, - ); - HEADER_SEARCH_PATHS = "$(PD)/src"; - INSTALL_PATH = /usr/local/lib; - LIBRARY_STYLE = BUNDLE; - MACH_O_TYPE = mh_dylib; - OTHER_LDFLAGS = ( - "-undefined", - dynamic_lookup, - ); - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "$(inherited)-pd"; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - }; - name = Deployment; - }; - E9A5BCAE0A3381C400AD9F03 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=1", - MAC_VERSION, - ); - HEADER_SEARCH_PATHS = ( - "$(maxsdk)/max-includes", - "$(maxsdk)/msp-includes", - ); - INSTALL_PATH = /usr/local/lib; - LIBRARY_STYLE = STATIC; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "$(inherited)-max_sd"; - }; - name = Development; - }; - E9A5BCAF0A3381C400AD9F03 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=1", - ); - HEADER_SEARCH_PATHS = ( - "$(maxsdk)/max-includes", - "$(maxsdk)/msp-includes", - ); - INSTALL_PATH = /usr/local/lib; - LIBRARY_STYLE = STATIC; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "$(inherited)-max_s"; - }; - name = Deployment; - }; - E9A5BCB20A3381C400AD9F03 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=1", - FLEXT_THREADS, - ); - HEADER_SEARCH_PATHS = ( - "$(maxsdk)/max-includes", - "$(maxsdk)/msp-includes", - ); - INSTALL_PATH = /usr/local/lib; - LIBRARY_STYLE = STATIC; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "$(inherited)-max_td"; - }; - name = Development; - }; - E9A5BCB30A3381C400AD9F03 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=1", - FLEXT_THREADS, - ); - HEADER_SEARCH_PATHS = ( - "$(maxsdk)/max-includes", - "$(maxsdk)/msp-includes", - ); - INSTALL_PATH = /usr/local/lib; - LIBRARY_STYLE = STATIC; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "$(inherited)-max_t"; - }; - name = Deployment; - }; - E9A5BCB60A3381C400AD9F03 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=1", - FLEXT_SHARED, - ); - HEADER_SEARCH_PATHS = ( - "$(maxsdk)/max-includes", - "$(maxsdk)/msp-includes", - ); - INSTALL_PATH = /usr/local/lib; - LIBRARY_SEARCH_PATHS = ( - "$(maxsdk)/msp-includes", - "$(maxsdk)/msp-includes", - ); - LIBRARY_STYLE = DYNAMIC; - MACH_O_TYPE = mh_dylib; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "$(inherited)-max_d"; - }; - name = Development; - }; - E9A5BCB70A3381C400AD9F03 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FLEXT_SYS=1", - FLEXT_SHARED, - ); - HEADER_SEARCH_PATHS = ( - "$(maxsdk)/max-includes", - "$(maxsdk)/msp-includes", - ); - INSTALL_PATH = /usr/local/lib; - LIBRARY_SEARCH_PATHS = ( - "$(maxsdk)/msp-includes", - "$(maxsdk)/msp-includes", - ); - LIBRARY_STYLE = DYNAMIC; - MACH_O_TYPE = mh_dylib; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "$(inherited)-max"; - }; - name = Deployment; - }; - E9A5BCBA0A3381C400AD9F03 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - GCC_ALTIVEC_EXTENSIONS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = source/flext.h; - GCC_PREPROCESSOR_DEFINITIONS = ( - DEBUG, - FLEXT_USE_SIMD, - FLEXT_NAMESPACE, - FLEXT_USE_CMEM, - ); - MACOSX_DEPLOYMENT_TARGET = 10.3; - PRODUCT_NAME = "$(PROJECT_NAME)"; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - }; - name = Development; - }; - E9A5BCBB0A3381C400AD9F03 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = source/flext.h; - GCC_PREPROCESSOR_DEFINITIONS = ( - NDEBUG, - FLEXT_USE_SIMD, - ); - MACOSX_DEPLOYMENT_TARGET = 10.3; - PRODUCT_NAME = "$(PROJECT_NAME)"; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - }; - name = Deployment; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - E9A5BCA10A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "PD static single" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E9A5BCA20A3381C400AD9F03 /* Development */, - E9A5BCA30A3381C400AD9F03 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Deployment; - }; - E9A5BCA50A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "PD static multi" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E9A5BCA60A3381C400AD9F03 /* Development */, - E9A5BCA70A3381C400AD9F03 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Deployment; - }; - E9A5BCA90A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "PD shared" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E9A5BCAA0A3381C400AD9F03 /* Development */, - E9A5BCAB0A3381C400AD9F03 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Deployment; - }; - E9A5BCAD0A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "Max static single" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E9A5BCAE0A3381C400AD9F03 /* Development */, - E9A5BCAF0A3381C400AD9F03 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Deployment; - }; - E9A5BCB10A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "Max static multi" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E9A5BCB20A3381C400AD9F03 /* Development */, - E9A5BCB30A3381C400AD9F03 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Deployment; - }; - E9A5BCB50A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "Max shared" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E9A5BCB60A3381C400AD9F03 /* Development */, - E9A5BCB70A3381C400AD9F03 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Deployment; - }; - E9A5BCB90A3381C400AD9F03 /* Build configuration list for PBXProject "flext" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E9A5BCBA0A3381C400AD9F03 /* Development */, - E9A5BCBB0A3381C400AD9F03 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Deployment; - }; -/* End XCConfigurationList section */ - }; - rootObject = 0867D690FE84028FC02AAC07 /* Project object */; -} diff --git a/externals/grill/trunk/flext/gpl.txt b/externals/grill/trunk/flext/gpl.txt deleted file mode 100644 index 5ea29a7df..000000000 --- a/externals/grill/trunk/flext/gpl.txt +++ /dev/null @@ -1,346 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) 19yy <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19yy name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. - diff --git a/externals/grill/trunk/flext/license.txt b/externals/grill/trunk/flext/license.txt deleted file mode 100644 index 9488294fe..000000000 --- a/externals/grill/trunk/flext/license.txt +++ /dev/null @@ -1,19 +0,0 @@ -flext - C++ layer for Max/MSP and pd (pure data) externals -Copyright (C) 2001-2005 Thomas Grill - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -In the official flext distribution, the GNU General Public License is -in the file gpl.txt \ No newline at end of file diff --git a/externals/grill/trunk/flext/notes.txt b/externals/grill/trunk/flext/notes.txt deleted file mode 100644 index 93c71227f..000000000 --- a/externals/grill/trunk/flext/notes.txt +++ /dev/null @@ -1,69 +0,0 @@ -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. - ----------------------------------------------------------------------------- - -VARIOUS NOTES: - -Platform specific: -- PD does not allow signal and message to go into the same inlet (except leftmost inlet) -- PD: with DSP objects all float messages to the leftmost inlet are converted to signal - -Restrictions in compatibility mode: -- Max allows only 9 float/int inlets - -Porting to new compilers/platforms: -- enums must be int-sized!!! -- compiler must support bool type -- an STL implementation must exist -- C++ exceptions and RTTI must be enabled - ----------------------------------------------------------------------------- - -KNOWN BUGS: -- Some few external libraries have troubles with flext's global new and delete overloadings. - In these cases one can switch back to the C library memory operators by defining the FLEXT_NOGLOBALNEW macro before - inclusion of the flext.h header file (e.g. as a -D compiler option) - -- PD: floats into the leftmost inlet of DSP objects can't be used as messages - even if there's no signal inlet at all - ----------------------------------------------------------------------------- - -TODO LIST: - -- optimizations for object initialization and messaging -- speed up message handling (usage of other containers?) -- SIMD for gcc -- lock-free code for old AMD 64-bit architectures - -- update documentation -- add log messages for debugging version -- use PD's t_float and t_int types (or comparable for 32-bit safety) - -- add double handlers -- add signal in/out connection query function - -- support for Max qelem style - -- flext::post and flext::error should print via a worker thread (and should be unlimited in characters) - -- manage running threads individually (stop, isrunning?, priority etc.) - ----------------------------------------------------------------------------- - -TESTS TO DO: - -- PD: problems with timed buffer redrawing (takes a lot of cpu time) -- hard thread termination upon object destruction doesn't seem to work properly -> crash -- Max rounding bug ... buffer resize could be one sample less! - -- PD: figure out what "pointer" messages do and whether they are correctly implemented in flext - -- Max buffer~ resize: flext_base::buffer::Frames(): must we use buffer or system sample rate? - -- check whether m_dsp gets called upon deletion of a used buffer (PD and MaxMSP may behave differently). - -> PD does call m_dsp, Max/MSP does not diff --git a/externals/grill/trunk/flext/package.txt b/externals/grill/trunk/flext/package.txt deleted file mode 100644 index 1a23d5eba..000000000 --- a/externals/grill/trunk/flext/package.txt +++ /dev/null @@ -1,57 +0,0 @@ -# -# flext - C++ layer for Max/MSP and pd (pure data) externals -# -# Copyright (c) 2001-2008 Thomas Grill (gr@grrrr.org) -# -# $LastChangedRevision: 3659 $ -# $LastChangedDate: 2009-02-09 18:05:18 -0500 (Mon, 09 Feb 2009) $ -# $LastChangedBy: thomas $ -# -# 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 -# ------------------------------------------------------------------------ -# -# This file contains information for the building process -# -# DO NOT EDIT!! -# -# ------------------------------------------------------------------------ - -NAME=flext - -BUILDCLASS=flext -BUILDMODE=all -BUILDTYPE=all - -BUILDDIR=build - -SRCDIR=source - -PRECOMPILE=flext.h - -SRCS= \ - flbase.cpp flext.cpp flbuf.cpp fldsp.cpp fllib.cpp \ - flxlet.cpp flattr.cpp flattr_ed.cpp flsupport.cpp \ - flutil.cpp flatom.cpp flatom_pr.cpp flthr.cpp fltimer.cpp flsimd.cpp flout.cpp \ - flatom_part.cpp flitem.cpp flmeth.cpp flmsg.cpp \ - flproxy.cpp flqueue.cpp flbind.cpp flmap.cpp -HDRS= \ - flext.h flprefix.h flstdc.h flinternal.h flfeatures.h \ - flpushns.h flpopns.h \ - flbase.h flclass.h flsupport.h fldsp.h \ - flmap.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/cas.hpp lockfree/branch_hints.hpp \ - lockfree/atomic_int.hpp lockfree/atomic_ptr.hpp \ - lockfree/fifo.hpp lockfree/stack.hpp - - -SRCS_SNDOBJ=flsndobj.cpp -HDRS_SNDOBJ=flsndobj.h - -SRCS_STK=flstk.cpp -HDRS_STK=flstk.h diff --git a/externals/grill/trunk/flext/readme.txt b/externals/grill/trunk/flext/readme.txt deleted file mode 100644 index 34fcae41d..000000000 --- a/externals/grill/trunk/flext/readme.txt +++ /dev/null @@ -1,99 +0,0 @@ -flext - C++ layer for Max/MSP and Pd (Pure Data) externals - -Copyright (c) 2001-2009 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. - -This package seeks to encourage the development of open source software -for the pd and Max/MSP platforms. - -Donations for further development of the package are highly appreciated. -https://www.paypal.com/xclick/business=gr%40grrrr.org&item_name=flext&no_note=1&tax=0¤cy_code=EUR - ----------------------------------------------------------------------------- - -Abstract: - -flext seeks to represent a uniform programming interface for extending the most common -modular real-time audio systems Max/MSP and Pure Data (PD) with external modules, or -short externals. These modules provide a way to tailor such a system for one’s -special needs and supply additional functionality. - -Source code based on flext is able to exploit most common features of the -respective real-time framework while staying completely independent of the -actual host system and platform (hardware and operating system). - -flext currently supports development for PD under Linux, Windows and OSX as well as -Max/MSP under OS9, OSX and Windows with various programming environments. - ----------------------------------------------------------------------------- - -Goals/features of the package: - -pros: -- better readability of code compared to straight C externals -- faster development, more robust coding -- sharing of common methods and data by using base classes -- any input to any inlet (with the exception of signal streams) -- transparent use of threads for methods -- libraries of externals in Max/MSP -- more than 3 typed creation arguments possible for Max/MSP - -cons: -- introduces a small overhead to speed of message and signal handling -- larger memory footprint - ----------------------------------------------------------------------------- - -Prerequisites: - ---- PD --- - You need the pd source code which is most likely part of the distribution. - Otherwise download from: http://www-crca.ucsd.edu/~msp/software.html - ---- Max/MSP --- - You will need the latest Max/MSP SDK - for Windows (http://synthesisters.com/pluggo3/downloadMaxWinSDK.php) - for OSX (http://www.synthesisters.com/sdk/max.php) - or for OS9 (ask Cycling'74 where to find that) - - For OS9 threading support you'll also need the Multiprocessing library - (download at http://developer.apple.com/sdk/) - ---- SndObj --- - If you choose to compile with SndObj support you will need the respective library - download from: http://www.may.ie/academic/music/musictec/SndObj/main.html - ---- STK --- - If you choose to compile with STK support you will need the respective package - and build a library. - download from: http://ccrma-www.stanford.edu/software/stk/ - For linking it may preferable to use a library of all the STK objects. - - Under linux you can create one from the STK directory with something like - > g++ -c -pipe -I include -D __LINUX_OSS__ src/*.cpp && ar r libstk.a *.o && rm -f *.o - - Under Windows you can build a static STK library with the following commands: - > cl src/*.c* /MT /D__OS_WINDOWS__ /EHsc /Ox /Iinclude /I../pthreads/include /c - > lib *.obj /out:stk.lib - Please note, that you have to have pthreads installed (../pthreads points to it in the command) - Also, the resulting stk.lib will be a multithreaded build, linked to a static C library. - Consequently you should also use multithreaded flext for your flext-based external. - ----------------------------------------------------------------------------- - -Building and installing of flext and flext-based externals: - - See the build.txt document - ----------------------------------------------------------------------------- - -Various notes / limitations / bug list: - - Read the notes.txt document - ----------------------------------------------------------------------------- - -History of changes: - - Read the changes.txt document diff --git a/externals/grill/trunk/flext/source/.svn/all-wcprops b/externals/grill/trunk/flext/source/.svn/all-wcprops deleted file mode 100644 index 91861b99e..000000000 --- a/externals/grill/trunk/flext/source/.svn/all-wcprops +++ /dev/null @@ -1,371 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 37 -/ext/!svn/ver/3750/trunk/flext/source -END -fltimer.cpp -K 25 -svn:wc:ra_dav:version-url -V 49 -/ext/!svn/ver/3657/trunk/flext/source/fltimer.cpp -END -fldefs_meththr.h -K 25 -svn:wc:ra_dav:version-url -V 54 -/ext/!svn/ver/1247/trunk/flext/source/fldefs_meththr.h -END -flsupport.h -K 25 -svn:wc:ra_dav:version-url -V 49 -/ext/!svn/ver/3750/trunk/flext/source/flsupport.h -END -flfeatures.h -K 25 -svn:wc:ra_dav:version-url -V 50 -/ext/!svn/ver/3657/trunk/flext/source/flfeatures.h -END -flcwmax-x-thr.h -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/1247/trunk/flext/source/flcwmax-x-thr.h -END -flqueue.cpp -K 25 -svn:wc:ra_dav:version-url -V 49 -/ext/!svn/ver/3711/trunk/flext/source/flqueue.cpp -END -fldefs_attrcb.h -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/1247/trunk/flext/source/fldefs_attrcb.h -END -flpushns.h -K 25 -svn:wc:ra_dav:version-url -V 48 -/ext/!svn/ver/3660/trunk/flext/source/flpushns.h -END -fldsp.cpp -K 25 -svn:wc:ra_dav:version-url -V 47 -/ext/!svn/ver/3669/trunk/flext/source/fldsp.cpp -END -flatom_part.cpp -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/3657/trunk/flext/source/flatom_part.cpp -END -flmsg.cpp -K 25 -svn:wc:ra_dav:version-url -V 47 -/ext/!svn/ver/3657/trunk/flext/source/flmsg.cpp -END -fldefs_attrvar.h -K 25 -svn:wc:ra_dav:version-url -V 54 -/ext/!svn/ver/1247/trunk/flext/source/fldefs_attrvar.h -END -fldefs_attradd.h -K 25 -svn:wc:ra_dav:version-url -V 54 -/ext/!svn/ver/1247/trunk/flext/source/fldefs_attradd.h -END -flsimd.cpp -K 25 -svn:wc:ra_dav:version-url -V 48 -/ext/!svn/ver/3669/trunk/flext/source/flsimd.cpp -END -flitem.cpp -K 25 -svn:wc:ra_dav:version-url -V 48 -/ext/!svn/ver/3669/trunk/flext/source/flitem.cpp -END -flmspbuffer.h -K 25 -svn:wc:ra_dav:version-url -V 51 -/ext/!svn/ver/3663/trunk/flext/source/flmspbuffer.h -END -fldefs_methcall.h -K 25 -svn:wc:ra_dav:version-url -V 55 -/ext/!svn/ver/1247/trunk/flext/source/fldefs_methcall.h -END -flatom.cpp -K 25 -svn:wc:ra_dav:version-url -V 48 -/ext/!svn/ver/3669/trunk/flext/source/flatom.cpp -END -flprefix.h -K 25 -svn:wc:ra_dav:version-url -V 48 -/ext/!svn/ver/3746/trunk/flext/source/flprefix.h -END -flstdc.h -K 25 -svn:wc:ra_dav:version-url -V 46 -/ext/!svn/ver/3682/trunk/flext/source/flstdc.h -END -flpopns.h -K 25 -svn:wc:ra_dav:version-url -V 47 -/ext/!svn/ver/3660/trunk/flext/source/flpopns.h -END -flext.h -K 25 -svn:wc:ra_dav:version-url -V 45 -/ext/!svn/ver/3715/trunk/flext/source/flext.h -END -fldefs_setup.h -K 25 -svn:wc:ra_dav:version-url -V 52 -/ext/!svn/ver/3657/trunk/flext/source/fldefs_setup.h -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 49 -/ext/!svn/ver/3748/trunk/flext/source/Makefile.am -END -flstk.h -K 25 -svn:wc:ra_dav:version-url -V 45 -/ext/!svn/ver/3723/trunk/flext/source/flstk.h -END -flcwpd-x.h -K 25 -svn:wc:ra_dav:version-url -V 48 -/ext/!svn/ver/1247/trunk/flext/source/flcwpd-x.h -END -flout.cpp -K 25 -svn:wc:ra_dav:version-url -V 47 -/ext/!svn/ver/3669/trunk/flext/source/flout.cpp -END -flbase.cpp -K 25 -svn:wc:ra_dav:version-url -V 48 -/ext/!svn/ver/3669/trunk/flext/source/flbase.cpp -END -fldefs_methadd.h -K 25 -svn:wc:ra_dav:version-url -V 54 -/ext/!svn/ver/1247/trunk/flext/source/fldefs_methadd.h -END -flsupport.cpp -K 25 -svn:wc:ra_dav:version-url -V 51 -/ext/!svn/ver/3692/trunk/flext/source/flsupport.cpp -END -flutil.cpp -K 25 -svn:wc:ra_dav:version-url -V 48 -/ext/!svn/ver/3669/trunk/flext/source/flutil.cpp -END -flinternal.h -K 25 -svn:wc:ra_dav:version-url -V 50 -/ext/!svn/ver/3746/trunk/flext/source/flinternal.h -END -flproxy.cpp -K 25 -svn:wc:ra_dav:version-url -V 49 -/ext/!svn/ver/3691/trunk/flext/source/flproxy.cpp -END -fldoxygen.h -K 25 -svn:wc:ra_dav:version-url -V 49 -/ext/!svn/ver/1247/trunk/flext/source/fldoxygen.h -END -flattr_ed.cpp -K 25 -svn:wc:ra_dav:version-url -V 51 -/ext/!svn/ver/3692/trunk/flext/source/flattr_ed.cpp -END -flmap.h -K 25 -svn:wc:ra_dav:version-url -V 45 -/ext/!svn/ver/3657/trunk/flext/source/flmap.h -END -fldefs_hdr.h -K 25 -svn:wc:ra_dav:version-url -V 50 -/ext/!svn/ver/1247/trunk/flext/source/fldefs_hdr.h -END -flcwmax.h -K 25 -svn:wc:ra_dav:version-url -V 47 -/ext/!svn/ver/1247/trunk/flext/source/flcwmax.h -END -flsndobj.h -K 25 -svn:wc:ra_dav:version-url -V 48 -/ext/!svn/ver/3674/trunk/flext/source/flsndobj.h -END -fldefs.h -K 25 -svn:wc:ra_dav:version-url -V 46 -/ext/!svn/ver/3657/trunk/flext/source/fldefs.h -END -flcwmax-x.h -K 25 -svn:wc:ra_dav:version-url -V 49 -/ext/!svn/ver/1247/trunk/flext/source/flcwmax-x.h -END -fldsp.h -K 25 -svn:wc:ra_dav:version-url -V 45 -/ext/!svn/ver/3657/trunk/flext/source/fldsp.h -END -flthr.cpp -K 25 -svn:wc:ra_dav:version-url -V 47 -/ext/!svn/ver/3669/trunk/flext/source/flthr.cpp -END -flmeth.cpp -K 25 -svn:wc:ra_dav:version-url -V 48 -/ext/!svn/ver/3686/trunk/flext/source/flmeth.cpp -END -fldefs_methbind.h -K 25 -svn:wc:ra_dav:version-url -V 55 -/ext/!svn/ver/1247/trunk/flext/source/fldefs_methbind.h -END -flext.cpp -K 25 -svn:wc:ra_dav:version-url -V 47 -/ext/!svn/ver/3692/trunk/flext/source/flext.cpp -END -flatom_pr.cpp -K 25 -svn:wc:ra_dav:version-url -V 51 -/ext/!svn/ver/3686/trunk/flext/source/flatom_pr.cpp -END -flstk.cpp -K 25 -svn:wc:ra_dav:version-url -V 47 -/ext/!svn/ver/3718/trunk/flext/source/flstk.cpp -END -flcwpd-x-thr.h -K 25 -svn:wc:ra_dav:version-url -V 52 -/ext/!svn/ver/1247/trunk/flext/source/flcwpd-x-thr.h -END -fllib.cpp -K 25 -svn:wc:ra_dav:version-url -V 47 -/ext/!svn/ver/3692/trunk/flext/source/fllib.cpp -END -fldefs_methcb.h -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/1247/trunk/flext/source/fldefs_methcb.h -END -flattr.cpp -K 25 -svn:wc:ra_dav:version-url -V 48 -/ext/!svn/ver/3669/trunk/flext/source/flattr.cpp -END -flclass.h -K 25 -svn:wc:ra_dav:version-url -V 47 -/ext/!svn/ver/3686/trunk/flext/source/flclass.h -END -flcontainers.h -K 25 -svn:wc:ra_dav:version-url -V 52 -/ext/!svn/ver/3657/trunk/flext/source/flcontainers.h -END -flbind.cpp -K 25 -svn:wc:ra_dav:version-url -V 48 -/ext/!svn/ver/3692/trunk/flext/source/flbind.cpp -END -flbuf.cpp -K 25 -svn:wc:ra_dav:version-url -V 47 -/ext/!svn/ver/3735/trunk/flext/source/flbuf.cpp -END -flxlet.cpp -K 25 -svn:wc:ra_dav:version-url -V 48 -/ext/!svn/ver/3669/trunk/flext/source/flxlet.cpp -END -flmap.cpp -K 25 -svn:wc:ra_dav:version-url -V 47 -/ext/!svn/ver/3657/trunk/flext/source/flmap.cpp -END -flcwmax-thr.h -K 25 -svn:wc:ra_dav:version-url -V 51 -/ext/!svn/ver/1247/trunk/flext/source/flcwmax-thr.h -END -flbase.h -K 25 -svn:wc:ra_dav:version-url -V 46 -/ext/!svn/ver/3686/trunk/flext/source/flbase.h -END -flsndobj.cpp -K 25 -svn:wc:ra_dav:version-url -V 50 -/ext/!svn/ver/3657/trunk/flext/source/flsndobj.cpp -END diff --git a/externals/grill/trunk/flext/source/.svn/entries b/externals/grill/trunk/flext/source/.svn/entries deleted file mode 100644 index 357915c08..000000000 --- a/externals/grill/trunk/flext/source/.svn/entries +++ /dev/null @@ -1,2105 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/source -https://svn.grrrr.org/ext - - - -2011-10-03T11:06:25.691461Z -3750 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -lockfree -dir - -flmeth.cpp -file - - - - -2012-05-13T23:08:36.502556Z -169dd036e9b3e71c01ef97d57b80b27a -2009-06-10T16:44:55.694011Z -3686 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -3802 - -flmspbuffer.h -file - - - - -2012-05-13T23:08:36.544556Z -b53ba4f6b476827ed827c07e7572d8b7 -2009-02-18T21:18:58.619277Z -3663 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -2650 - -fldefs_methcall.h -file - - - - -2012-05-13T23:08:36.545556Z -d22963f526918a306a4add41df11e52b -2008-01-17T16:11:19.579558Z -1233 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -2168 - -flcwpd-x-thr.h -file - - - - -2012-05-13T23:08:36.507556Z -ecbaf1e778bbacd7831214def0e5da99 -2008-01-17T16:11:19.579558Z -1233 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -703 - -flpopns.h -file - - - - -2012-05-13T23:08:36.551556Z -e827db90fc0580034f38c6b41b297528 -2009-02-10T19:17:03.935627Z -3660 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -910 - -flext.h -file - - - - -2012-05-13T23:08:36.552556Z -f91ce66e33cd339c87ae24b43d185720 -2010-01-11T16:04:57.846715Z -3715 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1594 - -Makefile.am -file - - - - -2012-05-13T23:08:36.554556Z -130d2ab0f4a520827f54e2b572b9b90a -2011-03-23T21:42:08.869736Z -3748 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -2865 - -flstk.h -file - - - - -2012-05-13T23:08:36.555556Z -01a1a4ef6181312a5b5d356547c3309b -2010-01-29T15:27:10.761428Z -3723 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -2906 - -flout.cpp -file - - - - -2012-05-13T23:08:36.557556Z -bfd46e9e67d66b94dfde8638dc13e9b8 -2009-03-05T23:34:39.061515Z -3669 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -11061 - -flattr.cpp -file - - - - -2012-05-13T23:08:36.515556Z -06731ef2114f558dfbaeecdc9134a51b -2009-03-05T23:34:39.061515Z -3669 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -10808 - -flcontainers.h -file - - - - -2012-05-13T23:08:36.510556Z -704b7b25613fd20d37e32393000faceb -2009-02-09T22:58:30.158432Z -3657 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -3334 - -flbind.cpp -file - - - - -2012-05-13T23:08:36.518556Z -d2a09cdf9d21e661c8dca7bad0a4f58c -2009-06-17T13:46:01.840627Z -3692 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -8049 - -flxlet.cpp -file - - - - -2012-05-13T23:08:36.516556Z -3c739e8787ae32b58bbab28996d78b1c -2009-03-05T23:34:39.061515Z -3669 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -2716 - -flsupport.cpp -file - - - - -2012-05-13T23:08:36.487556Z -34db9ddaa96b0ff972e7b74f20d4276a -2009-06-17T13:46:01.840627Z -3692 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -7394 - -flbase.h -file - - - - -2012-05-13T23:08:36.521556Z -caa101aa3aeff9290025fcd42f78b3f4 -2009-06-10T16:44:55.694011Z -3686 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -19549 - -flsndobj.cpp -file - - - - -2012-05-13T23:08:36.523556Z -1bfa94008cca0f1daf83292198bb6fe4 -2009-02-09T22:58:30.158432Z -3657 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -3208 - -flproxy.cpp -file - - - - -2012-05-13T23:08:36.490556Z -a4ba0dd74ba10416af199eb04beb9fde -2009-06-17T10:00:31.301158Z -3691 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -7036 - -fldefs_meththr.h -file - - - - -2012-05-13T23:08:36.525556Z -9e5bd687fd5292959f1f43834aec1ceb -2008-01-17T16:11:19.579558Z -1233 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -7916 - -fldoxygen.h -file - - - - -2012-05-13T23:08:36.491556Z -1a02c7f9bdd83cca0e0397b405f0da93 -2008-01-17T16:11:19.579558Z -1233 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -7668 - -flattr_ed.cpp -file - - - - -2012-05-13T23:08:36.493556Z -8501caefa379fe2c952d2eacf7c6edc4 -2009-06-17T13:46:01.840627Z -3692 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -31949 - -flmap.h -file - - - - -2012-05-13T23:08:36.494556Z -21cc0a9f8157768e0f5e1139621a1e18 -2009-02-09T22:58:30.158432Z -3657 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -6460 - -flfeatures.h -file - - - - -2012-05-13T23:08:36.529556Z -0aac10bf20e2c682b474561b085a4c2d -2009-02-09T22:58:30.158432Z -3657 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -984 - -flcwmax.h -file - - - - -2012-05-13T23:08:36.496556Z -43cdbb0ceac3a998182bca91ef9d06d1 -2008-01-17T16:11:19.579558Z -1233 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -785 - -flpushns.h -file - - - - -2012-05-13T23:08:36.533556Z -e8162c029c326b0282d388f98aeaad35 -2009-02-10T19:17:03.935627Z -3660 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -842 - -flcwmax-x.h -file - - - - -2012-05-13T23:08:36.499556Z -97112370053221e5ea9b9bf47d1b9dba -2008-01-17T16:11:19.579558Z -1233 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -514 - -fldefs_attrvar.h -file - - - - -2012-05-13T23:08:36.538556Z -2b12b7d7b1871cc6204956532932664b -2008-01-17T16:11:19.579558Z -1233 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4239 - -fldefs_attradd.h -file - - - - -2012-05-13T23:08:36.539556Z -d5b6261feeeada678c6cf6e54f4293d7 -2008-01-17T16:11:19.579558Z -1233 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4071 - -fldsp.h -file - - - - -2012-05-13T23:08:36.500556Z -cb802d0c95df7731d95bd9ebe4deec07 -2009-02-09T22:58:30.158432Z -3657 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4671 - -flsimd.cpp -file - - - - -2012-05-13T23:08:36.542556Z -a98114d7f793697c389006b38dbd7c78 -2009-03-05T23:34:39.061515Z -3669 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -62103 - -flthr.cpp -file - - - - -2012-05-13T23:08:36.501556Z -b7f0c71431f72e78109de62c9f50e760 -2009-03-05T23:34:39.061515Z -3669 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -17724 - -flitem.cpp -file - - - - -2012-05-13T23:08:36.543556Z -58487ba5cd80e18919712c06c98161a8 -2009-03-05T23:34:39.061515Z -3669 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -3310 - -fldefs_methbind.h -file - - - - -2012-05-13T23:08:36.504556Z -7a862d17cd6747ce649f9c1a1d627a8d -2008-01-17T16:11:19.579558Z -1233 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1294 - -flext.cpp -file - - - - -2012-05-13T23:08:36.504556Z -df1825ffce6098c15b7bd65206baa51e -2009-06-17T13:46:01.840627Z -3692 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -7282 - -flatom.cpp -file - - - - -2012-05-13T23:08:36.546556Z -b1456deabb9f8387074387d4befd2047 -2009-03-05T23:34:39.061515Z -3669 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4230 - -flatom_pr.cpp -file - - - - -2012-05-13T23:08:36.506556Z -37a55d87d1c7f96bfb0f3c311425e47c -2009-06-10T16:44:55.694011Z -3686 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -3087 - -flstk.cpp -file - - - - -2012-05-13T23:08:36.505556Z -a079f9b73efb316ee9c991604ce52810 -2010-01-11T16:47:33.175419Z -3718 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -2546 - -flprefix.h -file - - - - -2012-05-13T23:08:36.548556Z -92a8d47742fabf320d837ba093f5ee2d -2011-03-23T21:00:55.963217Z -3746 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -12278 - -flstdc.h -file - - - - -2012-05-13T23:08:36.550556Z -fabbc2ea92f4ddb4170676eb7bd76998 -2009-03-23T20:41:59.671827Z -3682 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -9008 - -fllib.cpp -file - - - - -2012-05-13T23:08:36.508556Z -659312f3f47b3f5eeead85ff75c7c0f4 -2009-06-17T13:46:01.840627Z -3692 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -16099 - -fldefs_setup.h -file - - - - -2012-05-13T23:08:36.553556Z -b2e82d298274b95623cd4177714e5aa8 -2009-02-09T22:58:30.158432Z -3657 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -9870 - -flcwpd-x.h -file - - - - -2012-05-13T23:08:36.556556Z -1af21a958818838065f1711a5da231bb -2008-01-17T16:11:19.579558Z -1233 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -775 - -fldefs_methcb.h -file - - - - -2012-05-13T23:08:36.509556Z -a8646a82bc5fe1409d8ad7e0a1e1a8ca -2008-01-17T16:11:19.579558Z -1233 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4289 - -flclass.h -file - - - - -2012-05-13T23:08:36.513556Z -d16765281896792d2b17dbc3fddd366d -2009-06-10T16:44:55.694011Z -3686 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -50085 - -flbase.cpp -file - - - - -2012-05-13T23:08:36.558556Z -6ce0b3c4b6845ed3836a7470e86db3b0 -2009-03-05T23:34:39.061515Z -3669 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -5214 - -flbuf.cpp -file - - - - -2012-05-13T23:08:36.517556Z -b877640d1cc4c2487ef8e7bee3cdbad1 -2010-09-09T21:46:30.043341Z -3735 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -9407 - -fldefs_methadd.h -file - - - - -2012-05-13T23:08:36.486556Z -f365f9f3f919faaf43d18dbdc1fe8a16 -2008-01-17T16:11:19.579558Z -1233 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -8105 - -flmap.cpp -file - - - - -2012-05-13T23:08:36.519556Z -50f11713a9a301667bac945fe836a66f -2009-02-09T22:58:30.158432Z -3657 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -5528 - -flutil.cpp -file - - - - -2012-05-13T23:08:36.488556Z -e36b871218fc6e0564b3863d7c202c0e -2009-03-05T23:34:39.061515Z -3669 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1334 - -flcwmax-thr.h -file - - - - -2012-05-13T23:08:36.522556Z -1a4c1894722c7548151b43e4e1f7ac3a -2008-01-17T16:11:19.579558Z -1233 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -759 - -fltimer.cpp -file - - - - -2012-05-13T23:08:36.524556Z -6f87c2a9256990a5abfae6673e837cce -2009-02-09T22:58:30.158432Z -3657 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -7339 - -flinternal.h -file - - - - -2012-05-13T23:08:36.489556Z -7829263ac2dda30fce87484b518cdea7 -2011-03-23T21:00:55.963217Z -3746 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -5258 - -flsupport.h -file - - - - -2012-05-13T23:08:36.528556Z -f248250215a4ac422227a664715eeeb2 -2011-10-03T11:06:25.691461Z -3750 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -48913 - -fldefs_hdr.h -file - - - - -2012-05-13T23:08:36.495556Z -3b4b566158b69bcafe12798428144dd1 -2008-01-17T16:11:19.579558Z -1233 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1999 - -flsndobj.h -file - - - - -2012-05-13T23:08:36.497556Z -a3e2f0a0a233de541d9552e16053f3ca -2009-03-07T00:04:02.678800Z -3674 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -2132 - -flcwmax-x-thr.h -file - - - - -2012-05-13T23:08:36.530556Z -c2492ed8f2ea5af7cc662ce8f64cc8c9 -2008-01-17T16:11:19.579558Z -1233 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -767 - -flqueue.cpp -file - - - - -2012-05-13T23:08:36.531556Z -889af2673cfc0b3df7b381b4b4c43eee -2009-08-13T14:35:20.718013Z -3711 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -16221 - -fldefs_attrcb.h -file - - - - -2012-05-13T23:08:36.533556Z -b6bf4d5321adc9c68fce9f98906d32ed -2008-01-17T16:11:19.579558Z -1233 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4266 - -fldefs.h -file - - - - -2012-05-13T23:08:36.497556Z -8f21f869d90f22f2b62466cfd0a6e828 -2009-02-09T22:58:30.158432Z -3657 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1547 - -fldsp.cpp -file - - - - -2012-05-13T23:08:36.534556Z -b5cb002243aac6add8755b94e9bca71d -2009-03-05T23:34:39.061515Z -3669 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -3101 - -flatom_part.cpp -file - - - - -2012-05-13T23:08:36.535556Z -e8e575768e441bd6c15a1fa50a992a98 -2009-02-09T22:58:30.158432Z -3657 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -946 - -flmsg.cpp -file - - - - -2012-05-13T23:08:36.537556Z -171d7175ea1e9e09a366c8575c4a5cad -2009-02-09T22:58:30.158432Z -3657 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -11338 - diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index 5bcf2daea..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,13 +0,0 @@ -K 13 -svn:eol-style -V 2 -LF -K 14 -svn:executable -V 1 -* -K 12 -svn:keywords -V 18 -author date id rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flatom.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flatom.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flatom.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flatom_part.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flatom_part.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flatom_part.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flatom_pr.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flatom_pr.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flatom_pr.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flattr.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flattr.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flattr.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flattr_ed.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flattr_ed.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flattr_ed.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flbase.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flbase.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flbase.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flbase.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flbase.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flbase.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flbind.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flbind.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flbind.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flbuf.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flbuf.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flbuf.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flclass.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flclass.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flclass.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flcontainers.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flcontainers.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flcontainers.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flcwmax-thr.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flcwmax-thr.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flcwmax-thr.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flcwmax-x-thr.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flcwmax-x-thr.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flcwmax-x-thr.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flcwmax-x.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flcwmax-x.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flcwmax-x.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flcwmax.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flcwmax.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flcwmax.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flcwpd-x-thr.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flcwpd-x-thr.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flcwpd-x-thr.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flcwpd-x.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flcwpd-x.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flcwpd-x.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/fldefs.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/fldefs.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/fldefs.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_attradd.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_attradd.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_attradd.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_attrcb.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_attrcb.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_attrcb.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_attrvar.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_attrvar.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_attrvar.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_hdr.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_hdr.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_hdr.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_methadd.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_methadd.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_methadd.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_methbind.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_methbind.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_methbind.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_methcall.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_methcall.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_methcall.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_methcb.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_methcb.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_methcb.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_meththr.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_meththr.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_meththr.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_setup.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_setup.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/fldefs_setup.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/fldoxygen.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/fldoxygen.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/fldoxygen.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/fldsp.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/fldsp.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/fldsp.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/fldsp.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/fldsp.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/fldsp.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flext.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flext.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flext.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flext.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flext.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flext.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flfeatures.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flfeatures.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flfeatures.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flinternal.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flinternal.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flinternal.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flitem.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flitem.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flitem.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/fllib.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/fllib.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/fllib.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flmap.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flmap.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flmap.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flmap.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flmap.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flmap.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flmeth.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flmeth.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flmeth.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flmsg.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flmsg.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flmsg.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flmspbuffer.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flmspbuffer.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flmspbuffer.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flout.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flout.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flout.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flpopns.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flpopns.h.svn-base deleted file mode 100644 index 4573e0d32..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flpopns.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -date author id rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flprefix.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flprefix.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flprefix.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flproxy.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flproxy.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flproxy.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flpushns.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flpushns.h.svn-base deleted file mode 100644 index 4573e0d32..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flpushns.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -date author id rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flqueue.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flqueue.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flqueue.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flsimd.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flsimd.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flsimd.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flsndobj.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flsndobj.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flsndobj.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flsndobj.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flsndobj.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flsndobj.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flstdc.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flstdc.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flstdc.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flstk.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flstk.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flstk.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flstk.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flstk.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flstk.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flsupport.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flsupport.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flsupport.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flsupport.h.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flsupport.h.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flsupport.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flthr.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flthr.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flthr.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/fltimer.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/fltimer.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/fltimer.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flutil.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flutil.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flutil.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/prop-base/flxlet.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/prop-base/flxlet.cpp.svn-base deleted file mode 100644 index 6f7959f60..000000000 --- a/externals/grill/trunk/flext/source/.svn/prop-base/flxlet.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 18 -id date author rev -END diff --git a/externals/grill/trunk/flext/source/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index c11ca0f87..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,110 +0,0 @@ -# -# automake template -# added by tim blechmann -# added by Thomas Grill -# - -# static libraries -#lib_LIBRARIES = -# shared libraries -lib_LTLIBRARIES = libflext-@SYSTEM@_s.la libflext-@SYSTEM@_sd.la libflext-@SYSTEM@_t.la libflext-@SYSTEM@_td.la 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 \ - flmspbuffer.h \ - flinternal.h \ - flcontainers.h \ - flpushns.h \ - flpopns.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 = sndobj -endif - -if STK -SRCS_FLEXT += $(SRCS_STK) -nobase_pkginclude_HEADERS += $(HDRS_STK) -LIB_STK = stk -endif - -libflext_@SYSTEM@_s_la_SOURCES = $(SRCS_FLEXT) -libflext_@SYSTEM@_sd_la_SOURCES = $(SRCS_FLEXT) -libflext_@SYSTEM@_t_la_SOURCES = $(SRCS_FLEXT) -libflext_@SYSTEM@_td_la_SOURCES = $(SRCS_FLEXT) -libflext_@SYSTEM@_la_SOURCES = $(SRCS_FLEXT) -libflext_@SYSTEM@_d_la_SOURCES = $(SRCS_FLEXT) - -libflext_@SYSTEM@_s_la_CXXFLAGS = @OPT_FLAGS@ -static $(patsubst %,-I%,@INCLUDEDIRS@) -libflext_@SYSTEM@_sd_la_CXXFLAGS = @DBG_FLAGS@ -static $(patsubst %,-I%,@INCLUDEDIRS@) -libflext_@SYSTEM@_t_la_CXXFLAGS = @OPT_FLAGS@ -static $(patsubst %,-I%,@INCLUDEDIRS@) -DFLEXT_THREADS -libflext_@SYSTEM@_td_la_CXXFLAGS = @DBG_FLAGS@ -static $(patsubst %,-I%,@INCLUDEDIRS@) -DFLEXT_THREADS -libflext_@SYSTEM@_la_CXXFLAGS = @OPT_FLAGS@ $(patsubst %,-I%,@INCLUDEDIRS@) -DFLEXT_SHARED -libflext_@SYSTEM@_d_la_CXXFLAGS = @DBG_FLAGS@ $(patsubst %,-I%,@INCLUDEDIRS@) -DFLEXT_SHARED - -libflext_@SYSTEM@_la_LDFLAGS = @LD_FLAGS@ $(patsubst %,-L%,@LIBDIRS@) $(patsubst %,-l%,@libs@ $(LIB_SNDOBJ) $(LIB_STK)) $(patsubst %,-framework %,@FRAMEWORKS@) -libflext_@SYSTEM@_d_la_LDFLAGS = @LD_FLAGS@ $(patsubst %,-L%,@LIBDIRS@) $(patsubst %,-l%,@libs@ $(LIB_SNDOBJ) $(LIB_STK)) $(patsubst %,-framework %,@FRAMEWORKS@) - -#libflext_@SYSTEM@_la_LIBADD = @libs@ -#libflext_@SYSTEM@_d_la_LIBADD = @libs@ diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flatom.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flatom.cpp.svn-base deleted file mode 100644 index f86d1a6e3..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flatom.cpp.svn-base +++ /dev/null @@ -1,172 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flatom.cpp - \brief Definitions for handling the t_atom type and lists thereof. -*/ - -#include "flext.h" -#include <cstring> // for memcpy - -#include "flpushns.h" - -#if FLEXT_SYS != FLEXT_SYS_JMAX -int flext::CmpAtom(const t_atom &a,const t_atom &b) -{ - if(GetType(a) == GetType(b)) { - switch(GetType(a)) { - case A_FLOAT: return GetFloat(a) == GetFloat(b)?0:(GetFloat(a) < GetFloat(b)?-1:1); -#if FLEXT_SYS == FLEXT_SYS_MAX - case A_INT: return GetInt(a) == GetInt(b)?0:(GetInt(a) < GetInt(b)?-1:1); -#endif - case A_SYMBOL: return GetSymbol(a) == GetSymbol(b)?0:strcmp(GetString(a),GetString(b)); -#if FLEXT_SYS == FLEXT_SYS_PD - case A_POINTER: return GetPointer(a) == GetPointer(b)?0:(GetPointer(a) < GetPointer(b)?-1:1); -#endif - default: - // can't be compared..... - FLEXT_ASSERT(false); - return 0; - } - } - else - return GetType(a) < GetType(b)?-1:1; -} -#else -#error Not implemented -#endif - -t_atom *flext::CopyList(int argc,const t_atom *argv) -{ - t_atom *dst = new t_atom[argc]; - memcpy(dst,argv,argc*sizeof(t_atom)); - return dst; -} - -void flext::CopyAtoms(int cnt,t_atom *dst,const t_atom *src) -{ - if(dst < src) - // forward - memcpy(dst,src,cnt*sizeof(t_atom)); - else - // backwards - while(cnt--) dst[cnt] = src[cnt]; -} - -void flext::AtomList::Alloc(int sz,int keepix,int keeplen,int keepto) -{ - if(lst) { - if(cnt == sz) { - if(keepix >= 0 && keepix != keepto) { - int c = keeplen >= 0?keeplen:cnt; - FLEXT_ASSERT(c+keepto <= cnt); - FLEXT_ASSERT(c+keepix <= cnt); - CopyAtoms(c,lst+keepto,lst+keepix); - } - - return; // no change - } - - t_atom *l; - if(sz) { - l = new t_atom[sz]; - if(keepix >= 0) { - // keep contents - int c = keeplen >= 0?keeplen:(cnt > sz?sz:cnt); - FLEXT_ASSERT(c+keepto <= sz); - FLEXT_ASSERT(c+keepix <= cnt); - CopyAtoms(c,l+keepto,lst+keepix); - } - } - else - l = NULL; - - Free(); - lst = l,cnt = sz; - } - else { - FLEXT_ASSERT(cnt == 0); - if(sz) lst = new t_atom[cnt = sz]; - } -} - -flext::AtomList::~AtomList() { Free(); } - -void flext::AtomList::Free() -{ - if(lst) { - delete[] lst; lst = NULL; - cnt = 0; - } - else - FLEXT_ASSERT(cnt == 0); -} - -flext::AtomList &flext::AtomList::Set(int argc,const t_atom *argv,int offs,bool resize) -{ - int ncnt = argc+offs; - if(resize) Alloc(ncnt); - - // argv can be NULL independently from argc - if(argv) CopyAtoms(argc,lst+offs,argv); - - return *this; -} - -int flext::AtomList::Compare(const AtomList &a) const -{ - if(Count() == a.Count()) { - for(int i = 0; i < Count(); ++i) { - int cmp = CmpAtom(lst[i],a[i]); - if(cmp) return cmp; - } - return 0; - } - else - return Count() < a.Count()?-1:1; -} - -flext::AtomListStaticBase::~AtomListStaticBase() { Free(); } - -void flext::AtomListStaticBase::Alloc(int sz,int keepix,int keeplen,int keepto) -{ - if(sz <= precnt) { - // small enough for pre-allocated space - - if(lst != predata && lst) { - // currently allocated memory is larger than what we need - - if(keepix >= 0) { - // keep contents - int c = keeplen >= 0?keeplen:(cnt > sz?sz:cnt); - FLEXT_ASSERT(c+keepto <= precnt); - FLEXT_ASSERT(c+keepix <= cnt); - CopyAtoms(c,predata+keepto,lst+keepix); - } - - // free allocated memory - AtomList::Free(); - } - lst = predata,cnt = sz; - } - else - AtomList::Alloc(sz,keepix,keeplen,keepto); -} - -void flext::AtomListStaticBase::Free() -{ - if(lst != predata) AtomList::Free(); - else lst = NULL,cnt = 0; -} - -#include "flpopns.h" diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flatom_part.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flatom_part.cpp.svn-base deleted file mode 100644 index 30a089bf7..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flatom_part.cpp.svn-base +++ /dev/null @@ -1,43 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flatom_part.cpp - \brief Definitions for handling the t_atom type and lists thereof. -*/ - -#include "flext.h" - -#include "flpushns.h" - -int flext::AtomList::Get(t_atom *argv,int mxsz) const -{ - int argc = Count(); - if(mxsz >= 0 && argc > mxsz) argc = mxsz; - - for(int i = 0; i < argc; ++i) SetAtom(argv[i],lst[i]); - - return argc; -} - - -void flext::AtomList::GetPart(int offs,int len,AtomList &ret) const -{ - if(offs+len > Count()) { - len = Count()-offs; - if(len < 0) len = 0; - } - - ret(len,Atoms()+offs); -} - -#include "flpopns.h" diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flatom_pr.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flatom_pr.cpp.svn-base deleted file mode 100644 index 7dda4c1b6..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flatom_pr.cpp.svn-base +++ /dev/null @@ -1,136 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flatom_pr.cpp - \brief Definitions for printing and scanning the t_atom type. -*/ - -#include "flext.h" -#include <cctype> -#include <cstdlib> -#include <cstring> -#include <cstdio> - -#include "flpushns.h" - -#ifdef _MSC_VER -#define snprintf _snprintf -#endif - -bool flext::PrintAtom(const t_atom &a,char *buf,size_t bufsz) -{ - bool ok = true; - if(IsFloat(a)) { - ok = STD::snprintf(buf,bufsz,"%g",GetFloat(a)) > 0; - } - else if(IsInt(a)) { - ok = STD::snprintf(buf,bufsz,"%i",GetInt(a)) > 0; - } - else if(IsSymbol(a)) { - const char *c = GetString(a); - size_t len = strlen(c); - if(len < bufsz) { - memcpy(buf,c,len); buf[len] = 0; - ok = true; - } - else - ok = false; - } -#if FLEXT_SYS == FLEXT_SYS_PD -#ifndef FLEXT_COMPATIBLE - else if(IsPointer(a)) { - ok = STD::snprintf(buf,bufsz,"%p",GetPointer(a)) > 0; - } -#endif - else if(a.a_type == A_DOLLAR) { - ok = STD::snprintf(buf,bufsz,"$%d",a.a_w.w_index) > 0; - } - else if(a.a_type == A_DOLLSYM) { - ok = STD::snprintf(buf,bufsz,"$%s",GetString(a)) > 0; - } -#elif FLEXT_SYS == FLEXT_SYS_MAX - else if(a.a_type == A_DOLLAR) { - ok = STD::snprintf(buf,bufsz,"$%ld",a.a_w.w_long) > 0; - } -#else -//#pragma message("Not implemented") -#endif - else { - error("flext: atom type unknown"); - ok = false; - } - return ok; -} - -bool flext::PrintList(int argc,const t_atom *argv,char *buf,size_t bufsz) -{ - bool ok = true; - for(int i = 0; ok && i < argc && bufsz > 0; ++i) { - if(i) { *(buf++) = ' '; --bufsz; } // prepend space - - if(PrintAtom(argv[i],buf,bufsz)) { - size_t len = strlen(buf); - buf += len,bufsz -= len; - } - else - ok = false; - } - *buf = 0; - return ok; -} - - -const char *flext::ScanAtom(t_atom &a,const char *c) -{ - // skip leading whitespace - while(*c && isspace(*c)) ++c; - if(!*c) return NULL; - - // go to next space and save character - char *end = const_cast<char *>(c); - while(*end && !isspace(*end)) ++end; - char sv = *end; - - float fres; - // first try float - char *endp; - // see if it's a float - thanks to Frank Barknecht - fres = (float)strtod(c,&endp); - if(*c && endp != c) { - int ires = (int)fres; // try a cast - if(fres == ires) - SetInt(a,ires); - else - SetFloat(a,fres); - } - // no, it's a symbol - else - SetString(a,c); - - *end = sv; - - return end; -} - -int flext::ScanList(int argc,t_atom *argv,const char *buf) -{ - int read; - for(read = 0; read < argc; ++read) - { - buf = ScanAtom(argv[read],buf); - if(!buf) break; - } - return read; -} - -#include "flpopns.h" diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flattr.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flattr.cpp.svn-base deleted file mode 100644 index aead18f91..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flattr.cpp.svn-base +++ /dev/null @@ -1,450 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flattr.cpp - \brief Attribute handling for the flext base class -*/ - -#include "flext.h" -#include <cstring> -#include <cctype> -#include <set> - -#include "flpushns.h" - -#ifdef __MWERKS__ -#define STD std -#else -#define STD -#endif - -flext_base::AttrItem::AttrItem(const t_symbol *t,metharg tp,methfun f,int fl): - Item(NULL),index(0), - flags(fl|afl_shown), - argtp(tp),fun(f), - counter(NULL),tag(t) -{} - - -/* -flext_base::AttrDataCont::AttrDataCont() {} - -flext_base::AttrDataCont::~AttrDataCont() -{ - for(iterator it = begin(); it != end(); ++it) - if(it.data()) delete it.data(); -} -*/ - -flext_base::AttrDataCont::~AttrDataCont() { clear(); } - -void flext_base::AttrDataCont::clear() -{ - for(iterator it(*this); it; ++it) delete it.data(); - TablePtrMap<const t_symbol *,AttrData *,8>::clear(); -} - -//! Add get and set attributes -void flext_base::AddAttrib(ItemCont *aa,ItemCont *ma,const t_symbol *asym,metharg tp,methfun gfun,methfun sfun) -{ - AttrItem *a,*b; - - FLEXT_ASSERT(asym != sym__ && asym != sym_list && asym != sym_float && asym != sym_symbol && asym != sym_anything); - - if(sfun) // if commented out, there will be a warning at run-time (more user-friendly) - { - a = new AttrItem(asym,tp,sfun,AttrItem::afl_set); - a->index = aa->Members(); - aa->Add(a,asym); - - // bind attribute to a method - MethItem *mi = new MethItem(a); - mi->SetArgs(sfun,1,new metharg(tp)); - ma->Add(mi,asym); - } - else - a = NULL; - - if(gfun) // if commented out, there will be a warning at run-time (more user-friendly) - { - b = new AttrItem(asym,tp,gfun,AttrItem::afl_get); - b->index = aa->Members(); - aa->Add(b,asym); - - static char tmp[256] = "get"; - strcpy(tmp+3,GetString(asym)); - - // bind attribute to a method - MethItem *mi = new MethItem(b); - mi->SetArgs(gfun,0,NULL); - ma->Add(mi,MakeSymbol(tmp)); - } - else - b = NULL; - - if(a && b) { - a->counter = b; - b->counter = a; - } -} - -void flext_base::AddAttrib(const t_symbol *attr,metharg tp,methfun gfun,methfun sfun) -{ - if(HasAttributes()) - AddAttrib(ThAttrs(),ThMeths(),attr,tp,gfun,sfun); - else - error("%s - attribute procession is not enabled!",thisName()); -} - -void flext_base::AddAttrib(t_classid c,const t_symbol *attr,metharg tp,methfun gfun,methfun sfun) -{ - AddAttrib(ClAttrs(c),ClMeths(c),attr,tp,gfun,sfun); -} - -void flext_base::ListAttrib(AtomList &la) const -{ - typedef TablePtrMap<int,const t_symbol *,32> AttrList; - AttrList list[2]; - ItemCont *clattrhead = ClAttrs(thisClassId()); - - int i; - for(i = 0; i <= 1; ++i) { - ItemCont *a = i?attrhead:clattrhead; - if(a && a->Contained(0)) { - ItemSet &ai = a->GetInlet(); - for(ItemSet::iterator as(ai); as; ++as) { - for(Item *al = as.data(); al; al = al->nxt) { - AttrItem *aa = (AttrItem *)al; - list[i].insert(aa->index,as.key()); - break; - } - } - } - } - - la((int)(list[0].size()+list[1].size())); - int ix = 0; - for(i = 0; i <= 1; ++i) - for(AttrList::iterator it(list[i]); it; ++it) - SetSymbol(la[ix++],it.data()); -} - -int flext_base::CheckAttrib(int argc,const t_atom *argv) -{ - int offs = 0; - for(; offs < argc; ++offs) - if(IsString(argv[offs]) && *GetString(argv[offs]) == '@') break; - return offs; -} - -bool flext_base::InitAttrib(int argc,const t_atom *argv) -{ - int cur,nxt; - for(cur = 0; cur < argc; cur = nxt) { - // find next @symbol - for(nxt = cur+1; nxt < argc; ++nxt) - if(IsString(argv[nxt]) && *GetString(argv[nxt]) == '@') break; - - const t_symbol *tag = MakeSymbol(GetString(argv[cur])+1); - - // find puttable attribute - AttrItem *attr = FindAttrib(tag,false,true); - if(attr) { - // make an entry (there are none beforehand...) -/* - AttrDataCont::iterator it = attrdata->find(tag); - if(it == attrdata->end()) { - AttrDataCont::pair pair; - pair.key() = tag; - pair.data() = new AttrData; - it = attrdata->insert(attrdata->begin(),pair); - } - - AttrData &a = *it.data(); - a.SetInit(true); - a.SetInitValue(nxt-cur-1,argv+cur+1); - - // pass value to object - SetAttrib(tag,attr,a.GetInitValue()); -*/ - AttrData *a = attrdata->find(tag); - if(!a) { - AttrData *old = attrdata->insert(tag,a = new AttrData); - FLEXT_ASSERT(!old); - } - - a->SetInit(true); - a->SetInitValue(nxt-cur-1,argv+cur+1); - - // pass value to object - SetAttrib(tag,attr,a->GetInitValue()); - } - } - return true; -} - -bool flext_base::ListAttrib() const -{ - if(HasAttributes()) { - // defined in flsupport.cpp - AtomListStatic<32> la; - ListAttrib(la); - ToOutAnything(GetOutAttr(),sym_attributes,la.Count(),la.Atoms()); - return true; - } - else - return false; -} - -flext_base::AttrItem *flext_base::FindAttrib(const t_symbol *tag,bool get,bool msg) const -{ - ItemCont *clattrhead = ClAttrs(thisClassId()); - - // first search within object scope - AttrItem *a = NULL; - { - for(Item *lst = attrhead->FindList(tag); lst; lst = lst->nxt) { - AttrItem *b = (AttrItem *)lst; - if(get?b->IsGet():b->IsSet()) { a = b; break; } - } - } - - // then (if nothing found) search within class scope - if(!a) { - for(Item *lst = clattrhead->FindList(tag); lst; lst = lst->nxt) { - AttrItem *b = (AttrItem *)lst; - if(get?b->IsGet():b->IsSet()) { a = b; break; } - } - } - - if(!a && msg) { - // print a message - error("%s - %s: attribute not found",thisName(),GetString(tag)); - } - return a; -} - -bool flext_base::SetAttrib(const t_symbol *tag,int argc,const t_atom *argv) -{ - // search for matching attribute - AttrItem *a = FindAttrib(tag,false,true); - return a && SetAttrib(tag,a,argc,argv); -} - -bool flext_base::SetAttrib(const t_symbol *tag,AttrItem *a,int argc,const t_atom *argv) -{ - if(a->fun) { - bool ok = true; - - t_any any; - switch(a->argtp) { - case a_float: - if(argc == 1 && CanbeFloat(argv[0])) { - any.ft = GetAFloat(argv[0]); - ((methfun_1)a->fun)(this,any); - } - else ok = false; - break; - case a_int: - if(argc == 1 && CanbeInt(argv[0])) { - any.it = GetAInt(argv[0]); - ((methfun_1)a->fun)(this,any); - } - else ok = false; - break; - case a_symbol: - if(argc == 1 && IsSymbol(argv[0])) { - t_atom at; - GetParamSym(at,GetSymbol(argv[0]),thisCanvas()); - any.st = const_cast<t_symbol *>(GetSymbol(at)); - ((methfun_1)a->fun)(this,any); - } - else ok = false; - break; - case a_bool: - if(argc == 1 && CanbeBool(argv[0])) { - any.bt = GetABool(argv[0]); - ((methfun_1)a->fun)(this,any); - } - else ok = false; - break; - case a_LIST: { - AtomListStatic<16> la(argc); - for(int i = 0; i < argc; ++i) - if(IsSymbol(argv[i])) - GetParamSym(la[i],GetSymbol(argv[i]),thisCanvas()); - else - la[i] = argv[i]; - - any.vt = &la; - ((methfun_1)a->fun)(this,any); - break; - } - default: - ERRINTERNAL(); - } - - if(!ok) - post("%s - wrong arguments for attribute %s",thisName(),GetString(tag)); - } - else - post("%s - attribute %s has no get method",thisName(),GetString(tag)); - return true; -} - - -bool flext_base::GetAttrib(const t_symbol *tag,AttrItem *a,AtomList &la) const -{ - bool ok = true; - // main attribute tag - if(a) { - if(a->fun) { - t_any any; - switch(a->argtp) { - case a_float: { - ((methfun_1)a->fun)(const_cast<flext_base *>(this),any); - la(1); - SetFloat(la[0],any.ft); - break; - } - case a_int: { - ((methfun_1)a->fun)(const_cast<flext_base *>(this),any); - la(1); - SetInt(la[0],any.it); - break; - } - case a_bool: { - ((methfun_1)a->fun)(const_cast<flext_base *>(this),any); - la(1); - SetBool(la[0],any.bt); - break; - } - case a_symbol: { - ((methfun_1)a->fun)(const_cast<flext_base *>(this),any); - la(1); - SetSymbol(la[0],any.st); - break; - } - case a_LIST: { - any.vt = &la; - ((methfun_1)a->fun)(const_cast<flext_base *>(this),any); - break; - } - default: - ERRINTERNAL(); - ok = false; - } - } - else { - post("%s - attribute %s has no get method",thisName(),GetString(tag)); - ok = false; - } - } - else { - error("%s - %s: attribute not found",thisName(),GetString(tag)); - ok = false; - } - return ok; -} - -bool flext_base::GetAttrib(const t_symbol *s,AtomList &a) const -{ - AttrItem *attr = FindAttrib(s,true); - return attr && GetAttrib(s,attr,a); -} - -//! \param tag symbol "get[attribute]" -bool flext_base::DumpAttrib(const t_symbol *tag,AttrItem *a) const -{ - AtomListStatic<16> la; - bool ret = GetAttrib(tag,a,la); - if(ret) { - ToOutAnything(GetOutAttr(),a->tag,la.Count(),la.Atoms()); - } - return ret; -} - -bool flext_base::DumpAttrib(const t_symbol *attr) const -{ - AttrItem *item = FindAttrib(attr,true); - return item && DumpAttrib(attr,item); -} - -bool flext_base::BangAttrib(const t_symbol *attr,AttrItem *item) -{ - AtomListStatic<16> val; - AttrItem *item2; - if(!item->IsGet()) - item = item->Counterpart(); - if(item) { - item2 = item->Counterpart(); - return item2 && GetAttrib(attr,item,val) && SetAttrib(attr,item2,val); - } - else - return false; -} - -bool flext_base::BangAttrib(const t_symbol *attr) -{ - AttrItem *item = FindAttrib(attr,true); - return item && BangAttrib(attr,item); -} - -bool flext_base::BangAttribAll() -{ - ItemCont *clattrhead = ClAttrs(thisClassId()); - - for(int i = 0; i <= 1; ++i) { - ItemCont *a = i?attrhead:clattrhead; - if(a) { - ItemSet &ai = a->GetInlet(); // \todo need to check for presence of inlet 0? -/* - for(ItemSet::iterator as = ai.begin(); as != ai.end(); ++as) { - for(Item *al = as.data(); al; al = al->nxt) { - AttrItem *a = (AttrItem *)al; - if(a->IsGet() && a->BothExist()) BangAttrib(as.key(),a); - } - } -*/ - for(ItemSet::iterator as(ai); as; ++as) { - for(Item *al = as.data(); al; al = al->nxt) { - AttrItem *a = (AttrItem *)al; - if(a->IsGet() && a->BothExist()) BangAttrib(as.key(),a); - } - } - } - } - return true; -} - -bool flext_base::ShowAttrib(AttrItem *a,bool show) const -{ - if(show) a->flags |= AttrItem::afl_shown; - else a->flags &= ~AttrItem::afl_shown; - - // also change counterpart, if present - AttrItem *ca = a->Counterpart(); - if(ca) { - if(show) ca->flags |= AttrItem::afl_shown; - else ca->flags &= ~AttrItem::afl_shown; - } - return true; -} - -bool flext_base::ShowAttrib(const t_symbol *attr,bool show) const -{ - AttrItem *item = FindAttrib(attr,true); - return item && ShowAttrib(item,show); -} - -#include "flpopns.h" diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flattr_ed.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flattr_ed.cpp.svn-base deleted file mode 100644 index 39cd9a958..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flattr_ed.cpp.svn-base +++ /dev/null @@ -1,880 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flattr_ed.cpp - \brief Attribute editor (property dialog) for PD -*/ - -#include "flext.h" - -#include "flpushns.h" - -#if FLEXT_SYS == FLEXT_SYS_PD - -#ifdef _MSC_VER -#pragma warning( disable : 4091 ) -#endif - - -#if defined(FLEXT_ATTRHIDE) || PD_MINOR_VERSION < 37 -#define __FLEXT_WIDGETBEHAVIOR -#endif - -////////////////////////////////////////////////////// -#ifdef __FLEXT_WIDGETBEHAVIOR -// we need non-public headers! -#pragma message("Attention: non-public headers used - binary is bound to a specific version") - -#include <g_canvas.h> - -/* -#ifdef PD_DEVEL_VERSION -#define __FLEXT_CLONEWIDGET -#endif -*/ - -#ifndef __FLEXT_CLONEWIDGET -#include <m_imp.h> -#endif - -#endif -////////////////////////////////////////////////////// - - -#include <string.h> -#include <stdio.h> - - -#ifdef FLEXT_ATTRHIDE -#ifndef __FLEXT_CLONEWIDGET -static t_visfn ori_vis = NULL; -static t_selectfn ori_select = NULL; -#endif -#endif - - -#ifdef FLEXT_ATTRHIDE -#define ST_DISABLED "" -#else -#define ST_DISABLED " -state disabled" -#endif - - -#ifndef FLEXT_NOATTREDIT - -//! generate the script for the property dialog -static void tclscript() -{ - static bool havecode = false; - if(havecode) return; - else havecode = true; - - sys_vgui(const_cast<char *>( - "proc flext_escatoms {lst} {\n" - "set tmp {}\n" - "foreach a $lst {\n" -// "set a [regsub {\\\\} $a \\\\\\\\]\n" // replace \ with \\ ... must be first - "set a [regsub {\\$} $a \\\\$]\n" // replace $ with \$ -// "set a [regsub {\\{} $a \\\\\\{]\n" // replace { with \{ -// "set a [regsub {\\}} $a \\\\\\}]\n" // replace } with \} -// "set a [regsub {\\ } $a \\\\\\ ]\n" // replace space with \space - "set a [regsub {,} $a \\\\,]\n" // replace , with \, - "set a [regsub {;} $a \\\\\\;]\n" // replace ; with \; - "lappend tmp $a\n" - "}\n" - "return $tmp\n" - "}\n") - ); - sys_vgui(const_cast<char *>( - "proc flext_makevalue {id ix} {\n" - // strip "." from the TK id to make a variable name suffix - "set vid [string trimleft $id .]\n" - - "set var_attr_name [concat [concat var_name_$ix]_$vid ]\n" - "set var_attr_init [concat [concat var_init_$ix]_$vid ]\n" - "set var_attr_val [concat [concat var_val_$ix]_$vid ]\n" - "set var_attr_save [concat [concat var_save_$ix]_$vid ]\n" - "set var_attr_type [concat [concat var_type_$ix]_$vid ]\n" - - "global $var_attr_name $var_attr_init $var_attr_val $var_attr_save $var_attr_type\n" - - "set lst {}\n" - - "if { [expr $$var_attr_type] != 0 } {\n" - // attribute is puttable - - "lappend lst [eval concat $$var_attr_name]\n" - - // process current value - "set tmp [flext_escatoms [eval concat $$var_attr_val]]\n" - "set lst [concat $lst [llength $tmp] $tmp]\n" - - // process init value - "set tmp [flext_escatoms [eval concat $$var_attr_init]]\n" - "set lst [concat $lst [llength $tmp] $tmp]\n" - - "lappend lst [eval concat $$var_attr_save]\n" - "}\n" - - // return list - "return $lst\n" - "}\n") - ); - sys_vgui(const_cast<char *>( - "proc flext_apply {id ix} {\n" - "set lst [flext_makevalue $id $ix]\n" - "set lst [eval concat $lst]\n" // remove curly braces from character escaping - "pd [concat $id attributedialog $lst \\;]\n" - "}\n" - - "proc flext_applyall {id alen} {\n" - // make a list of the attribute values (including save flags) - - "set lst {}\n" - "for {set ix 1} {$ix <= $alen} {incr ix} {\n" - "set lst [concat $lst [flext_makevalue $id $ix]]\n" - "}\n" - "set lst [eval concat $lst]\n" // remove curly braces from character escaping - - "pd [concat $id attributedialog $lst \\;]\n" - "}\n" - - "proc flext_cancel {id} {\n" - "pd [concat $id cancel \\;]\n" - "}\n" - - "proc flext_ok {id alen} {\n" - "flext_applyall $id $alen\n" - "flext_cancel $id\n" - "}\n") - ); - sys_vgui(const_cast<char *>( - "proc flext_help {id} {\n" - "toplevel $id.hw\n" - "wm title $id.hw \"Flext attribute editor help\"\n" - - "frame $id.hw.buttons\n" - "pack $id.hw.buttons -side bottom -fill x -pady 2m\n" - - "text $id.hw.text -relief sunken -bd 2 -yscrollcommand \"$id.hw.scroll set\" -setgrid 1 -width 80 -height 10 -wrap word\n" - "scrollbar $id.hw.scroll -command \"$id.hw.text yview\"\n" - "pack $id.hw.scroll -side right -fill y\n" - "pack $id.hw.text -expand yes -fill both\n" - - "button $id.hw.buttons.ok -text OK -command \"destroy $id.hw\"\n" - "pack $id.hw.buttons.ok -side left -expand 1\n" - "bind $id.hw {<KeyPress-Escape>} \"destroy $id.hw\"\n" - - "$id.hw.text tag configure big -font {Arial 10 bold}\n" - "$id.hw.text configure -font {Arial 8 bold}\n" - "$id.hw.text insert end \"" - "The flext attribute editor lets you query or change attribute values exposed by an external object. \" big \"\n\n" - "Local variable names ($-values) will only be saved as such for init values. " - "Alternatively, # can be used instead of $.\n" - "Ctrl-Button on a text field will open an editor window where text can be entered more comfortably.\n" - "\"\n" - "$id.hw.text configure -state disabled\n" - "}\n") - ); - sys_vgui(const_cast<char *>( - "proc flext_copyval {dst src} {\n" - "global $src $dst\n" - "set $dst [expr $$src]\n" - "}\n" - - "proc flext_textcopy {id idtxt var} {\n" - "global $var\n" - "set txt [eval $idtxt get 0.0 end]\n" - // strip newline characters - "set tmp {}\n" - "foreach t $txt { lappend tmp [string trim $t] }\n" - "set $var $tmp\n" - "destroy $id\n" - "}\n") - ); - sys_vgui(const_cast<char *>( - "proc flext_textzoom {id var title attr edit} {\n" - "global $var\n" - "toplevel $id.w\n" - "wm title $id.w [concat $title \" @\" $attr]\n" -// "wm iconname $w \"text\"\n" -// "positionWindow $id.w\n" - - "frame $id.w.buttons\n" - "pack $id.w.buttons -side bottom -fill x -pady 2m\n" - - "text $id.w.text -relief sunken -bd 2 -yscrollcommand \"$id.w.scroll set\" -setgrid 1 -width 80 -height 20\n" - "scrollbar $id.w.scroll -command \"$id.w.text yview\"\n" - "pack $id.w.scroll -side right -fill y\n" - "pack $id.w.text -expand yes -fill both\n" - - // insert text with newlines - "set txt [split [expr $$var] ,]\n" - "set lines [llength $txt]\n" - "for {set ix 0} {$ix < ($lines-1)} {incr ix} {\n" - "$id.w.text insert end [string trim [lindex $txt $ix] ]\n" - "$id.w.text insert end \" ,\\n\"\n" - "}\n" - "$id.w.text insert end [string trim [lindex $txt end] ]\n" - - "$id.w.text mark set insert 0.0\n" - - "if { $edit != 0 } then {\n" - "button $id.w.buttons.ok -text OK -command \"flext_textcopy $id.w $id.w.text $var\"\n" - "pack $id.w.buttons.ok -side left -expand 1\n" -// "bind $id.w {<Shift-KeyPress-Return>} \"flext_textcopy $id.w $id.w.text $var\"\n" - "} " - "else { $id.w.text configure -state disabled }\n" - - "button $id.w.buttons.cancel -text Cancel -command \"destroy $id.w\"\n" - "pack $id.w.buttons.cancel -side left -expand 1\n" - "bind $id.w {<KeyPress-Escape>} \"destroy $id.w\"\n" - "}\n") - ); - sys_vgui(const_cast<char *>( - "proc pdtk_flext_dialog {id title attrlist} {\n" - "set vid [string trimleft $id .]\n" - "set alen [expr [llength $attrlist] / 6 ]\n" - - "toplevel $id\n" - "wm title $id $title\n" - "wm protocol $id WM_DELETE_WINDOW [concat flext_cancel $id]\n" - - "frame $id.frame\n" - "set row 0\n" - - // set grow parameters - "grid columnconfigure $id.frame 0 -weight 1\n" // label - "grid columnconfigure $id.frame {1 4} -weight 3\n" // value entry - "grid columnconfigure $id.frame {2 3} -weight 0\n" // copy buttons - "grid columnconfigure $id.frame 5 -weight 1\n" // apply button - "grid columnconfigure $id.frame {6 7 8} -weight 0\n" // radio buttons - - "grid rowconfigure $id.frame {0 1} -weight 0\n" - - // set column labels - "label $id.frame.label -text {attribute} -font {Helvetica 9 bold}\n" - "label $id.frame.init -text {initial value} -font {Helvetica 9 bold}\n" - "label $id.frame.copy -text {copy} -font {Helvetica 9 bold}\n" - "label $id.frame.val -text {current value} -font {Helvetica 9 bold}\n" - "label $id.frame.apply -text {} -font {Helvetica 9 bold}\n" // why must this be empty? - "foreach {i txt} {0 {don't\rsave} 1 {do\rinit} 2 {always\rsave} } {\n" - "label $id.frame.b$i -text $txt -font {Helvetica 7 bold}\n" - "}\n" - - "grid config $id.frame.label -column 0 -row $row \n" - "grid config $id.frame.init -column 1 -row $row \n" - "grid config $id.frame.copy -column 2 -columnspan 2 -row $row \n" - "grid config $id.frame.val -column 4 -row $row \n" - "grid config $id.frame.apply -column 5 -row $row \n" - "foreach i {0 1 2} { grid config $id.frame.b$i -column [expr $i + 6] -row $row }\n" - "incr row\n" - - // Separator - "frame $id.frame.sep -relief ridge -bd 1 -height 2\n" - "grid config $id.frame.sep -column 0 -columnspan 9 -row $row -pady 2 -sticky {snew}\n" - "incr row\n") - ); - sys_vgui(const_cast<char *>( - "set ix 1\n" - "foreach {an av ai atp asv afl} $attrlist {\n" - "grid rowconfigure $id.frame $row -weight 1\n" - - // get attribute name - "set var_attr_name [concat [concat var_name_$ix]_$vid ]\n" - "global $var_attr_name\n" - "set $var_attr_name $an\n" - - // get attribute init value (list) - "set var_attr_init [concat [concat var_init_$ix]_$vid ]\n" - "global $var_attr_init\n" - "set $var_attr_init $ai\n" - - // get attribute value (list) - "set var_attr_val [concat [concat var_val_$ix]_$vid ]\n" - "global $var_attr_val\n" - "set $var_attr_val $av\n" - - // get save flag - "set var_attr_save [concat [concat var_save_$ix]_$vid ]\n" - "global $var_attr_save\n" - "set $var_attr_save $asv\n" - - // get type flag - "set var_attr_type [concat [concat var_type_$ix]_$vid ]\n" - "global $var_attr_type\n" - "set $var_attr_type $afl\n" - - // add dialog elements to window - - // attribute label - "label $id.frame.label-$ix -text \"$an :\" -font {Helvetica 8 bold}\n" - "grid config $id.frame.label-$ix -column 0 -row $row -padx 5 -sticky {e}\n") - ); - sys_vgui(const_cast<char *>( - "if { $afl != 0 } {\n" - // attribute is puttable - - // entry field for initial value - // entry field for current value - - // choose entry field type - "switch $atp {\n" - "0 - 1 {\n" // int or float - "entry $id.frame.init-$ix -textvariable $var_attr_init" ST_DISABLED "\n" - "entry $id.frame.val-$ix -textvariable $var_attr_val\n" - "}\n" - "2 {\n" // boolean - "checkbutton $id.frame.init-$ix -variable $var_attr_init" ST_DISABLED "\n" - "checkbutton $id.frame.val-$ix -variable $var_attr_val\n" - "}\n" - "3 {\n" // symbol - "entry $id.frame.init-$ix -textvariable $var_attr_init" ST_DISABLED "\n" - "entry $id.frame.val-$ix -textvariable $var_attr_val\n" - "}\n" - "4 - 5 {\n" // list or unknown - "entry $id.frame.init-$ix -textvariable $var_attr_init" ST_DISABLED "\n" - "bind $id.frame.init-$ix {<Control-Button-1>} \" flext_textzoom $id.frame.init-$ix $var_attr_init { $title } $an 1\"\n" - "entry $id.frame.val-$ix -textvariable $var_attr_val\n" - "bind $id.frame.val-$ix {<Control-Button-1>} \" flext_textzoom $id.frame.val-$ix $var_attr_val { $title } $an 1\"\n" - "}\n" - "}\n" - - "grid config $id.frame.init-$ix -column 1 -row $row -padx 5 -sticky {ew}\n" - "grid config $id.frame.val-$ix -column 4 -row $row -padx 5 -sticky {ew}\n" - - // copy buttons - "button $id.frame.b2i-$ix -text {<-} -height 1 -command \" flext_copyval $var_attr_init $var_attr_val \"" ST_DISABLED "\n" - "grid config $id.frame.b2i-$ix -column 2 -row $row -sticky {ew}\n" - "button $id.frame.b2c-$ix -text {->} -height 1 -command \" flext_copyval $var_attr_val $var_attr_init \"\n" - "grid config $id.frame.b2c-$ix -column 3 -row $row -sticky {ew}\n" - - // apply button - "button $id.frame.apply-$ix -text {Apply} -height 1 -command \" flext_apply $id $ix \"\n" - "grid config $id.frame.apply-$ix -column 5 -row $row -sticky {ew}\n" - - // radiobuttons - "foreach {i c} {0 black 1 blue 2 red} {\n" - "radiobutton $id.frame.b$i-$ix -value $i -foreground $c -variable $var_attr_save" ST_DISABLED "\n" - "grid config $id.frame.b$i-$ix -column [expr $i + 6] -row $row\n" - "}\n") - ); - sys_vgui(const_cast<char *>( - "} else {\n" - // attribute is gettable only - - // entry field for current value (read-only) - - // choose display field type - "switch $atp {\n" - "0 - 1 {\n" // int or float - "entry $id.frame.val-$ix -textvariable $var_attr_val -state disabled\n" - "}\n" - "2 {\n" // boolean - "checkbutton $id.frame.val-$ix -variable $var_attr_val -state disabled\n" - "}\n" - "3 {\n" // symbol - "entry $id.frame.val-$ix -textvariable $var_attr_val -state disabled\n" - "}\n" - "4 - 5 {\n" // list or unknown - "entry $id.frame.val-$ix -textvariable $var_attr_val -state disabled\n" - "bind $id.frame.val-$ix {<Control-Button-1>} \" flext_textzoom $id.frame.val-$ix $var_attr_val { $title } $an 0\"\n" - "}\n" - "}\n" - -// "entry $id.fval.val-$ix -textvariable $var_attr_val -state disabled\n" - "grid config $id.frame.val-$ix -column 4 -row $row -padx 5 -sticky {ew}\n" - - "label $id.frame.readonly-$ix -text \"read-only\"\n" - "grid config $id.frame.readonly-$ix -column 6 -columnspan 3 -row $row -padx 5 -sticky {ew}\n" - "}\n" - - // increase counter - "incr ix\n" - "incr row\n" - "}\n" - - // empty space - "grid rowconfigure $id.frame $row -weight 1\n" - "frame $id.frame.dummy\n" - "grid config $id.frame.dummy -column 0 -columnspan 9 -row $row\n" - "incr row\n") - ); - sys_vgui(const_cast<char *>( - // Separator - "frame $id.sep2 -relief ridge -bd 1 -height 2\n" - - // Buttons - "frame $id.buttonframe\n" - - "button $id.buttonframe.cancel -text {Leave} -width 20 -command \" flext_cancel $id \"\n" - "button $id.buttonframe.apply -text {Apply all} -width 20 -command \" flext_applyall $id $alen \"\n" - "button $id.buttonframe.ok -text {Apply & Leave} -width 20 -command \" flext_ok $id $alen \"\n" - "button $id.buttonframe.help -text {Help} -width 10 -command \" flext_help $id \"\n" - - "grid columnconfigure $id.buttonframe {0 1 2 3} -weight 1\n" - "grid config $id.buttonframe.cancel $id.buttonframe.apply $id.buttonframe.ok $id.buttonframe.help -padx 2 -sticky {snew}\n" - -// "scrollbar $id.scroll -command \"$id.frame yview\"\n" - - "pack $id.buttonframe $id.sep2 -pady 2 -expand 0 -side bottom -fill x\n" -// "pack $id.scroll -side right -fill y\n" - "pack $id.frame -expand 1 -side top -fill both\n" - - // Key bindings - "bind $id {<KeyPress-Escape>} \" flext_cancel $id \"\n" - "bind $id {<KeyPress-Return>} \" flext_ok $id $alen \"\n" - "bind $id {<Shift-KeyPress-Return>} \" flext_applyall $id $alen \"\n" - "}\n") - ); -} - -#endif - - -#ifdef __FLEXT_WIDGETBEHAVIOR -static t_widgetbehavior widgetbehavior; -#endif - -void flext_base::SetGfx(t_classid c) -{ - t_class *cl = getClass(c); - // widgetbehavior struct MUST be resident... (static is just ok here) - -#ifdef __FLEXT_WIDGETBEHAVIOR -#ifndef __FLEXT_CLONEWIDGET - widgetbehavior.w_visfn = cl->c_wb->w_visfn; - widgetbehavior.w_selectfn = cl->c_wb->w_selectfn; - widgetbehavior.w_getrectfn = cl->c_wb->w_getrectfn; - widgetbehavior.w_displacefn = cl->c_wb->w_displacefn; - widgetbehavior.w_activatefn = cl->c_wb->w_activatefn; - widgetbehavior.w_deletefn = cl->c_wb->w_deletefn; - widgetbehavior.w_selectfn = cl->c_wb->w_selectfn; - widgetbehavior.w_clickfn = cl->c_wb->w_clickfn; -#else - widgetbehavior.w_visfn = text_widgetbehavior.w_visfn; - widgetbehavior.w_selectfn = text_widgetbehavior.w_selectfn; - widgetbehavior.w_getrectfn = text_widgetbehavior.w_getrectfn; - widgetbehavior.w_displacefn = text_widgetbehavior.w_displacefn; - widgetbehavior.w_activatefn = text_widgetbehavior.w_activatefn; - widgetbehavior.w_deletefn = text_widgetbehavior.w_deletefn; - widgetbehavior.w_selectfn = text_widgetbehavior.w_selectfn; - widgetbehavior.w_clickfn = text_widgetbehavior.w_clickfn; -#endif -#endif - -#ifdef FLEXT_ATTRHIDE - -#ifndef __FLEXT_CLONEWIDGET - ori_vis = widgetbehavior.w_visfn; - ori_select = widgetbehavior.w_selectfn; -#endif - widgetbehavior.w_visfn = (t_visfn)cb_GfxVis; - widgetbehavior.w_selectfn = (t_selectfn)cb_GfxSelect; - -#if PD_MINOR_VERSION >= 37 - class_setsavefn(cl,(t_savefn)cb_GfxSave); -#else - widgetbehavior.w_savefn = (t_savefn)cb_GfxSave; -#endif - -#endif // FLEXT_ATTRHIDE - - -#ifndef FLEXT_NOATTREDIT - -#if PD_MINOR_VERSION >= 37 - class_setpropertiesfn(cl,(t_propertiesfn)cb_GfxProperties); -#else - widgetbehavior.w_propertiesfn = (t_propertiesfn)cb_GfxProperties; -#endif - - tclscript(); -#endif // FLEXT_NOATTREDIT - -#ifdef __FLEXT_WIDGETBEHAVIOR - class_setwidget(cl, &widgetbehavior); -#endif -} - - -#ifndef FLEXT_NOATTREDIT - -static size_t escapeit(char *dst,size_t maxlen,const char *src) -{ - char *d; - for(d = dst; *src && (d-dst) < (int)maxlen; ++src) { - if(*src == '%') - *(d++) = '%',*(d++) = '%'; - else - *(d++) = *src; - } - *d = 0; - return d-dst; -} - -void flext_base::cb_GfxProperties(flext_hdr *c, t_glist *) -{ - flext_base *th = thisObject(c); - char buf[1000]; - - // beginning of proc - sys_vgui(const_cast<char *>("proc pdtk_flext_dialog_%p {title} {\n"),th); - - sys_vgui(const_cast<char *>("pdtk_flext_dialog $title {\n")); - - // add title - t_text *x = (t_text *)c; - FLEXT_ASSERT(x->te_binbuf); - - int argc = binbuf_getnatom(x->te_binbuf); - t_atom *argv = binbuf_getvec(x->te_binbuf); - - PrintList(argc,argv,buf,sizeof(buf)); - sys_vgui(const_cast<char *>("%s } {\n"),buf); - - AtomListStatic<32> la; - th->ListAttrib(la); - int cnt = la.Count(); - - for(int i = 0; i < cnt; ++i) { - const t_symbol *sym = GetSymbol(la[i]); - - // get attribute - AttrItem *gattr = th->FindAttrib(sym,true); - // get puttable attribute - AttrItem *pattr = gattr?gattr->Counterpart():th->FindAttrib(sym,false); - - // get flags - int sv; - const AtomList *initdata; - const AttrData *a = th->attrdata->find(sym); -// AttrDataCont::iterator it = th->attrdata->find(sym); -// if(it == th->attrdata->end()) - if(!a) - sv = 0,initdata = NULL; - else { -// const AttrData &a = *it.data(); - if(a->IsSaved()) - sv = 2; - else if(a->IsInit()) - sv = 1; - else - sv = 0; - initdata = a->IsInitValue()?&a->GetInitValue():NULL; - } - - // get attribute type - int tp; - bool list; - switch((gattr?gattr:pattr)->argtp) { - case a_int: tp = 0; list = false; break; - case a_float: tp = 1; list = false; break; - case a_bool: tp = 2; list = false; break; - case a_symbol: tp = 3; list = true; break; - case a_list: - case a_LIST: tp = 4; list = true; break; - default: - tp = 5; list = true; - FLEXT_ASSERT(false); - } - - sys_vgui(const_cast<char *>(list?"%s {":"%s "),GetString(sym)); - - AtomListStatic<32> lv; - if(gattr) { // gettable attribute is present - // Retrieve attribute value - th->GetAttrib(sym,gattr,lv); - - char *b = buf; *b = 0; - for(int i = 0; i < lv.Count(); ++i) { - char tmp[100]; - PrintAtom(lv[i],tmp,sizeof tmp); - b += escapeit(b,sizeof(buf)+buf-b,tmp); - if(i < lv.Count()-1) { *(b++) = ' '; *b = 0; } - } - sys_vgui(const_cast<char *>("%s"),buf); - } - else - sys_vgui(const_cast<char *>("{}")); - - sys_vgui(const_cast<char *>(list?"} {":" ")); - - if(pattr) { - // if there is initialization data take this, otherwise take the current data - const AtomList &lp = initdata?*initdata:static_cast<const AtomList &>(lv); - - char *b = buf; *b = 0; - for(int i = 0; i < lp.Count(); ++i) { - char tmp[256]; - PrintAtom(lp[i],tmp,sizeof(tmp)); - b += escapeit(b,sizeof(buf)+buf-b,tmp); - if(i < lp.Count()-1) { *(b++) = ' '; *b = 0; } - } - sys_vgui(const_cast<char *>("%s"),buf); - } - else - sys_vgui(const_cast<char *>("{}")); - - - sys_vgui(const_cast<char *>(list?"} %i %i %i \n":" %i %i %i \n"),tp,sv,pattr?(pattr->BothExist()?2:1):0); - } - - sys_vgui(const_cast<char *>(" } }\n")); // end of proc - - STD::sprintf(buf,"pdtk_flext_dialog_%p %%s\n",th); - gfxstub_new((t_pd *)th->thisHdr(), th->thisHdr(),buf); - - //! \todo delete proc in TCL space -} - -bool flext_base::cb_AttrDialog(flext_base *th,int argc,const t_atom *argv) -{ - for(int i = 0; i < argc; ) { - FLEXT_ASSERT(IsSymbol(argv[i])); - - // get name - const t_symbol *aname = GetSymbol(argv[i]); - i++; - - // get current value - FLEXT_ASSERT(CanbeInt(argv[i])); - int ccnt,coffs; - ccnt = GetAInt(argv[i]); - coffs = ++i; - i += ccnt; - - // get init value - FLEXT_ASSERT(CanbeInt(argv[i])); - int icnt,ioffs; - icnt = GetAInt(argv[i]); - ioffs = ++i; - i += icnt; - - FLEXT_ASSERT(i < argc); - int sv = GetAInt(argv[i]); - ++i; - - // find puttable attribute - AttrItem *attr = th->FindAttrib(aname,false); - if(attr) { - bool ret = th->SetAttrib(aname,attr,ccnt,argv+coffs); - FLEXT_ASSERT(ret); - - AttrData *a = th->attrdata->find(aname); - if(sv >= 1) { - // if data not present create it - if(!a) { - AttrData *old = th->attrdata->insert(aname,a = new AttrData); - FLEXT_ASSERT(!old); - } - - a->SetSave(sv == 2); - a->SetInit(true); - a->SetInitValue(icnt,argv+ioffs); - } - else { - if(a) { - // if data is present reset flags - a->SetSave(false); - a->SetInit(false); - - // let init data as is - } - } - } - else { - post("%s - Attribute %s can't be set",th->thisName(),GetString(aname)); - } - } - return true; -} - -#endif // FLEXT_NOATTREDIT - - -#ifdef FLEXT_ATTRHIDE - -static void BinbufAdd(t_binbuf *b,const t_atom &at,bool transdoll) -{ - if(transdoll && at.a_type == A_DOLLAR) { - char tbuf[MAXPDSTRING]; - sprintf(tbuf, "$%d", at.a_w.w_index); - binbuf_addv(b,"s",flext::MakeSymbol(tbuf)); - } - else if(transdoll && at.a_type == A_DOLLSYM) { - char tbuf[MAXPDSTRING]; - sprintf(tbuf, "$%s", at.a_w.w_symbol->s_name); - binbuf_addv(b,"s",flext::MakeSymbol(tbuf)); - } - else - binbuf_add(b,1,const_cast<t_atom *>(&at)); -} - -void flext_base::BinbufArgs(t_binbuf *b,t_binbuf *args,bool withname,bool transdoll) -{ - int argc = binbuf_getnatom(args); - t_atom *argv = binbuf_getvec(args); - int i,cnt = CheckAttrib(argc,argv); - // process the creation arguments - for(i = withname?0:1; i < cnt; ++i) BinbufAdd(b,argv[i],transdoll); -} - -void flext_base::BinbufAttr(t_binbuf *b,bool transdoll) -{ - // process the attributes - AtomListStatic<32> la,lv; - ListAttrib(la); - int i,cnt = la.Count(); - - for(i = 0; i < cnt; ++i) { - const t_symbol *sym = GetSymbol(la[i]); - const AtomList *lref = NULL; - - AttrData *a = attrdata->find(sym); - if(a) { - if(a->IsInit() && a->IsInitValue()) { - lref = &a->GetInitValue(); - -#if 0 ///////////////////////////////////////////////////////////// - // check for $-parameters - lv = lref->Count(); - for(int j = 0; j < lref->Count(); ++j) { - const char *s = IsSymbol((*lref)[j])?GetString((*lref)[j]):NULL; - if(s && s[0] == '$') { // TODO: More refined checking? - // prepend a "\" - char tmp[256]; *tmp = '\\'; - strcpy(tmp+1,s); - SetString(lv[j],tmp); - } - else - lv[i] = (*lref)[j]; - } - - lref = &lv; -#endif ///////////////////////////////////////////////////////////// - } -// else if(a.IsSaved()) { - else if(a->IsSaved()) { - AttrItem *attr = FindAttrib(sym,true); - - // attribute must be gettable (so that the data can be retrieved) and puttable (so that the data can be inited) - if(attr && attr->BothExist()) { - GetAttrib(sym,attr,lv); - lref = &lv; - } - } - } - - if(lref) { - char attrname[256]; *attrname= '@'; - // store name - strcpy(attrname+1,GetString(sym)); - binbuf_addv(b,"s",MakeSymbol(attrname)); - - // store value - for(int j = 0; j < lref->Count(); ++j) BinbufAdd(b,(*lref)[j],transdoll); - } - } -} - -//! Strip the attributes off the object command line -void flext_base::cb_GfxVis(flext_hdr *c, t_glist *gl, int vis) -{ - if(!gl->gl_isgraph || gl->gl_havewindow) { - // show object if it's not inside a GOP - - flext_base *th = thisObject(c); - t_text *x = (t_text *)c; - FLEXT_ASSERT(x->te_binbuf); - - t_binbuf *b = binbuf_new(); - th->BinbufArgs(b,x->te_binbuf,true,false); - - // delete old object box text - binbuf_free(x->te_binbuf); - // set new one - x->te_binbuf = b; - - t_rtext *rt = glist_findrtext(gl,x); - rtext_retext(rt); - - // now display the changed text with the normal drawing function - #ifdef __FLEXT_CLONEWIDGET - text_widgetbehavior.w_visfn((t_gobj *)c,gl,vis); - #else - ori_vis((t_gobj *)c,gl,vis); - #endif - } - // else don't show -} - -void flext_base::cb_GfxSelect(flext_hdr *c,t_glist *gl,int state) -{ - t_text *x = (t_text *)c; - flext_base *th = thisObject(c); - - if(!gl->gl_isgraph || gl->gl_havewindow) { - if(state || !gl->gl_editor->e_textdirty) { - // change text only on selection - // OR if text has _not_ been changed - // -> since object will not be recreated we have to get rid - // of the attribute text - - FLEXT_ASSERT(x->te_binbuf); - - t_binbuf *b = binbuf_new(); - th->BinbufArgs(b,x->te_binbuf,true,false); - if(state) th->BinbufAttr(b,false); - - // delete old object box text - binbuf_free(x->te_binbuf); - // set new one - x->te_binbuf = b; - - t_rtext *rt = glist_findrtext(gl,x); - rtext_retext(rt); - - // fix lines - canvas_fixlinesfor(gl,x); - } - - // call original function - #ifdef __FLEXT_CLONEWIDGET - text_widgetbehavior.w_selectfn((t_gobj *)c,gl,state); - #else - ori_select((t_gobj *)c,gl,state); - #endif - } -} - -void flext_base::cb_GfxSave(flext_hdr *c, t_binbuf *b) -{ - flext_base *th = thisObject(c); - t_text *t = (t_text *)c; - binbuf_addv(b, "ssiis", gensym("#X"),gensym("obj"), t->te_xpix, t->te_ypix,MakeSymbol(th->thisName())); - - // process the object arguments - th->BinbufArgs(b,t->te_binbuf,false,true); - // process the attributes - th->BinbufAttr(b,true); - // add end sign - binbuf_addv(b, ";"); -} - -#endif // FLEXT_ATTRHIDE - -#endif // FLEXT_SYS_PD - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flbase.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flbase.cpp.svn-base deleted file mode 100644 index 6c9825aa4..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flbase.cpp.svn-base +++ /dev/null @@ -1,213 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flbase.cpp - \brief Implementation of the internal flext base classes. - - \remark This is all derived from GEM by Mark Danks -*/ - -#include "flext.h" -#include "flinternal.h" -#include <cstring> -#include <cctype> -#include <cstdlib> - -#if FLEXT_SYS == FLEXT_SYS_PD -#ifdef _MSC_VER - #pragma warning (push) - #pragma warning (disable:4091) -#endif -// for canvas_realizedollar (should be non-critical) -#include <g_canvas.h> -#ifdef _MSC_VER - #pragma warning (pop) -#endif -#endif - -#include "flpushns.h" - -///////////////////////////////////////////////////////// -// -// flext_obj -// -///////////////////////////////////////////////////////// - -flext_hdr *flext_obj::m_holder = NULL; -const t_symbol *flext_obj::m_holdname = NULL; -flext_class *flext_obj::m_holdclass = NULL; -int flext_obj::m_holdaargc = 0; -const t_atom *flext_obj::m_holdaargv = NULL; -//bool flext_obj::process_attributes = false; - -bool flext_obj::initing = false; -bool flext_obj::exiting = false; -bool flext_obj::init_ok; - -//void flext_obj::ProcessAttributes(bool attr) { process_attributes = attr; } - -#if FLEXT_SYS == FLEXT_SYS_MAX -static const t_symbol *sym__shP = NULL; -#endif - -///////////////////////////////////////////////////////// -// Constructor -// -///////////////////////////////////////////////////////// -flext_obj :: FLEXT_CLASSDEF(flext_obj)() - : x_obj(m_holder) - , clss(m_holdclass) - , m_name(m_holdname) -{ -#if FLEXT_SYS == FLEXT_SYS_PD - m_canvas = canvas_getcurrent(); -#elif FLEXT_SYS == FLEXT_SYS_MAX - m_canvas = (t_patcher *)sym__shP->s_thing; - x_obj->curinlet = 0; -#endif -} - -///////////////////////////////////////////////////////// -// Destructor -// -///////////////////////////////////////////////////////// -flext_obj :: ~FLEXT_CLASSDEF(flext_obj)() -{ - x_obj = NULL; -} - -void flext_obj::__setup__(t_classid) -{ -#if FLEXT_SYS == FLEXT_SYS_MAX - sym__shP = MakeSymbol("#P"); -#endif - flext::Setup(); -} - -bool flext_obj::Init() { return true; } -bool flext_obj::Finalize() { return true; } -void flext_obj::Exit() {} - -void flext_obj::DefineHelp(t_classid c,const char *ref,const char *dir,bool addtilde) -{ -#if FLEXT_SYS == FLEXT_SYS_PD - char tmp[256]; - if(dir && *dir) { - strcpy(tmp,dir); - char *last = tmp+strlen(tmp)-1; - if(*last != '/') strcat(last,"/"); - strcat(last,ref); - } - else - strcpy(tmp,ref); - if(addtilde) strcat(tmp,"~"); - - ::class_sethelpsymbol(getClass(c),gensym(const_cast<char *>(tmp))); -#else - // no solution for Max/MSP yet -#endif -} - -bool flext_obj::GetParamSym(t_atom &dst,const t_symbol *sym,t_canvas *c) -{ -#if FLEXT_SYS == FLEXT_SYS_PD && defined(PD_MINOR_VERSION) && PD_MINOR_VERSION >= 37 - if(!c) c = canvas_getcurrent(); - - const char *s = GetString(sym); - if((s[0] == '$' || s[0] == '#') && isdigit(s[1])) { - const t_symbol *res; - // patcher parameter detected... get value! - if(s[0] != '$') { - char tmp[MAXPDSTRING]; - strcpy(tmp,s); - tmp[0] = '$'; - res = canvas_realizedollar(c,const_cast<t_symbol *>(MakeSymbol(tmp))); - } - else - res = canvas_realizedollar(c,const_cast<t_symbol *>(sym)); - - // check for number - const char *c = GetString(res); - while(*c && (isdigit(*c) || *c == '.')) ++c; - - if(!*c) - SetFloat(dst,(float)atof(GetString(res))); - else - SetSymbol(dst,res); - return true; - } - else -#else - #pragma message("Not implemented") -#endif - SetSymbol(dst,sym); - return true; -} - - -#if FLEXT_SYS == FLEXT_SYS_PD -// this declaration is missing in m_pd.h (0.37-0 and -1) -// but it is there in 0.37-2 (but how to tell which micro-version?) -extern "C" -#ifdef _MSC_VER -__declspec(dllimport) -#endif -void canvas_getargs(int *argcp, t_atom **argvp); -#endif - - -void flext_obj::GetCanvasArgs(AtomList &args) const -{ -#if FLEXT_SYS == FLEXT_SYS_PD - int argc; - t_atom *argv; - canvas_getargs(&argc,&argv); - args(argc,argv); -#else - #pragma message("Not implemented") - args(0); -#endif -} - - -#if FLEXT_SYS == FLEXT_SYS_MAX -static short patcher_myvol(t_patcher *x) -{ -#ifndef MM_UNIFIED // Max5 check... we don't know what to do yet - t_box *w; - if(x->p_vol) - return x->p_vol; - else if((w = (t_box *)x->p_vnewobj) != NULL) - return patcher_myvol(w->b_patcher); - else -#endif - return 0; -} -#endif - -void flext_obj::GetCanvasDir(char *buf,size_t bufsz) const -{ -#if FLEXT_SYS == FLEXT_SYS_PD - const char *c = GetString(canvas_getdir(thisCanvas())); - strncpy(buf,c,bufsz); -#elif FLEXT_SYS == FLEXT_SYS_MAX - short path = patcher_myvol(thisCanvas()); - // \TODO dangerous!! no check for path length (got to be long enough... like 1024 chars) - path_topathname(path,NULL,buf); -#else -#error Not implemented -#endif -} - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flbase.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flbase.h.svn-base deleted file mode 100644 index e0c012149..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flbase.h.svn-base +++ /dev/null @@ -1,599 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flbase.h - \brief Internal flext base classes - - \remark This uses some ideas of GEM invented by Mark Danks -*/ - -#ifndef __FLEXT_BASE_H -#define __FLEXT_BASE_H - -#include "flstdc.h" -#include "flsupport.h" - -#include "flpushns.h" - -class FLEXT_SHARE FLEXT_CLASSDEF(flext_obj); -typedef class FLEXT_CLASSDEF(flext_obj) flext_obj; - -// ---------------------------------------------------------------------------- -/*! \brief The obligatory PD or Max/MSP object header - \internal - - This is in a separate struct to assure that obj is the very first thing. - If it were the first thing in flext_obj, then there could be problems with - the virtual table of the C++ class. -*/ -// ---------------------------------------------------------------------------- - -struct FLEXT_SHARE flext_hdr -{ - /*! \defgroup FLEXT_OBJHEADER Actual PD or Max/MSP object - \internal - @{ - */ - - /*! \brief The obligatory object header - \note MUST reside at memory offset 0 (no virtual table possible) - */ - t_sigobj obj; - -#if FLEXT_SYS == FLEXT_SYS_PD - //! PD only: float signal holder for pd - float defsig; -#endif - -#if FLEXT_SYS == FLEXT_SYS_MAX - //! Max/MSP only: current inlet used by proxy objects - long curinlet; -#endif - - /*! \brief This points to the actual polymorphic C++ class - */ - FLEXT_CLASSDEF(flext_obj) *data; - - //! @} FLEXT_OBJHEADER -}; - - -class flext_class; - -// ---------------------------------------------------------------------------- -/*! \brief The mother of base classes for all flext external objects - - Each extern which is written in C++ needs to use the #defines at the - end of this header file. - - The define - - FLEXT_HEADER(NEW_CLASS, PARENT_CLASS) - - should be somewhere in your header file. - One of the defines like - - FLEXT_NEW(NEW_CLASS) - or - FLEXT_NEW_2(NEW_CLASS, float, float) - - should be the first thing in your implementation file. - NEW_CLASS is the name of your class and PARENT_CLASS is the - parent of your class. -*/ -// ---------------------------------------------------------------------------- - -class FLEXT_SHARE FLEXT_CLASSDEF(flext_obj): - public flext -{ - public: - -// --- creation ------------------------------------------------------- - - /*! \defgroup FLEXT_OBJ_CREATION Object creation/destruction functionality - @{ - */ - - //! Constructor - FLEXT_CLASSDEF(flext_obj)(); - - //! Destructor - virtual ~FLEXT_CLASSDEF(flext_obj)(); - - /*! \brief Signal a construction problem - \note This should only be used in the constructor. Object creation will be aborted. - */ - static void InitProblem() { init_ok = false; } - - /*! \brief Enable/disable attribute procession (default = false) - \note Use that in the static class setup function (also library setup function) - */ -// static void ProcessAttributes(bool attr); //{ process_attributes = attr; } - - //! Virtual function called at creation time (but after the constructor) - // this also guarantees that there are no instances of flext_obj - virtual bool Init(); - - //! Virtual function called after Init() has succeeded - virtual bool Finalize(); - - //! Virtual function called at destruction (before the destructor) - virtual void Exit(); - - //! @} FLEXT_OBJ_CREATION - -// --- info ------------------------------------------------------- - - /*! \defgroup FLEXT_OBJ_INFO Get various information - @{ - */ - - //! Get the object's canvas - t_canvas *thisCanvas() const { return m_canvas; } - - //! Get the PD or Max/MSP object - t_sigobj *thisHdr() { FLEXT_ASSERT(x_obj); return &x_obj->obj; } - const t_sigobj *thisHdr() const { FLEXT_ASSERT(x_obj); return &x_obj->obj; } - //! Get the class name (as a string) - const char *thisName() const { return GetString(m_name); } - //! Get the class name (as a symbol) - const t_symbol *thisNameSym() const { return m_name; } - //! Get the class pointer - t_class *thisClass() const; - - //! Typedef for unique class identifier - typedef flext_class *t_classid; - - //! Get unique id for object class - t_classid thisClassId() const { return clss; } - - //! Get class pointer from class id - static t_class *getClass(t_classid id); - - static bool HasAttributes(t_classid id); - static bool IsDSP(t_classid id); - static bool HasDSPIn(t_classid id); - static bool IsLib(t_classid id); - - bool HasAttributes() const; - bool IsLib() const; - bool IsDSP() const; - bool HasDSPIn() const; - -#if FLEXT_SYS == FLEXT_SYS_MAX - // under Max/MSP it could be necessary to activate DSP also for message objects - // namely for those coexisting with DSP objects in a library - bool NeedDSP() const; -#endif - - //! @} FLEXT_OBJ_INFO - -// --- help ------------------------------------------------------- - - /*! \defgroup FLEXT_OBJ_HELP Help/assistance functionality - \remark This is still PD only - @{ - */ - - /*! Define the help reference symbol for a class - \internal - */ - static void DefineHelp(t_classid c,const char *ref,const char *dir = NULL,bool addtilde = false); - - //! 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_OBJ_INTERNAL Internal stuff - \internal - @{ - */ - - protected: - - //! backpointer to object header - mutable flext_hdr *x_obj; - - //! pointer to flext class definition - flext_class *clss; - -// static bool process_attributes; - -#if FLEXT_SYS == FLEXT_SYS_MAX - t_critical lock; - void Lock() { critical_enter(lock); } - void Unlock() { critical_exit(lock); } - static void SysLock() { critical_enter(0); } - static void SysUnlock() { critical_exit(0); } -#elif FLEXT_SYS == FLEXT_SYS_PD - void Lock() {} - void Unlock() {} - static void SysLock() {} - static void SysUnlock() {} -#else - #error -#endif - - class Locker - { - public: - Locker(flext_obj *o = NULL): obj(o) { if(obj) obj->Lock(); else SysLock(); } - Locker(flext_hdr *h): obj(h->data) { FLEXT_ASSERT(obj); obj->Lock(); } - ~Locker() { if(obj) obj->Unlock(); else SysUnlock(); } - protected: - flext_obj *obj; - }; - - private: - - //! The canvas (patcher) that the object is in - mutable t_canvas *m_canvas; - - //! Flag for successful object construction - static bool init_ok; - - // flags for init and exit procedure; - static bool initing; - static bool exiting; - - public: - - //! Creation callback - static void __setup__(t_classid); - - /*! \brief This is a temporary holder - \warning don't touch it! - */ - static flext_hdr *m_holder; - //! Hold object's class during construction - static flext_class *m_holdclass; - //! Hold object's name during construction - static const t_symbol *m_holdname; - - //! Holders for attribute procession flag - static int m_holdaargc; - static const t_atom *m_holdaargv; - - /*! The object's name in the patcher - \note objects of the same class can have various alias names! - */ - const t_symbol *m_name; - - /*! Return true if in object initialization phase - true when in constructor or Init, false when in Finalize - */ - static bool Initing() { return initing; } - - //! Return true if in object destruction phase (Exit or destructor) - static bool Exiting() { return exiting; } - - // Definitions for library objects - static void lib_init(const char *name,void setupfun()); - static void obj_add(bool lib,bool dsp,bool noi,bool attr,const char *idname,const char *names,void setupfun(t_classid),FLEXT_CLASSDEF(flext_obj) *(*newfun)(int,t_atom *),void (*freefun)(flext_hdr *),int argtp1,...); -#if FLEXT_SYS == FLEXT_SYS_MAX - static flext_hdr *obj_new(const t_symbol *s,short argc,t_atom *argv); -#else - static flext_hdr *obj_new(const t_symbol *s,int argc,t_atom *argv); -#endif - static void obj_free(flext_hdr *o); - - //! Convert $0 or #0 symbol into appropriate value - static bool GetParamSym(t_atom &dst,const t_symbol *s,t_canvas *c); - - //! Get the canvas arguments - void GetCanvasArgs(AtomList &args) const; - - //! Get the canvas/patcher directory - void GetCanvasDir(char *buf,size_t bufsz) const; - - //! @} FLEXT_OBJ_INTERNAL -}; - - -// max. 4 creation args (see the following macros) -#define FLEXT_MAXNEWARGS 4 - -// max. 5 method args (see the following macros) -#define FLEXT_MAXMETHARGS 5 - -// prefixes for the macro generated handler functions -#define FLEXT_CALL_PRE(F) flext_c_##F -#define FLEXT_THR_PRE(F) flext_t_##F -#define FLEXT_GET_PRE(F) flext_g_##F -#define FLEXT_SET_PRE(F) flext_s_##F - - -#ifndef FLEXT_ATTRIBUTES -/*! \brief Switch for global attribute processing - \note Should be set to 1 or 0 (or not be defined) - \ingroup FLEXT_DEFS -*/ -#define FLEXT_ATTRIBUTES \ -\ -0 - - -#elif FLEXT_ATTRIBUTES != 0 && FLEXT_ATTRIBUTES != 1 -#error "FLEXT_ATTRIBUTES must be 0 or 1" -#endif - -// ---------------------------------------- -// These should be used in the header -// ---------------------------------------- - - -#define FLEXT_REALHDR(NEW_CLASS, PARENT_CLASS) \ -public: \ -typedef NEW_CLASS thisType; \ -typedef PARENT_CLASS thisParent; \ -static FLEXT_CLASSDEF(flext_obj) *__init__(int argc,t_atom *argv); \ -static void __free__(flext_hdr *hdr) { delete hdr->data; } \ -static void __setup__(t_classid classid) { thisParent::__setup__(classid); } - - -#define FLEXT_REALHDR_S(NEW_CLASS, PARENT_CLASS,SETUPFUN) \ -public: \ -typedef NEW_CLASS thisType; \ -typedef PARENT_CLASS thisParent; \ -static FLEXT_CLASSDEF(flext_obj) *__init__(int argc,t_atom *argv); \ -static void __free__(flext_hdr *hdr) { delete hdr->data; } \ -static void __setup__(t_classid classid) { \ - thisParent::__setup__(classid); \ - thisType::SETUPFUN(classid); \ -} - -#define FLEXT_REALHDR_T(NEW_CLASS, PARENT_CLASS) \ -public: \ -typedef NEW_CLASS thisType; \ -typedef PARENT_CLASS thisParent; \ -typedef typename thisParent::t_classid t_classid; \ -static FLEXT_CLASSDEF(flext_obj) *__init__(int argc,t_atom *argv); \ -static void __free__(flext_hdr *hdr) { delete hdr->data; } \ -static void __setup__(t_classid classid) { thisParent::__setup__(classid); } - - -#define FLEXT_REALHDR_TS(NEW_CLASS, PARENT_CLASS,SETUPFUN) \ -public: \ -typedef NEW_CLASS thisType; \ -typedef PARENT_CLASS thisParent; \ -typedef typename thisParent::t_classid t_classid; \ -static FLEXT_CLASSDEF(flext_obj) *__init__(int argc,t_atom *argv); \ -static void __free__(flext_hdr *hdr) { delete hdr->data; } \ -static void __setup__(t_classid classid) { \ - thisParent::__setup__(classid); \ - thisType::SETUPFUN(classid); \ -} - - -// generate name of dsp/non-dsp setup function -#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX - #define FLEXT_STPF_0(NAME) NAME##_setup - #define FLEXT_STPF_1(NAME) NAME##_tilde_setup -#else -#error Platform not supported -#endif - -#define FLEXT_STPF_(DSP) FLEXT_STPF_##DSP -#define FLEXT_STPF(NAME,DSP) FLEXT_STPF_(DSP)(NAME) - - -// -------------------------------------------------------------------------------------- - - -// used in library setup functions to register the individual objects in the library -#define REAL_SETUP(cl,DSP) extern void FLEXT_STPF(cl,DSP)(); FLEXT_STPF(cl,DSP)(); - -#ifdef FLEXT_USE_NAMESPACE - #define _FLEXT_REAL_SETUP_NAME(NAME) ::##NAME##_setup -#else - #define _FLEXT_REAL_SETUP_NAME(NAME) NAME##_setup -#endif - -// specify that to define the library itself -#if FLEXT_SYS == FLEXT_SYS_PD -# define REAL_LIB_SETUP(NAME,SETUPFUN) extern "C" FLEXT_EXT void _FLEXT_REAL_SETUP_NAME(NAME)() { flext_obj::lib_init(#NAME,SETUPFUN); } -#elif FLEXT_SYS == FLEXT_SYS_MAX -# define REAL_LIB_SETUP(NAME,SETUPFUN) extern "C" FLEXT_EXT int main() { flext_obj::lib_init(#NAME,SETUPFUN); return 0; } -#else -# error Platform not supported -#endif - - -// -------------------------------------------------- - - -#define FLEXT_EXP_0 extern "C" FLEXT_EXT -#define FLEXT_EXP_1 -#define FLEXT_EXP(LIB) FLEXT_EXP_##LIB - -#if FLEXT_SYS == FLEXT_SYS_PD -#define FLEXT_OBJ_SETUP_0(NEW_CLASS,DSP) -#elif FLEXT_SYS == FLEXT_SYS_MAX -#define FLEXT_OBJ_SETUP_0(NEW_CLASS,DSP) extern "C" FLEXT_EXT int main() { FLEXT_STPF(NEW_CLASS,DSP)(); return 0; } -#else -#error not implemented -#endif - -#define FLEXT_OBJ_SETUP_1(NEW_CLASS,DSP) - -#define FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB) FLEXT_OBJ_SETUP_##LIB(NEW_CLASS,DSP) - - - -// ---------------------------------------- -// These definitions are used below -// ---------------------------------------- - -#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX - // maybe that's not necessary - #define FLEXTTPN_NULL A_NULL - #if FLEXT_SYS == FLEXT_SYS_PD - #define FLEXTTPN_PTR A_POINTER - #else - #define FLEXTTPN_INT A_INT - #define FLEXTTPN_DEFINT A_DEFINT - #endif - #define FLEXTTPN_FLOAT A_FLOAT - #define FLEXTTPN_DEFFLOAT A_DEFFLOAT - #define FLEXTTPN_SYM A_SYMBOL - #define FLEXTTPN_DEFSYM A_DEFSYMBOL - #define FLEXTTPN_VAR A_GIMME -#else - #define FLEXTTPN_NULL 0 - #define FLEXTTPN_PTR 1 - #define FLEXTTPN_INT 2 - #define FLEXTTPN_FLOAT 3 - #define FLEXTTPN_SYM 4 - #define FLEXTTPN_VAR 5 - #define FLEXTTPN_DEFINT 6 - #define FLEXTTPN_DEFFLOAT 7 - #define FLEXTTPN_DEFSYM 8 -#endif - -// Shortcuts for PD/Max type arguments -#define FLEXTTYPE_void FLEXTTPN_NULL -#define CALLBTYPE_void void -#define FLEXTTYPE_float FLEXTTPN_FLOAT -#define FLEXTTYPE_float0 FLEXTTPN_DEFFLOAT -#define CALLBTYPE_float float -#define FLEXTTYPE_t_float FLEXTTPN_FLOAT -#define CALLBTYPE_t_float t_float - -#if FLEXT_SYS == FLEXT_SYS_PD -#define FLEXTTYPE_int FLEXTTPN_FLOAT -#define FLEXTTYPE_int0 FLEXTTPN_DEFFLOAT -#define CALLBTYPE_int float -#define FLEXTTYPE_bool FLEXTTPN_FLOAT -#define FLEXTTYPE_bool0 FLEXTTPN_DEFFLOAT -#define CALLBTYPE_bool float -#elif FLEXT_SYS == FLEXT_SYS_MAX -#define FLEXTTYPE_int FLEXTTPN_INT -#define FLEXTTYPE_int0 FLEXTTPN_DEFINT -#define CALLBTYPE_int int -#define FLEXTTYPE_bool FLEXTTPN_INT -#define FLEXTTYPE_bool0 FLEXTTPN_DEFINT -#define CALLBTYPE_bool int -#else -#error Platform not supported -#endif - -#define FLEXTTYPE_t_symptr FLEXTTPN_SYM -#define FLEXTTYPE_t_symptr0 FLEXTTPN_DEFSYM -#define CALLBTYPE_t_symptr t_symptr -#define FLEXTTYPE_t_symtype FLEXTTYPE_t_symptr -#define FLEXTTYPE_t_symtype0 FLEXTTYPE_t_symptr0 -#define CALLBTYPE_t_symtype t_symptr -#define FLEXTTYPE_t_ptrtype FLEXTTPN_PTR -#define CALLBTYPE_t_ptrtype t_ptrtype - -#define FLEXTTP(TP) FLEXTTYPE_ ## TP -#define CALLBTP(TP) CALLBTYPE_ ## TP - - -#define ARGMEMBER_bool(a) GetBool(a) -#define ARGMEMBER_bool0(a) ARGMEMBER_bool(a) -#define ARGMEMBER_int(a) GetInt(a) -#define ARGMEMBER_int0(a) ARGMEMBER_int(a) -#define ARGMEMBER_float(a) GetFloat(a) -#define ARGMEMBER_float0(a) ARGMEMBER_float(a) -#define ARGMEMBER_t_symptr(a) GetSymbol(a) -#define ARGMEMBER_t_symptr0(a) ARGMEMBER_t_symptr(a) -#define ARGMEMBER_t_symtype(a) ARGMEMBER_t_symptr(a) -#define ARGMEMBER_t_symtype0(a) ARGMEMBER_t_symptr0(a) -#define ARGCAST(a,tp) ARGMEMBER_##tp(a) - -#define REAL_NEW(NAME,NEW_CLASS,DSP,NOI,LIB) \ -flext_obj *NEW_CLASS::__init__(int ,t_atom *) \ -{ \ - return new NEW_CLASS; \ -} \ -FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ -{ \ - flext_obj::obj_add(LIB,DSP,NOI,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,&NEW_CLASS::__free__,FLEXTTPN_NULL); \ -} \ -FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB) - -#define REAL_NEW_V(NAME,NEW_CLASS,DSP,NOI,LIB) \ -flext_obj *NEW_CLASS::__init__(int argc,t_atom *argv) \ -{ \ - return new NEW_CLASS(argc,argv); \ -} \ -FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ -{ \ - flext_obj::obj_add(LIB,DSP,NOI,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,&NEW_CLASS::__free__,FLEXTTPN_VAR,FLEXTTPN_NULL); \ -} \ -FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB) - -#define REAL_NEW_1(NAME,NEW_CLASS,DSP,NOI,LIB, TYPE1) \ -flext_obj *NEW_CLASS::__init__(int,t_atom *argv) \ -{ \ - return new NEW_CLASS(ARGCAST(argv[0],TYPE1)); \ -} \ -FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ -{ \ - flext_obj::obj_add(LIB,DSP,NOI,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,NEW_CLASS::__free__,FLEXTTP(TYPE1),FLEXTTPN_NULL); \ -} \ -FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB) - -#define REAL_NEW_2(NAME,NEW_CLASS,DSP,NOI,LIB, TYPE1,TYPE2) \ -flext_obj *NEW_CLASS::__init__(int,t_atom *argv) \ -{ \ - return new NEW_CLASS(ARGCAST(argv[0],TYPE1),ARGCAST(argv[1],TYPE2)); \ -} \ -FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ -{ \ - flext_obj::obj_add(LIB,DSP,NOI,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,NEW_CLASS::__free__,FLEXTTP(TYPE1),FLEXTTP(TYPE2),FLEXTTPN_NULL); \ -} \ -FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB) - -#define REAL_NEW_3(NAME,NEW_CLASS,DSP,NOI,LIB, TYPE1, TYPE2, TYPE3) \ -flext_obj *NEW_CLASS::__init__(int,t_atom *argv) \ -{ \ - return new NEW_CLASS(ARGCAST(argv[0],TYPE1),ARGCAST(argv[1],TYPE2),ARGCAST(argv[2],TYPE3)); \ -} \ -FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ -{ \ - flext_obj::obj_add(LIB,DSP,NOI,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,NEW_CLASS::__free__,FLEXTTP(TYPE1),FLEXTTP(TYPE2),FLEXTTP(TYPE3),FLEXTTPN_NULL); \ -} \ -FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB) - -#define REAL_NEW_4(NAME,NEW_CLASS,DSP,NOI,LIB, TYPE1,TYPE2, TYPE3, TYPE4) \ -flext_obj *NEW_CLASS::__init__(int,t_atom *argv) \ -{ \ - return new NEW_CLASS(ARGCAST(argv[0],TYPE1),ARGCAST(argv[1],TYPE2),ARGCAST(argv[2],TYPE3),ARGCAST(argv[3],TYPE4)); \ -} \ -FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ -{ \ - flext_obj::obj_add(LIB,DSP,NOI,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,NEW_CLASS::__free__,FLEXTTP(TYPE1),FLEXTTP(TYPE2),FLEXTTP(TYPE3),FLEXTTP(TYPE4),FLEXTTPN_NULL); \ -} \ -FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB) - - -// Shortcuts for method arguments: -#define FLEXTARG_float a_float -#define FLEXTARG_int a_int -#define FLEXTARG_bool a_int -#define FLEXTARG_t_float a_float -#define FLEXTARG_t_symtype a_symbol -#define FLEXTARG_t_symptr a_symbol -#define FLEXTARG_t_ptrtype a_pointer - -#define FLEXTARG(TP) FLEXTARG_ ## TP - -#include "flpopns.h" - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flbind.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flbind.cpp.svn-base deleted file mode 100644 index 7d722ee03..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flbind.cpp.svn-base +++ /dev/null @@ -1,267 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flbind.cpp - \brief Functionality for symbol-bound methods. -*/ - -#include "flext.h" -#include "flinternal.h" - -#include "flpushns.h" - -t_class *flext_base::pxbnd_class = NULL; - -#if FLEXT_SYS == FLEXT_SYS_MAX -t_object *px_freelist = NULL; -t_messlist px_messlist[3]; -#endif - -/*! \brief Set up the proxy class for symbol-bound methods -*/ -void flext_base::SetupBindProxy() -{ - // already initialized? - if(!pxbnd_class) { -#if FLEXT_SYS == FLEXT_SYS_PD - pxbnd_class = class_new(gensym(const_cast<char *>("flext_base bind proxy")),NULL,NULL,sizeof(pxbnd_object),CLASS_PD|CLASS_NOINLET, A_NULL); - add_anything(pxbnd_class,pxbnd_object::px_method); // for symbol-bound methods -#elif FLEXT_SYS == FLEXT_SYS_MAX - pxbnd_class = new t_class; - - pxbnd_class->c_sym = const_cast<t_symbol *>(sym__); - pxbnd_class->c_freelist = &px_freelist; - pxbnd_class->c_freefun = NULL; - pxbnd_class->c_size = sizeof(pxbnd_object); - pxbnd_class->c_tiny = 0; - pxbnd_class->c_noinlet = 1; - px_messlist[0].m_sym = (t_symbol *)pxbnd_class; - - px_messlist[1].m_sym = const_cast<t_symbol *>(sym_anything); - px_messlist[1].m_fun = (method)pxbnd_object::px_method; - px_messlist[1].m_type[0] = A_GIMME; - px_messlist[1].m_type[1] = 0; - - px_messlist[2].m_sym = 0; -#else -#pragma warning("Not implemented!") -#endif - } -} - - -flext_base::BindItem::BindItem(bool (*f)(flext_base *,t_symbol *s,int,t_atom *,void *data),pxbnd_object *p): - Item(NULL),fun(f),px(p) -{} - -flext_base::BindItem::~BindItem() -{ - if(px) { - FLEXT_ASSERT(!fun); // check if already unbound - object_free(&px->obj); - } -} - -void flext_base::BindItem::Unbind(const t_symbol *tag) -{ - if(px) { - FLEXT_ASSERT(fun); - -#if FLEXT_SYS == FLEXT_SYS_PD - pd_unbind(&px->obj.ob_pd,const_cast<t_symbol *>(tag)); -#elif FLEXT_SYS == FLEXT_SYS_MAX - if(tag->s_thing == (t_object *)px) - const_cast<t_symbol *>(tag)->s_thing = NULL; - else - error("flext - Binding to symbol %s not found",tag->s_name); -#else -# pragma warning("Not implemented") -#endif - - fun = NULL; - } -} - -#if FLEXT_SYS == FLEXT_SYS_PD - //! Bind object to a symbol - bool flext_base::Bind(const t_symbol *sym) { pd_bind(&thisHdr()->ob_pd,const_cast<t_symbol *>(sym)); return true; } - //! Unbind object from a symbol - bool flext_base::Unbind(const t_symbol *sym) { pd_unbind(&thisHdr()->ob_pd,const_cast<t_symbol *>(sym)); return true; } -#elif FLEXT_SYS == FLEXT_SYS_MAX - //! Bind object to a symbol - bool flext_base::Bind(const t_symbol *sym) { if(sym->s_thing) return false; else { const_cast<t_symbol *>(sym)->s_thing = (t_object *)thisHdr(); return true; } } - //! Unbind object from a symbol - bool flext_base::Unbind(const t_symbol *sym) { if(sym->s_thing != (t_object *)thisHdr()) return false; else { const_cast<t_symbol *>(sym)->s_thing = NULL; return true; } } -#endif - -bool flext_base::BindMethod(const t_symbol *sym,bool (*fun)(flext_base *,t_symbol *s,int argc,t_atom *argv,void *data),void *data) -{ - if(!bindhead) - bindhead = new ItemCont; - else { - // Search for symbol - for(Item *it = bindhead->FindList(sym); it; it = it->nxt) { - BindItem *item = (BindItem *)it; - - // go through all items with matching tag - if(item->fun == fun) { - // function already registered -> bail out! - post("%s - Symbol already bound with this method",thisName()); - return false; - } - } - } - - SetupBindProxy(); - -#if FLEXT_SYS == FLEXT_SYS_PD - pxbnd_object *px = (pxbnd_object *)object_new(pxbnd_class); -#elif FLEXT_SYS == FLEXT_SYS_MAX - pxbnd_object *px = (pxbnd_object *)newobject(px_messlist); -#else -#pragma warning("Not implemented!") -#endif - - if(px) { - BindItem *mi = new BindItem(fun,px); - bindhead->Add(mi,sym); - - px->init(this,mi,data); - -#if FLEXT_SYS == FLEXT_SYS_PD - pd_bind(&px->obj.ob_pd,const_cast<t_symbol *>(sym)); -#elif FLEXT_SYS == FLEXT_SYS_MAX - if(!sym->s_thing) - const_cast<t_symbol *>(sym)->s_thing = (t_object *)px; - else - error("%s - Symbol is already bound",thisName()); -#else -# pragma warning("Not implemented") -#endif - } - else - error("%s - Symbol proxy could not be created",thisName()); - - return true; -} - -bool flext_base::UnbindMethod(const t_symbol *sym,bool (*fun)(flext_base *,t_symbol *s,int argc,t_atom *argv,void *data),void **data) -{ - bool ok = false; - - if(bindhead && bindhead->Contained(0)) { - ItemSet &set = bindhead->GetInlet(); - -/* - ItemSet::iterator it1,it2; - if(sym) { - // specific tag - it1 = it2 = set.find(sym); it2++; - } - else { - // any tag - it1 = set.begin(),it2 = set.end(); - } - - BindItem *it = NULL; - for(ItemSet::iterator si = it1; si != it2 && !it; ++si) { - for(Item *i = si.data(); i; i = i->nxt) { - BindItem *item = (BindItem *)i; - if(!fun || item->fun == fun) - { - it = item; - if(!sym) sym = si.key(); - break; - } - } - } -*/ - BindItem *item = NULL; - if(sym) { - // symbol is given - Item *it = set.find(sym); - if(fun) { - // check if function matches - for(; it && static_cast<BindItem *>(it)->fun != fun; it = it->nxt) {} - } - item = static_cast<BindItem *>(it); - } - else { - // take any entry that matches - for(ItemSet::iterator si(set); si && !item; ++si) { - for(Item *i = si.data(); i; i = i->nxt) { - BindItem *bit = (BindItem *)i; - if(!fun || bit->fun == fun) { - item = bit; - if(!sym) sym = si.key(); - break; - } - } - } - } - - if(item) { - if(data) *data = item->px->data; - ok = bindhead->Remove(item,sym,0,false); - if(ok) { - item->Unbind(sym); - delete item; - } - } - } - return ok; -} - -bool flext_base::GetBoundMethod(const t_symbol *sym,bool (*fun)(flext_base *,t_symbol *s,int argc,t_atom *argv,void *data),void *&data) -{ - if(bindhead) { - // Search for symbol - for(Item *it = bindhead->FindList(sym); it; it = it->nxt) { - BindItem *item = (BindItem *)it; - - // go through all items with matching tag - if(item->fun == fun) { - data = item->px->data; - return true; - } - } - } - return false; -} - -bool flext_base::UnbindAll() -{ - if(bindhead && bindhead->Contained(0)) { - ItemSet &set = bindhead->GetInlet(); -// for(ItemSet::iterator si = set.begin(); si != set.end(); ++si) { - for(ItemSet::iterator si(set); si; ++si) { - Item *lst = si.data(); - while(lst) { - Item *nxt = lst->nxt; - BindItem *it = (BindItem *)lst; - it->Unbind(si.key()); - delete it; - lst = nxt; - } - } - set.clear(); - } - return true; -} - -void flext_base::pxbnd_object::px_method(pxbnd_object *c,const t_symbol *s,int argc,t_atom *argv) -{ - c->item->fun(c->base,(t_symbol *)s,argc,(t_atom *)argv,c->data); -} - -#include "flpopns.h" diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flbuf.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flbuf.cpp.svn-base deleted file mode 100644 index e1322919a..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flbuf.cpp.svn-base +++ /dev/null @@ -1,396 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2010 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flbuf.cpp - \brief Implementation of the buffer abstraction class. -*/ - -#include "flext.h" -#include "flfeatures.h" -#include <set> - -#include "flpushns.h" - -#if FLEXT_SYS != FLEXT_SYS_JMAX - -#if FLEXT_SYS == FLEXT_SYS_PD -#define DIRTY_INTERVAL 0 // buffer dirty check in msec -#endif - -#if FLEXT_SYS == FLEXT_SYS_MAX -// defined in flsupport.cpp -extern const t_symbol *sym_buffer,*sym_size; -#endif - -#if FLEXT_SYS == FLEXT_SYS_PD -typedef std::set<flext::buffer *> Buffers; -static Buffers buffers; - -void cb_buffer_dsp(void *c,t_signal **sp) -{ - for(Buffers::iterator it = buffers.begin(); it != buffers.end(); ++it) - (*it)->Set(); -} -#endif - -flext::buffer::buffer(const t_symbol *bn,bool delayed): - sym(NULL),data(NULL), - chns(0),frames(0) -{ -#if FLEXT_SYS == FLEXT_SYS_PD - arr = NULL; - interval = DIRTY_INTERVAL; - isdirty = false; - ticking = false; - - // we probably should make this global... work on the set of registered buffers - tick = clock_new(this,(t_method)cb_tick); -#endif - - if(bn) Set(bn,delayed); - - ClearDirty(); - -#if FLEXT_SYS == FLEXT_SYS_PD - // register buffer - FLEXT_ASSERT(buffers.find(this) == buffers.end()); - buffers.insert(this); -#endif -} - -flext::buffer::~buffer() -{ -#if FLEXT_SYS == FLEXT_SYS_PD - if(tick) clock_free(tick); -#endif - -#if FLEXT_SYS == FLEXT_SYS_PD - // unregister buffer - FLEXT_ASSERT(buffers.find(this) != buffers.end()); - buffers.erase(this); -#endif -} - -int flext::buffer::Set(const t_symbol *s,bool nameonly) -{ - int ret = 0; - bool valid = data != NULL; // valid now? (before change) - - if(s && sym != s) { - ret = 1; - data = NULL; - frames = 0; - chns = 0; - } - - if(s && *GetString(s)) sym = s; - - if(!sym) { - if(valid) ret = -1; - } - else if(!nameonly) { -#if FLEXT_SYS == FLEXT_SYS_PD - arr = (t_garray *)pd_findbyclass(const_cast<t_symbol *>(sym), garray_class); - if(!arr) - { - if (*GetString(sym)) FLEXT_LOG1("buffer: no such array '%s'",GetString(sym)); -// sym = NULL; - if(valid) ret = -1; - } - else { - int frames1; - FLEXT_ARRAYTYPE *data1; - if(!FLEXT_PD_ARRAYGRAB(arr, &frames1, &data1)) - { - error("buffer: bad template '%s'",GetString(sym)); - data = NULL; - frames = 0; - if(valid) ret = -1; - } - else { - ret = 0; - garray_usedindsp(arr); - if(frames != frames1) { frames = frames1; if(!ret) ret = 1; } - Element *data2 = reinterpret_cast<Element *>(data1); - if(data != data2) { data = data2; if(!ret) ret = 1; } - chns = 1; - } - } -#elif FLEXT_SYS == FLEXT_SYS_MAX - if(sym->s_thing) { - const t_buffer *p = (const t_buffer *)sym->s_thing; - - FLEXT_ASSERT(!NOGOOD(p)); - - if(ob_sym(p) != sym_buffer) { - post("buffer: object '%s' not valid (type %s)",GetString(sym),GetString(ob_sym(p))); - if(valid) ret = -2; - } - else { -#ifdef FLEXT_DEBUG -// post("flext: buffer object '%s' - valid:%i samples:%i channels:%i frames:%i",GetString(sym),p->b_valid,p->b_frames,p->b_nchans,p->b_frames); -#endif - Element *data1 = reinterpret_cast<Element *>(p->b_samples); - if(data != data1) { data = data1; if(!ret) ret = 1; } - if(chns != p->b_nchans) { chns = p->b_nchans; if(!ret) ret = 1; } - if(frames != p->b_frames) { frames = p->b_frames; if(!ret) ret = 1; } - } - } - else { - FLEXT_LOG1("buffer: symbol '%s' not defined", GetString(sym)); - /*if(valid)*/ ret = -1; - } -#else -#error not implemented -#endif - } - - return ret; -} - -bool flext::buffer::Update() -{ - FLEXT_ASSERT(sym); - - bool upd = false; - -#if FLEXT_SYS == FLEXT_SYS_PD - if(!arr) return data == NULL; - - int frames1; - FLEXT_ARRAYTYPE *data1; - if(!FLEXT_PD_ARRAYGRAB(arr, &frames1, &data1)) { - data = NULL; - chns = 0; - frames = 0; - upd = true; - } - else { - Element *data2 = reinterpret_cast<Element *>(data1); - if(data != data2 || frames != frames1) { - data = data2; - frames = frames1; - upd = true; - } - } -#elif FLEXT_SYS == FLEXT_SYS_MAX - const t_buffer *p = (const t_buffer *)sym->s_thing; - if(p) { - FLEXT_ASSERT(!NOGOOD(p) && ob_sym(p) == sym_buffer); - - Element *data1 = reinterpret_cast<Element *>(p->b_samples); - if(data != data1 || chns != p->b_nchans || frames != p->b_frames) { - data = data1; - chns = p->b_nchans; - frames = p->b_frames; - upd = true; - } - } - else { - // buffer~ has e.g. been renamed - data = NULL; - chns = 0; - frames = 0; - upd = true; - } -#else -#error not implemented -#endif - return upd; -} - -flext::buffer::lock_t flext::buffer::Lock() -{ - FLEXT_ASSERT(sym); -#if FLEXT_SYS == FLEXT_SYS_PD - FLEXT_ASSERT(arr); -#ifdef _FLEXT_HAVE_PD_GARRAYLOCKS - garray_lock(arr); -#endif - return false; -#elif FLEXT_SYS == FLEXT_SYS_MAX - t_buffer *p = (t_buffer *)sym->s_thing; - FLEXT_ASSERT(p); -#ifdef _FLEXT_HAVE_MAX_INUSEFLAG - long old = p->b_inuse; -#ifdef ATOMIC_INCREMENT - ATOMIC_INCREMENT(&p->b_inuse); -#else - p->b_inuse = 1; -#endif - return old; -#else - return 0; -#endif -#else -#error not implemented -#endif -} - -void flext::buffer::Unlock(flext::buffer::lock_t prv) -{ - FLEXT_ASSERT(sym); -#if FLEXT_SYS == FLEXT_SYS_PD - FLEXT_ASSERT(arr); -#ifdef _FLEXT_HAVE_PD_GARRAYLOCKS - garray_unlock(arr); -#endif -#elif FLEXT_SYS == FLEXT_SYS_MAX - t_buffer *p = (t_buffer *)sym->s_thing; - FLEXT_ASSERT(p); -#ifdef _FLEXT_HAVE_MAX_INUSEFLAG -#ifdef ATOMIC_INCREMENT - ATOMIC_DECREMENT(&p->b_inuse); -#else - p->b_inuse = prv; -#endif -#endif -#else -#error not implemented -#endif -} - -void flext::buffer::Frames(int fr,bool keep,bool zero) -{ - FLEXT_ASSERT(sym); -#if FLEXT_SYS == FLEXT_SYS_PD - // is this function guaranteed to keep memory and set rest to zero? - ::garray_resize(arr,(float)fr); - Update(); -#elif FLEXT_SYS == FLEXT_SYS_MAX - Element *tmp = NULL; - int sz = frames; - if(fr < sz) sz = fr; - - if(keep) { - // copy buffer data to tmp storage - tmp = (Element *)NewAligned(sz*sizeof(Element)); - FLEXT_ASSERT(tmp); - CopySamples(tmp,data,sz); - } - - t_atom msg; - t_buffer *buf = (t_buffer *)sym->s_thing; - // b_msr reflects buffer sample rate... is this what we want? - // Max bug: adding half a sample to prevent roundoff errors.... - float ms = (fr+0.5)/buf->b_msr; - - SetFloat(msg,ms); - ::typedmess((object *)buf,(t_symbol *)sym_size,1,&msg); - - Update(); - - if(tmp) { - // copy data back - CopySamples(data,tmp,sz); - FreeAligned(tmp); - if(zero && sz < fr) ZeroSamples(data+sz,fr-sz); - } - else - if(zero) ZeroSamples(data,fr); -#else -#error -#endif -} - - -#if FLEXT_SYS == FLEXT_SYS_PD -void flext::buffer::SetRefrIntv(float intv) -{ - interval = intv; - if(interval == 0 && ticking) { - clock_unset(tick); - ticking = false; - } -} -#elif FLEXT_SYS == FLEXT_SYS_MAX -void flext::buffer::SetRefrIntv(float) {} -#else -#error -#endif - - -void flext::buffer::Dirty(bool force) -{ - FLEXT_ASSERT(sym); -#if FLEXT_SYS == FLEXT_SYS_PD - if((!ticking) && (interval || force)) { - ticking = true; - cb_tick(this); // immediately redraw - } - else { - if(force) clock_delay(tick,0); - isdirty = true; - } -#elif FLEXT_SYS == FLEXT_SYS_MAX - t_buffer *p = (t_buffer *)sym->s_thing; - FLEXT_ASSERT(p && !NOGOOD(p)); - ::object_method((t_object *)p,(t_symbol *)sym_dirty); -// p->b_modtime = gettime(); -#else -#error Not implemented -#endif -} - -#if FLEXT_SYS == FLEXT_SYS_PD -void flext::buffer::cb_tick(buffer *b) -{ - if(b->arr) garray_redraw(b->arr); -#ifdef FLEXT_DEBUG - else error("buffer: array is NULL"); -#endif - - if(b->isdirty && b->interval) { - b->isdirty = false; - b->ticking = true; - clock_delay(b->tick,b->interval); - } - else - b->ticking = false; -} -#endif - -void flext::buffer::ClearDirty() -{ -#if FLEXT_SYS == FLEXT_SYS_PD - cleantime = clock_getlogicaltime(); -#elif FLEXT_SYS == FLEXT_SYS_MAX - cleantime = gettime(); -#else -#error Not implemented -#endif -} - -bool flext::buffer::IsDirty() const -{ - if(!sym) return false; -#if FLEXT_SYS == FLEXT_SYS_PD - #ifdef _FLEXT_HAVE_PD_GARRAYUPDATETIME - return arr && (isdirty || garray_updatetime(arr) > cleantime); - #else - // Don't know.... (no method in PD judging whether buffer has been changed from outside flext...) - return true; - #endif -#elif FLEXT_SYS == FLEXT_SYS_MAX - t_buffer *p = (t_buffer *)sym->s_thing; - FLEXT_ASSERT(p && !NOGOOD(p)); - return p->b_modtime > cleantime; -#else -#error Not implemented -#endif -} - -#endif // Jmax - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flclass.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flclass.h.svn-base deleted file mode 100644 index af917132e..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flclass.h.svn-base +++ /dev/null @@ -1,1130 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flclass.h - \brief User accessible flext base classes - -*/ - -#ifndef __FLCLASS_H -#define __FLCLASS_H - -// include the header file declaring the base classes -#include "flbase.h" -#include "flsupport.h" -#include "flmap.h" -#include "flinternal.h" - -#ifdef _MSC_VER -#pragma warning(disable: 4786) -#endif - -#ifdef __BORLANDC__ -#pragma warn -8008 // Condition is always false -#pragma warn -8057 // Parameter is never used -#pragma warn -8066 // Unreachable code -#endif - - -#include "flpushns.h" - -// === flext_base ================================================== - -/*! \brief Flext message only base object - - This is the base class from which typical external objects derive. - DSP objects should use the flext_dsp class which inherits from flext_base and - provides the necessary functionality. - - For a valid external object class you would also need FLEXT_HEADER, also if it's only - a base class without instantiated objects again. - To make an instance of an object class you would typically use FLEXT_NEW or - its companions. - - See the flext_obj class for additional information. -*/ - - -class FLEXT_SHARE FLEXT_CLASSDEF(flext_base); -typedef class FLEXT_SHARE FLEXT_CLASSDEF(flext_base) flext_base; - -class FLEXT_SHARE FLEXT_CLASSDEF(flext_base): - public flext_obj -{ - FLEXT_HEADER_S(FLEXT_CLASSDEF(flext_base),flext_obj,Setup) - - friend class FLEXT_SHARE FLEXT_CLASSDEF(flext_obj); - -public: - -// --- inheritable virtual methods -------------------------------- - - /*! \defgroup FLEXT_C_VIRTUAL Virtual base class functions - - @{ - */ - - //! called on patcher load (not on mere object creation!) - virtual void CbLoadbang(); - virtual void m_loadbang(); - - //! called on (double-)click into object box - virtual void CbClick(); - - /*! \brief Called for every incoming message. - All method handling is done in there - \return True if a handler was found and called - */ - virtual bool CbMethodHandler(int inlet,const t_symbol *s,int argc,const t_atom *argv); - - /*! \brief Called for every unhandled message (by CbMethodHandler) - */ - virtual bool CbMethodResort(int inlet,const t_symbol *s,int argc,const t_atom *argv); - virtual bool m_method_(int inlet,const t_symbol *s,int argc,const t_atom *argv); - - virtual bool CbIdle(); - -//! @} FLEXT_C_VIRTUAL - - -// --- inlet/outlet stuff ----------------------------------------- - - /*! \defgroup FLEXT_C_INOUT Flext in-/outlet functions - \note These must be called in the class' constructor - \note All (also default) inlets must be defined - @{ - */ - - /*! \defgroup FLEXT_C_IO_ADD Announce in-/outlet functions - @{ - */ - - // argument m specifies multiple inlet/outlet count - -// void AddInDef() { AddInlet(xlet_def,1); } - - /*! \brief Add inlet(s) for anythings - \remark That's the one to choose for the left-most (first) inlet unless it's a signal inlet. - */ - void AddInAnything(int m = 1) { AddInlet(xlet_any,m); } - /*! \brief Add inlet(s) for anythings (with description) - \remark That's the one to choose for the left-most (first) inlet unless it's a signal inlet. - */ - void AddInAnything(const char *desc,int m = 1) { AddInlet(xlet_any,m,desc); } - //! Add inlet(s) for floats - void AddInFloat(int m = 1) { AddInlet(xlet_float,m); } - //! Add inlet(s) for floats (with description) - void AddInFloat(const char *desc,int m = 1) { AddInlet(xlet_float,m,desc); } - //! Add inlet(s) for integers - void AddInInt(int m = 1) { AddInlet(xlet_int,m); } - //! Add inlet(s) for integers (with description) - void AddInInt(const char *desc,int m = 1) { AddInlet(xlet_int,m,desc); } - //! Add inlet(s) for symbols - void AddInSymbol(int m = 1) { AddInlet(xlet_sym,m); } - //! Add inlet(s) for symbol (with description) - void AddInSymbol(const char *desc,int m = 1) { AddInlet(xlet_sym,m,desc); } - //! Add inlet(s) for bang - void AddInBang(int m = 1) { AddInlet(xlet_sym,m); } - //! Add inlet(s) for bangs (with description) - void AddInBang(const char *desc,int m = 1) { AddInlet(xlet_sym,m,desc); } - //! Add inlet(s) for lists - void AddInList(int m = 1) { AddInlet(xlet_list,m); } - //! Add inlet(s) for lists (with description) - void AddInList(const char *desc,int m = 1) { AddInlet(xlet_list,m,desc); } - - //! Add outlet(s) for anythings - void AddOutAnything(int m = 1) { AddOutlet(xlet_any,m); } - //! Add outlet(s) for anythings (with description) - void AddOutAnything(const char *desc,int m = 1) { AddOutlet(xlet_any,m,desc); } - //! Add outlet(s) for floats - void AddOutFloat(int m = 1) { AddOutlet(xlet_float,m); } - //! Add outlet(s) for floats (with description) - void AddOutFloat(const char *desc,int m = 1) { AddOutlet(xlet_float,m,desc); } - //! Add outlet(s) for integers - void AddOutInt(int m = 1) { AddOutlet(xlet_int,m); } - //! Add outlet(s) for integers (with description) - void AddOutInt(const char *desc,int m = 1) { AddOutlet(xlet_int,m,desc); } - //! Add outlet(s) for symbols - void AddOutSymbol(int m = 1) { AddOutlet(xlet_sym,m); } - //! Add outlet(s) for symbols (with description) - void AddOutSymbol(const char *desc,int m = 1) { AddOutlet(xlet_sym,m,desc); } - //! Add outlet(s) for bangs - void AddOutBang(int m = 1) { AddOutlet(xlet_sym,m); } - //! Add outlet(s) for bangs (with description) - void AddOutBang(const char *desc,int m = 1) { AddOutlet(xlet_sym,m,desc); } - //! Add outlet(s) for lists - void AddOutList(int m = 1) { AddOutlet(xlet_list,m); } - //! Add outlet(s) for lists (with description) - void AddOutList(const char *desc,int m = 1) { AddOutlet(xlet_list,m,desc); } - - //! \deprecated inlets and outlets are now set up automatically - bool SetupInOut() { return true; } - - //! @} FLEXT_C_IO_ADD - - /*! \defgroup FLEXT_C_IO_MISC Miscellanous in-/outlet functionality - @{ - */ - - //! Get number of inlets - int CntIn() const { return incnt; } - //! Get number of outlets - int CntOut() const { return outcnt; } - //! Get number of signal inlets - int CntInSig() const { return insigs; } - //! Get number of signal outlets - int CntOutSig() const { return outsigs; } - - - //! Retrieve currently processed message tag (NULL if no message processing) - static const t_symbol *thisTag() { return curtag; } - - class outlet; - - //! Get pointer to outlet (not in the constructor!) - outlet *GetOut(int ix) const { return outlets[ix]; } - - int GetOutAttr() const { return HasAttributes()?CntOut():0; } - - //! @} FLEXT_C_IO_MISC - - /*! \defgroup FLEXT_C_IO_OUT Output data to inlets/outlets - @{ - */ - - // output messages - - //! Output bang (index n starts with 0) - void ToOutBang(int n) const; - - //! Output float (index n starts with 0) - void ToOutFloat(int n,float f) const; - - //! Output integer (index n starts with 0) - void ToOutInt(int n,int f) const; - - //! Output boolean (index n starts with 0) - void ToOutBool(int n,bool f) const { ToOutInt(n,f?1:0); } - - //! Output double (index n starts with 0) - void ToOutDouble(int n,double d) const { t_atom dbl[2]; ToOutList(n,2,SetDouble(dbl,d)); } - - //! Output symbol (index n starts with 0) - void ToOutSymbol(int n,const t_symbol *s) const; - //! Output string aka symbol (index n starts with 0) - void ToOutString(int n,const char *s) const { ToOutSymbol(n,MakeSymbol(s)); } - - //! Output atom (index n starts with 0) - void ToOutAtom(int n,const t_atom &at) const; - - //! Output list (index n starts with 0) - void ToOutList(int n,int argc,const t_atom *argv) const; - //! Output list (index n starts with 0) - void ToOutList(int n,const AtomList &list) const { ToOutList(n,list.Count(),list.Atoms()); } - - //! Output anything (index n starts with 0) - void ToOutAnything(int n,const t_symbol *s,int argc,const t_atom *argv) const; - //! Output anything (index n starts with 0) - void ToOutAnything(int n,const AtomAnything &any) const { ToOutAnything(n,any.Header(),any.Count(),any.Atoms()); } - //! Output anything (index n starts with 0) - void ToOutAnything(int n,const t_symbol *s,const AtomList &list) const { ToOutAnything(n,s,list.Count(),list.Atoms()); } - - //! @} FLEXT_C_IO_OUT - - /*! \defgroup FLEXT_C_IO_QUEUE Low-priority output of data to inlets/outlets - @{ - */ - - //! Output low priority bang (index n starts with 0) - void ToQueueBang(int n) const; - - //! Output low priority float (index n starts with 0) - void ToQueueFloat(int n,float f) const; - - //! Output low priority integer (index n starts with 0) - void ToQueueInt(int n,int f) const; - - //! Output low priority boolean (index n starts with 0) - void ToQueueBool(int n,bool f) const { ToQueueInt(n,f?1:0); } - - //! Output double (index n starts with 0) - void ToQueueDouble(int n,double d) const { t_atom dbl[2]; ToQueueList(n,2,SetDouble(dbl,d)); } - - //! Output low priority symbol (index n starts with 0) - void ToQueueSymbol(int n,const t_symbol *s) const; - //! Output low priority string aka symbol (to appointed outlet) - void ToQueueString(int n,const char *s) const { ToQueueSymbol(n,MakeSymbol(s)); } - - //! Output low priority atom (index n starts with 0) - void ToQueueAtom(int n,const t_atom &at) const; - - //! Output low priority list (index n starts with 0) - void ToQueueList(int n,int argc,const t_atom *argv) const; - //! Output low priority list (index n starts with 0) - void ToQueueList(int n,const AtomList &list) const { ToQueueList(n,list.Count(),list.Atoms()); } - - //! Output low priority anything (index n starts with 0) - void ToQueueAnything(int n,const t_symbol *s,int argc,const t_atom *argv) const; - //! Output low priority anything (index n starts with 0) - void ToQueueAnything(int n,const AtomAnything &any) const { ToQueueAnything(n,any.Header(),any.Count(),any.Atoms()); } - - //! @} FLEXT_C_IO_QUEUE - - - /*! \defgroup FLEXT_C_IO_SELF Output of data to inlets/outlets of this object - @{ - */ - - //! Send bang to self (inlet n) - void ToSelfBang(int n) const { ToQueueBang(-1-n); } - - //! Send float to self (inlet n) - void ToSelfFloat(int n,float f) const { ToQueueFloat(-1-n,f); } - - //! Send integer to self (inlet n) - void ToSelfInt(int n,int f) const { ToQueueInt(-1-n,f); } - - //! Send boolean to self (inlet n) - void ToSelfBool(int n,bool f) const { ToSelfInt(n,f?1:0); } - - //! Send double to self (index n starts with 0) - void ToSelfDouble(int n,double d) const { t_atom dbl[2]; ToSelfList(n,2,SetDouble(dbl,d)); } - - //! Send symbol to self (inlet n) - void ToSelfSymbol(int n,const t_symbol *s) const { ToQueueSymbol(-1-n,s); } - //! Send string aka symbol to self (inlet 0) - void ToSelfString(int n,const char *s) const { ToSelfSymbol(n,MakeSymbol(s)); } - - //! Output atom (index n starts with 0) - void ToSelfAtom(int n,const t_atom &at) const { ToQueueAtom(-1-n,at); } - - //! Send list to self (inlet n) - void ToSelfList(int n,int argc,const t_atom *argv) const { ToQueueList(-1-n,argc,argv); } - //! Send list to self (inlet n) - void ToSelfList(int n,const AtomList &list) const { ToSelfList(n,list.Count(),list.Atoms()); } - - //! Send anything to self (inlet n) - void ToSelfAnything(int n,const t_symbol *s,int argc,const t_atom *argv) const { ToQueueAnything(-1-n,s,argc,argv); } - //! Send anything to self (inlet n) - void ToSelfAnything(int n,const AtomAnything &any) const { ToSelfAnything(n,any.Header(),any.Count(),any.Atoms()); } - - //! @} FLEXT_C_IO_SELF - - - /*! \defgroup FLEXT_C_IO_MESSAGEBUNDLE Output of data via message bundles - - These are used to assure the sending of several messages from a second thread to the same logical time - - @{ - */ - - //! Output bang (index n starts with 0) - void MsgAddBang(MsgBundle *mb,int n) const; - - //! Output float (index n starts with 0) - void MsgAddFloat(MsgBundle *mb,int n,float f) const; - - //! Output integer (index n starts with 0) - void MsgAddInt(MsgBundle *mb,int n,int f) const; - - //! Output boolean (index n starts with 0) - void MsgAddBool(MsgBundle *mb,int n,bool f) const { MsgAddInt(mb,n,f?1:0); } - - //! Output double (index n starts with 0) - void MsgAddDouble(MsgBundle *mb,int n,double d) const { t_atom dbl[2]; MsgAddList(mb,n,2,SetDouble(dbl,d)); } - - //! Output symbol (index n starts with 0) - void MsgAddSymbol(MsgBundle *mb,int n,const t_symbol *s) const; - //! Output string aka symbol (to appointed outlet) - void MsgAddString(MsgBundle *mb,int n,const char *s) const { MsgAddSymbol(mb,n,MakeSymbol(s)); } - - //! Output atom (index n starts with 0) - void MsgAddAtom(MsgBundle *mb,int n,const t_atom &at) const; - - //! Output list (index n starts with 0) - void MsgAddList(MsgBundle *mb,int n,int argc,const t_atom *argv) const; - - //! Output list (index n starts with 0) - void MsgAddList(MsgBundle *mb,int n,const AtomList &list) const { MsgAddList(mb,n,list.Count(),list.Atoms()); } - - //! Output anything (index n starts with 0) - void MsgAddAnything(MsgBundle *mb,int n,const t_symbol *s,int argc,const t_atom *argv) const; - //! Output anything (index n starts with 0) - void MsgAddAnything(MsgBundle *mb,int n,const AtomAnything &any) const { MsgAddAnything(mb,n,any.Header(),any.Count(),any.Atoms()); } - - void MsgSelfBang(MsgBundle *mb,int n) const { MsgAddBang(mb,-1-n); } - - //! Send float to self (inlet n) - void MsgSelfFloat(MsgBundle *mb,int n,float f) const { MsgAddFloat(mb,-1-n,f); } - - //! Send integer to self (inlet n) - void MsgSelfInt(MsgBundle *mb,int n,int f) const { MsgAddInt(mb,-1-n,f); } - - //! Send boolean to self (inlet n) - void MsgSelfBool(MsgBundle *mb,int n,bool f) const { MsgSelfInt(mb,n,f?1:0); } - - //! Output double (index n starts with 0) - void MsgSelfDouble(MsgBundle *mb,int n,double d) const { t_atom dbl[2]; MsgSelfList(mb,n,2,SetDouble(dbl,d)); } - - //! Send symbol to self (inlet n) - void MsgSelfSymbol(MsgBundle *mb,int n,const t_symbol *s) const { MsgAddSymbol(mb,-1-n,s); } - //! Send string aka symbol to self (inlet 0) - void MsgSelfString(MsgBundle *mb,int n,const char *s) const { MsgSelfSymbol(mb,n,MakeSymbol(s)); } - - //! Output atom (index n starts with 0) - void MsgSelfAtom(MsgBundle *mb,int n,const t_atom &at) const { MsgAddAtom(mb,-1-n,at); } - - //! Send list to self (inlet n) - void MsgSelfList(MsgBundle *mb,int n,int argc,const t_atom *argv) const { MsgAddList(mb,-1-n,argc,argv); } - //! Send list to self (inlet n) - void MsgSelfList(MsgBundle *mb,int n,const AtomList &list) const { MsgSelfList(mb,n,list.Count(),list.Atoms()); } - - //! Send anything to self (inlet n) - void MsgSelfAnything(MsgBundle *mb,int n,const t_symbol *s,int argc,const t_atom *argv) const { MsgAddAnything(mb,-1-n,s,argc,argv); } - //! Send anything to self (inlet n) - void MsgSelfAnything(MsgBundle *mb,int n,const AtomAnything &any) const { MsgSelfAnything(mb,n,any.Header(),any.Count(),any.Atoms()); } - - //! @} FLEXT_C_IO_MESSAGEBUNDLE - -//! @} FLEXT_C_INOUT - - -// --- message handling ------------------------------------------- - - enum metharg { - a_null = 0, - a_float,a_int,a_bool, - a_symbol,a_pointer, - a_list,a_any, // (t_symbol *) / int / t_atom * - a_LIST,a_ANY // AtomList, AtomAnything - }; - - typedef bool (*methfun)(flext_base *c); - - /*! \defgroup FLEXT_C_ADDMETHOD Method handling (object scope) - \internal - @{ - */ - - void AddMethodDef(int inlet,const t_symbol *tag = NULL) { ThMeths()->Add(new MethItem,tag,inlet); } - void AddMethodDef(int inlet,const char *tag = NULL) { AddMethodDef(inlet,MakeSymbol(tag)); } - - void AddMethod(int inlet,bool (*m)(flext_base *)) { AddMethod(ThMeths(),inlet,sym_bang,(methfun)m,a_null); } - void AddMethod(int inlet,bool (*m)(flext_base *,int,t_atom *)) { AddMethod(ThMeths(),inlet,sym_list,(methfun)m,a_list,a_null); } - void AddMethod(int inlet,bool (*m)(flext_base *,int,const t_atom *)) { AddMethod(ThMeths(),inlet,sym_list,(methfun)m,a_list,a_null); } - void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_null); } // pure method - void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *)) { AddMethod(inlet,MakeSymbol(tag),m); } - void AddMethod(int inlet,bool (*m)(flext_base *,t_symbol *,int,t_atom *)) { AddMethod(ThMeths(),inlet,sym_anything,(methfun)m,a_any,a_null); } // anything - void AddMethod(int inlet,bool (*m)(flext_base *,const t_symbol *,int,const t_atom *)) { AddMethod(ThMeths(),inlet,sym_anything,(methfun)m,a_any,a_null); } // anything - void AddMethod(int inlet,bool (*m)(flext_base *,t_symbol *&)) { AddMethod(ThMeths(),inlet,sym_symbol,(methfun)m,a_symbol,a_null); } // single symbol - void AddMethod(int inlet,bool (*m)(flext_base *,const t_symbol *&)) { AddMethod(ThMeths(),inlet,sym_symbol,(methfun)m,a_symbol,a_null); } // single symbol - void AddMethod(int inlet,bool (*m)(flext_base *,float &)) { AddMethod(ThMeths(),inlet,sym_float,(methfun)m,a_float,a_null); } // single float - void AddMethod(int inlet,bool (*m)(flext_base *,float &,float &)) { AddMethod(ThMeths(),inlet,sym_list,(methfun)m,a_float,a_float,a_null); } // list of 2 floats - void AddMethod(int inlet,bool (*m)(flext_base *,float &,float &,float &)) { AddMethod(ThMeths(),inlet,sym_list,(methfun)m,a_float,a_float,a_float,a_null); } // list of 3 floats -#if FLEXT_SYS == FLEXT_SYS_PD - void AddMethod(int inlet,bool (*m)(flext_base *,int &)) { AddMethod(ThMeths(),inlet,sym_float,(methfun)m,a_int,a_null); } // single float -#else - void AddMethod(int inlet,bool (*m)(flext_base *,int &)) { AddMethod(ThMeths(),inlet,sym_int,(methfun)m,a_int,a_null); } // single float -#endif - void AddMethod(int inlet,bool (*m)(flext_base *,int &,int &)) { AddMethod(ThMeths(),inlet,sym_list,(methfun)m,a_int,a_int,a_null); } // list of 2 floats - void AddMethod(int inlet,bool (*m)(flext_base *,int &,int &,int &)) { AddMethod(ThMeths(),inlet,sym_list,(methfun)m,a_int,a_int,a_int,a_null); } // list of 3 floats - void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *,int,t_atom *)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_list,a_null); } // method+gimme - void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *,int,const t_atom *)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_list,a_null); } // method+gimme - void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *,t_symbol *,int,t_atom *)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_any,a_null); } // method+gimme - void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *,const t_symbol *,int,const t_atom *)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_any,a_null); } // method+gimme - void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *,t_symbol *&)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_symbol,a_null); } // method+symbol - void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *,const t_symbol *&)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_symbol,a_null); } // method+symbol - void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *,float &)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_float,a_null); } // method+float - void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *,int &)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_int,a_null); } // method+int - void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *,int,t_atom *)) { AddMethod(inlet,MakeSymbol(tag),m); } - void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *,int,const t_atom *)) { AddMethod(inlet,MakeSymbol(tag),m); } - void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *,t_symbol *,int,t_atom *)) { AddMethod(inlet,MakeSymbol(tag),m); } - void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *,const t_symbol *,int,const t_atom *)) { AddMethod(inlet,MakeSymbol(tag),m); } - void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *,t_symbol *&)) { AddMethod(inlet,MakeSymbol(tag),m); } - void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *,const t_symbol *&)) { AddMethod(inlet,MakeSymbol(tag),m); } - void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *,float &)) { AddMethod(inlet,MakeSymbol(tag),m); } - void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *,int &)) { AddMethod(inlet,MakeSymbol(tag),m); } - - // Â¥schedule call of the CbIdle method during the next idle cycle - void AddIdle(); - - //! Set Max/MSP style of distributing list elements over (message) inlets - static void SetDist(t_classid c,bool d = true); - //! Query whether lists are distributed - bool DoDist() const; - - -//! @} FLEXT_C_ADDMETHOD - - /*! \defgroup FLEXT_C_CADDMETHOD Method handling (class scope) - \internal - @{ - */ - - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *)) { AddMethod(ClMeths(c),inlet,sym_bang,(methfun)m,a_null); } - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,int,t_atom *)) { AddMethod(ClMeths(c),inlet,sym_list,(methfun)m,a_list,a_null); } - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,int,const t_atom *)) { AddMethod(ClMeths(c),inlet,sym_list,(methfun)m,a_list,a_null); } - static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_null); } // pure method - static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *)) { AddMethod(c,inlet,MakeSymbol(tag),m); } - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,t_symbol *,int,t_atom *)) { AddMethod(ClMeths(c),inlet,sym_anything,(methfun)m,a_any,a_null); } // anything - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,const t_symbol *,int,const t_atom *)) { AddMethod(ClMeths(c),inlet,sym_anything,(methfun)m,a_any,a_null); } // anything - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,t_symbol *&)) { AddMethod(ClMeths(c),inlet,sym_symbol,(methfun)m,a_symbol,a_null); } // single symbol - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,const t_symbol *&)) { AddMethod(ClMeths(c),inlet,sym_symbol,(methfun)m,a_symbol,a_null); } // single symbol - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,float &)) { AddMethod(ClMeths(c),inlet,sym_float,(methfun)m,a_float,a_null); } // single float - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,float &,float &)) { AddMethod(ClMeths(c),inlet,sym_list,(methfun)m,a_float,a_float,a_null); } // list of 2 floats - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,float &,float &,float &)) { AddMethod(ClMeths(c),inlet,sym_list,(methfun)m,a_float,a_float,a_float,a_null); } // list of 3 floats -#if FLEXT_SYS == FLEXT_SYS_PD - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,int &)) { AddMethod(ClMeths(c),inlet,sym_float,(methfun)m,a_int,a_null); } // single integer -#else - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,int &)) { AddMethod(ClMeths(c),inlet,sym_int,(methfun)m,a_int,a_null); } // single integer -#endif - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,int &,int &)) { AddMethod(ClMeths(c),inlet,sym_list,(methfun)m,a_int,a_int,a_null); } // list of 2 floats - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,int &,int &,int &)) { AddMethod(ClMeths(c),inlet,sym_list,(methfun)m,a_int,a_int,a_int,a_null); } // list of 3 floats - static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *,int,t_atom *)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_list,a_null); } // method+gimme - static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *,int,const t_atom *)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_list,a_null); } // method+gimme - static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *,t_symbol *,int,t_atom *)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_any,a_null); } // method+gimme - static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *,const t_symbol *,int,const t_atom *)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_any,a_null); } // method+gimme - static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *,t_symbol *&)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_symbol,a_null); } // method+symbol - static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *,const t_symbol *&)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_symbol,a_null); } // method+symbol - static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *,float &)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_float,a_null); } // method+float - static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *,int &)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_int,a_null); } // method+int - static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *,int,t_atom *)) { AddMethod(c,inlet,MakeSymbol(tag),m); } - static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *,int,const t_atom *)) { AddMethod(c,inlet,MakeSymbol(tag),m); } - static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *,t_symbol *,int,t_atom *)) { AddMethod(c,inlet,MakeSymbol(tag),m); } - static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *,const t_symbol *,int,const t_atom *)) { AddMethod(c,inlet,MakeSymbol(tag),m); } - static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *,t_symbol *&)) { AddMethod(c,inlet,MakeSymbol(tag),m); } - static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *,const t_symbol *&)) { AddMethod(c,inlet,MakeSymbol(tag),m); } - static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *,float &)) { AddMethod(c,inlet,MakeSymbol(tag),m); } - static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *,int &)) { AddMethod(c,inlet,MakeSymbol(tag),m); } - - // Â¥schedule call of the given idlefun during the next idle cycle - static void AddIdle(bool (*idlefun)(int argc,const t_atom *argv),int argc,const t_atom *argv); - -//! @} FLEXT_C_CADDMETHOD - -// --- bind/unbind --------------------------------------- - - /*! \defgroup FLEXT_C_BIND Methods for binding a flext class to a symbol - - @{ - */ - - //! Bind object to a symbol - bool Bind(const t_symbol *sym); - //! Unbind object from a symbol - bool Unbind(const t_symbol *sym); - - //! Bind object to a symbol (as string) - bool Bind(const char *sym) { return Bind(MakeSymbol(sym)); } - //! Unbind object from a symbol (as string) - bool Unbind(const char *sym) { return Unbind(MakeSymbol(sym)); } - - /*! \brief Bind a method to a symbol - \param sym Symbol to bind to - \param meth Function to bind - \param data User data that is passed to the function - \return true on success - */ - bool BindMethod(const t_symbol *sym,bool (*meth)(flext_base *obj,t_symbol *sym,int argc,t_atom *argv,void *data),void *data = NULL); - /*! \brief Unbind a method from a symbol - \param sym Symbol to unbind from (if NULL... unbind all functions) - \param meth Method to unbind (if NULL ... unbind all functions bound to symbol) - \param data returns data pointer specified with BindMethod - \return true on success - */ - bool UnbindMethod(const t_symbol *sym,bool (*meth)(flext_base *obj,t_symbol *sym,int argc,t_atom *argv,void *data) = NULL,void **data = NULL); - /*! \brief Get data of bound method of a symbol - \param sym Symbol to bind to - \param meth Function to bind - \param data Reference to returned user data - \return true on success (symbol/method combination was found) - */ - bool GetBoundMethod(const t_symbol *sym,bool (*meth)(flext_base *obj,t_symbol *sym,int argc,t_atom *argv,void *data),void *&data); - - //! \brief Bind a method to a symbol (as string) - bool BindMethod(const char *sym,bool (*meth)(flext_base *obj,t_symbol *sym,int argc,t_atom *argv,void *data),void *data = NULL) { return BindMethod(MakeSymbol(sym),meth,data); } - //! \brief Unbind a method from a symbol (as string) - bool UnbindMethod(const char *sym,bool (*meth)(flext_base *obj,t_symbol *sym,int argc,t_atom *argv,void *data) = NULL,void **data = NULL) { return UnbindMethod(MakeSymbol(sym),meth,data); } - //! \brief Get data of bound method of a symbol (as string) - bool GetBoundMethod(const char *sym,bool (*meth)(flext_base *obj,t_symbol *sym,int argc,t_atom *argv,void *data),void *&data) { return GetBoundMethod(MakeSymbol(sym),meth,data); } - - /*! Unbind all symbol bindings - \note Memory associated to data pointers passed by BindMethod will not be freed! - */ - bool UnbindAll(); - -//! @} FLEXT_C_BIND - - // --- thread stuff ----------------------------------------------- - -#ifdef FLEXT_THREADS - /*! \defgroup FLEXT_C_THREAD Thread handling - - @{ - */ - - //! Start a thread for this object - bool StartThread(void (*meth)(thr_params *p),thr_params *p,const char * = NULL) { p->cl = this; return flext::LaunchThread(meth,p); } - - //! Terminate all threads of this object - bool StopThreads(); -#endif // FLEXT_THREADS - -//! @} FLEXT_C_THREAD - -// 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)(); - - /*! \brief Set up inlets and outlets, method and attribute lists - */ - virtual bool Init(); - - /*! \brief Deallocate all kinds of stuff - */ - virtual void Exit(); - - - /*! \defgroup FLEXT_C_ATTR Attribute handling methods (object scope) - @{ - */ - - void AddAttrib(const t_symbol *attr,bool (*get)(flext_base *,float &),bool (*set)(flext_base *,float &)) { AddAttrib(attr,a_float,(methfun)get,(methfun)set); } - void AddAttrib(const t_symbol *attr,bool (*get)(flext_base *,int &),bool (*set)(flext_base *,int &)) { AddAttrib(attr,a_int,(methfun)get,(methfun)set); } - void AddAttrib(const t_symbol *attr,bool (*get)(flext_base *,bool &),bool (*set)(flext_base *,bool &)) { AddAttrib(attr,a_bool,(methfun)get,(methfun)set); } - void AddAttrib(const t_symbol *attr,bool (*get)(flext_base *,const t_symbol *&),bool (*set)(flext_base *,const t_symbol *&)) { AddAttrib(attr,a_symbol,(methfun)get,(methfun)set); } - void AddAttrib(const t_symbol *attr,bool (*get)(flext_base *,t_symptr &),bool (*set)(flext_base *,t_symptr &)) { AddAttrib(attr,a_symbol,(methfun)get,(methfun)set); } - void AddAttrib(const t_symbol *attr,bool (*get)(flext_base *,AtomList *&),bool (*set)(flext_base *,AtomList *&)) { AddAttrib(attr,a_LIST,(methfun)get,(methfun)set); } - void AddAttrib(const t_symbol *attr,bool (*get)(flext_base *,AtomAnything *&),bool (*set)(flext_base *,AtomAnything *&)) { AddAttrib(attr,a_ANY,(methfun)get,(methfun)set); } - void AddAttrib(const char *attr,bool (*get)(flext_base *,float &),bool (*set)(flext_base *,float &)) { AddAttrib(MakeSymbol(attr),get,set); } - void AddAttrib(const char *attr,bool (*get)(flext_base *,int &),bool (*set)(flext_base *,int &)) { AddAttrib(MakeSymbol(attr),get,set); } - void AddAttrib(const char *attr,bool (*get)(flext_base *,bool &),bool (*set)(flext_base *,bool &)) { AddAttrib(MakeSymbol(attr),get,set); } - void AddAttrib(const char *attr,bool (*get)(flext_base *,const t_symbol *&),bool (*set)(flext_base *,const t_symbol *&)) { AddAttrib(MakeSymbol(attr),get,set); } - void AddAttrib(const char *attr,bool (*get)(flext_base *,t_symptr &),bool (*set)(flext_base *,t_symptr &)) { AddAttrib(MakeSymbol(attr),get,set); } - void AddAttrib(const char *attr,bool (*get)(flext_base *,AtomList *&),bool (*set)(flext_base *,AtomList *&)) { AddAttrib(MakeSymbol(attr),get,set); } - void AddAttrib(const char *attr,bool (*get)(flext_base *,AtomAnything *&),bool (*set)(flext_base *,AtomAnything *&)) { AddAttrib(MakeSymbol(attr),get,set); } - -//! @} FLEXT_C_ATTR - - /*! \defgroup FLEXT_C_CATTR Attribute handling methods (class scope) - @{ - */ - - static void AddAttrib(t_classid c,const t_symbol *attr,bool (*get)(flext_base *,float &),bool (*set)(flext_base *,float &)) { AddAttrib(c,attr,a_float,(methfun)get,(methfun)set); } - static void AddAttrib(t_classid c,const t_symbol *attr,bool (*get)(flext_base *,int &),bool (*set)(flext_base *,int &)) { AddAttrib(c,attr,a_int,(methfun)get,(methfun)set); } - static void AddAttrib(t_classid c,const t_symbol *attr,bool (*get)(flext_base *,bool &),bool (*set)(flext_base *,bool &)) { AddAttrib(c,attr,a_bool,(methfun)get,(methfun)set); } - static void AddAttrib(t_classid c,const t_symbol *attr,bool (*get)(flext_base *,const t_symbol *&),bool (*set)(flext_base *,const t_symbol *&)) { AddAttrib(c,attr,a_symbol,(methfun)get,(methfun)set); } - static void AddAttrib(t_classid c,const t_symbol *attr,bool (*get)(flext_base *,t_symptr &),bool (*set)(flext_base *,t_symptr &)) { AddAttrib(c,attr,a_symbol,(methfun)get,(methfun)set); } - static void AddAttrib(t_classid c,const t_symbol *attr,bool (*get)(flext_base *,AtomList *&),bool (*set)(flext_base *,AtomList *&)) { AddAttrib(c,attr,a_LIST,(methfun)get,(methfun)set); } - static void AddAttrib(t_classid c,const t_symbol *attr,bool (*get)(flext_base *,AtomAnything *&),bool (*set)(flext_base *,AtomAnything *&)) { AddAttrib(c,attr,a_ANY,(methfun)get,(methfun)set); } - static void AddAttrib(t_classid c,const char *attr,bool (*get)(flext_base *,float &),bool (*set)(flext_base *,float &)) { AddAttrib(c,MakeSymbol(attr),get,set); } - static void AddAttrib(t_classid c,const char *attr,bool (*get)(flext_base *,int &),bool (*set)(flext_base *,int &)) { AddAttrib(c,MakeSymbol(attr),get,set); } - static void AddAttrib(t_classid c,const char *attr,bool (*get)(flext_base *,bool &),bool (*set)(flext_base *,bool &)) { AddAttrib(c,MakeSymbol(attr),get,set); } - static void AddAttrib(t_classid c,const char *attr,bool (*get)(flext_base *,const t_symbol *&),bool (*set)(flext_base *,const t_symbol *&)) { AddAttrib(c,MakeSymbol(attr),get,set); } - static void AddAttrib(t_classid c,const char *attr,bool (*get)(flext_base *,t_symptr &),bool (*set)(flext_base *,t_symptr &)) { AddAttrib(c,MakeSymbol(attr),get,set); } - static void AddAttrib(t_classid c,const char *attr,bool (*get)(flext_base *,AtomList *&),bool (*set)(flext_base *,AtomList *&)) { AddAttrib(c,MakeSymbol(attr),get,set); } - static void AddAttrib(t_classid c,const char *attr,bool (*get)(flext_base *,AtomAnything *&),bool (*set)(flext_base *,AtomAnything *&)) { AddAttrib(c,MakeSymbol(attr),get,set); } - -//! @} FLEXT_C_CATTR - - //! Dump an attribute to the attribute outlet - bool DumpAttrib(const t_symbol *attr) const; - //! Dump an attribute to the attribute outlet - bool DumpAttrib(const char *attr) const { return DumpAttrib(MakeSymbol(attr)); } - - // check for attribute symbol @ - static int CheckAttrib(int argc,const t_atom *argv); - // check for attribute symbol @ - static int CheckAttrib(const AtomList &args,int offset = 0) { return CheckAttrib(args.Count()-offset,args.Atoms()+offset)+offset; } - - //! List attributes - bool ListAttrib() const; - //! List attributes - void ListAttrib(AtomList &a) const; - //! Get an attribute value - bool GetAttrib(const t_symbol *s,AtomList &a) const; - //! Set an attribute value - bool SetAttrib(const t_symbol *s,int argc,const t_atom *argv); - //! Set an attribute value - bool SetAttrib(const t_symbol *s,const AtomList &a) { return SetAttrib(s,a.Count(),a.Atoms()); } - - // get and set the attribute - bool BangAttrib(const t_symbol *a); - // get and set the attribute - bool BangAttrib(const char *a) { return BangAttrib(MakeSymbol(a)); } - // get and set all (both get- and settables) - bool BangAttribAll(); - // show/hide the attribute - bool ShowAttrib(const t_symbol *a,bool show) const; - // show/hide the attribute - bool ShowAttrib(const char *a,bool show) { return ShowAttrib(MakeSymbol(a),show); } - - //! List methods - void ListMethods(AtomList &a,int inlet = 0) const; - -/*! \addtogroup FLEXT_C_INOUT - @{ -*/ - - //! \brief get a code for a list of inlets or outlets - unsigned long XletCode(xlettype tp = xlet_none,...); // end list with 0 (= tp_none) !! - - /*! \brief Add some inlets by a special code representing the types - \remark use XletCode function to get code value - */ - void AddInlets(unsigned long code); - - //! \brief Add one or more inlet(s) - void AddInlet(xlettype tp,int mult = 1,const char *desc = NULL); - - /*! \brief Add some inlets by a special code representing the types - \remark use XletCode function to get code value - */ - void AddOutlets(unsigned long code); - - //! \brief Add one or more outlet(s) - void AddOutlet(xlettype tp,int mult = 1,const char *desc = NULL); - - //! \brief Set the description of an indexed inlet - void DescInlet(int ix,const char *desc); - - //! \brief Set the description of an indexed outlet - void DescOutlet(int ix,const char *desc); - -//! @} FLEXT_C_INOUT - - -// method handling - - public: - - class AttrItem; - - class Item - { - public: - Item(AttrItem *a): attr(a),nxt(NULL) {} - virtual ~Item(); - - bool IsAttr() const { return attr != NULL; } - - AttrItem *attr; - Item *nxt; - }; - - class ItemSet - :public TablePtrMap<const t_symbol *,Item *,8> - { - public: - virtual ~ItemSet(); - virtual void clear(); - }; - - /*! This class holds hashed item entries - \note not thread-safe! - */ - class FLEXT_SHARE ItemCont - { - public: - ItemCont(); - ~ItemCont(); - - int Min() const { return -1; } - int Max() const { return size-2; } - - bool Contained(int i) const { return i+1 < size; } - - //! Add an entry - void Add(Item *it,const t_symbol *tag,int inlet = 0); - //! Remove an entry - bool Remove(Item *it,const t_symbol *tag,int inlet,bool free); - //! Find an entry list in the Item array - Item *FindList(const t_symbol *tag,int inlet = 0); - - //! Get list for an inlet - ItemSet &GetInlet(int inlet = 0) - { - FLEXT_ASSERT(inlet >= Min() && inlet <= Max()); - return *cont[inlet+1]; - } - - //! Get counter for total members (for index of new item) - int Members() const { return members; } - - protected: - - void Resize(int nsz); - - int members; - int memsize,size; - ItemSet **cont; - }; - - //! \brief This represents an item of the method list - class MethItem: - public Item - { - public: - MethItem(AttrItem *conn = NULL); - virtual ~MethItem(); - - void SetArgs(methfun fun,int argc,metharg *args); - - int index; - int argc; - metharg *args; - methfun fun; - }; - - //! \brief This represents an item of the attribute list - class AttrItem: - public Item - { - public: - AttrItem(const t_symbol *tag,metharg tp,methfun fun,int flags); - - enum { - afl_get = 0x01, afl_set = 0x02, - afl_getset = afl_get|afl_set, - afl_shown = 0x08 - }; - - bool IsGet() const { return (flags&afl_getset) == afl_get; } - bool IsSet() const { return (flags&afl_getset) == afl_set; } - bool IsShown() const { return (flags&afl_shown) != 0; } - bool BothExist() const { return counter != NULL; } - AttrItem *Counterpart() { return counter; } - - int index; - int flags; - metharg argtp; - methfun fun; - AttrItem *counter; - const t_symbol *tag; - }; - - //! Represent a data value of an attribute - class AttrData: - public flext_root - { - public: - AttrData(): flags(0) {} - - enum { afl_save = 0x01,afl_init = 0x02,afl_inited = 0x04 }; - - void SetSave(bool s) { if(s) flags |= afl_save; else flags &= ~afl_save; } - bool IsSaved() const { return (flags&afl_save) != 0; } - void SetInit(bool s) { if(s) flags |= afl_init; else flags &= ~afl_init; } - bool IsInit() const { return (flags&afl_init) != 0; } - void SetInitValue(int argc,const t_atom *argv) { init(argc,argv); flags |= afl_inited; } - void SetInitValue(const AtomList &l) { SetInitValue(l.Count(),l.Atoms()); } - bool IsInitValue() const { return (flags&afl_inited) != 0; } - const AtomList &GetInitValue() const { return init; } - - AtomList init; - int flags; - }; - - class AttrDataCont - :public TablePtrMap<const t_symbol *,AttrData *,8> - { - public: - virtual ~AttrDataCont(); - virtual void clear(); - }; - - // these outlet functions don't check for thread but send directly to the real-time system - void ToSysBang(int n) const { outlet *o = GetOut(n); if(o) { CRITON(); outlet_bang((t_outlet *)o); CRITOFF(); } } - void ToSysFloat(int n,float f) const { outlet *o = GetOut(n); if(o) { CRITON(); outlet_float((t_outlet *)o,f); CRITOFF(); } } - void ToSysInt(int n,int f) const { outlet *o = GetOut(n); if(o) { CRITON(); outlet_flint((t_outlet *)o,f); CRITOFF(); } } - void ToSysSymbol(int n,const t_symbol *s) const { outlet *o = GetOut(n); if(o) { CRITON(); outlet_symbol((t_outlet *)o,const_cast<t_symbol *>(s)); CRITOFF(); } } - void ToSysString(int n,const char *s) const { ToSysSymbol(n,MakeSymbol(s)); } - void ToSysList(int n,int argc,const t_atom *argv) const { outlet *o = GetOut(n); if(o) { CRITON(); outlet_list((t_outlet *)o,const_cast<t_symbol *>(sym_list),argc,(t_atom *)argv); CRITOFF(); } } - void ToSysList(int n,const AtomList &list) const { ToSysList(n,list.Count(),list.Atoms()); } - void ToSysAnything(int n,const t_symbol *s,int argc,const t_atom *argv) const { outlet *o = GetOut(n); if(o) { CRITON(); outlet_anything((t_outlet *)o,const_cast<t_symbol *>(s),argc,(t_atom *)argv); CRITOFF(); } } - void ToSysAnything(int n,const AtomAnything &any) const { ToSysAnything(n,any.Header(),any.Count(),any.Atoms()); } - void ToSysAnything(int n,const t_symbol *s,const AtomList &list) const { ToSysAnything(n,s,list.Count(),list.Atoms()); } - - void ToSysBool(int n,bool f) const { ToSysInt(n,f?1:0); } - void ToSysAtom(int n,const t_atom &at) const; - void ToSysDouble(int n,double d) const { t_atom dbl[2]; ToSysList(n,2,SetDouble(dbl,d)); } - - static void ToSysMsg(MsgBundle *mb); - - // add class method handlers - static void AddMessageMethods(t_class *c,bool dsp,bool dspin); - -private: - class pxbnd_object; -public: - - //! \brief This represents an item of the symbol-bound method list - class BindItem: - public Item - { - public: - BindItem(bool (*f)(flext_base *,t_symbol *s,int,t_atom *,void *),pxbnd_object *px); - virtual ~BindItem(); - - void Unbind(const t_symbol *s); - - bool (*fun)(flext_base *,t_symbol *s,int,t_atom *,void *); - pxbnd_object *px; - }; - - ItemCont *ThMeths() { if(!methhead) methhead = new ItemCont; return methhead; } - static ItemCont *ClMeths(t_classid c); - - //! \brief This is the central function to add message handlers. It is used by all other AddMethod incarnations. - static void AddMethod(ItemCont *ma,int inlet,const t_symbol *tag,methfun fun,metharg tp,...); - - ItemCont *ThAttrs() { return attrhead; } - static ItemCont *ClAttrs(t_classid c); - - static void AddAttrib(ItemCont *aa,ItemCont *ma,const t_symbol *attr,metharg tp,methfun gfun,methfun sfun); - void AddAttrib(const t_symbol *attr,metharg tp,methfun gfun,methfun sfun); - static void AddAttrib(t_classid c,const t_symbol *attr,metharg tp,methfun gfun,methfun sfun); - -private: - - static inline flext_base *thisObject(flext_hdr *c) { return FLEXT_CAST<flext_base *>(c->data); } - - static void Setup(t_classid c); - - //! \brief This represents either an inlet or outlet during construction - class FLEXT_SHARE xlet { - public: - xlet(); - ~xlet(); - - xlettype tp; - char *desc; - - void Desc(const char *c); - }; - - static xlet inlist[]; - static xlet outlist[]; - - //! current message tag - static const t_symbol *curtag; - //! number of message and signal inlets/outlets - unsigned char incnt,outcnt,insigs,outsigs; - - outlet **outlets; - - union t_any { - float ft; - int it; - bool bt; - const t_symbol *st; -#if FLEXT_SYS == FLEXT_SYS_PD - t_gpointer *pt; -#endif - void *vt; - }; - - typedef bool (*methfun_V)(flext_base *c,int argc,t_atom *argv); - typedef bool (*methfun_A)(flext_base *c,const t_symbol *s,int argc,t_atom *argv); - typedef bool (*methfun_0)(flext_base *c); - typedef bool (*methfun_1)(flext_base *c,t_any &); - typedef bool (*methfun_2)(flext_base *c,t_any &,t_any &); - typedef bool (*methfun_3)(flext_base *c,t_any &,t_any &,t_any &); - typedef bool (*methfun_4)(flext_base *c,t_any &,t_any &,t_any &,t_any &); - typedef bool (*methfun_5)(flext_base *c,t_any &,t_any &,t_any &,t_any &,t_any &); - - mutable ItemCont *methhead; - mutable ItemCont *bindhead; - - bool FindMeth(int inlet,const t_symbol *s,int argc,const t_atom *argv); - bool FindMethAny(int inlet,const t_symbol *s,int argc,const t_atom *argv); - bool TryMethTag(Item *lst,const t_symbol *tag,int argc,const t_atom *argv); - bool TryMethSym(Item *lst,const t_symbol *s); - bool TryMethAny(Item *lst,const t_symbol *s,int argc,const t_atom *argv); - - mutable ItemCont *attrhead; - mutable AttrDataCont *attrdata; - - AttrItem *FindAttrib(const t_symbol *tag,bool get,bool msg = false) const; - - bool InitAttrib(int argc,const t_atom *argv); - - bool DumpAttrib(const t_symbol *tag,AttrItem *a) const; - bool GetAttrib(const t_symbol *tag,AttrItem *a,AtomList &l) const; - bool SetAttrib(const t_symbol *tag,AttrItem *a,int argc,const t_atom *argv); - bool SetAttrib(const t_symbol *tag,AttrItem *a,const AtomList &l) { return SetAttrib(tag,a,l.Count(),l.Atoms()); } - // get and set the attribute - bool BangAttrib(const t_symbol *tag,AttrItem *a); - // show/hide the attribute - bool ShowAttrib(AttrItem *a,bool show) const; - - static bool cb_ListMethods(flext_base *c,int argc,const t_atom *argv); - static bool cb_ListAttrib(flext_base *c) { Locker lock(c); return c->ListAttrib(); } - - // queue stuff - - //! Start message queue - static void StartQueue(); -#if FLEXT_QMODE == 2 - //! Queue worker function - static void QWorker(thr_params *); -#endif - //! Flush messages in the queue - static void QFlush(flext_base *th = NULL); - -#if FLEXT_SYS == FLEXT_SYS_PD - - static void SetGfx(t_classid c); - -#ifndef FLEXT_NOATTREDIT - // attribute editor - static bool cb_AttrDialog(flext_base *c,int argc,const t_atom *argv); - static void cb_GfxProperties(flext_hdr *c, t_glist *); -#endif - -#ifdef FLEXT_ATTRHIDE - static void cb_GfxVis(flext_hdr *c, t_glist *gl, int vis); - static void cb_GfxSave(flext_hdr *c, t_binbuf *b); - static void cb_GfxSelect(flext_hdr *x, struct _glist *glist, int state); - - void BinbufArgs(t_binbuf *b,t_binbuf *args,bool withname,bool transdoll); - void BinbufAttr(t_binbuf *b,bool transdoll); -#endif - - static void cb_bang(flext_hdr *c); - static void cb_float(flext_hdr *c,t_float f); - static void cb_symbol(flext_hdr *c,const t_symbol *s); -// static void cb_pointer(fltext_hdr *c,const t_gpointer *p); - static void cb_anything(flext_hdr *c,const t_symbol *s,int argc,t_atom *argv); - - // proxy object (for additional inlets) - static t_class *px_class; - - struct px_object // no virtual table! - { - t_object obj; // MUST reside at memory offset 0 - flext_base *base; - int index; - - void init(flext_base *b,int ix) { base = b; index = ix; } - static void px_bang(px_object *c); - static void px_float(px_object *c,t_float f); - static void px_symbol(px_object *c,const t_symbol *s); -// static void px_pointer(px_object *c,const t_gpointer *p); - static void px_anything(px_object *c,const t_symbol *s,int argc,t_atom *argv); - }; - - static void cb_px_ft1(flext_hdr *c,t_float f); - static void cb_px_ft2(flext_hdr *c,t_float f); - static void cb_px_ft3(flext_hdr *c,t_float f); - static void cb_px_ft4(flext_hdr *c,t_float f); - static void cb_px_ft5(flext_hdr *c,t_float f); - static void cb_px_ft6(flext_hdr *c,t_float f); - static void cb_px_ft7(flext_hdr *c,t_float f); - static void cb_px_ft8(flext_hdr *c,t_float f); - static void cb_px_ft9(flext_hdr *c,t_float f); - -#elif FLEXT_SYS == FLEXT_SYS_MAX - typedef object px_object; - static void cb_bang(flext_hdr *c); - static void cb_float(flext_hdr *c,double f); - static void cb_int(flext_hdr *c,long v); - static void cb_anything(flext_hdr *c,const t_symbol *s,short argc,t_atom *argv); - - static void cb_px_in1(flext_hdr *c,long v); - static void cb_px_in2(flext_hdr *c,long v); - static void cb_px_in3(flext_hdr *c,long v); - static void cb_px_in4(flext_hdr *c,long v); - static void cb_px_in5(flext_hdr *c,long v); - static void cb_px_in6(flext_hdr *c,long v); - static void cb_px_in7(flext_hdr *c,long v); - static void cb_px_in8(flext_hdr *c,long v); - static void cb_px_in9(flext_hdr *c,long v); - - static void cb_px_ft1(flext_hdr *c,double f); - static void cb_px_ft2(flext_hdr *c,double f); - static void cb_px_ft3(flext_hdr *c,double f); - static void cb_px_ft4(flext_hdr *c,double f); - static void cb_px_ft5(flext_hdr *c,double f); - static void cb_px_ft6(flext_hdr *c,double f); - static void cb_px_ft7(flext_hdr *c,double f); - static void cb_px_ft8(flext_hdr *c,double f); - static void cb_px_ft9(flext_hdr *c,double f); -#endif - - px_object **inlets; - - // --------- symbol-bound proxy - - static t_class *pxbnd_class; - - class pxbnd_object: - public flext_root - // no virtual table! - { - public: - t_object obj; // MUST reside at memory offset 0 - flext_base *base; - BindItem *item; - void *data; - - void init(flext_base *b,BindItem *it,void *d) { base = b; item = it; data = d; } - static void px_method(pxbnd_object *c,const t_symbol *s,int argc,t_atom *argv); - }; - - //! create proxy class for symbol binding - static void SetupBindProxy(); - - // --------- - - //! set up inlet proxies - static void SetProxies(t_class *c,bool dsp); - - //! initialize inlets (according to class or object constructor definitions) - bool InitInlets(); - - //! initialize outlets (according to class or object constructor definitions) - bool InitOutlets(); - - // callback functions - - static void cb_loadbang(flext_hdr *c); - -#if FLEXT_SYS == FLEXT_SYS_MAX - char **indesc,**outdesc; - - static void cb_assist(flext_hdr *c,void *b,long msg,long arg,char *s); - static void cb_click (flext_hdr *c, Point pt, short mods); - - static void cb_dsp(flext_hdr *c,t_signal **s,short *count); -#elif FLEXT_SYS == FLEXT_SYS_PD - static void cb_click(flext_hdr *z,t_floatarg xpos,t_floatarg ypos,t_floatarg shift,t_floatarg ctrl,t_floatarg alt); - - static void cb_dsp(flext_hdr *c,t_signal **s); -#endif -}; - -#include "flpopns.h" - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flcontainers.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flcontainers.h.svn-base deleted file mode 100644 index 4626e2654..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flcontainers.h.svn-base +++ /dev/null @@ -1,176 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flcontainers.h - \brief Lock-free container classes -*/ - -#ifndef __FLCONTAINERS_H -#define __FLCONTAINERS_H - -#include "flprefix.h" - -#include "lockfree/stack.hpp" -#include "lockfree/fifo.hpp" - -#include "flpushns.h" - -class LifoCell: public lockfree::stack_node {}; - -class Lifo - : public lockfree::intrusive_stack<LifoCell> -{ -public: - inline void Push(LifoCell *cell) { this->push(cell); } - inline LifoCell *Pop() { return this->pop(); } - inline bool Avail() const { return !this->empty(); } -}; - -template <typename T> -class TypedLifo - : public Lifo -{ -public: - inline void Push(T *c) { Lifo::Push(static_cast<T *>(c)); } - inline T *Pop() { return static_cast<T *>(Lifo::Pop()); } -}; - -template <typename T> -class ValueLifoCell - : public LifoCell -{ -public: - ValueLifoCell(T v): value(v) {} - T value; -}; - -template <typename T> -class ValueLifo - : public TypedLifo<ValueLifoCell<T> > -{ -public: - inline void Push(T v) - { - TypedLifo<ValueLifoCell<T> >::Push(new ValueLifoCell<T>(v)); - } - - inline T Pop() - { - ValueLifoCell<T> *p = TypedLifo<ValueLifoCell<T> >::Pop(); - T v = p->value; - delete p; - return v; - } -}; - -template <typename T,int M = 2,int O = 1> -class PooledLifo - : public TypedLifo<T> -{ -public: - PooledLifo(): sz(0),resz(0) {} - - void Push(T *c) { TypedLifo<T>::Push(c); ++sz; } - T *Pop() { T *r = TypedLifo<T>::Pop(); if(r) --sz; return r; } - - T *New() - { - T *n = reuse.Pop(); - if(n) { - --resz; - return n; - } - else - return new T; - } - - inline void Free(T *p) - { - if(resz < sz*M+O) { reuse.Push(p); ++resz; } - else delete p; - } -private: - TypedLifo<T> reuse; - size_t sz,resz; -}; - - -class FifoCell: public lockfree::fifo_node {}; - -class Fifo - : public lockfree::intrusive_fifo<FifoCell> -{ -public: - inline void Put(FifoCell *cl) { this->enqueue(cl); } - inline FifoCell *Get() { return this->dequeue(); } - inline bool Avail() const { return !this->empty(); } -}; - - -template <typename T> -class TypedFifo - : public Fifo -{ -public: - inline void Put(T *c) { Fifo::Put(static_cast<T *>(c)); } - inline T *Get() { return static_cast<T *>(Fifo::Get()); } -}; - - -template <typename T> -class ValueFifoCell - : public FifoCell -{ -public: - ValueFifoCell(T v): value(v) {} - T value; -}; - -template <typename T> -class ValueFifo - : public TypedFifo<ValueFifoCell<T> > -{ -public: - inline void Put(T v) - { - TypedFifo<ValueFifoCell<T> >::Put(new ValueFifoCell<T>(v)); - } - - inline T Get() - { - ValueFifoCell<T> *p = TypedFifo<ValueFifoCell<T> >::Get(); - T v = p->value; - delete p; - return v; - } -}; - - -template <typename T,int M = 2,int O = 1> -class PooledFifo - : public TypedFifo<T> -{ -public: - ~PooledFifo() { T *n; while((n = reuse.Get()) != NULL) delete n; } - - inline T *New() { T *n = reuse.Get(); return n?n:new T; } - inline void Free(T *p) { if(resz < sz*M+O) reuse.Put(p); else delete p; } -private: - TypedFifo<T> reuse; - size_t sz,resz; -}; - -#include "flpopns.h" - -#endif - diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flcwmax-thr.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flcwmax-thr.h.svn-base deleted file mode 100644 index 4167be9f1..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flcwmax-thr.h.svn-base +++ /dev/null @@ -1,31 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -*/ - -/*! \file flcwmax-thr.h - \brief Prefix file for CodeWarrior projects - OS 9 threaded version. -*/ - -#ifndef _FLEXT_CW_MAX_THR_H -#define _FLEXT_CW_MAX_THR_H - -#define FLEXT_THREADS - -/* - old CodeWarrior version (<= 6) don't have sigset_t defined which - is needed for pthreads -*/ -#if defined(__MWERKS__) && (__MWERKS__ == 1) // read __MWERKS__ numbering starts with CW7 - typedef unsigned int sigset_t; - #define _CW_NOPRECOMP // no precompiled headers -#endif - -#include "flcwmax.h" - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flcwmax-x-thr.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flcwmax-x-thr.h.svn-base deleted file mode 100644 index 93b782895..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flcwmax-x-thr.h.svn-base +++ /dev/null @@ -1,31 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -*/ - -/*! \file flcwmax-x-thr.h - \brief Prefix file for CodeWarrior projects - OS X threaded version. -*/ - -#ifndef _FLEXT_CW_MAX_X_THR_H -#define _FLEXT_CW_MAX_X_THR_H - -#define FLEXT_THREADS - -/* - old CodeWarrior version (<= 6) don't have sigset_t defined which - is needed for pthreads -*/ -#if defined(__MWERKS__) && (__MWERKS__ == 1) // read __MWERKS__ numbering starts with CW7 - typedef unsigned int sigset_t; - #define _CW_NOPRECOMP // no precompiled headers -#endif - -#include "flcwmax-x.h" - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flcwmax-x.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flcwmax-x.h.svn-base deleted file mode 100644 index e1e340d26..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flcwmax-x.h.svn-base +++ /dev/null @@ -1,24 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -*/ - -/*! \file flcwmax-x.h - \brief Prefix file for CodeWarrior projects - OS X version. -*/ - -#ifndef _FLEXT_CW_MAX_X_H -#define _FLEXT_CW_MAX_X_H - -//#define TARGET_API_MAC_CARBON 1 -#define _POSIX_C_SOURCE -#define _POSIX_SOURCE - -#include "flcwmax.h" - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flcwmax.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flcwmax.h.svn-base deleted file mode 100644 index 4d108e2e8..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flcwmax.h.svn-base +++ /dev/null @@ -1,36 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -*/ - -/*! \file flcwmax.h - \brief Prefix file for CodeWarrior projects - OS 9 version. -*/ - -#ifndef _FLEXT_CW_MAX_H -#define _FLEXT_CW_MAX_H - -#ifndef __MWERKS__ - #error "This header file is for CodeWarrior only." -#endif - -#define FLEXT_SYS 1 -#define FLEXT_USE_SIMD - -#ifndef _CW_NOPRECOMP - #include <MacHeaders.h> -#endif - -#if /*__option(sym) ||*/ !__option(opt_dead_code) - #pragma message("Optimization disabled -> Compiling a debug version (with FLEXT_DEBUG)") - #define FLEXT_DEBUG -#endif - -/* #define _LOG */ - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flcwpd-x-thr.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flcwpd-x-thr.h.svn-base deleted file mode 100644 index d30750691..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flcwpd-x-thr.h.svn-base +++ /dev/null @@ -1,31 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -*/ - -/* This is the prefix file for CodeWarrior projects - OS X version */ - -#ifndef _FLEXT_CW_PD_X_THR_H -#define _FLEXT_CW_PD_X_THR_H - -#define FLEXT_THREADS - -#if 0 -/* - old CodeWarrior version (<= 6) don't have sigset_t defined which - is needed for pthreads -*/ -#if defined(__MWERKS__) && (__MWERKS__ <= 0x6000) - typedef unsigned int sigset_t; - #define _CW_NOPRECOMP // no precompiled headers -#endif -#endif - -#include "flcwpd-x.h" - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flcwpd-x.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flcwpd-x.h.svn-base deleted file mode 100644 index f6b5192ba..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flcwpd-x.h.svn-base +++ /dev/null @@ -1,37 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -*/ - -/* This is the prefix file for CodeWarrior projects - OS X version */ - -#ifndef _FLEXT_CW_PD_X_H -#define _FLEXT_CW_PD_X_H - -#ifndef __MWERKS__ - #error "This header file is for CodeWarrior only." -#endif - -#define FLEXT_SYS 2 -#define FLEXT_USE_SIMD - -#define TARGET_API_MAC_CARBON 1 -#define _POSIX_C_SOURCE - -#ifndef _CW_NOPRECOMP -// #include <MacHeadersMach-O.h> -// #include <MSL MacHeadersMach-O.h> -#endif - -#if __option(sym) || !__option(opt_dead_code) - #define FLEXT_DEBUG -#endif - -/* #define _LOG */ - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/fldefs.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/fldefs.h.svn-base deleted file mode 100644 index 91e749a9d..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/fldefs.h.svn-base +++ /dev/null @@ -1,73 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file fldefs.h - \brief This file includes all the #define header files -*/ - -#ifndef __FLEXT_DEFS_H -#define __FLEXT_DEFS_H - -/*! \defgroup FLEXT_DEFS Definitions for basic flext functionality - @{ -*/ - -/*! \brief Switch for compilation of derived virtual classes - \remark These need dynamic type casts (and RTTI, naturally) - \ingroup FLEXT_GLOBALS -*/ -#ifdef FLEXT_VIRT -#define FLEXT_CAST dynamic_cast -#else -#define FLEXT_CAST static_cast -#endif - -//! @} FLEXT_DEFS - -#include "fldefs_hdr.h" - -#include "fldefs_setup.h" - - -// ==================================================================================== - -/*! \defgroup FLEXT_D_METHOD Declarations for flext methods - @{ -*/ - -#include "fldefs_methcb.h" -#include "fldefs_meththr.h" -#include "fldefs_methadd.h" -#include "fldefs_methbind.h" -#include "fldefs_methcall.h" - -//! @} FLEXT_D_METHOD - - - -#ifdef FLEXT_ATTRIBUTES - -/*! \defgroup FLEXT_D_ATTRIB Attribute definition - \note These have to reside inside the class declaration - @{ -*/ - -#include "fldefs_attrcb.h" -#include "fldefs_attrvar.h" -#include "fldefs_attradd.h" - -//! @} FLEXT_D_ATTRIB - -#endif // FLEXT_ATTRIBUTES - -#endif // __FLEXT_DEFS_H diff --git a/externals/grill/trunk/flext/source/.svn/text-base/fldefs_attradd.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/fldefs_attradd.h.svn-base deleted file mode 100644 index f10aa5416..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/fldefs_attradd.h.svn-base +++ /dev/null @@ -1,124 +0,0 @@ -/* - -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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file fldefs_attradd.h - \brief This file contains all #defines for actual usage - -*/ - -#ifndef __FLEXT_DEFS_ATTRADD_H -#define __FLEXT_DEFS_ATTRADD_H - - -/*! \defgroup FLEXT_D_CADDATTR Announce object attributes at class scope - \ingroup FLEXT_D_ATTRIB - \note These can only be used at class construction time - @{ -*/ - -//! Add handler for a gettable attribute -#define FLEXT_CADDATTR_GET(CL,NAME,GFUN) \ -\ -AddAttrib(CL,flext::MakeSymbol(NAME),(FLEXT_GET_PRE(GFUN)),NULL) - -//! Add handler for a settable attribute -#define FLEXT_CADDATTR_SET(CL,NAME,SFUN) \ -\ -AddAttrib(CL,flext::MakeSymbol(NAME),NULL,(FLEXT_SET_PRE(SFUN))) - -//! Add handlers for a both get- and settable attribute -#define FLEXT_CADDATTR_VAR(CL,NAME,GFUN,SFUN) \ -\ -AddAttrib(CL,flext::MakeSymbol(NAME),(FLEXT_GET_PRE(GFUN)),(FLEXT_SET_PRE(SFUN))) - -//! Add handlers for a both get- and settable attribute -#define FLEXT_CADDATTR_VAR1(CL,NAME,FUN) \ -\ -AddAttrib(CL,flext::MakeSymbol(NAME),(FLEXT_GET_PRE(FUN)),(FLEXT_SET_PRE(FUN))) - - -//! Add handler for a gettable enum attribute -#define FLEXT_CADDATTR_GET_E(CL,NAME,GFUN) \ -\ -AddAttrib(CL,flext::MakeSymbol(NAME),(bool (*)(flext_base *,int &))(FLEXT_GET_PRE(GFUN)),NULL) - -//! Add handler for a settable enum attribute -#define FLEXT_CADDATTR_SET_E(CL,NAME,SFUN) \ -\ -AddAttrib(CL,flext::MakeSymbol(NAME),NULL,(bool (*)(flext_base *,int &))(FLEXT_SET_PRE(SFUN))) - -//! Add handlers for a both get- and settable enum attribute -#define FLEXT_CADDATTR_VAR_E(CL,NAME,GFUN,SFUN) \ -\ -AddAttrib(CL,flext::MakeSymbol(NAME),(bool (*)(flext_base *,int &))(FLEXT_GET_PRE(GFUN)),(bool (*)(flext_base *,int &))(FLEXT_SET_PRE(SFUN))) - -//! Add handlers for a both get- and settable enum attribute -#define FLEXT_CADDATTR_VAR1_E(CL,NAME,FUN) \ -\ -AddAttrib(CL,flext::MakeSymbol(NAME),(bool (*)(flext_base *,int &))(FLEXT_GET_PRE(FUN)),(bool (*)(flext_base *,int &))(FLEXT_SET_PRE(FUN))) - -//! @} FLEXT_D_CADDATTR - - -/*! \defgroup FLEXT_D_ADDATTR Announce object attributes - \ingroup FLEXT_D_ATTRIB - \note These can only be used at object construction time - \note (in constructor or in Init() function before call to parent's Init()) - @{ -*/ - -//! Add handler for a gettable attribute -#define FLEXT_ADDATTR_GET(NAME,GFUN) \ -\ -AddAttrib(flext::MakeSymbol(NAME),(FLEXT_GET_PRE(GFUN)),NULL) - -//! Add handler for a settable attribute -#define FLEXT_ADDATTR_SET(NAME,SFUN) \ -\ -AddAttrib(flext::MakeSymbol(NAME),NULL,(FLEXT_SET_PRE(SFUN))) - -//! Add handlers for a both get- and settable attribute -#define FLEXT_ADDATTR_VAR(NAME,GFUN,SFUN) \ -\ -AddAttrib(flext::MakeSymbol(NAME),(FLEXT_GET_PRE(GFUN)),(FLEXT_SET_PRE(SFUN))) - -//! Add handlers for a both get- and settable attribute -#define FLEXT_ADDATTR_VAR1(NAME,FUN) \ -\ -AddAttrib(flext::MakeSymbol(NAME),(FLEXT_GET_PRE(FUN)),(FLEXT_SET_PRE(FUN))) - - -//! Add handler for a gettable enum attribute -#define FLEXT_ADDATTR_GET_E(NAME,GFUN) \ -\ -AddAttrib(flext::MakeSymbol(NAME),(bool (*)(flext_base *,int &))(FLEXT_GET_PRE(GFUN)),NULL) - -//! Add handler for a settable enum attribute -#define FLEXT_ADDATTR_SET_E(NAME,SFUN) \ -\ -AddAttrib(flext::MakeSymbol(NAME),NULL,(bool (*)(flext_base *,int &))(FLEXT_SET_PRE(SFUN))) - -//! Add handlers for a both get- and settable enum attribute -#define FLEXT_ADDATTR_VAR_E(NAME,GFUN,SFUN) \ -\ -AddAttrib(flext::MakeSymbol(NAME),(bool (*)(flext_base *,int &))(FLEXT_GET_PRE(GFUN)),(bool (*)(flext_base *,int &))(FLEXT_SET_PRE(SFUN))) - -//! Add handlers for a both get- and settable enum attribute -#define FLEXT_ADDATTR_VAR1_E(NAME,FUN) \ -\ -AddAttrib(flext::MakeSymbol(NAME),(bool (*)(flext_base *,int &))(FLEXT_GET_PRE(FUN)),(bool (*)(flext_base *,int &))(FLEXT_SET_PRE(FUN))) - -//! @} FLEXT_D_ADDATTR - - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/fldefs_attrcb.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/fldefs_attrcb.h.svn-base deleted file mode 100644 index bf0ff70d3..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/fldefs_attrcb.h.svn-base +++ /dev/null @@ -1,161 +0,0 @@ -/* - -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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file fldefs_attrcb.h - \brief This file contains all #defines for actual usage - -*/ - -#ifndef __FLEXT_DEFS_ATTRCB_H -#define __FLEXT_DEFS_ATTRCB_H - - - -/*! \brief Declare a attribute set function - \internal -*/ -#define FLEXT_CALLSET_(FUN,TP) \ -static bool FLEXT_SET_PRE(FUN)(flext_base *c,TP &arg) \ -{ FLEXT_CAST<thisType *>(c)->FUN(arg); return true; } - -/*! \brief Declare a attribute get function - \internal -*/ -#define FLEXT_CALLGET_(FUN,TP) \ -static bool FLEXT_GET_PRE(FUN)(flext_base *c,TP &arg) \ -{ FLEXT_CAST<thisType *>(c)->FUN(arg); return true; } - - - -/*! \defgroup FLEXT_DA_CALLSET Definition of attribute set handlers - \ingroup FLEXT_D_ATTRIB - @{ -*/ - -//! Declare a set function for a float attribute -#define FLEXT_CALLSET_F(SFUN) \ -\ -FLEXT_CALLSET_(SFUN,float) - -//! Declare a set function for an integer attribute -#define FLEXT_CALLSET_I(SFUN) \ -\ -FLEXT_CALLSET_(SFUN,int) - -//! Declare a set function for a boolean attribute -#define FLEXT_CALLSET_B(SFUN) \ -\ -FLEXT_CALLSET_(SFUN,bool) -/* -static bool FLEXT_SET_PRE(FUN)(flext_base *c,int &arg) \ -{ bool b = arg != 0; FLEXT_CAST<thisType *>(c)->FUN(b); return true; } -*/ - -//! Declare a set function for an enum attribute -#define FLEXT_CALLSET_E(SFUN,TP) \ -\ -FLEXT_CALLSET_(SFUN,TP) - -//! Declare a set function for a symbol attribute -#define FLEXT_CALLSET_S(FUN) \ -static bool FLEXT_SET_PRE(FUN)(flext_base *c,const t_symbol *&arg) \ -{ FLEXT_CAST<thisType *>(c)->FUN(arg); return true; } - -//! Declare a set function for a variable list attribute -#define FLEXT_CALLSET_V(FUN) \ -static bool FLEXT_SET_PRE(FUN)(flext_base *c,AtomList *&arg) \ -{ FLEXT_CAST<thisType *>(c)->FUN(*arg); return true; } - -//! @} FLEXT_DA_CALLSET - -/*! \defgroup FLEXT_DA_CALLGET Definition of attribute get handlers - \ingroup FLEXT_D_ATTRIB - @{ -*/ - -//! Declare a get function for a float attribute -#define FLEXT_CALLGET_F(GFUN) \ -\ -FLEXT_CALLGET_(GFUN,float) - -//! Declare a get function for an integer attribute -#define FLEXT_CALLGET_I(GFUN) \ -\ -FLEXT_CALLGET_(GFUN,int) - -//! Declare a get function for a boolean attribute -#define FLEXT_CALLGET_B(GFUN) \ -\ -FLEXT_CALLGET_(GFUN,bool) -/* -static bool FLEXT_GET_PRE(FUN)(flext_base *c,int &arg) \ -{ bool b; FLEXT_CAST<thisType *>(c)->FUN(b); arg = b?1:0; return true; } -*/ - -//! Declare a get function for an enum attribute -#define FLEXT_CALLGET_E(GFUN,TP) \ -\ -FLEXT_CALLGET_(GFUN,TP) - -//! Declare a get function for a symbol attribute -#define FLEXT_CALLGET_S(FUN) \ -static bool FLEXT_GET_PRE(FUN)(flext_base *c,const t_symbol *&arg) \ -{ FLEXT_CAST<thisType *>(c)->FUN(arg); return true; } - -//! Declare a get function for a variable list attribute -#define FLEXT_CALLGET_V(FUN) \ -static bool FLEXT_GET_PRE(FUN)(flext_base *c,AtomList *&arg) \ -{ FLEXT_CAST<thisType *>(c)->FUN(*arg); return true; } - -//! @} FLEXT_DA_CALLGET - - -/*! \defgroup FLEXT_DA_CALLVAR Definition of attribute transfer handlers (both get and set) - \ingroup FLEXT_D_ATTRIB - @{ -*/ - -//! Declare both get and set functions for a float attribute -#define FLEXT_CALLVAR_F(GFUN,SFUN) \ -\ -FLEXT_CALLGET_F(GFUN) FLEXT_CALLSET_F(SFUN) - -//! Declare both get and set functions for an integer attribute -#define FLEXT_CALLVAR_I(GFUN,SFUN) \ -\ -FLEXT_CALLGET_I(GFUN) FLEXT_CALLSET_I(SFUN) - -//! Declare both get and set functions for a symbol attribute -#define FLEXT_CALLVAR_S(GFUN,SFUN) \ -\ -FLEXT_CALLGET_S(GFUN) FLEXT_CALLSET_S(SFUN) - -//! Declare both get and set functions for a boolean attribute -#define FLEXT_CALLVAR_B(GFUN,SFUN) \ -\ -FLEXT_CALLGET_B(GFUN) FLEXT_CALLSET_B(SFUN) - -//! Declare both get and set functions for an enum attribute -#define FLEXT_CALLVAR_E(GFUN,SFUN,TP) \ -\ -FLEXT_CALLGET_E(GFUN,TP) FLEXT_CALLSET_E(SFUN,TP) - -//! Declare both get and set functions for a variable list attribute -#define FLEXT_CALLVAR_V(GFUN,SFUN) \ -\ -FLEXT_CALLGET_V(GFUN) FLEXT_CALLSET_V(SFUN) - -//! @} FLEXT_DA_CALLVAR - - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/fldefs_attrvar.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/fldefs_attrvar.h.svn-base deleted file mode 100644 index e7623b58c..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/fldefs_attrvar.h.svn-base +++ /dev/null @@ -1,161 +0,0 @@ -/* - -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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file fldefs_attrvar.h - \brief This file contains all #defines for actual usage - -*/ - -#ifndef __FLEXT_DEFS_ATTRVAR_H -#define __FLEXT_DEFS_ATTRVAR_H - - -/*! \brief Declare an implicit attribute set function - \internal -*/ -#define FLEXT_ATTRSET_(VAR,TP) \ -static bool FLEXT_SET_PRE(VAR)(flext_base *c,TP &arg) \ -{ FLEXT_CAST<thisType *>(c)->VAR = arg; return true; } - -/*! \brief Declare an implicit attribute get function - \internal -*/ -#define FLEXT_ATTRGET_(VAR,TP) \ -static bool FLEXT_GET_PRE(VAR)(flext_base *c,TP &arg) \ -{ arg = (TP)FLEXT_CAST<thisType *>(c)->VAR; return true; } - - - -/*! \defgroup FLEXT_DA_ATTRSET Definition of implicit attribute set handlers - \ingroup FLEXT_D_ATTRIB - @{ -*/ - -//! Declare an implicit set function for a float attribute -#define FLEXT_ATTRSET_F(VAR) \ -\ -FLEXT_ATTRSET_(VAR,float) - -//! Declare an implicit set function for an integer attribute -#define FLEXT_ATTRSET_I(VAR) \ -\ -FLEXT_ATTRSET_(VAR,int) - -//! Declare an implicit set function for a symbol attribute -#define FLEXT_ATTRSET_S(VAR) \ -\ -FLEXT_ATTRSET_(VAR,const t_symbol *) - -//! Declare an implicit set function for a boolean attribute -#define FLEXT_ATTRSET_B(VAR) \ -\ -FLEXT_ATTRSET_(VAR,bool) -/* -static bool FLEXT_SET_PRE(VAR)(flext_base *c,int &arg) \ -{ FLEXT_CAST<thisType *>(c)->VAR = arg != 0; return true; } -*/ - -//! Declare an implicit set function for an enum attribute -#define FLEXT_ATTRSET_E(VAR,TP) \ -\ -FLEXT_ATTRSET_(VAR,TP) - -//! Declare an implicit set function for a variable list attribute -#define FLEXT_ATTRSET_V(VAR) \ -static bool FLEXT_SET_PRE(VAR)(flext_base *c,AtomList *&arg) \ -{ FLEXT_CAST<thisType *>(c)->VAR = *arg; return true; } - -//! @} FLEXT_DA_ATTRSET - -/*! \defgroup FLEXT_DA_ATTRGET Definition of implicit attribute get handlers - \ingroup FLEXT_D_ATTRIB - @{ -*/ - -//! Declare an implicit get function for a float attribute -#define FLEXT_ATTRGET_F(VAR) \ -\ -FLEXT_ATTRGET_(VAR,float) - -//! Declare an implicit get function for an integer attribute -#define FLEXT_ATTRGET_I(VAR) \ -\ -FLEXT_ATTRGET_(VAR,int) - -//! Declare an implicit get function for a symbol attribute -#define FLEXT_ATTRGET_S(VAR) \ -\ -FLEXT_ATTRGET_(VAR,const t_symbol *) - -//! Declare an implicit get function for a boolean attribute -#define FLEXT_ATTRGET_B(VAR) \ -\ -FLEXT_ATTRGET_(VAR,bool) -/* -static bool FLEXT_GET_PRE(VAR)(flext_base *c,int &arg) \ -{ arg = FLEXT_CAST<thisType *>(c)->VAR?1:0; return true; } -*/ - -//! Declare an implicit get function for an enum attribute -#define FLEXT_ATTRGET_E(VAR,TP) \ -\ -FLEXT_ATTRGET_(VAR,TP) - -//! Declare an implicit get function for a variable list attribute -#define FLEXT_ATTRGET_V(VAR) \ -static bool FLEXT_GET_PRE(VAR)(flext_base *c,AtomList *&arg) \ -{ *arg = FLEXT_CAST<thisType *>(c)->VAR; return true; } - -//! @} FLEXT_DA_ATTRGET - - -/*! \defgroup FLEXT_DA_ATTRVAR Definition of implicit attribute transfer handlers (both get and set) - \ingroup FLEXT_D_ATTRIB - @{ -*/ - -//! Declare both implicit get and set functions for a float attribute -#define FLEXT_ATTRVAR_F(VAR) \ -\ -FLEXT_ATTRGET_F(VAR) FLEXT_ATTRSET_F(VAR) - -//! Declare both implicit get and set functions for an integer attribute -#define FLEXT_ATTRVAR_I(VAR) \ -\ -FLEXT_ATTRGET_I(VAR) FLEXT_ATTRSET_I(VAR) - -//! Declare both implicit get and set functions for a symbol attribute -#define FLEXT_ATTRVAR_S(VAR) \ -\ -FLEXT_ATTRGET_S(VAR) FLEXT_ATTRSET_S(VAR) - -//! Declare both implicit get and set functions for a boolean attribute -#define FLEXT_ATTRVAR_B(VAR) \ -\ -FLEXT_ATTRGET_B(VAR) FLEXT_ATTRSET_B(VAR) - -//! Declare both implicit get and set functions for an enum attribute -#define FLEXT_ATTRVAR_E(VAR,TP) \ -\ -FLEXT_ATTRGET_(VAR,TP) FLEXT_ATTRSET_(VAR,TP) - -//! Declare both implicit get and set functions for a variable list attribute -#define FLEXT_ATTRVAR_V(VAR) \ -\ -FLEXT_ATTRGET_V(VAR) FLEXT_ATTRSET_V(VAR) - - -//! @} FLEXT_DA_ATTRVAR - - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/fldefs_hdr.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/fldefs_hdr.h.svn-base deleted file mode 100644 index 88f2c53cf..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/fldefs_hdr.h.svn-base +++ /dev/null @@ -1,64 +0,0 @@ -/* - -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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file fldefs_hdr.h - \brief This file contains all #defines for actual usage - -*/ - -#ifndef __FLEXT_DEFS_HEADER_H -#define __FLEXT_DEFS_HEADER_H - - -/*! \defgroup FLEXT_D_HEADER Flext class header - \note One (and only one!) of these definitions is compulsory for the class declaration. - \note It has to be placed somewhere in the class definition (not necessarily in a public section). - - @{ -*/ - -/*! \brief Plain flext class header - \param NEW_CLASS name of the current C++ class - \param PARENT_CLASS name of the base C++ class (e.g. flext_base or flext_dsp) -*/ -#define FLEXT_HEADER(NEW_CLASS,PARENT_CLASS) \ -\ -FLEXT_REALHDR(NEW_CLASS, PARENT_CLASS) - -#define FLEXT_HEADER_T(NEW_CLASS,PARENT_CLASS) \ -\ -FLEXT_REALHDR_T(NEW_CLASS, PARENT_CLASS) - -/*! \brief Flext class header with setup function - \param NEW_CLASS name of the current C++ class - \param PARENT_CLASS name of the base C++ class (e.g. flext_base or flext_dsp) - \param SETUPFUN setup function, of type "void (*setupfn)(t_class *)" - - The setup function is called after class creation. It corresponds to the - original PD "[object]_setup" function, apart from the - fact that all necessary class initializations have already been taken care of by flext. - The setup function can e.g. be used for a message to the console upon first creation of an object. -*/ -#define FLEXT_HEADER_S(NEW_CLASS, PARENT_CLASS, SETUPFUN)\ -\ -FLEXT_REALHDR_S(NEW_CLASS, PARENT_CLASS, SETUPFUN) - -#define FLEXT_HEADER_TS(NEW_CLASS, PARENT_CLASS, SETUPFUN)\ -\ -FLEXT_REALHDR_TS(NEW_CLASS, PARENT_CLASS, SETUPFUN) - - -//! @} FLEXT_D_HEADER - - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/fldefs_methadd.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/fldefs_methadd.h.svn-base deleted file mode 100644 index 313ffb26c..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/fldefs_methadd.h.svn-base +++ /dev/null @@ -1,235 +0,0 @@ -/* - -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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file fldefs_methadd.h - \brief This file contains all #defines for actual usage - -*/ - -#ifndef __FLEXT_DEFS_METHADD_H -#define __FLEXT_DEFS_METHADD_H - - -/*! \defgroup FLEXT_D_CADDMETHOD Add flext methods within class scope - \ingroup FLEXT_D_METHOD - \note These can only be used at class construction time - @{ -*/ - -/*! Add a method handler for bang - \note This is for compatibility - better use the method below -*/ -#define FLEXT_CADDBANG(CL,IX,M_FUN) \ -\ -AddMethod(CL,IX,FLEXT_CALL_PRE(M_FUN)) - -//! Add a handler for a method with either no, list or anything arguments -#define FLEXT_CADDMETHOD(CL,IX,M_FUN) \ -\ -AddMethod(CL,IX,FLEXT_CALL_PRE(M_FUN)) - -//! Add a a handler for a method with implicit arguments -#define FLEXT_CADDMETHOD_(CL,IX,M_TAG,M_FUN) \ -\ -AddMethod(CL,IX,flext::MakeSymbol(M_TAG),FLEXT_CALL_PRE(M_FUN)) - -//! Add a handler for a method with 1 enum type argument -#define FLEXT_CADDMETHOD_E(CL,IX,M_TAG,M_FUN) \ -\ -AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),a_int,a_null) - -//! Add a handler for a method with 1 argument -#define FLEXT_CADDMETHOD_1(CL,IX,M_TAG,M_FUN,TP1) \ -\ -AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),a_null) - -//! Add a handler for a method with 2 arguments -#define FLEXT_CADDMETHOD_2(CL,IX,M_TAG,M_FUN,TP1,TP2) \ -\ -AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),a_null) - -//! Add a handler for a method with 3 arguments -#define FLEXT_CADDMETHOD_3(CL,IX,M_TAG,M_FUN,TP1,TP2,TP3) \ -\ -AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),a_null) - -//! Add a handler for a method with 4 arguments -#define FLEXT_CADDMETHOD_4(CL,IX,M_TAG,M_FUN,TP1,TP2,TP3,TP4) \ -\ -AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),FLEXTARG(TP4),a_null) - -//! Add a handler for a method with 5 arguments -#define FLEXT_CADDMETHOD_5(CL,IX,M_TAG,M_FUN,TP1,TP2,TP3,TP4,TP5) \ -\ -AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),FLEXTARG(TP4),FLEXTARG(TP5),a_null) - - -// Shortcuts - -//! Add a handler for a method with a boolean argument -#define FLEXT_CADDMETHOD_B(CL,IX,M_TAG,M_FUN) \ -\ -FLEXT_CADDMETHOD_1(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,bool) - -//! Add a handler for a method with 1 float argument -#define FLEXT_CADDMETHOD_F(CL,IX,M_TAG,M_FUN) \ -\ -FLEXT_CADDMETHOD_1(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,float) - -//! Add a handler for a method with 2 float arguments -#define FLEXT_CADDMETHOD_FF(CL,IX,M_TAG,M_FUN) \ -\ -FLEXT_CADDMETHOD_2(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,float,float) - -//! Add a handler for a method with 3 float arguments -#define FLEXT_CADDMETHOD_FFF(CL,IX,M_TAG,M_FUN) \ -\ -FLEXT_CADDMETHOD_3(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,float,float,float) - -//! Add a handler for a method with 1 integer argument -#define FLEXT_CADDMETHOD_I(CL,IX,M_TAG,M_FUN) \ -\ -FLEXT_CADDMETHOD_1(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,int) - -//! Add a handler for a method with 2 integer arguments -#define FLEXT_CADDMETHOD_II(CL,IX,M_TAG,M_FUN) \ -\ -FLEXT_CADDMETHOD_2(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,int,int) - -//! Add a handler for a method with 3 integer arguments -#define FLEXT_CADDMETHOD_III(CL,IX,M_TAG,M_FUN) \ -\ -FLEXT_CADDMETHOD_3(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,int,int,int) - -//! @} FLEXT_D_CADDMETHOD - - -/*! \defgroup FLEXT_D_ADDMETHOD Add flext methods - \ingroup FLEXT_D_METHOD - \note These can only be used at object construction time - \note (in constructor or in Init() function before call to parent's Init()) - @{ -*/ - -//! Set timer callback -#define FLEXT_ADDTIMER(TMR,M_FUN) \ -\ -TMR.SetCallback(*this,FLEXT_CALL_PRE(M_FUN)) - -//! Enable list element distribution over inlets (if no better handler found) -#define FLEXT_ADDDIST() \ -\ -SetDist(true) - -//! Add a method handler for bang -#define FLEXT_ADDBANG(IX,M_FUN) \ -\ -AddMethod(IX,"bang",FLEXT_CALL_PRE(M_FUN)) - -//! Add a handler for a method with either no, list or anything arguments -#define FLEXT_ADDMETHOD(IX,M_FUN) \ -AddMethod(IX,FLEXT_CALL_PRE(M_FUN)) - -/*! \brief Add a handler for a method with a (variable argument) list - \deprecated This definition obscures that _ indicates the usage of a message tag - use FLEXT_ADDMETHOD instead - \note This is already covered by FLEXT_ADDMETHOD, but here for the sake of clarity -*/ -#define FLEXT_ADDMETHOD_V(IX,M_FUN) \ -\ -AddMethod(IX,FLEXT_CALL_PRE(M_FUN)) - -/*! \brief Add a handler for a method with an anything argument - \deprecated This definition obscures that _ indicates the usage of a message tag - use FLEXT_ADDMETHOD instead - \note This is already covered by FLEXT_ADDMETHOD, but here for the sake of clarity -*/ -#define FLEXT_ADDMETHOD_A(IX,M_FUN) \ -\ -AddMethod(IX,FLEXT_CALL_PRE(M_FUN)) - -//! Add a a handler for a tagged method with implicit arguments -#define FLEXT_ADDMETHOD_(IX,M_TAG,M_FUN) \ -\ -AddMethod(IX,flext::MakeSymbol(M_TAG),FLEXT_CALL_PRE(M_FUN)) - -//! Add a handler for a method with 1 enum type argument -#define FLEXT_ADDMETHOD_E(IX,M_TAG,M_FUN) \ -\ -AddMethod(ThMeths(),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),a_int,a_null) - -//! Add a handler for a method with 1 argument -#define FLEXT_ADDMETHOD_1(IX,M_TAG,M_FUN,TP1) \ -\ -AddMethod(ThMeths(),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),a_null) - -//! Add a handler for a method with 2 arguments -#define FLEXT_ADDMETHOD_2(IX,M_TAG,M_FUN,TP1,TP2) \ -\ -AddMethod(ThMeths(),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),a_null) - -//! Add a handler for a method with 3 arguments -#define FLEXT_ADDMETHOD_3(IX,M_TAG,M_FUN,TP1,TP2,TP3) \ -\ -AddMethod(ThMeths(),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),a_null) - -//! Add a handler for a method with 4 arguments -#define FLEXT_ADDMETHOD_4(IX,M_TAG,M_FUN,TP1,TP2,TP3,TP4) \ -\ -AddMethod(ThMeths(),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),FLEXTARG(TP4),a_null) - -//! Add a handler for a method with 5 arguments -#define FLEXT_ADDMETHOD_5(IX,M_TAG,M_FUN,TP1,TP2,TP3,TP4,TP5) \ -\ -AddMethod(ThMeths(),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),FLEXTARG(TP4),FLEXTARG(TP5),a_null) - - -// Shortcuts - -//! Add a handler for a method with a boolean argument -#define FLEXT_ADDMETHOD_B(IX,M_TAG,M_FUN) \ -\ -FLEXT_ADDMETHOD_1(IX,flext::MakeSymbol(M_TAG),M_FUN,bool) - -//! Add a handler for a method with 1 float argument -#define FLEXT_ADDMETHOD_F(IX,M_TAG,M_FUN) \ -\ -FLEXT_ADDMETHOD_1(IX,flext::MakeSymbol(M_TAG),M_FUN,float) - -//! Add a handler for a method with 2 float arguments -#define FLEXT_ADDMETHOD_FF(IX,M_TAG,M_FUN) \ -\ -FLEXT_ADDMETHOD_2(IX,flext::MakeSymbol(M_TAG),M_FUN,float,float) - -//! Add a handler for a method with 3 float arguments -#define FLEXT_ADDMETHOD_FFF(IX,M_TAG,M_FUN) \ -\ -FLEXT_ADDMETHOD_3(IX,flext::MakeSymbol(M_TAG),M_FUN,float,float,float) - -//! Add a handler for a method with 1 integer argument -#define FLEXT_ADDMETHOD_I(IX,M_TAG,M_FUN) \ -\ -FLEXT_ADDMETHOD_1(IX,flext::MakeSymbol(M_TAG),M_FUN,int) - -//! Add a handler for a method with 2 integer arguments -#define FLEXT_ADDMETHOD_II(IX,M_TAG,M_FUN) \ -\ -FLEXT_ADDMETHOD_2(IX,flext::MakeSymbol(M_TAG),M_FUN,int,int) - -//! Add a handler for a method with 3 integer arguments -#define FLEXT_ADDMETHOD_III(IX,M_TAG,M_FUN) \ -\ -FLEXT_ADDMETHOD_3(IX,flext::MakeSymbol(M_TAG),M_FUN,int,int,int) - - -//! @} FLEXT_D_ADDMETHOD - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/fldefs_methbind.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/fldefs_methbind.h.svn-base deleted file mode 100644 index 22ed20cd3..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/fldefs_methbind.h.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -/* - -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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file fldefs_methbind.h - \brief This file contains all #defines for actual usage - -*/ - -#ifndef __FLEXT_DEFS_METHBIND_H -#define __FLEXT_DEFS_METHBIND_H - - -/*! \defgroup FLEXT_D_BINDMETHOD Bind flext methods to symbols - @{ -*/ - -/*! \brief Bind a handler for a method with an anything argument to a symbol -*/ -#define FLEXT_BINDMETHOD(SYM,M_FUN,DATA) \ -\ -BindMethod(SYM,FLEXT_CALL_PRE(M_FUN),DATA) - -/*! \brief Unbind any handler for a method from a symbol - \note Memory associated to the DATA parameter of FLEXT_BINDMETHOD will *not* be freed here. -*/ -#define FLEXT_UNBINDMETHOD(SYM) \ -\ -UnbindMethod(SYM) - -/*! \brief Unbind any handler for a method from a symbol and return user data pointer by DATA - \note Memory associated to the DATA parameter of FLEXT_BINDMETHOD will *not* be freed here. -*/ -#define FLEXT_UNBINDMETHOD_X(SYM,DATA) \ -\ -UnbindMethod(SYM,&DATA) - - -//! @} FLEXT_D_BINDMETHOD - - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/fldefs_methcall.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/fldefs_methcall.h.svn-base deleted file mode 100644 index 4672380e0..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/fldefs_methcall.h.svn-base +++ /dev/null @@ -1,81 +0,0 @@ -/* - -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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file fldefs_methbind.h - \brief This file contains all #defines for actual usage - -*/ - -#ifndef __FLEXT_DEFS_METHCALL_H -#define __FLEXT_DEFS_METHCALL_H - - -/*! \defgroup FLEXT_D_CALLMETHOD Call flext methods manually - \ingroup FLEXT_D_METHOD - @{ -*/ - -//! Call a (already defined) method with no arguments -#define FLEXT_CALLMETHOD(M_FUN) \ -\ -FLEXT_CALL_PRE(M_FUN)(this) - -//! Call a (already defined) method with variable list arguments -#define FLEXT_CALLMETHOD_V(M_FUN,ARGC,ARGV) \ -\ -FLEXT_CALL_PRE(M_FUN)(this,ARGC,(t_atom *)(ARGV)) - -//! Call a (already defined) method with anything arguments -#define FLEXT_CALLMETHOD_A(M_FUN,HDR,ARGC,ARGV) \ -\ -FLEXT_CALL_PRE(M_FUN)(this,(t_symbol *)(HDR),ARGC,(t_atom *)(ARGV)) - -//! Call a (already defined) method with a data package (void *) -#define FLEXT_CALLMETHOD_X(M_FUN,DATA) \ -\ -FLEXT_CALL_PRE(M_FUN)(this,DATA) - -//! Call a (already defined) method with 1 enum type argument -#define FLEXT_CALLMETHOD_E(M_FUN,ARG) \ -\ -FLEXT_CALL_PRE(M_FUN)(this,ARG) - -//! Call a (already defined) method with 1 argument -#define FLEXT_CALLMETHOD_1(M_FUN,ARG) \ -\ -FLEXT_CALL_PRE(M_FUN)(this,ARG) - -//! Call a (already defined) method with 2 arguments -#define FLEXT_CALLMETHOD_2(M_FUN,ARG1,ARG2) \ -\ -FLEXT_CALL_PRE(M_FUN)(this,ARG1,ARG2) - -//! Call a (already defined) method with 3 arguments -#define FLEXT_CALLMETHOD_3(M_FUN,ARG1,ARG2,ARG3) \ -\ -FLEXT_CALL_PRE(M_FUN)(this,ARG1,ARG2,ARG3) - -//! Call a (already defined) method with 4 arguments -#define FLEXT_CALLMETHOD_4(M_FUN,ARG1,ARG2,ARG3,ARG4) \ -\ -FLEXT_CALL_PRE(M_FUN)(this,ARG1,ARG2,ARG3,ARG4) - -//! Call a (already defined) method with 5 arguments -#define FLEXT_CALLMETHOD_5(M_FUN,ARG1,ARG2,ARG3,ARG4,ARG5) \ -\ -FLEXT_CALL_PRE(M_FUN)(this,ARG1,ARG2,ARG3,ARG4,ARG5) - -//! @} FLEXT_D_CALLMETHOD - - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/fldefs_methcb.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/fldefs_methcb.h.svn-base deleted file mode 100644 index 0d16e2d6d..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/fldefs_methcb.h.svn-base +++ /dev/null @@ -1,132 +0,0 @@ -/* - -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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file fldefs_methcb.h - \brief This file contains all #defines for actual usage - -*/ - -#ifndef __FLEXT_DEFS_METHCB_H -#define __FLEXT_DEFS_METHCB_H - - -/*! \defgroup FLEXT_D_CALLBACK Declare callbacks for class methods - \ingroup FLEXT_D_METHOD - @{ -*/ - -//! Set up a method callback with no arguments -#define FLEXT_CALLBACK(M_FUN) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c) \ -{ FLEXT_CAST<thisType *>(c)->M_FUN(); return true; } - -//! Set up a method callback for an anything argument -#define FLEXT_CALLBACK_A(M_FUN) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,t_symbol *s,int argc,t_atom *argv) \ -{ FLEXT_CAST<thisType *>(c)->M_FUN(s,argc,argv); return true; } - -//! Set up a method callback for a variable argument list -#define FLEXT_CALLBACK_V(M_FUN) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,int argc,t_atom *argv) \ -{ FLEXT_CAST<thisType *>(c)->M_FUN(argc,argv); return true; } - -//! Set up a method callback for a data package (void *) argument -#define FLEXT_CALLBACK_X(M_FUN) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,void *data) \ -{ FLEXT_CAST<thisType *>(c)->M_FUN(data); return true; } - -//! Set up a method callback for an anything argument and a data package (e.g. for symbol-bound methods). -#define FLEXT_CALLBACK_AX(M_FUN) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,t_symbol *s,int argc,t_atom *argv,void *data) \ -{ FLEXT_CAST<thisType *>(c)->M_FUN(s,argc,argv,data); return true; } - -//! Set up a timer callback -#define FLEXT_CALLBACK_T(M_FUN) \ -\ -FLEXT_CALLBACK_X(M_FUN) - -//! Set up a method callback for a boolean argument -#define FLEXT_CALLBACK_B(M_FUN) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,int &arg1) \ -{ FLEXT_CAST<thisType *>(c)->M_FUN(arg1 != 0); return true; } - -//! Set up a method callback for 1 argument -#define FLEXT_CALLBACK_1(M_FUN,TP1) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1) \ -{ FLEXT_CAST<thisType *>(c)->M_FUN(arg1); return true; } - -//! Set up a method callback for 2 arguments -#define FLEXT_CALLBACK_2(M_FUN,TP1,TP2) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1,TP2 &arg2) \ -{ FLEXT_CAST<thisType *>(c)->M_FUN(arg1,arg2); return true; } - -//! Set up a method callback for 3 arguments -#define FLEXT_CALLBACK_3(M_FUN,TP1,TP2,TP3) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1,TP2 &arg2,TP3 &arg3) \ -{ FLEXT_CAST<thisType *>(c)->M_FUN(arg1,arg2,arg3); return true; } - -//! Set up a method callback for 4 arguments -#define FLEXT_CALLBACK_4(M_FUN,TP1,TP2,TP3,TP4) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1,TP2 &arg2,TP3 &arg3,TP4 &arg4) \ -{ FLEXT_CAST<thisType *>(c)->M_FUN(arg1,arg2,arg3,arg4); return true; } - -//! Set up a method callback for 5 arguments -#define FLEXT_CALLBACK_5(M_FUN,TP1,TP2,TP3,TP4,TP5) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1,TP2 &arg2,TP3 &arg3,TP4 &arg4,TP5 &arg5) \ -{ FLEXT_CAST<thisType *>(c)->M_FUN(arg1,arg2,arg3,arg4,arg5); return true; } - - -// Shortcuts - -//! Set up a method callback for 1 float argument -#define FLEXT_CALLBACK_F(M_FUN) \ -\ -FLEXT_CALLBACK_1(M_FUN,float) - -//! Set up a method callback for 2 float arguments -#define FLEXT_CALLBACK_FF(M_FUN) \ -\ -FLEXT_CALLBACK_2(M_FUN,float,float) - -//! Set up a method callback for 3 float arguments -#define FLEXT_CALLBACK_FFF(M_FUN) \ -\ -FLEXT_CALLBACK_3(M_FUN,float,float,float) - -//! Set up a method callback for 1 integer argument -#define FLEXT_CALLBACK_I(M_FUN) \ -\ -FLEXT_CALLBACK_1(M_FUN,int) - -//! Set up a method callback for 2 integer arguments -#define FLEXT_CALLBACK_II(M_FUN) \ -\ -FLEXT_CALLBACK_2(M_FUN,int,int) - -//! Set up a method callback for 3 integer arguments -#define FLEXT_CALLBACK_III(M_FUN) \ -\ -FLEXT_CALLBACK_3(M_FUN,int,int,int) - -//! Set up a method callback for 1 symbol argument -#define FLEXT_CALLBACK_S(M_FUN) \ -\ -FLEXT_CALLBACK_1(M_FUN,t_symptr) - - -//! \deprecated -#define FLEXT_CALLBACK_G FLEXT_CALLBACK_V - -//! @} FLEXT_D_CALLBACK - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/fldefs_meththr.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/fldefs_meththr.h.svn-base deleted file mode 100644 index b9d784711..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/fldefs_meththr.h.svn-base +++ /dev/null @@ -1,276 +0,0 @@ -/* - -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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file fldefs_meththr.h - \brief This file contains all #defines for actual usage - -*/ - -#ifndef __FLEXT_DEFS_METHTHR_H -#define __FLEXT_DEFS_METHTHR_H - - -#ifdef FLEXT_THREADS - - -/*! \defgroup FLEXT_D_THREAD Declare threaded method callbacks - @{ -*/ - -//! Set up a threaded method callback with no arguments -#define FLEXT_THREAD(M_FUN) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c) { \ - thr_params *p = new thr_params; \ - return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \ -} \ -static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \ - thisType *th = FLEXT_CAST<thisType *>(p->cl); \ - bool ok = th->PushThread(); \ - delete p; \ - if(ok) { \ - th->M_FUN(); \ - th->PopThread(); \ - } \ -} - -//! Set up a threaded method callback for an anything argument -#define FLEXT_THREAD_A(M_FUN) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,t_symbol *s,int argc,t_atom *argv) { \ - thr_params *p = new thr_params; p->set_any(s,argc,argv); \ - return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \ -} \ -static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \ - thisType *th = FLEXT_CAST<thisType *>(p->cl); \ - bool ok = th->PushThread(); \ - AtomAnything *args = p->var[0]._any; \ - delete p; \ - if(ok) { \ - th->M_FUN(args->Header(),args->Count(),args->Atoms()); \ - th->PopThread(); \ - } \ - delete args; \ -} - -//! Set up a threaded method callback for a variable argument list -#define FLEXT_THREAD_V(M_FUN) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,int argc,t_atom *argv) { \ - thr_params *p = new thr_params; p->set_list(argc,argv); \ - return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \ -} \ -static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \ - thisType *th = FLEXT_CAST<thisType *>(p->cl); \ - bool ok = th->PushThread(); \ - AtomList *args = p->var[0]._list; \ - delete p; \ - if(ok) { \ - th->M_FUN(args->Count(),args->Atoms()); \ - th->PopThread(); \ - } \ - delete args; \ -} - -/*! \brief Set up a threaded method callback for an arbitrary data struct. - \note Data is pure... no destructor is called upon delete -*/ -#define FLEXT_THREAD_X(M_FUN) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,void *data) { \ - thr_params *p = new thr_params; p->var[0]._ext = data; \ - return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \ -} \ -static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \ - thisType *th = FLEXT_CAST<thisType *>(p->cl); \ - bool ok = th->PushThread(); \ - void *data = p->var[0]._ext; \ - delete p; \ - if(ok) { \ - th->M_FUN(data); \ - th->PopThread(); \ - } \ - /* delete (char *)data; */ \ -} - -//! Set up a threaded method callback for a boolean argument -#define FLEXT_THREAD_B(M_FUN) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,int &arg1) { \ - thr_params *p = new thr_params; p->var[0]._bool = arg1 != 0; \ - return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \ -} \ -static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \ - thisType *th = FLEXT_CAST<thisType *>(p->cl); \ - bool ok = th->PushThread(); \ - bool b = p->var[0]._bool; \ - delete p; \ - if(ok) { \ - th->M_FUN(b); \ - th->PopThread(); \ - } \ -} - -//! Set up a threaded method callback for 1 argument -#define FLEXT_THREAD_1(M_FUN,TP1) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1) { \ - thr_params *p = new thr_params(1); \ - p->var[0]._ ## TP1 = arg1; \ - return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \ -} \ -static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \ - thisType *th = FLEXT_CAST<thisType *>(p->cl); \ - bool ok = th->PushThread(); \ - const TP1 v1 = p->var[0]._ ## TP1; \ - delete p; \ - if(ok) { \ - th->M_FUN(v1); \ - th->PopThread(); \ - } \ -} - -//! Set up a threaded method callback for 2 arguments -#define FLEXT_THREAD_2(M_FUN,TP1,TP2) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1,TP2 &arg2) { \ - thr_params *p = new thr_params(2); \ - p->var[0]._ ## TP1 = arg1; \ - p->var[1]._ ## TP2 = arg2; \ - return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \ -} \ -static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \ - thisType *th = FLEXT_CAST<thisType *>(p->cl); \ - bool ok = th->PushThread(); \ - const TP1 v1 = p->var[0]._ ## TP1; \ - const TP1 v2 = p->var[1]._ ## TP2; \ - delete p; \ - if(ok) { \ - th->M_FUN(v1,v2); \ - th->PopThread(); \ - } \ -} - -//! Set up a threaded method callback for 3 arguments -#define FLEXT_THREAD_3(M_FUN,TP1,TP2,TP3) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1,TP2 &arg2,TP3 &arg3) { \ - thr_params *p = new thr_params(3); \ - p->var[0]._ ## TP1 = arg1; \ - p->var[1]._ ## TP2 = arg2; \ - p->var[2]._ ## TP3 = arg3; \ - return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \ -} \ -static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \ - thisType *th = FLEXT_CAST<thisType *>(p->cl); \ - bool ok = th->PushThread(); \ - const TP1 v1 = p->var[0]._ ## TP1; \ - const TP2 v2 = p->var[1]._ ## TP2; \ - const TP3 v3 = p->var[2]._ ## TP3; \ - delete p; \ - if(ok) { \ - th->M_FUN(v1,v2,v3); \ - th->PopThread(); \ - } \ -} - -//! Set up a threaded method callback for 4 arguments -#define FLEXT_THREAD_4(M_FUN,TP1,TP2,TP3,TP4) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1,TP2 &arg2,TP3 &arg3,TP4 &arg4) { \ - thr_params *p = new thr_params(4); \ - p->var[0]._ ## TP1 = arg1; \ - p->var[1]._ ## TP2 = arg2; \ - p->var[2]._ ## TP3 = arg3; \ - p->var[3]._ ## TP4 = arg4; \ - return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \ -} \ -static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \ - thisType *th = FLEXT_CAST<thisType *>(p->cl); \ - bool ok = th->PushThread(); \ - const TP1 v1 = p->var[0]._ ## TP1; \ - const TP2 v2 = p->var[1]._ ## TP2; \ - const TP3 v3 = p->var[2]._ ## TP3; \ - const TP4 v4 = p->var[3]._ ## TP4; \ - delete p; \ - if(ok) { \ - th->M_FUN(v1,v2,v3,v4); \ - th->PopThread(); \ - } \ -} - -//! Set up a threaded method callback for 5 arguments -#define FLEXT_THREAD_5(M_FUN,TP1,TP2,TP3,TP4,TP5) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1,TP2 &arg2,TP3 &arg3,TP4 &arg4,TP5 &arg5) { \ - thr_params *p = new thr_params(5); \ - p->var[0]._ ## TP1 = arg1; \ - p->var[1]._ ## TP2 = arg2; \ - p->var[2]._ ## TP3 = arg3; \ - p->var[3]._ ## TP4 = arg4; \ - p->var[4]._ ## TP5 = arg5; \ - return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \ -} \ -static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \ - thisType *th = FLEXT_CAST<thisType *>(p->cl); \ - bool ok = th->PushThread(); \ - const TP1 v1 = p->var[0]._ ## TP1; \ - const TP2 v2 = p->var[1]._ ## TP2; \ - const TP3 v3 = p->var[2]._ ## TP3; \ - const TP4 v4 = p->var[3]._ ## TP4; \ - const TP5 v5 = p->var[4]._ ## TP5; \ - delete p; \ - if(ok) { \ - th->M_FUN(v1,v2,v3,v4,v5); \ - th->PopThread(); \ - } \ -} - - -//! Shortcuts - -//! Set up a threaded method callback for 1 float argument -#define FLEXT_THREAD_F(M_FUN) \ -\ -FLEXT_THREAD_1(M_FUN,float) - -//! Set up a threaded method callback for 2 float arguments -#define FLEXT_THREAD_FF(M_FUN) \ -\ -FLEXT_THREAD_2(M_FUN,float,float) - -//! Set up a threaded method callback for 3 float arguments -#define FLEXT_THREAD_FFF(M_FUN) \ -\ -FLEXT_THREAD_3(M_FUN,float,float,float) - -//! Set up a threaded method callback for 1 integer argument -#define FLEXT_THREAD_I(M_FUN) \ -\ -FLEXT_THREAD_1(M_FUN,int) - -//! Set up a threaded method callback for 2 integer arguments -#define FLEXT_THREAD_II(M_FUN) \ -\ -FLEXT_THREAD_2(M_FUN,int,int) - -//! Set up a threaded method callback for 3 integer arguments -#define FLEXT_THREAD_III(M_FUN) \ -\ -FLEXT_THREAD_3(M_FUN,int,int,int) - -//! Set up a threaded method callback for 1 symbol argument -#define FLEXT_THREAD_S(M_FUN) \ -\ -FLEXT_THREAD_1(M_FUN,t_symptr) - -// deprecated -#define FLEXT_THREAD_G FLEXT_THREAD_V - -//! @} FLEXT_D_THREAD - - -#endif // FLEXT_THREADS - - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/fldefs_setup.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/fldefs_setup.h.svn-base deleted file mode 100644 index 406041b4d..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/fldefs_setup.h.svn-base +++ /dev/null @@ -1,340 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file fldefs_setup.h - \brief This file contains all #defines for actual usage - -*/ - -#ifndef __FLEXT_DEFS_SETUP_H -#define __FLEXT_DEFS_SETUP_H - -// ==================================================================================== - -/*! \defgroup FLEXT_D_INSTANCE Class instantiation - \note For stand-alone externals (not part of a library) the name of your class - \note is of importance! It must be the same as the external (excluded an eventual ~ (tilde)) - - There are additional parameters that can be included in the NAME field of FLEXT_NEW etc.: - - - There may be additional names (aliases) appened, separated by spaces - - There may be a help path prepended, separated by a colon - - This help path doesn't work for Max/MSP. There you'll have to use a object mapping file (Max/MSP version >= 4.2) - - @{ -*/ - - -/*! \defgroup FLEXT_D_NEW Stand-alone class instantiation - Makes an actual instance of a stand-alone class. -*/ - -/*! \defgroup FLEXT_D_NEW_DSP Dsp class instantiation - Makes an actual instance of a dsp (aka "tilde") class (with signal processing). -*/ - -/*! \defgroup FLEXT_D_LIB Library class instantiation - Makes an actual instance of a class which is part of an object library (and not stand-alone). -*/ - -/*! \defgroup FLEXT_D_LIB_DSP Dsp library class instantiation - Makes an actual instance of a dsp (aka "tilde") class with signal processing - which is part of an object library (and not stand-alone). -*/ - -// NO ARGUMENTS -// ---------------------------------------- - -/*! \brief Implementation of a flext class with no arguments - \ingroup FLEXT_D_NEW - \param NAME the object's actual name(s) as a string (like "*", "trigger", "noise~", etc.) - \param NEW_CLASS the object's C++ class name -*/ -#define FLEXT_NEW(NAME,NEW_CLASS) \ -\ -REAL_NEW(NAME,NEW_CLASS,0,0,0) - -/*! \brief Implementation of a flext dsp class with no arguments - \ingroup FLEXT_D_NEW_DSP -*/ -#define FLEXT_NEW_DSP(NAME,NEW_CLASS) \ -\ -REAL_NEW(NAME,NEW_CLASS,1,0,0) - -/*! \brief Implementation of a flext dsp class with no arguments and no dsp inlet - \ingroup FLEXT_D_NEW_DSP -*/ -#define FLEXT_NEW_DSP0(NAME,NEW_CLASS) \ -\ -REAL_NEW(NAME,NEW_CLASS,1,1,0) - -/*! \brief Implementation of a flext class (part of a library) with no arguments - \ingroup FLEXT_D_LIB -*/ -#define FLEXT_LIB(NAME,NEW_CLASS) \ -\ -REAL_NEW(NAME,NEW_CLASS,0,0,1) - -/*! \brief Implementation of a flext dsp class (part of a library) with no arguments - \ingroup FLEXT_D_LIB_DSP -*/ -#define FLEXT_LIB_DSP(NAME,NEW_CLASS) \ -\ -REAL_NEW(NAME,NEW_CLASS,1,0,1) - -/*! \brief Implementation of a flext dsp class (part of a library) with no arguments and no dsp inlet - \ingroup FLEXT_D_LIB_DSP -*/ -#define FLEXT_LIB_DSP0(NAME,NEW_CLASS) \ -\ -REAL_NEW(NAME,NEW_CLASS,1,1,1) - - -// VARIABLE ARGUMENT LIST -// ---------------------------------------- - -/*! \brief Implementation of a flext class with a variable argument list - \ingroup FLEXT_D_NEW -*/ -#define FLEXT_NEW_V(NAME,NEW_CLASS) \ -\ -REAL_NEW_V(NAME,NEW_CLASS,0,0,0) - -/*! \brief Implementation of a flext dsp class with a variable argument list - \ingroup FLEXT_D_NEW_DSP -*/ -#define FLEXT_NEW_DSP_V(NAME,NEW_CLASS) \ -\ -REAL_NEW_V(NAME,NEW_CLASS,1,0,0) - -/*! \brief Implementation of a flext dsp class with a variable argument list and no dsp inlet - \ingroup FLEXT_D_NEW_DSP -*/ -#define FLEXT_NEW_DSP0_V(NAME,NEW_CLASS) \ -\ -REAL_NEW_V(NAME,NEW_CLASS,1,1,0) - -/*! \brief Implementation of a flext class (part of a library) with a variable argument list - \ingroup FLEXT_D_LIB -*/ -#define FLEXT_LIB_V(NAME,NEW_CLASS) \ -\ -REAL_NEW_V(NAME,NEW_CLASS, 0,0,1) - -/*! \brief Implementation of a flext dsp class (part of a library) with a variable argument list - \ingroup FLEXT_D_LIB_DSP -*/ -#define FLEXT_LIB_DSP_V(NAME,NEW_CLASS) \ -\ -REAL_NEW_V(NAME,NEW_CLASS, 1,0,1) - -/*! \brief Implementation of a flext dsp class (part of a library) with a variable argument list and no dsp inlet - \ingroup FLEXT_D_LIB_DSP -*/ -#define FLEXT_LIB_DSP0_V(NAME,NEW_CLASS) \ -\ -REAL_NEW_V(NAME,NEW_CLASS, 1,1,1) - - -// ONE ARGUMENT -// ---------------------------------------- - -/*! \brief Implementation of a flext class with one argument - \ingroup FLEXT_D_NEW -*/ -#define FLEXT_NEW_1(NAME,NEW_CLASS, TYPE) \ -\ -REAL_NEW_1(NAME,NEW_CLASS, 0,0,0, TYPE) - -/*! \brief Implementation of a flext dsp class with one argument - \ingroup FLEXT_D_NEW_DSP -*/ -#define FLEXT_NEW_DSP_1(NAME,NEW_CLASS, TYPE) \ -\ -REAL_NEW_1(NAME,NEW_CLASS, 1,0,0, TYPE) - -/*! \brief Implementation of a flext dsp class with one argument and no dsp inlet - \ingroup FLEXT_D_NEW_DSP -*/ -#define FLEXT_NEW_DSP0_1(NAME,NEW_CLASS, TYPE) \ -\ -REAL_NEW_1(NAME,NEW_CLASS, 1,1,0, TYPE) - -/*! \brief Implementation of a flext class (part of a library) with one argument - \ingroup FLEXT_D_LIB -*/ -#define FLEXT_LIB_1(NAME,NEW_CLASS, TYPE) \ -\ -REAL_NEW_1(NAME,NEW_CLASS, 0,0,1, TYPE) - -/*! \brief Implementation of a flext dsp class (part of a library) with one argument - \ingroup FLEXT_D_LIB_DSP -*/ -#define FLEXT_LIB_DSP_1(NAME,NEW_CLASS, TYPE) \ -\ -REAL_NEW_1(NAME,NEW_CLASS, 1,0,1, TYPE) - -/*! \brief Implementation of a flext dsp class (part of a library) with one argument and no dsp inlet - \ingroup FLEXT_D_LIB_DSP -*/ -#define FLEXT_LIB_DSP0_1(NAME,NEW_CLASS, TYPE) \ -\ -REAL_NEW_1(NAME,NEW_CLASS, 1,1,1, TYPE) - - -// TWO ARGUMENTS -// ---------------------------------------- - -/*! \brief Implementation of a flext class with 2 arguments - \ingroup FLEXT_D_NEW -*/ -#define FLEXT_NEW_2(NAME,NEW_CLASS, TYPE1, TYPE2) \ -\ -REAL_NEW_2(NAME,NEW_CLASS, 0,0,0, TYPE1, TYPE2) - -/*! \brief Implementation of a flext dsp class with 2 arguments - \ingroup FLEXT_D_NEW_DSP -*/ -#define FLEXT_NEW_DSP_2(NAME,NEW_CLASS, TYPE1, TYPE2) \ -\ -REAL_NEW_2(NAME,NEW_CLASS, 1,0,0, TYPE1, TYPE2) - -/*! \brief Implementation of a flext dsp class with 2 arguments and no dsp inlet - \ingroup FLEXT_D_NEW_DSP -*/ -#define FLEXT_NEW_DSP0_2(NAME,NEW_CLASS, TYPE1, TYPE2) \ -\ -REAL_NEW_2(NAME,NEW_CLASS, 1,1,0, TYPE1, TYPE2) - -/*! \brief Implementation of a flext class (part of a library) with 2 arguments - \ingroup FLEXT_D_LIB -*/ -#define FLEXT_LIB_2(NAME,NEW_CLASS, TYPE1, TYPE2) \ -\ -REAL_NEW_2(NAME,NEW_CLASS, 0,0,1, TYPE1, TYPE2) - -/*! \brief Implementation of a flext dsp class (part of a library) with 2 arguments - \ingroup FLEXT_D_LIB_DSP -*/ -#define FLEXT_LIB_DSP_2(NAME,NEW_CLASS, TYPE1, TYPE2) \ -\ -REAL_NEW_2(NAME,NEW_CLASS, 1,0,1, TYPE1, TYPE2) - -/*! \brief Implementation of a flext dsp class (part of a library) with 2 arguments and no dsp inlet - \ingroup FLEXT_D_LIB_DSP -*/ -#define FLEXT_LIB_DSP0_2(NAME,NEW_CLASS, TYPE1, TYPE2) \ -\ -REAL_NEW_2(NAME,NEW_CLASS, 1,1,1, TYPE1, TYPE2) - - -// THREE ARGUMENTS -// ---------------------------------------- - -/*! \brief Implementation of a flext class with 3 arguments - \ingroup FLEXT_D_NEW -*/ -#define FLEXT_NEW_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \ -\ -REAL_NEW_3(NAME,NEW_CLASS, 0,0,0, TYPE1, TYPE2, TYPE3) - -/*! \brief Implementation of a flext dsp class with 3 arguments - \ingroup FLEXT_D_NEW_DSP -*/ -#define FLEXT_NEW_DSP_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \ -\ -REAL_NEW_3(NAME,NEW_CLASS, 1,0,0, TYPE1, TYPE2, TYPE3) - -/*! \brief Implementation of a flext dsp class with 3 arguments and no dsp inlet - \ingroup FLEXT_D_NEW_DSP -*/ -#define FLEXT_NEW_DSP0_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \ -\ -REAL_NEW_3(NAME,NEW_CLASS, 1,1,0, TYPE1, TYPE2, TYPE3) - -/*! \brief Implementation of a flext class (part of a library) with 3 arguments - \ingroup FLEXT_D_LIB -*/ -#define FLEXT_LIB_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \ -\ -REAL_NEW_3(NAME,NEW_CLASS, 0,0,1, TYPE1, TYPE2, TYPE3) - -/*! \brief Implementation of a flext dsp class (part of a library) with 3 arguments - \ingroup FLEXT_D_LIB_DSP -*/ -#define FLEXT_LIB_DSP_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \ -\ -REAL_NEW_3(NAME,NEW_CLASS, 1,0,1, TYPE1, TYPE2, TYPE3) - -/*! \brief Implementation of a flext dsp class (part of a library) with 3 arguments and no dsp inlet - \ingroup FLEXT_D_LIB_DSP -*/ -#define FLEXT_LIB_DSP0_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \ -\ -REAL_NEW_3(NAME,NEW_CLASS, 1,1,1, TYPE1, TYPE2, TYPE3) - - -// deprecated stuff - -/*! \defgroup FLEXT_D_DEPRECATED Deprecated definitions - \deprecated - @{ -*/ - -#define FLEXT_NEW_G FLEXT_NEW_V - -#define FLEXT_NEW_TILDE FLEXT_NEW_DSP -#define FLEXT_NEW_TILDE_G FLEXT_NEW_DSP_V -#define FLEXT_NEW_TILDE_1 FLEXT_NEW_DSP_1 -#define FLEXT_NEW_TILDE_2 FLEXT_NEW_DSP_2 -#define FLEXT_NEW_TILDE_3 FLEXT_NEW_DSP_3 - -#define FLEXT_LIB_G FLEXT_LIB_V - -#define FLEXT_LIB_TILDE FLEXT_LIB_DSP -#define FLEXT_LIB_TILDE_G FLEXT_LIB_DSP_V -#define FLEXT_LIB_TILDE_1 FLEXT_LIB_DSP_1 -#define FLEXT_LIB_TILDE_2 FLEXT_LIB_DSP_2 -#define FLEXT_LIB_TILDE_3 FLEXT_LIB_DSP_3 - -#define FLEXT_TILDE_SETUP FLEXT_DSP_SETUP - -//! @} FLEXT_D_DEPRECATED - - -/*! \defgroup FLEXT_D_LIBRARY Definitions for library objects - @{ -*/ - -/*! \brief Specify that to declare the library itself. - \note If you have a library this is compulsory (to register all the objects of the library) -*/ -#define FLEXT_LIB_SETUP(NAME,SETUPFUN) REAL_LIB_SETUP(NAME,SETUPFUN) - -/*! \brief Register an object in the library. - \note This is used in the library setup function -*/ -#define FLEXT_SETUP(cl) REAL_SETUP(cl,0) - -/*! \brief Register a DSP object in the library. - \note This is used in the library setup function -*/ -#define FLEXT_DSP_SETUP(cl) REAL_SETUP(cl,1) - -//! @} FLEXT_D_LIBRARY - - -//! @} FLEXT_D_INSTANCE - - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/fldoxygen.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/fldoxygen.h.svn-base deleted file mode 100644 index 96343528c..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/fldoxygen.h.svn-base +++ /dev/null @@ -1,216 +0,0 @@ -#ifndef __FLEXT_DOXYGEN_H -#define __FLEXT_DOXYGEN_H - -/*! \file fldoxygen.h - \brief Doxygen definitions - \remark There is no code in here, just documentation stuff. -*/ - -/*! - -\mainpage flext - a C++ layer for cross-platform development of PD and Max/MSP objects - -\section INTRO Introduction - -Currently there exist two widely used modular systems for real-time audio that can be -extended by self-written objects (so called "externals"):<br> -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 -concentrating on making use of the advantages of the object orientation of the C++ language. - -Consequently, flext allows to write externals (or libraries of a number of these), that can -be compiled for both systems (with various compilers on a few platforms) without changes to the -source code. -Flext also tries to overcome some limitations of the real-time systems and introduces new features. - -The advantages of flext are: -<ul> -<li>Identical source code for PD and Max/MSP objects on a number of platforms -<li>Better readability of code compared to straight C externals -<li>Faster development, more robust coding -<li>Sharing of common methods and data by using base classes -<li>Transparent use of threads for methods -<li>Libraries of externals in Max/MSP -<li>More than 3 typed creation arguments possible for Max/MSP -<li>Any input to any object's inlet (with the exception of signal streams) -<li>Control of the object state by use of Max/Jitter-like "attributes" -</ul> - -Naturally there are some cons, too: -<ul> -<li>Introduces a small overhead to speed of message handling -<li>Overhead in object size (due to possibly unneeded library code) when statically linked -</ul> - -Currently, flext supports -<ul> -<li>PD on Windows with Microsoft Visual C++, Borland C++ and gcc(cygwin) compilers -<li>PD on Linux with gcc -<li>PD on Mac OSX with gcc (makefile or Xcode) -<li>Max/MSP on Mac OS9 and OSX with Metrowerks CodeWarrior -</ul> - -\section LICENSE License - -Flext is covered by the GPL. - -flext - C++ layer for Max/MSP and pd (pure data) externals<BR> -Copyright (C) 2001-2005 Thomas Grill - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version.<BR> -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details.<BR> -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -In the official flext distribution, the GNU General Public License is -in the file gpl.txt<BR> -Also see the file license.txt for notes on -referenced works and their license texts. - -\section DOWNLOAD Download - -Download the latest flext version from http://grrrr.org/ext/flext .<br> -Alternatively, you can check out the cvs version from http://sourceforge.net/projects/pure-data . - -\section USAGE Usage - -As a developer, you should know the C++ language, how to use a makefile (especially necessary for linux) -and how to steer your compiler.<br> -Flext can be compiled as a static library which has then to be linked to the code of your external. -For most applications you won't have to use any of the native PD or Max/MSP API functions as they are all -encapsulated by flext. - -So let's come to the point... how does a typical flext object look like? - -This is the object "attr1", one of the flext tutorial examples: - -\verbatim -// enable attribute processing -#define FLEXT_ATTRIBUTES 1 - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400) -#error You need at least flext version 0.4.0 -#endif -\endverbatim - -With these lines, all the necessary definitions from the flext package have been included. - -\verbatim -class attr1: - public flext_base -{ - FLEXT_HEADER(attr1,flext_base) -\endverbatim - -A flext class is simply defined by inheriting from the flext_base (see also \ref FLEXT_CLASS) -or flext_dsp (see also \ref FLEXT_DSP) classes. -Additionally some information has to be added using FLEXT_HEADER (see \ref FLEXT_D_HEADER) - -\verbatim -public: - // constructor - attr1(); -\endverbatim - -Normally the constructor takes the creation arguments of an object. Here there are none. - -\verbatim -protected: - void m_trigger(float f); - - // stored argument - float arg; -\endverbatim - -These are methods and data elements for internal class usage. Flext doesn't know about them -as long as they are not registered. - -\verbatim -private: - // callback for method "m_trigger" (with one float argument) - FLEXT_CALLBACK_F(m_trigger); - - // define attribute callbacks for variable "arg" (with GET and SET properties) - FLEXT_ATTRVAR_F(arg); -}; -\endverbatim - -For each method that shall be exposed to the realtime-system (for receiving messages) and -every attribute (for setting and getting values) callbacks have to be set up. -The functions in the groups \ref FLEXT_D_CALLBACK and \ref FLEXT_D_ATTRIB allow for their -convenient definition. - -\verbatim -// instantiate the class -FLEXT_NEW("attr1",attr1) -\endverbatim - -With FLEXT_NEW the class is registered for the real-time system. -The number of creation arguments and their types must be taken into account here. -There are several variants depending on whether a message oriented (see \ref FLEXT_D_NEW) -or a DSP object (see \ref FLEXT_D_NEW_DSP) is created and whether it resides in a object library -(see \ref FLEXT_D_LIB and \ref FLEXT_D_LIB_DSP).<BR> - -\verbatim -attr1::attr1(): - arg(0) // initialize argument -{ - // define inlets - AddInAnything(); // first inlet of type anything (index 0) - - // define outlets - AddOutFloat(); // one float outlet (has index 0) -\endverbatim - -Every inlet and outlet that the object shall have has to be registered. -This is done with the functions in \ref FLEXT_C_IO_ADD. - -\verbatim - // register methods - FLEXT_ADDMETHOD(0,m_trigger); // register method (for floats) "m_trigger" for inlet 0 - - FLEXT_ADDATTR_VAR1("arg",arg); // register attribute "arg" with variable arg -} -\endverbatim - -Likewise, every method (called by a message) (see \ref FLEXT_D_ADDMETHOD) and every -attribute (see \ref FLEXT_D_ADDATTR) exposed to the system has to be registered. -Here the registration at instance creation is shown - there's another way by registering at -class setup level, which is more efficient but can only be used if the methods or attributes -used are known beforehand (see \ref FLEXT_D_CADDMETHOD and \ref FLEXT_D_CADDATTR). - -\verbatim -void attr1::m_trigger(float f) -{ - float res = arg+f; - - // output value to outlet - ToOutFloat(0,res); // (0 stands for the outlet index 0) -} -\endverbatim - -This is a method that is triggered with a message. It does some calculation and then outputs -a value to an outlet. There are numerous functions (see \ref FLEXT_C_IO_OUT) supporting -that functionality. - -Be sure to work through the examples provided with the flext tutorial. These should give you -an overview about the possibilities of flext. -The "modules" link at the top of the page leads to a complete reference -of flext functions and classes. - -*/ - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/fldsp.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/fldsp.cpp.svn-base deleted file mode 100644 index f9f613918..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/fldsp.cpp.svn-base +++ /dev/null @@ -1,127 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file fldsp.cpp - \brief Implementation of the flext dsp base class. -*/ - -#include "flext.h" -#include "flinternal.h" -#include <cstring> - -#include "flpushns.h" - -// === flext_dsp ============================================== - -void flext_dsp::Setup(t_classid id) -{ -#if FLEXT_SYS == FLEXT_SYS_PD -// add_method1(c,cb_enable,"enable",A_FLOAT); - AddMethod(id,0,MakeSymbol("enable"),&cb_enable); -#endif -} - -flext_dsp::FLEXT_CLASSDEF(flext_dsp)() - : srate(sys_getsr()),blksz(sys_getblksize()) - , vecs(NULL) -#if FLEXT_SYS != FLEXT_SYS_MAX - , dspon(true) -#endif -{} - -void flext_dsp::Exit() -{ - flext_base::Exit(); - - if(vecs) delete[] vecs; -} - - -t_int *flext_dsp::dspmeth(t_int *w) -{ - flext_dsp *obj = (flext_dsp *)(size_t)w[1]; - -#if FLEXT_SYS == FLEXT_SYS_MAX - if(!obj->thisHdr()->z_disabled) -#else - if(LIKELY(obj->dspon)) -#endif - { - flext_base::indsp = true; - obj->CbSignal(); - flext_base::indsp = false; - } - return w+2; -} - -void flext_dsp::SetupDsp(t_signal **sp) -{ - int i; - int in = CntInSig(); - int out = CntOutSig(); -#if FLEXT_SYS == FLEXT_SYS_PD - // min. 1 input channel! (CLASS_MAININLET in pd...) - if(!in) in = 1; -#endif - - // store current dsp parameters - srate = sys_getsr(); // \TODO need not be stored in each object.... - // overlap = sp[0]->s_sr/srate; // currently not used/exposed - blksz = sp[0]->s_n; // is this guaranteed to be the same as sys_getblksize() ? - - // store in and out signal vectors - - if((in+out) && !vecs) - vecs = new t_signalvec[in+out]; - - for(i = 0; i < in; ++i) - vecs[i] = sp[i]->s_vec; - for(i = 0; i < out; ++i) - vecs[in+i] = sp[in+i]->s_vec; - - // with the following call derived classes can do their eventual DSP setup - if(CbDsp()) { - // set the DSP function - dsp_add((t_dspmethod)dspmeth,1,this); - } -} - -void flext_dsp::m_dsp(int /*n*/,t_signalvec const * /*insigs*/,t_signalvec const * /*outsigs*/) {} - -bool flext_dsp::CbDsp() -{ - // invoke legacy method - m_dsp(Blocksize(),InSig(),OutSig()); - return true; -} - -// this function will be overridden anyway - the probably useless default is clearing all outputs -void flext_dsp::m_signal(int n,t_sample *const * /*insigs*/,t_sample *const *outs) -{ - for(int i = 0; i < CntOutSig(); ++i) ZeroSamples(outs[i],n); -} - -void flext_dsp::CbSignal() -{ - // invoke legacy method - m_signal(Blocksize(),InSig(),OutSig()); -} - - -#if FLEXT_SYS == FLEXT_SYS_PD -//void flext_dsp::cb_enable(flext_hdr *c,t_float on) { thisObject(c)->dspon = on != 0; } -bool flext_dsp::cb_enable(flext_base *b,float &on) { static_cast<flext_dsp *>(b)->dspon = on != 0; return true; } -#endif - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/.svn/text-base/fldsp.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/fldsp.h.svn-base deleted file mode 100644 index 7c293981f..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/fldsp.h.svn-base +++ /dev/null @@ -1,190 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file fldsp.h - \brief Declares the flext dsp class - -*/ - -#ifndef __FLDSP_H -#define __FLDSP_H - -// include the header file declaring the base classes -#include "flext.h" - -#include "flpushns.h" - -// === flext_dsp ================================================== - -class FLEXT_SHARE FLEXT_CLASSDEF(flext_dsp); -typedef class FLEXT_SHARE FLEXT_CLASSDEF(flext_dsp) flext_dsp; - - -/*! \brief Flext dsp enabled base object -*/ -class FLEXT_SHARE FLEXT_CLASSDEF(flext_dsp): - public flext_base -{ - FLEXT_HEADER_S(FLEXT_CLASSDEF(flext_dsp),flext_base,Setup) - - friend class FLEXT_SHARE FLEXT_CLASSDEF(flext_base); - -public: - -/*! \defgroup FLEXT_DSP Flext dsp class - - @{ -*/ - -/*! \defgroup FLEXT_C_DSP Basic dsp functionality - - @{ -*/ - - //! returns current sample rate - float Samplerate() const { return srate; } - - //! returns current block (aka vector) size - int Blocksize() const { return blksz; } - - //! returns array of input vectors (CntInSig() vectors) - t_sample *const *InSig() const { return vecs; } - - //! returns input vector - t_sample *InSig(int i) const { return InSig()[i]; } - - //! returns array of output vectors (CntOutSig() vectors) - // \todo cache that returned pointer - t_sample *const *OutSig() const - { - int i = CntInSig(); - // in PD we have at least one actual dsp in vector -#if FLEXT_SYS == FLEXT_SYS_PD - return vecs+(i?i:1); -#elif FLEXT_SYS == FLEXT_SYS_MAX - return vecs+i; -#else -#error -#endif - } - - //! returns output vector - t_sample *OutSig(int i) const { return OutSig()[i]; } - - //! typedef describing a signal vector - typedef t_sample *t_signalvec; - -//! @} - -// --- inheritable virtual methods -------------------------------- - -/*! \defgroup FLEXT_C_DSP_VIRTUAL Flext virtual dsp functions - - @{ -*/ - /*! \brief Called on every dsp init. - \note Don't expect any valid data in the signal vectors! - flext_dsp::CbDsp should not be called by the derived class - - \return true (default)... use DSP, false, don't use DSP - */ - virtual bool CbDsp(); - - /*! \brief Called with every signal vector - here you do the dsp calculation - flext_dsp::CbSignal fills all output vectors with silence - */ - virtual void CbSignal(); - - - /*! \brief Deprecated method for CbSignal - \deprecated - \param n: frames (aka samples) in one signal vector - \param insigs: array of input vectors (get number with function CntInSig()) - \param outsigs: array of output vectors (get number with function CntOutSig()) - */ - virtual void m_dsp(int n,t_signalvec const *insigs,t_signalvec const *outsigs); - - /*! \brief Deprecated method for CbSignal - \deprecated - \param n: frames (aka samples) in one signal vector - \param insigs: array of input vectors (get number with function CntInSig()) - \param outsigs: array of output vectors (get number with function CntOutSig()) - */ - virtual void m_signal(int n,t_sample *const *insigs,t_sample *const *outsigs); - -//! @} - - -/*! \defgroup FLEXT_C_DSP_INOUT Flext dsp in-/outlet functions - \note These must be called in the class' constructor - - @{ -*/ -// --- inlet/outlet stuff ----------------------------------------- - - /*! \brief Add signal inlet(s) - \param m Number of inlets to add - */ - void AddInSignal(int m = 1) { AddInlet(xlet_sig,m); } - - /*! \brief Add signal inlet (with description) - \param desc Description of inlet - */ - void AddInSignal(const char *desc) { AddInlet(xlet_sig,1,desc); } - - /*! \brief Add signal outlet(s) - \param m Number of inlets to add - */ - void AddOutSignal(int m = 1) { AddOutlet(xlet_sig,m); } - - /*! \brief Add signal outlet (with description) - \param desc Description of outlet - */ - void AddOutSignal(const char *desc) { AddOutlet(xlet_sig,1,desc); } - -//! @} - -//! @} - -protected: - - FLEXT_CLASSDEF(flext_dsp)(); - - virtual void Exit(); - -private: - - // not static, could be different in different patchers.. - float srate; - int blksz; - t_signalvec *vecs; - - // setup function - static void Setup(t_classid c); - -#if FLEXT_SYS == FLEXT_SYS_PD - static bool cb_enable(flext_base *c,float &on); - bool dspon; -#endif - - static inline flext_dsp *thisObject(flext_hdr *c) { return FLEXT_CAST<flext_dsp *>(c->data); } - - void SetupDsp(t_signal **sp); - - // dsp stuff - static t_int *dspmeth(t_int *w); -}; - -#include "flpopns.h" - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flext.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flext.cpp.svn-base deleted file mode 100644 index 43bc3b86f..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flext.cpp.svn-base +++ /dev/null @@ -1,279 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flext.cpp - \brief Implementation of the flext base class. -*/ - -#include "flext.h" -#include "flinternal.h" -#include "fldsp.h" -#include <cstring> - -#include "flpushns.h" - -// === flext_base ============================================ - -const t_symbol *flext_base::curtag = NULL; - -flext_base::FLEXT_CLASSDEF(flext_base)() - : incnt(0),outcnt(0) - , insigs(0),outsigs(0) -#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX - ,outlets(NULL),inlets(NULL) -#endif -#if FLEXT_SYS == FLEXT_SYS_MAX - ,indesc(NULL),outdesc(NULL) -#endif -{ - FLEXT_LOG1("%s - flext logging is on",thisName()); - - methhead = NULL; - bindhead = NULL; - - if(HasAttributes()) { - // initialize when attribute processing is enabled - attrhead = new ItemCont; - attrdata = new AttrDataCont; - } - else { - attrhead = NULL; - attrdata = NULL; - } -} - -/*! This virtual function is called after the object has been created, that is, - after the constructor has been processed. - It creates the inlets and outlets and the message and attribute lists. - \note You can override it in your own class, but be sure to call it, - \note otherwise no inlets/outlets will be created - \note All inlet, outlets, method and attribute declarations must be made before a call to Init! - \remark Creation of inlets/outlets can't be done upon declaration, as Max/MSP needs creation - \remark in reverse. -*/ -bool flext_base::Init() -{ - bool ok = flext_obj::Init(); - - if(ok) ok = InitInlets() && InitOutlets(); - - if(ok) { -#if FLEXT_SYS == FLEXT_SYS_MAX - // according to the Max/MSP SDK this should be prior to any inlet creation, BUT - // that doesn't seem to be true... multiple signal ins and additional inlets don't seem to work then - if(NeedDSP()) dsp_setup(thisHdr(),CntInSig()); // signal inlets -#endif - - if(HasAttributes() && m_holdaargc && m_holdaargv) { - // initialize creation attributes - ok = InitAttrib(m_holdaargc,m_holdaargv); - } - } - - return ok; -} - - -/*! This virtual function is called before the destructor. - We do this because here we can still call virtual methods. -*/ -void flext_base::Exit() -{ -#if FLEXT_SYS == FLEXT_SYS_MAX - // according to David Z. one should do that first... - if(NeedDSP()) dsp_free(thisHdr()); -#endif - -#if FLEXT_SYS == FLEXT_SYS_PD && !defined(FLEXT_NOATTREDIT) - // attribute editor window may still be open -> close it - gfxstub_deleteforkey(thisHdr()); -#endif - -#ifdef FLEXT_THREADS - StopThreads(); -#endif - - // send remaining pending messages for this object - QFlush(this); - - // delete message lists - if(bindhead) delete bindhead; // ATTENTION: the object must free all memory associated to bindings itself - if(methhead) delete methhead; - if(attrhead) delete attrhead; - if(attrdata) delete attrdata; - -#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX - if(outlets) delete[] outlets; - - if(inlets) { - FLEXT_ASSERT(incnt > 1); - for(int ix = 1; ix < incnt; ++ix) - if(inlets[ix-1]) { - // release proxy object -#if FLEXT_SYS == FLEXT_SYS_PD - pd_free(&inlets[ix-1]->obj.ob_pd); -#elif FLEXT_SYS == FLEXT_SYS_MAX - freeobject((object *)inlets[ix-1]); -#endif - } - delete[] inlets; - } -#endif - -#if FLEXT_SYS == FLEXT_SYS_MAX - if(indesc) { - for(int i = 0; i < incnt; ++i) if(indesc[i]) delete[] indesc[i]; - delete[] indesc; - } - if(outdesc) { - for(int i = 0; i < outcnt; ++i) if(outdesc[i]) delete[] outdesc[i]; - delete[] outdesc; - } -#endif - - flext_obj::Exit(); -} - - -void flext_base::AddMessageMethods(t_class *c,bool dsp,bool dspin) -{ - add_loadbang(c,cb_loadbang); - -#if FLEXT_SYS == FLEXT_SYS_PD - class_addmethod(c,(t_method)cb_click,gensym(const_cast<char *>("click")),A_FLOAT,A_FLOAT,A_FLOAT,A_FLOAT,A_FLOAT,A_NULL); -#elif FLEXT_SYS == FLEXT_SYS_MAX - add_assist(c,cb_assist); - add_dblclick(c,cb_click); -#endif - - SetProxies(c,dsp); - StartQueue(); - - if(dsp) { -#if FLEXT_SYS == FLEXT_SYS_MAX - add_dsp(c,cb_dsp); - dsp_initclass(); -#elif FLEXT_SYS == FLEXT_SYS_PD - if(dspin) - CLASS_MAINSIGNALIN(c,flext_hdr,defsig); // float messages going into the left inlet are converted to signal - add_dsp(c,cb_dsp); -#else -#error Platform not supported! -#endif - } -} - - -/*! Set up proxy classes and basic methods at class creation time - This ensures that they are processed before the registered flext messages -*/ -void flext_base::Setup(t_classid id) -{ - t_class *c = getClass(id); - -#if FLEXT_SYS == FLEXT_SYS_MAX - if(!IsLib(id)) -#endif - AddMessageMethods(c,IsDSP(id),HasDSPIn(id)); - - if(HasAttributes(id)) { - AddMethod(id,0,"getattributes",cb_ListAttrib); - AddMethod(id,0,"getmethods",cb_ListMethods); - -#if FLEXT_SYS == FLEXT_SYS_PD && !defined(FLEXT_NOATTREDIT) - AddMethod(id,0,"attributedialog",cb_AttrDialog); -#endif - } - -#if FLEXT_SYS == FLEXT_SYS_PD - SetGfx(id); -#endif -} - -void flext_base::cb_loadbang(flext_hdr *c) -{ - Locker lock(c); - thisObject(c)->CbLoadbang(); -} - -void flext_base::m_loadbang() {} -void flext_base::CbLoadbang() { m_loadbang(); } - -void flext_base::CbClick() {} - -#if FLEXT_SYS == FLEXT_SYS_PD -void flext_base::cb_click(flext_hdr *c,t_floatarg xpos,t_floatarg ypos,t_floatarg shift,t_floatarg ctrl,t_floatarg alt) -{ - if(shift) { - Locker lock(c); - thisObject(c)->CbClick(); - } -} -#endif - -#if FLEXT_SYS == FLEXT_SYS_MAX -void flext_base::cb_click(flext_hdr *c, Point pt, short mods) -{ - Locker lock(c); - thisObject(c)->CbClick(); -} - -void flext_base::cb_assist(flext_hdr *c,void * /*b*/,long msg,long arg,char *s) -{ - Locker lock(c); - flext_base *th = thisObject(c); - - switch(msg) { - case 1: //ASSIST_INLET: - if(arg < th->incnt && th->indesc[arg]) strcpy(s,th->indesc[arg]); - break; - case 2: //ASSIST_OUTLET: - if(arg < th->outcnt) { - if(th->outdesc[arg]) strcpy(s,th->outdesc[arg]); - } - else - if(arg == th->outcnt && th->HasAttributes()) strcpy(s,"Attributes"); - break; - } -} -#endif - -#if FLEXT_SYS == FLEXT_SYS_MAX -void flext_base::cb_dsp(flext_hdr *c,t_signal **sp,short *count) -#else -void flext_base::cb_dsp(flext_hdr *c,t_signal **sp) -#endif -{ - Locker lock(c); - flext_base *bobj = thisObject(c); - -#if FLEXT_SYS == FLEXT_SYS_MAX - // we must extra-check here if it is really a DSP object - // obviously, for objects that are part of a library, one dsp_initclass enables DSP for all - if(!bobj->IsDSP()) return; -#endif - - flext_dsp *obj; -#ifdef FLEXT_DEBUG - obj = dynamic_cast<flext_dsp *>(bobj); -#else - obj = static_cast<flext_dsp *>(bobj); -#endif - - FLEXT_ASSERT(obj); - obj->SetupDsp(sp); -} - -bool flext_base::CbIdle() { return 0; } - -#include "flpopns.h" diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flext.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flext.h.svn-base deleted file mode 100644 index 8e6730dfd..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flext.h.svn-base +++ /dev/null @@ -1,70 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2010 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flext.h - \brief This is the main flext include file. - - The basic definitions are set here and the necessary header files are included -*/ - -#ifndef __FLEXT_H -#define __FLEXT_H - - -/*! \defgroup FLEXT_GLOBAL Flext global definitions - @{ -*/ - -//! \brief flext version number -#define FLEXT_VERSION 502 - -//! \brief flext version string -#define FLEXT_VERSTR "0.5.2 beta" - -//! @} - -// determine System/OS/CPU -#include "flprefix.h" - -// include headers necessary for multi-threading -#ifdef FLEXT_THREADS - #if FLEXT_THREADS == FLEXT_THR_POSIX - extern "C" { - #include <pthread.h> - #include <sched.h> - } - #elif FLEXT_THREADS == FLEXT_THR_MP - #include <multiprocessing.h> - #elif FLEXT_THREADS == FLEXT_THR_WIN32 - #if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x500 - #include <windows.h> - #include <process.h> - #else - #error "Win32 threading model only supported for Win2000/XP or newer" - #endif - #else - #error "Thread model not supported" - #endif -#endif - - -// include all the flext interface definitions -#include "fldefs.h" - -// include the basic flext object classes -#include "flclass.h" - -// include the flext dsp class -#include "fldsp.h" - -#endif // FLEXT_H diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flfeatures.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flfeatures.h.svn-base deleted file mode 100644 index ca25f991f..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flfeatures.h.svn-base +++ /dev/null @@ -1,37 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flfeatures.h - \brief Detect version-specific features. -*/ - -#ifndef __FLFEATURES_H -#define __FLFEATURES_H - -// check if PD API supports buffer dirty time -#if defined(PD_DEVEL_VERSION) && defined(PD_MAJOR_VERSION) && defined(PD_MINOR_VERSION) -#if PD_MINOR_VERSION >= 36 && PD_MINOR_VERSION <= 38 -// array locks have been removed in devel_0_39 - #define _FLEXT_HAVE_PD_GARRAYLOCKS -#endif -#if PD_MINOR_VERSION >= 36 - #define _FLEXT_HAVE_PD_GARRAYUPDATETIME -#endif -#endif - -#if defined(MAC_VERSION) || defined(WIN_VERSION) - // not for OS9 - #define _FLEXT_HAVE_MAX_INUSEFLAG -#endif - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flinternal.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flinternal.h.svn-base deleted file mode 100644 index f8315fca8..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flinternal.h.svn-base +++ /dev/null @@ -1,122 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flinternal.h - \brief Definitions for internal flext usage - \internal - - Here, a few shortcuts for common Max/MSP or PD library calls and type definitions - are declared -*/ - -#ifndef __FLEXT_INTERNALS_H -#define __FLEXT_INTERNALS_H - -#include "flstdc.h" - - -#if FLEXT_SYS == FLEXT_SYS_PD - -#define object_new(clss) pd_new(clss) -#define object_free(obj) pd_free(&(obj)->ob_pd) - - - -#define add_dsp(clss,meth) class_addmethod(clss, (t_method)meth,gensym(const_cast<char *>("dsp")),A_NULL) -#define add_bang(clss,meth) class_addbang(clss, (t_method)meth) -#define add_float(clss,meth) class_addfloat(clss, (t_method)meth) -#define add_floatn(clss,meth,n) class_addmethod(clss, (t_method)meth,gensym(const_cast<char *>("ft" #n)),A_FLOAT,A_NULL) -#define add_flint(clss,meth) class_addfloat(clss, (t_method)meth) -#define add_flintn(clss,meth,n) class_addmethod(clss, (t_method)meth,gensym(const_cast<char *>("ft" #n)),A_FLOAT,A_NULL) -#define add_method(clss,meth,text) class_addmethod(clss, (t_method)meth, gensym(const_cast<char *>(text)), A_NULL) -#define add_methodG(clss,meth,text) class_addmethod(clss, (t_method)meth, gensym(const_cast<char *>(text)), A_GIMME,A_NULL) -#define add_method1(clss,meth,text,a1) class_addmethod(clss, (t_method)meth, gensym(const_cast<char *>(text)), a1,A_NULL) -#define add_method2(clss,meth,text,a1,a2) class_addmethod(clss, (t_method)meth, gensym(const_cast<char *>(text)), a1,a2,A_NULL) -#define add_method3(clss,meth,text,a1,a2,a3) class_addmethod(clss, (t_method)meth, gensym(const_cast<char *>(text)), a1,a2,a3,A_NULL) -#define add_method4(clss,meth,text,a1,a2,a3,a4) class_addmethod(clss, (t_method)meth, gensym(const_cast<char *>(text)), a1,a2,a3,a4,A_NULL) -#define add_method5(clss,meth,text,a1,a2,a3,a5) class_addmethod(clss, (t_method)meth, gensym(const_cast<char *>(text)), a1,a2,a3,a4,a5,A_NULL) -#define add_loadbang(clss,meth) class_addmethod(clss,(t_method)meth, gensym(const_cast<char *>("loadbang")), A_CANT, A_NULL) -#define add_anything(clss,meth) class_addanything(clss,meth) - - -#define newout_signal(clss) outlet_new(clss,const_cast<t_symbol *>(flext::sym_signal)) -#define newout_float(clss) outlet_new(clss,const_cast<t_symbol *>(flext::sym_float)) -#define newout_flint(clss) outlet_new(clss,const_cast<t_symbol *>(flext::sym_float)) -#define newout_list(clss) outlet_new(clss,const_cast<t_symbol *>(flext::sym_list)) -#define newout_symbol(clss) outlet_new(clss,const_cast<t_symbol *>(flext::sym_symbol)) -#define newout_anything(clss) outlet_new(clss,const_cast<t_symbol *>(flext::sym_anything)) - -#define outlet_flint(o,v) outlet_float(o,(float)(v)) - -typedef t_perfroutine t_dspmethod; - -#define qelem_new clock_new -#define qelem_free clock_free -#define qelem_set clock_delay -#define qelem_front clock_delay -#define qelem_unset clock_unset - -#define CRITON() -#define CRITOFF() - - -#elif FLEXT_SYS == FLEXT_SYS_MAX - -typedef void t_outlet; - - -//#define object_new(clss) newobject(clss) -#define object_free(obj) freeobject((object *)(obj)) - -#define add_dsp(clss,meth) addmess((method)meth,"dsp",A_CANT,A_NOTHING) -#define add_bang(clss,meth) addbang((method)meth) -#define add_float(clss,meth) addfloat((method)meth) -#define add_floatn(clss,meth,n) addftx((method)meth,n) -#define add_flint(clss,meth) addint((method)meth) -#define add_flintn(clss,meth,n) addinx((method)meth,n) -#define add_method(clss,meth,text) addmess((method)meth, text, A_NOTHING) -#define add_methodG(clss,meth,text) addmess((method)meth, text, A_GIMME,A_NOTHING) -#define add_method1(clss,meth,text,a1) addmess((method)meth, text, a1,A_NOTHING) -#define add_method2(clss,meth,text,a1,a2) addmess((method)meth, text, a1,a2,A_NOTHING) -#define add_method3(clss,meth,text,a1,a2,a3) addmess((method)meth, text, a1,a2,a3,A_NOTHING) -#define add_method4(clss,meth,text,a1,a2,a3,a4) addmess((method)meth, text, a1,a2,a3,a4,A_NOTHING) -#define add_method5(clss,meth,text,a1,a2,a3,a5) addmess((method)meth, text, a1,a2,a3,a4,a5,A_NOTHING) -#define add_anything(clss,meth) addmess((method)meth, "anything", A_GIMME,A_NOTHING) - -#define add_assist(clss,meth) addmess((method)meth, "assist", A_CANT, A_NULL) -#define add_loadbang(clss,meth) addmess((method)meth, "loadbang", A_CANT, A_NULL) -#define add_dblclick(clss,meth) addmess((method)meth, "dblclick", A_CANT, A_NULL) - -#define newout_signal(clss) outlet_new(clss,"signal") -#define newout_float(clss) outlet_new(clss,"float") -#define newout_flint(clss) outlet_new(clss,"int") -#define newout_list(clss) outlet_new(clss,"list") -#define newout_symbol(clss) outlet_new(clss,"symbol") -#define newout_anything(clss) outlet_new(clss,0) - -#define outlet_flint(o,v) outlet_int(o,(int)(v)) -#define outlet_symbol(o,s) outlet_anything(o,s,0,NULL) - -typedef t_perfroutine t_dspmethod; - -#define CRITON() short state = lockout_set(1) -#define CRITOFF() lockout_set(state) - - -#elif FLEXT_SYS == FLEXT_SYS_JMAX - - -#endif - - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flitem.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flitem.cpp.svn-base deleted file mode 100644 index 58a96836d..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flitem.cpp.svn-base +++ /dev/null @@ -1,135 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flitem.cpp - \brief Processing of method and attribute lists. -*/ - -#include "flext.h" -#include <cstring> - -#include "flpushns.h" - -flext_base::ItemSet::~ItemSet() { clear(); } - -void flext_base::ItemSet::clear() -{ - for(iterator it(*this); it; ++it) delete it.data(); - TablePtrMap<const t_symbol *,Item *,8>::clear(); -} - - -flext_base::Item::~Item() -{ - if(nxt) delete nxt; -} - -flext_base::ItemCont::ItemCont(): - members(0),memsize(0),size(0),cont(NULL) -{} - -flext_base::ItemCont::~ItemCont() -{ - if(cont) { - for(int i = 0; i < size; ++i) delete cont[i]; - delete[] cont; - } -} - -void flext_base::ItemCont::Resize(int nsz) -{ - if(nsz > memsize) { - int nmemsz = nsz+10; // increment maximum allocation size - ItemSet **ncont = new ItemSet *[nmemsz]; // make new array - if(cont) { - memcpy(ncont,cont,size*sizeof(*cont)); // copy existing entries - delete[] cont; - } - cont = ncont; // set current array - memsize = nmemsz; // set new allocation size - } - - // make new items - while(size < nsz) cont[size++] = new ItemSet; -} - -void flext_base::ItemCont::Add(Item *item,const t_symbol *tag,int inlet) -{ - FLEXT_ASSERT(tag); - - if(!Contained(inlet)) Resize(inlet+2); - ItemSet &set = GetInlet(inlet); - Item *lst = set.find(tag); - if(!lst) { - Item *old = set.insert(tag,lst = item); - FLEXT_ASSERT(!old); - } - else - for(;;) - if(!lst->nxt) { lst->nxt = item; break; } - else lst = lst->nxt; - members++; -} - -bool flext_base::ItemCont::Remove(Item *item,const t_symbol *tag,int inlet,bool free) -{ - FLEXT_ASSERT(tag); - - if(Contained(inlet)) { - ItemSet &set = GetInlet(inlet); - Item *lit = set.find(tag); - for(Item *prv = NULL; lit; prv = lit,lit = lit->nxt) { - if(lit == item) { - if(prv) prv->nxt = lit->nxt; - else if(lit->nxt) { - Item *old = set.insert(tag,lit->nxt); - FLEXT_ASSERT(!old); - } - else { - Item *l = set.remove(tag); - FLEXT_ASSERT(l == lit); - } - - lit->nxt = NULL; - if(free) delete lit; - return true; - } - } - } - return false; -} - -flext_base::Item *flext_base::ItemCont::FindList(const t_symbol *tag,int inlet) -{ - FLEXT_ASSERT(tag); - return Contained(inlet)?GetInlet(inlet).find(tag):NULL; -} - -// --- class item lists (methods and attributes) ---------------- - -/* -typedef TablePtrMap<flext_base::t_classid,flext_base::ItemCont *,8> ClassMap; - -static ClassMap classarr[2]; - -flext_base::ItemCont *flext_base::GetClassArr(t_classid c,int ix) -{ - ClassMap &map = classarr[ix]; - ItemCont *cont = map.find(c); - if(!cont) map.insert(c,cont = new ItemCont); - return cont; -} -*/ - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/.svn/text-base/fllib.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/fllib.cpp.svn-base deleted file mode 100644 index 14b804f90..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/fllib.cpp.svn-base +++ /dev/null @@ -1,623 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file fllib.cpp - \brief Code for handling of object (and library) creation functions. -*/ - -#include "flext.h" -#include "flinternal.h" - -#include <cstdarg> -#include <cstring> -#include <cctype> -#include <map> - -#include "flpushns.h" - -#define ALIASDEL ',' - -#define ALIASSLASHES ":/\\" -#if FLEXT_OS == FLEXT_OS_MAC - #define ALIASSLASH ':' -#elif FLEXT_OS == FLEXT_OS_WIN - #if FLEXT_SYS == FLEXT_SYS_PD - #define ALIASSLASH '/' - #elif FLEXT_SYS == FLEXT_SYS_MAX - #define ALIASSLASH '/' - #else - #error "Undefined" - #endif -#else - // default to "/" - #define ALIASSLASH '/' -#endif - -//! Extract space-delimited words from a string -static const char *extract(const char *name,int ix = 0) -{ - char tmp[1024]; - const char *n = name; - - const char *del = strchr(name,ALIASDEL); - - if(del) { -#if 0 - char *t = tmp; - while(n < del && (isspace(*n) || strchr(ALIASSLASHES,*n))) ++n; - while(n < del && !isspace(*n)) { - char c = *(n++); - *(t++) = strchr(ALIASSLASHES,c)?ALIASSLASH:c; - } - while(*t == ALIASSLASH && t > tmp) --t; - *t = 0; -#endif - if(ix < 0) { - // eat white space in front of help definition - ++del; - while(*del && isspace(*del)) ++del; - return del; - } - - strncpy(tmp,name,del-name); - tmp[del-name] = 0; - n = tmp; - } - else if(ix < 0) - return NULL; // no explicit help name - - while(*n && isspace(*n)) ++n; - - for(int i = 0; n && *n; ++i) { - if(i == ix) { - char *t = tmp; - - for(; *n && !isspace(*n); ++t,++n) *t = *n; - *t = 0; - return *tmp?tmp:NULL; - } - else { - while(*n && !isspace(*n)) ++n; - while(*n && isspace(*n)) ++n; - } - } - - return NULL; -} - - -//! Check if object's name ends with a tilde -bool flext::chktilde(const char *objname) -{ -// int stplen = strlen(setupfun); - bool tilde = true; //!strncmp(setupfun,"_tilde",6); - - if((objname[strlen(objname)-1] == '~'?1:0)^(tilde?1:0)) { - if(tilde) - error("flext: %s (no trailing ~) is defined as a tilde object",objname); - else - error("flext::check_tilde: %s is no tilde object",objname); - return true; - } - else - return false; -} - -// this class stands for one library of objects -// there can be more if flext is a shared library -class flext_library -{ -public: - flext_library(const t_symbol *nm) - : name(nm) -#if FLEXT_SYS == FLEXT_SYS_MAX - , clss(NULL),dsp(false) -#endif - {} - - const t_symbol *name; -#if FLEXT_SYS == FLEXT_SYS_MAX - t_class *clss; - bool dsp; -#endif -}; - -// this class stands for one registered object -// it holds the class, type flags, constructor and destructor of the object and the creation arg types -// it will never be destroyed -class flext_class: - public flext_root -{ -public: - flext_class(t_class *&cl,flext_obj *(*newf)(int,t_atom *),void (*freef)(flext_hdr *)); - - t_class *const &clss; - - flext_obj *(*newfun)(int,t_atom *); - void (*freefun)(flext_hdr *c); - - int argc; - int *argv; - - flext_library *lib; - bool dsp:1,noi:1,attr:1,dist:1; - - flext_base::ItemCont meths,attrs; -}; - -flext_class::flext_class(t_class *&cl,flext_obj *(*newf)(int,t_atom *),void (*freef)(flext_hdr *)): - clss(cl), - newfun(newf),freefun(freef), - argc(0),argv(NULL) - , dist(false) -{} - -typedef std::map<const t_symbol *,flext_class *> LibMap; -// static initialization (with constructor) doesn't work for Codewarrior -static LibMap *libnames = NULL; - -//! Store or retrieve registered classes -static flext_class *FindName(const t_symbol *s,flext_class *o = NULL) -{ - if(!libnames) libnames = new LibMap; - LibMap::iterator it = libnames->find(s); - if(it != libnames->end()) - return it->second; - else if(o) { - (*libnames)[s] = o; - return o; - } - else - return NULL; -} - - -t_class *flext_obj::getClass(t_classid cl) { return cl->clss; } -bool flext_obj::HasAttributes(t_classid cl) { return cl->attr; } -bool flext_obj::IsDSP(t_classid cl) { return cl->dsp; } -bool flext_obj::HasDSPIn(t_classid cl) { return !cl->noi; } -bool flext_obj::IsLib(t_classid cl) { return cl->lib != NULL; } - -bool flext_obj::HasAttributes() const { return clss->attr; } -bool flext_obj::IsDSP() const { return clss->dsp; } -bool flext_obj::HasDSPIn() const { return !clss->noi; } -bool flext_obj::IsLib() const { return clss->lib != NULL; } - -#if FLEXT_SYS == FLEXT_SYS_MAX -bool flext_obj::NeedDSP() const { return clss->dsp || (clss->lib && clss->lib->dsp); } -#endif - -static flext_library *curlib = NULL; - -void flext_obj::lib_init(const char *name,void setupfun()) -{ - // make new library instance - curlib = new flext_library(MakeSymbol(name)); - - flext::Setup(); - - // first register all classes - try { - setupfun(); - } - catch(std::exception &x) { - error("%s - %s",name,x.what()); - return; - } - catch(char *txt) { - error("%s - %s",name,txt); - return; - } - catch(...) { - error("%s - Unknown exception at library setup",name); - return; - } - -#if FLEXT_SYS == FLEXT_SYS_MAX - // then see if we got DSP classes - - // for Max/MSP, the library is represented by a special object (class) registered at startup - // all objects in the library are clones of that library object - they share the same class - ::setup( - (t_messlist **)&curlib->clss, - (t_newmethod)obj_new,(t_method)obj_free, - sizeof(flext_hdr),NULL,A_GIMME,A_NULL); - - // for all classes in library add methods - flext_base::AddMessageMethods(curlib->clss,curlib->dsp,true); -#endif - - curlib = NULL; -} - -#if FLEXT_SYS == FLEXT_SYS_PD -t_class *buf_class = NULL; -extern void cb_buffer_dsp(void *c,t_signal **sp); -#endif - -void flext_obj::obj_add(bool lib,bool dsp,bool noi,bool attr,const char *idname,const char *names,void setupfun(t_classid),flext_obj *(*newfun)(int,t_atom *),void (*freefun)(flext_hdr *),int argtp1,...) -{ - Locker lock; - -#if FLEXT_SYS == FLEXT_SYS_PD - // register buffer helper class (if not present already) - if(!buf_class) { - buf_class = ::class_new(gensym(const_cast<char *>(" flext buffer helper ")),NULL,NULL,sizeof(t_object),CLASS_PD|CLASS_NOINLET,A_NULL); - add_dsp(buf_class,cb_buffer_dsp); - // make an instance - void *c = ::pd_new(buf_class); - } -#endif - - // get first possible object name - const t_symbol *nsym = MakeSymbol(extract(names)); - -#ifdef FLEXT_DEBUG - if(dsp) chktilde(GetString(nsym)); -#endif - - if(lib) { - FLEXT_ASSERT(curlib); -#if FLEXT_SYS == FLEXT_SYS_MAX - curlib->dsp |= dsp; -#endif - } - else { - FLEXT_ASSERT(!curlib); -// process_attributes = attr; - } - - // set dynamic class pointer - t_class **cl = -#if FLEXT_SYS == FLEXT_SYS_MAX - lib?&curlib->clss: -#endif - new t_class *; - -#if FLEXT_SYS == FLEXT_SYS_PD - // register object class - *cl = ::class_new( - (t_symbol *)nsym, - (t_newmethod)obj_new,(t_method)obj_free, - sizeof(flext_hdr),CLASS_DEFAULT,A_GIMME,A_NULL); -#elif FLEXT_SYS == FLEXT_SYS_MAX - if(!lib) { - ::setup( - (t_messlist **)cl, - (t_newmethod)obj_new,(t_method)obj_free, - sizeof(flext_hdr),NULL,A_GIMME,A_NULL); - // attention: in Max/MSP the *cl variable is not initialized after that call. - // just the address is stored, the initialization then occurs with the first object instance! - } -#else -#error Platform not implemented -#endif - - // make new dynamic object - flext_class *lo = new flext_class(*cl,newfun,freefun); - lo->lib = curlib; - lo->dsp = dsp; - lo->noi = noi; - lo->attr = attr; - -// post("ADDCLASS %s,%s = %p -> LIBOBJ %p -> %p (lib=%i,dsp=%i)",idname,names,*cl,lo,lo->clss,lib?1:0,dsp?1:0); - - // parse the argument type list and store it with the object - if(argtp1 == FLEXTTPN_VAR) - lo->argc = -1; - else { - int argtp,i; - va_list marker; - - // parse a first time and count only - va_start(marker,argtp1); - for(argtp = argtp1; argtp != FLEXTTPN_NULL; ++lo->argc) argtp = (int)va_arg(marker,int); - va_end(marker); - - lo->argv = new int[lo->argc]; - - // now parse and store - va_start(marker,argtp1); - for(argtp = argtp1,i = 0; i < lo->argc; ++i) { - lo->argv[i] = argtp; - argtp = (int)va_arg(marker,int); - } - va_end(marker); - } - - // get unique class id - t_classid clid = lo; - - // make help reference - const char *helptxt = extract(names,-1); - if(helptxt) { - const char *sl = strchr(helptxt,'/'); - if(sl && !sl[1]) - // helptxt is only the path (path with trailing /) - flext_obj::DefineHelp(clid,idname,helptxt,dsp); - else - // helptxt is path and patch name - flext_obj::DefineHelp(clid,helptxt,NULL,dsp); - } - - for(int ix = 0; ; ++ix) { - // in this loop register all the possible aliases of the object - - const char *c = ix?extract(names,ix):GetString(nsym); - if(!c || !*c) break; - - // add to name list - const t_symbol *lsym = MakeSymbol(c); - FindName(lsym,lo); - -#if FLEXT_SYS == FLEXT_SYS_PD - if(ix > 0) - // in PD the first name is already registered with class creation - ::class_addcreator((t_newmethod)obj_new,(t_symbol *)lsym,A_GIMME,A_NULL); -#elif FLEXT_SYS == FLEXT_SYS_MAX - if(ix > 0 || lib) - // in Max/MSP the first alias gets its name from the name of the object file, - // unless it is a library (then the name can be different) - ::alias(const_cast<char *>(c)); -#else -#error -#endif - } - - try { - // call class setup function - setupfun(clid); - } - catch(std::exception &x) { - error("%s: %s",idname,x.what()); - } - catch(char *txt) { - error("%s: %s",idname,txt); - } - catch(...) { - error("%s - Unknown exception while initializing class",idname); - } -} - - -#define NEWARGS 256 // must be larger than FLEXT_NEWARGS = 5 - -typedef flext_obj *(*libfun)(int,t_atom *); - -#if FLEXT_SYS == FLEXT_SYS_MAX -flext_hdr *flext_obj::obj_new(const t_symbol *s,short _argc_,t_atom *argv) -#else -flext_hdr *flext_obj::obj_new(const t_symbol *s,int _argc_,t_atom *argv) -#endif -{ - Locker lock; - - flext_hdr *obj = NULL; - flext_class *lo = FindName(s); - - if(lo) { -// post("NEWOBJ %s = %p -> %p",GetString(s),lo,lo->clss); - - bool ok = true; - t_atom args[NEWARGS]; - - int argc = _argc_; - if(lo->attr) { - argc = flext_base::CheckAttrib(argc,argv); - } - - if(lo->argc >= 0) { -#ifdef FLEXT_DEBUG - if(lo->argc > FLEXT_MAXNEWARGS) { ERRINTERNAL(); ok = false; } -#endif - - int misnum = 0; - if(argc > lo->argc) { ok = false; misnum = 1; } - - for(int i = 0; ok && i < lo->argc; ++i) { - switch(lo->argv[i]) { -#if FLEXT_SYS != FLEXT_SYS_PD - case FLEXTTPN_INT: - case FLEXTTPN_DEFINT: - if(i >= argc) - if(lo->argv[i] == FLEXTTPN_DEFINT) SetInt(args[i],0); - else { misnum = -1,ok = false; break; } - else if(IsInt(argv[i])) args[i] = argv[i]; - else if(IsFloat(argv[i])) SetInt(args[i],(int)GetFloat(argv[i])); - else ok = false; - break; -#endif - case FLEXTTPN_FLOAT: - case FLEXTTPN_DEFFLOAT: - if(i >= argc) - if(lo->argv[i] == FLEXTTPN_DEFFLOAT) SetFloat(args[i],0); - else { misnum = -1,ok = false; break; } - else if(IsInt(argv[i])) SetFloat(args[i],(float)GetInt(argv[i])); - else if(IsFloat(argv[i])) args[i] = argv[i]; - else ok = false; - break; - case FLEXTTPN_SYM: - case FLEXTTPN_DEFSYM: - // \todo shall we analyze the patcher args????... should already be done! - if(i >= argc) - if(lo->argv[i] == FLEXTTPN_DEFSYM) SetSymbol(args[i],sym__); - else { misnum = -1,ok = false; break; } - else if(IsSymbol(argv[i])) -// SetSymbol(args[i],GetParamSym(GetSymbol(argv[i]),NULL)); - args[i] = argv[i]; - else ok = false; - break; - } - } - - if(!ok) - if(misnum) - error("%s: %s creation arguments",GetString(s),misnum < 0?"Not enough":"Too many"); - else - error("%s: Creation arguments do not match",GetString(s)); - } - - - if(ok) { - flext_obj::initing = true; - - try { -#if FLEXT_SYS == FLEXT_SYS_PD - obj = (flext_hdr *)::pd_new(lo->clss); -#elif FLEXT_SYS == FLEXT_SYS_MAX - obj = (flext_hdr *)::newobject(lo->clss); -#else -#error -#endif - flext_obj::m_holder = obj; - flext_obj::m_holdclass = lo; - flext_obj::m_holdname = s; - flext_obj::init_ok = true; - - // get actual flext object (newfun calls "new flext_obj()") - if(lo->argc >= 0) - obj->data = lo->newfun(lo->argc,args); - else - obj->data = lo->newfun(argc,argv); - - flext_obj::m_holder = NULL; - flext_obj::m_holdclass = NULL; - flext_obj::m_holdname = NULL; - - ok = obj->data && - // check constructor exit flag - flext_obj::init_ok; - - if(ok) { - if(lo->attr) { - // DON'T convert eventual patcher args here... this is done by the actual attribute stuff - // so that the initial $- or #- be preserved! - - // store creation args for attribute initialization (inside flext_base::Init()) - flext_obj::m_holdaargc = _argc_-argc; - flext_obj::m_holdaargv = argv+argc; - } - else { - flext_obj::m_holdaargc = 0; - flext_obj::m_holdaargv = NULL; - } - - // call virtual init function - // here, inlets, outlets, methods and attributes can be set up - ok = obj->data->Init(); - - flext_obj::initing = false; - - // call another virtual init function - if(ok) ok = obj->data->Finalize(); - - flext_obj::m_holdaargc = 0; - flext_obj::m_holdaargv = NULL; - } - - } //try - catch(std::exception &x) { - error("%s - Exception while creating object: %s",GetString(s),x.what()); - ok = false; - } - catch(char *txt) { - error("%s - Exception while creating object: %s",GetString(s),txt); - ok = false; - } - catch(...) { - error("%s - Unknown exception while creating object",GetString(s)); - ok = false; - } - - flext_obj::initing = false; - - if(ok) { -#if FLEXT_SYS == FLEXT_SYS_MAX - // create object-specific thread lock - critical_new(&obj->data->lock); -#endif - } - else { - // there was some init error, free object - lo->freefun(obj); - obj = NULL; - } - } - } -#ifdef FLEXT_DEBUG - else -#if FLEXT_SYS == FLEXT_SYS_MAX - // in Max/MSP an object with the name of the library exists, even if not explicitly declared! -// if(!lo->lib || s != lo->lib->name) -#endif - error("Class %s not found in library!",s->s_name); -#endif - - return obj; -} - -void flext_obj::obj_free(flext_hdr *h) -{ - Locker lock; - - flext_hdr *hdr = (flext_hdr *)h; - const t_symbol *name = hdr->data->thisNameSym(); - flext_class *lcl = FindName(name); - - if(lcl) { - flext_obj::exiting = true; - - try { - // call virtual exit function - hdr->data->Exit(); - -#if FLEXT_SYS == FLEXT_SYS_MAX - // free object-specific thread lock - critical_free(hdr->data->lock); -#endif - - // now call object destructor and deallocate - lcl->freefun(hdr); - } - catch(std::exception &x) { - error("%s - Exception while destroying object: %s",GetString(name),x.what()); - } - catch(char *txt) { - error("%s - Exception while destroying object: %s",GetString(name),txt); - } - catch(...) { - error("%s - Unknown exception while destroying object",GetString(name)); - } - - flext_obj::exiting = false; - } -#ifdef FLEXT_DEBUG - else -#if FLEXT_SYS == FLEXT_SYS_MAX - // in Max/MSP an object with the name of the library exists, even if not explicitly declared! -// if(!lo->lib || s != lo->lib->name) -#endif - error("Class %s not found in library!",name); -#endif -} - - -t_class *flext_obj::thisClass() const { FLEXT_ASSERT(x_obj); return thisClassId()->clss; } - -void flext_base::SetDist(t_classid c,bool d) { c->dist = d; } -bool flext_base::DoDist() const { return thisClassId()->dist; } - -flext_base::ItemCont *flext_base::ClMeths(t_classid c) { return &c->meths; } -flext_base::ItemCont *flext_base::ClAttrs(t_classid c) { return &c->attrs; } - -#include "flpopns.h" diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flmap.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flmap.cpp.svn-base deleted file mode 100644 index 09943ead1..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flmap.cpp.svn-base +++ /dev/null @@ -1,257 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flmap.cpp - \brief flext container classes. -*/ - -#include "flext.h" -#include "flmap.h" - -#include "flpushns.h" - -TableAnyMap::~TableAnyMap() { clear(); } - -void TableAnyMap::clear() -{ - if(left) { _delmap(left); left = NULL; } - if(right) { _delmap(right); right = NULL; } - n = 0; -} - - -void *TableAnyMap::_set(int tsize,size_t k,void *t) -{ - FLEXT_ASSERT(n); - - if(n < tsize) { - // fall through - } - else if(k < data[0].key) - return _toleft(tsize,k,t); - else if(k > data[tsize-1].key) - return _toright(tsize,k,t); - - int ix = _tryix(k); - if(ix >= n) { - FLEXT_ASSERT(ix == n); - // after last entry - data[n++](k,t); - return NULL; - } - - size_t dk = data[ix].key; - if(k == dk) { - // update data in existing slot (same key) - void *a = data[ix].value; - data[ix] = t; - return a; - } - else { - // insert new slot by shifting the higher ones - FLEXT_ASSERT(k < dk); - void *a; - if(n == tsize) - a = _toright(tsize,data[tsize-1]); - else { - ++n; - a = NULL; - } - - Data *tg = data+ix; - for(Data *d = data+n-1; d > tg; d--) d[0] = d[-1]; - (*tg)(k,t); - return a; - } -} - -void *TableAnyMap::_find(int tsize,size_t k) const -{ - FLEXT_ASSERT(n); - if(n < tsize) { - // fall through - } - else if(k < data[0].key) - return left?left->_find(tsize,k):NULL; - else if(k > data[n-1].key) - return right?right->_find(tsize,k):NULL; - - const int ix = _tryix(k); - return ix < n && data[ix].key == k?data[ix].value:NULL; -} - -#ifdef FLEXT_DEBUG -void TableAnyMap::_check(int tsize) -{ - FLEXT_ASSERT(n); - - size_t k = data[0].key; - for(int i = 1; i < n; ++i) { - size_t k2 = data[i].key; - FLEXT_ASSERT(k < k2); - k = k2; - } - - if(left || right) FLEXT_ASSERT(n == tsize); - - if(left) { - FLEXT_ASSERT(flext::MemCheck(left)); - left->_check(tsize); - } - if(right) { - FLEXT_ASSERT(flext::MemCheck(right)); - right->_check(tsize); - } -} -#endif - -void *TableAnyMap::_remove(int tsize,size_t k) -{ - FLEXT_ASSERT(n); - if(n < tsize) { - // fall through - } - else if(k < data[0].key) { - void *r = left?left->_remove(tsize,k):NULL; - if(r) _eraseempty(left); - return r; - } - else if(k > data[n-1].key) { - void *r = right?right->_remove(tsize,k):NULL; - if(r) _eraseempty(right); - return r; - } - - const int ix = _tryix(k); - if(ix >= n || data[ix].key != k) - return NULL; - else { - // found key in this map - void *ret = data[ix].value; - - Data dt; - bool fnd,ins = false; - if(n >= tsize) { - // if this table is full get fill-in elements from branches - if(left) { - // try to get biggest element from left branch - left->_getbig(dt); - _eraseempty(left); - fnd = true,ins = true; - } - else if(right) { - // try to get smallest element from right branch - right->_getsmall(dt); - _eraseempty(right); - fnd = true; - } - else - fnd = false; - } - else fnd = false; - - if(ins) { - // insert smaller element from left - for(int i = ix; i; --i) data[i] = data[i-1]; - data[0] = dt; - } - else { - // shift elements - for(int i = ix+1; i < n; ++i) data[i-1] = data[i]; - // insert bigger element from right or reduce table size - if(fnd) - data[n-1] = dt; - else - --n; - } - - return ret; - } -} - -void TableAnyMap::_getbig(Data &dt) -{ - FLEXT_ASSERT(n); - - if(right) { - right->_getbig(dt); - _eraseempty(right); - } - else { - dt = data[n-1]; - if(left) { - for(int i = n-1; i; --i) data[i] = data[i-1]; - left->_getbig(data[0]); - _eraseempty(left); - } - else - --n; - } -} - -void TableAnyMap::_getsmall(Data &dt) -{ - FLEXT_ASSERT(n); - - if(left) { - left->_getsmall(dt); - _eraseempty(left); - } - else { - dt = data[0]; - for(int i = 1; i < n; ++i) data[i-1] = data[i]; - if(right) { - right->_getsmall(data[n-1]); - _eraseempty(right); - } - else - --n; - } -} - -void TableAnyMap::iterator::forward() -{ - FLEXT_ASSERT(map || ix >= map->n); - - if(++ix >= map->n) { - TableAnyMap *nmap; - - // we reached the end of the slots - if(map->right) { - // climb up one - map = map->right; - leftmost(); - ix = 0; - } - else { - // fall back - for(;;) { - nmap = map->parent; - if(!nmap) break; // no parent - if(nmap->left == map) { - // ok, we are in front of the slots now - ix = 0; - map = nmap; - break; - } - else { - FLEXT_ASSERT(nmap->right == map); - ix = (map = nmap)->n; - } - } - } - } -} - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flmap.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flmap.h.svn-base deleted file mode 100644 index ede598192..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flmap.h.svn-base +++ /dev/null @@ -1,262 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flmap.h - \brief special map class (faster and less memory-consuming than std::map) -*/ - -#ifndef __FLMAP_H -#define __FLMAP_H - -#include "flprefix.h" - -/*! \defgroup FLEXT_SUPPORT Flext support classes - @{ -*/ - -#include "flpushns.h" - -class FLEXT_SHARE TableAnyMap -{ -public: - - virtual TableAnyMap *_newmap(TableAnyMap *parent) = 0; - virtual void _delmap(TableAnyMap *map) = 0; - - struct Data { - void operator()(size_t k,void *v) { key = k,value = v; } - void operator =(void *v) { value = v; } - - size_t key; - void *value; - }; - -protected: - // constructor and destructor are protected so that they can't be directly instantiated - - TableAnyMap(TableAnyMap *p,Data *dt) - : data(dt) - , parent(p),left(0),right(0) - , n(0) - {} - - virtual ~TableAnyMap(); - -public: - -#if 0 // set 1 for asserting the map structure (very cpu-intensive!) - void check(int tsize) { if(n) _check(tsize); } -#else -// void check(int tsize) {} -#endif - - void *insert(int tsize,size_t k,void *t) - { - void *r; - if(LIKELY(n)) - r = _set(tsize,k,t); - else { - data[n++](k,t); - r = 0; - } -// check(tsize); - return r; - } - - void *find(int tsize,size_t k) const { return LIKELY(n)?_find(tsize,k):0; } - - void *remove(int tsize,size_t k) - { - void *r = LIKELY(n)?_remove(tsize,k):0; -// check(tsize); - return r; - } - - virtual void clear(); - - class FLEXT_SHARE iterator - { - public: - iterator(): map(0) {} - iterator(const TableAnyMap &m): map(&m),ix(0) { leftmost(); } - iterator(const iterator &it): map(it.map),ix(it.ix) {} - - iterator &operator =(const iterator &it) { map = it.map,ix = it.ix; return *this; } - - operator bool() const { return map && ix < map->n; } - - // no checking here! - void *data() const { return map->data[ix].value; } - size_t key() const { return map->data[ix].key; } - - iterator &operator ++() { forward(); return *this; } - - protected: - void leftmost() - { - // search smallest branch (go left as far as possible) - const TableAnyMap *nmap; - while((nmap = map->left) != 0) map = nmap; - } - - void forward(); - - // pointers to map and index within - const TableAnyMap *map; - int ix; - }; - - void _init(size_t k,void *t) { data[0](k,t); n = 1; } - - void *_toleft(int tsize,size_t k,void *t) - { - if(left) - return left->_set(tsize,k,t); - else { - (left = _newmap(this))->_init(k,t); - return 0; - } - } - - void *_toright(int tsize,size_t k,void *t) - { - if(right) - return right->_set(tsize,k,t); - else { - (right = _newmap(this))->_init(k,t); - return 0; - } - } - - void *_toleft(int tsize,Data &v) { return _toleft(tsize,v.key,v.value); } - void *_toright(int tsize,Data &v) { return _toright(tsize,v.key,v.value); } - - void *_set(int tsize,size_t k,void *t); - void *_find(int tsize,size_t k) const; - void *_remove(int tsize,size_t k); - -#ifdef FLEXT_DEBUG - void _check(int tsize); -#endif - - Data *data; - TableAnyMap *parent,*left,*right; - int n; - - //! return index of data item with key <= k - //! \note index can point past the last item! - unsigned int _tryix(size_t k) const - { - unsigned int ix = 0,b = n; - while(ix != b) { - const unsigned int c = (ix+b)>>1; - const size_t dk = data[c].key; - if(k == dk) - return c; - else if(k < dk) - b = c; - else if(ix < c) - ix = c; - else - return b; - } - return ix; - } - - void _eraseempty(TableAnyMap *&b) - { - if(!b->n) { - // remove empty branch - _delmap(b); b = 0; - } - } - - void _getsmall(Data &dt); - void _getbig(Data &dt); - -private: - // hide, so that it can't be used..... - explicit TableAnyMap(const TableAnyMap &): data(NULL) {} - TableAnyMap &operator =(const TableAnyMap &) { return *this; } -}; - -template <typename K,typename T,int N = 8> -class TablePtrMap - : -#if (defined(_MSC_VER) && _MSC_VER < 1300) || defined(__BORLANDC__) || defined(__MWERKS__) - public // necessary for VC6 -#endif - TableAnyMap -{ -public: - TablePtrMap(): TableAnyMap(0,slots),count(0) {} - virtual ~TablePtrMap() { clear(); } - - virtual void clear() { TableAnyMap::clear(); count = 0; } - - inline int size() const { return count; } - - inline T insert(K k,T t) - { - void *d = TableAnyMap::insert(N,*(size_t *)&k,(void *)t); - if(!d) ++count; - return (T)d; - } - - inline T find(K k) const { return (T)TableAnyMap::find(N,*(size_t *)&k); } - - inline T remove(K k) - { - void *d = TableAnyMap::remove(N,*(size_t *)&k); - if(LIKELY(d)) --count; - return (T)d; - } - - - class iterator - : TableAnyMap::iterator - { - public: - iterator() {} - iterator(const TablePtrMap &m): TableAnyMap::iterator(m) {} - iterator(const iterator &it): TableAnyMap::iterator(it) {} - - // this ugly syntax (cast to parent class) is needed for MSVC6 - - inline iterator &operator =(const iterator &it) { ((TableAnyMap::iterator &)*this) = it; return *this; } - - inline operator bool() const { return (bool)((TableAnyMap::iterator &)*this); } - inline T data() const { return (T)(((TableAnyMap::iterator &)*this).data()); } - inline K key() const { return (K)(((TableAnyMap::iterator &)*this).key()); } - - inline iterator &operator ++() { ++((TableAnyMap::iterator &)*this); return *this; } - }; - -protected: - TablePtrMap(TableAnyMap *p): TableAnyMap(p,slots),count(0) {} - - virtual TableAnyMap *_newmap(TableAnyMap *parent) { return new TablePtrMap(parent); } - virtual void _delmap(TableAnyMap *map) { delete (TablePtrMap *)map; } - - int count; - Data slots[N]; - -private: - explicit TablePtrMap(const TableAnyMap &p) {} -}; - -#include "flpopns.h" - -//! @} // FLEXT_SUPPORT - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flmeth.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flmeth.cpp.svn-base deleted file mode 100644 index 6d64e76e9..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flmeth.cpp.svn-base +++ /dev/null @@ -1,139 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flmeth.cpp - \brief Method processing of flext base class. -*/ - -#include "flext.h" -#include "flinternal.h" -#include <cstring> -#include <cstdarg> - -#include "flpushns.h" - -flext_base::MethItem::MethItem(AttrItem *conn): - Item(conn),index(0), - argc(0),args(NULL) - ,fun(NULL) -{} - -flext_base::MethItem::~MethItem() -{ - if(args) delete[] args; -} - -void flext_base::MethItem::SetArgs(methfun _fun,int _argc,metharg *_args) -{ - fun = _fun; - if(args) delete[] args; - argc = _argc,args = _args; -} - -/*! \brief Add a method to the queue -*/ -void flext_base::AddMethod(ItemCont *ma,int inlet,const t_symbol *tag,methfun fun,metharg tp,...) -{ -#ifdef FLEXT_LOG_MSGS - post("addmethod %i:%s",inlet,GetString(tag)); -#endif - - va_list marker; - - // at first just count the arg type list (in argc) - int argc = 0; - va_start(marker,tp); - metharg *args = NULL,arg = tp; - for(; arg != a_null; ++argc) arg = (metharg)va_arg(marker,int); //metharg); - va_end(marker); - - if(argc > 0) { - if(argc > FLEXT_MAXMETHARGS) { - error("flext - method %s: only %i arguments are type-checkable: use variable argument list for more",tag?GetString(tag):"?",FLEXT_MAXMETHARGS); - argc = FLEXT_MAXMETHARGS; - } - - args = new metharg[argc]; - - va_start(marker,tp); - metharg a = tp; - for(int ix = 0; ix < argc; ++ix) { -#ifdef FLEXT_DEBUG - if(a == a_list && ix > 0) { - ERRINTERNAL(); - } -#endif -#if FLEXT_SYS == FLEXT_SYS_PD && defined(FLEXT_COMPATIBLE) - if(a == a_pointer) { - post("Pointer arguments are not allowed in compatibility mode"); - } -#endif - args[ix] = a; - a = (metharg)va_arg(marker,int); //metharg); - } - va_end(marker); - } - - MethItem *mi = new MethItem; - mi->index = ma->Members(); - mi->SetArgs(fun,argc,args); - ma->Add(mi,tag,inlet); -} - -void flext_base::ListMethods(AtomList &la,int inlet) const -{ - typedef TablePtrMap<int,const t_symbol *,32> MethList; - MethList list[2]; - ItemCont *clmethhead = ClMeths(thisClassId()); - - int i; - for(i = 0; i <= 1; ++i) { - ItemCont *a = i?methhead:clmethhead; - if(a && a->Contained(inlet)) { - ItemSet &ai = a->GetInlet(inlet); - for(ItemSet::iterator as(ai); as; ++as) { - for(Item *al = as.data(); al; al = al->nxt) { - MethItem *aa = (MethItem *)al; - // check it's not related to an attribute - if(!aa->IsAttr()) { - list[i].insert(aa->index,as.key()); - break; - } - } - } - } - } - - la((int)list[0].size()+(int)list[1].size()); - int ix = 0; - for(i = 0; i <= 1; ++i) - for(MethList::iterator it(list[i]); it; ++it) - SetSymbol(la[ix++],it.data()); -} - -bool flext_base::cb_ListMethods(flext_base *c,int argc,const t_atom *argv) -{ - Locker lock(c); - if(c->HasAttributes() && (argc == 0 || (argc == 1 && CanbeInt(argv[0])))) { - // defined in flsupport.cpp - int inlet = argc?GetAInt(argv[0]):0; - AtomListStatic<32> la; - c->ListMethods(la,inlet); - c->ToOutAnything(c->GetOutAttr(),sym_methods,la.Count(),la.Atoms()); - return true; - } - else - return false; -} - -#include "flpopns.h" diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flmsg.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flmsg.cpp.svn-base deleted file mode 100644 index 2f988f90e..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flmsg.cpp.svn-base +++ /dev/null @@ -1,307 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flmsg.cpp - \brief Message processing of flext base class. -*/ - -#include "flext.h" - -#include "flpushns.h" - -bool flext_base::TryMethTag(Item *lst,const t_symbol *tag,int argc,const t_atom *argv) -{ - for(; lst; lst = lst->nxt) { - MethItem *m = (MethItem *)lst; - -// FLEXT_LOG3("found method tag %s: inlet=%i, argc=%i",GetString(tag),m->inlet,argc); - - if(m->attr) { - // attributes are treated differently - - if(m->attr->IsGet()) - return DumpAttrib(tag,m->attr); - else - return SetAttrib(tag,m->attr,argc,argv); - } - else { - if(m->argc == 1) { - if(m->args[0] == a_list) { - // try list - if(((methfun_V)m->fun)(this,argc,const_cast<t_atom *>(argv))) return true; - } - else if(m->args[0] == a_any) { - // try anything - if(((methfun_A)m->fun)(this,tag,argc,const_cast<t_atom *>(argv))) return true; - } - } - - // try matching number of args - if(m->argc == argc) { - int ix; - t_any aargs[FLEXT_MAXMETHARGS]; - bool ok = true; - for(ix = 0; ix < argc && ok; ++ix) { - switch(m->args[ix]) { - case a_float: { - if(IsFloat(argv[ix])) aargs[ix].ft = GetFloat(argv[ix]); - else if(IsInt(argv[ix])) aargs[ix].ft = (float)GetInt(argv[ix]); - else ok = false; - - if(ok) FLEXT_LOG2("int arg %i = %f",ix,aargs[ix].ft); - break; - } - case a_int: { - if(IsFloat(argv[ix])) aargs[ix].it = (int)GetFloat(argv[ix]); - else if(IsInt(argv[ix])) aargs[ix].it = GetInt(argv[ix]); - else ok = false; - - if(ok) FLEXT_LOG2("float arg %i = %i",ix,aargs[ix].it); - break; - } - case a_symbol: { - if(IsSymbol(argv[ix])) aargs[ix].st = GetSymbol(argv[ix]); - else ok = false; - - if(ok) FLEXT_LOG2("symbol arg %i = %s",ix,GetString(aargs[ix].st)); - break; - } -#if FLEXT_SYS == FLEXT_SYS_PD - case a_pointer: { - if(IsPointer(argv[ix])) aargs[ix].pt = (t_gpointer *)GetPointer(argv[ix]); - else ok = false; - break; - } -#endif - default: - error("Argument type illegal"); - ok = false; - } - } - - if(ok && ix == argc) { - switch(argc) { - case 0: return ((methfun_0)m->fun)(this); - case 1: return ((methfun_1)m->fun)(this,aargs[0]); - case 2: return ((methfun_2)m->fun)(this,aargs[0],aargs[1]); - case 3: return ((methfun_3)m->fun)(this,aargs[0],aargs[1],aargs[2]); - case 4: return ((methfun_4)m->fun)(this,aargs[0],aargs[1],aargs[2],aargs[3]); - case 5: return ((methfun_5)m->fun)(this,aargs[0],aargs[1],aargs[2],aargs[3],aargs[4]); - default: - FLEXT_ASSERT(false); - } - } - } - } - } - return false; -} - - -bool flext_base::TryMethAny(Item *lst,const t_symbol *s,int argc,const t_atom *argv) -{ - for(; lst; lst = lst->nxt) { - MethItem *m = (MethItem *)lst; - - if(!m->IsAttr() && m->argc == 1 && m->args[0] == a_any) { -// FLEXT_LOG4("found any method for %s: inlet=%i, symbol=%s, argc=%i",GetString(m->tag),m->inlet,GetString(s),argc); - - if(((methfun_A)m->fun)(this,s,argc,const_cast<t_atom *>(argv))) return true; - } - } - return false; -} - -/*! \brief Find a method item for a specific tag and arguments - \remark All attributes are also stored in the method list and retrieved by a member of the method item -*/ -bool flext_base::FindMeth(int inlet,const t_symbol *s,int argc,const t_atom *argv) -{ - Item *lst; - ItemCont *clmethhead = ClMeths(thisClassId()); - - // search for exactly matching tag - if(UNLIKELY(methhead) && (lst = methhead->FindList(s,inlet)) != NULL && TryMethTag(lst,s,argc,argv)) return true; - if((lst = clmethhead->FindList(s,inlet)) != NULL && TryMethTag(lst,s,argc,argv)) return true; - - // if nothing found try any inlet - if(UNLIKELY(methhead) && (lst = methhead->FindList(s,-1)) != NULL && TryMethTag(lst,s,argc,argv)) return true; - if((lst = clmethhead->FindList(s,-1)) != NULL && TryMethTag(lst,s,argc,argv)) return true; - - return false; -} - -bool flext_base::FindMethAny(int inlet,const t_symbol *s,int argc,const t_atom *argv) -{ - Item *lst; - ItemCont *clmethhead = ClMeths(thisClassId()); - - if(UNLIKELY(methhead) && (lst = methhead->FindList(sym_anything,inlet)) != NULL && TryMethAny(lst,s,argc,argv)) return true; - if((lst = clmethhead->FindList(sym_anything,inlet)) != NULL && TryMethAny(lst,s,argc,argv)) return true; - - // if nothing found try any inlet - if(UNLIKELY(methhead) && (lst = methhead->FindList(sym_anything,-1)) != NULL && TryMethAny(lst,s,argc,argv)) return true; - if((lst = clmethhead->FindList(sym_anything,-1)) != NULL && TryMethAny(lst,s,argc,argv)) return true; - - return false; -} - -/*! \brief All the message processing - The messages of all the inlets go here and are promoted to the registered callback functions -*/ -bool flext_base::CbMethodHandler(int inlet,const t_symbol *s,int argc,const t_atom *argv) -{ - static bool trap = false; - bool ret; - - curtag = s; - -#ifdef FLEXT_LOG_MSGS - post("methodmain inlet:%i args:%i symbol:%s",inlet,argc,s?GetString(s):""); -#endif - - try { - ret = FindMeth(inlet,s,argc,argv); -#ifdef FLEXT_LOG_MSGS - if(ret) post("found %s message in %s,%i",GetString(s),__FILE__,__LINE__); -#endif - if(ret) goto end; - - if(argc == 1) { - if(s == sym_list) { - // for 1-element lists try the single atom (this is the format output by [route]) - if(IsFloat(argv[0])) - ret = FindMeth(inlet,sym_float,1,argv); - else if(IsInt(argv[0])) - ret = FindMeth(inlet,sym_int,1,argv); - else if(IsSymbol(argv[0])) - ret = FindMeth(inlet,sym_symbol,1,argv); - #if FLEXT_SYS == FLEXT_SYS_PD && !defined(FLEXT_COMPATIBLE) - else if(IsPointer(argv[0])) - ret = FindMeth(inlet,sym_pointer,1,argv); - #endif - if(ret) goto end; - } - else { - if(s == sym_float) { - #if FLEXT_SYS == FLEXT_SYS_MAX - t_atom at; - // If float message is not explicitly handled: try int handler instead - SetInt(at,(int)GetFloat(argv[0])); - ret = FindMeth(inlet,sym_int,1,&at); - if(ret) goto end; - #endif - // If not explicitly handled: try list handler instead - ret = FindMeth(inlet,sym_list,1,argv); - if(ret) goto end; - } - #if FLEXT_SYS == FLEXT_SYS_MAX - else if(s == sym_int) { - t_atom at; - // If int message is not explicitly handled: try float handler instead - SetFloat(at,(float)GetInt(argv[0])); - ret = FindMeth(inlet,sym_float,1,&at); - if(ret) goto end; - // If not explicitly handled: try list handler instead - ret = FindMeth(inlet,sym_list,1,argv); - if(ret) goto end; - } - #endif - else if(s == sym_symbol) { - ret = FindMeth(inlet,sym_list,1,argv); - if(ret) goto end; - } - #if FLEXT_SYS == FLEXT_SYS_PD && !defined(FLEXT_COMPATIBLE) - else if(s == sym_pointer) { - ret = FindMeth(inlet,sym_list,1,argv); - if(ret) goto end; - } - #endif - } - } - else if(argc == 0) { - // If symbol message (pure anything without args) is not explicitly handled: try list handler instead - if(s == sym_bang) - // bang is equal to an empty list - ret = FindMeth(inlet,sym_list,0,NULL); - else { - t_atom at; - SetSymbol(at,s); - ret = FindMeth(inlet,sym_list,1,&at); - } -#ifdef FLEXT_LOG_MSGS - if(ret) post("found %s message in %s,%i",GetString(sym_list),__FILE__,__LINE__); -#endif - if(ret) goto end; - } - - // if distmsgs is switched on then distribute list elements over inlets (Max/MSP behavior) - if(DoDist() && inlet == 0 && s == sym_list && insigs <= 1 && !trap) { - int i = incnt; - if(i > argc) i = argc; - for(--i; i >= 0; --i) { // right to left distribution - const t_symbol *sym = NULL; - if(IsFloat(argv[i])) sym = sym_float; - else if(IsInt(argv[i])) sym = sym_int; - else if(IsSymbol(argv[i])) sym = sym_symbol; - #if FLEXT_SYS == FLEXT_SYS_PD && !defined(FLEXT_COMPATIBLE) - else if(IsPointer(argv[i])) sym = sym_pointer; // can pointer atoms occur here? - #endif - - if(sym) { - trap = true; - CbMethodHandler(i,sym,1,argv+i); - trap = false; - } - } - - goto end; - } - - ret = FindMethAny(inlet,s,argc,argv); - - if(!ret) ret = CbMethodResort(inlet,s,argc,argv); - } - catch(std::exception &x) { - error("%s - %s: %s",thisName(),GetString(s),x.what()); - ret = false; - } - catch(const char *txt) { - error("%s - %s: %s",thisName(),GetString(s),txt); - ret = false; - } - catch(...) { - error("%s - %s : Unknown exception while processing method",thisName(),GetString(s)); - ret = false; - } - -end: - curtag = NULL; - - return ret; // true if appropriate handler was found and called -} - -bool flext_base::m_method_(int inlet,const t_symbol *s,int argc,const t_atom *argv) -{ - post("%s: message unhandled - inlet:%i args:%i symbol:%s",thisName(),inlet,argc,s?GetString(s):""); - return false; -} - -bool flext_base::CbMethodResort(int inlet,const t_symbol *s,int argc,const t_atom *argv) -{ - // call deprecated version - return m_method_(inlet,s,argc,argv); -} - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flmspbuffer.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flmspbuffer.h.svn-base deleted file mode 100644 index 1f67fc664..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flmspbuffer.h.svn-base +++ /dev/null @@ -1,85 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flmspbuffer.h - \brief Definition of the Max/MSP buffer structure - \internal - - This file comes from David Zicarellis inofficial package index.sit - The latter is not easily found so i included the original file buffer.h with flext -*/ - -#if (FLEXT_SYS == FLEXT_SYS_MAX) && !defined(__FLEXT_MSPBUFFER_H) -#define __FLEXT_MSPBUFFER_H - -enum { - MAXCHAN = 4 -}; - -enum { - bi_basefreq = 0, - bi_detune, - bi_lowfreq, - bi_hifreq, - bi_lowvel, - bi_hivel, - bi_gain, - bi_numparams -}; - -typedef struct _buffer -{ - t_object b_obj; // doesn't have any signals so it doesn't need to be pxobject - long b_valid; // flag is off during read replacement or editing operation - float *b_samples; // stored with interleaved channels if multi-channel - long b_frames; // number of sample frames (each one is sizeof(float) * b_nchans bytes) - long b_nchans; // number of channels - long b_size; // size of buffer in floats - float b_sr; // sampling rate of the buffer - float b_1oversr; // 1 / sr - float b_msr; // sr * .001 - // Mac-specific stuff - float *b_memory; // pointer to where memory starts (initial padding for interp) - t_symbol *b_name; - short b_vol; - short b_space; - // looping info (from AIFF file) - long b_susloopstart; // in samples - long b_susloopend; // in samples - long b_relloopstart; // in samples - long b_relloopend; // in samples - // instrument info (from AIFF file) - short b_inst[bi_numparams]; - // window stuff - void *b_wind; - double b_pixperfr; - double b_frperpix; - long b_imagesize; - Point b_scroll; - long b_scrollscale; - long b_selbegin[MAXCHAN]; - long b_selend[MAXCHAN]; - long b_zoom; - long b_zim[11]; - void *b_mouseout; - long b_format; // 'AIFF' or 'Sd2f' - t_symbol *b_filename; // last file read (not written) for readagain message - long b_oldnchans; // used for resizing window in case of # of channels change - void *b_doneout; - long b_outputbytes; // number of bytes used for output sample (1-4) - long b_modtime; // last modified time ("dirty" method) -} t_buffer; - -#define BUFWIND(x) ((t_wind *)(x->b_wind)) - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flout.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flout.cpp.svn-base deleted file mode 100644 index 77abc33c5..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flout.cpp.svn-base +++ /dev/null @@ -1,340 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flout.cpp - \brief Implementation of the flext outlet functionality. -*/ - -#include "flext.h" -#include "flinternal.h" -#include <cstring> - -#include "flpushns.h" - -#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX -void flext_base::ToSysAtom(int n,const t_atom &at) const -{ - outlet *o = GetOut(n); - if(LIKELY(o)) { - CRITON(); - if(IsSymbol(at)) - outlet_symbol((t_outlet *)o,const_cast<t_symbol *>(GetSymbol(at))); - else if(IsFloat(at)) - outlet_float((t_outlet *)o,GetFloat(at)); -#if FLEXT_SYS == FLEXT_SYS_MAX - else if(IsInt(at)) - outlet_flint((t_outlet *)o,GetInt(at)); -#endif -#if FLEXT_SYS == FLEXT_SYS_PD - else if(IsPointer(at)) - outlet_pointer((t_outlet *)o,GetPointer(at)); -#endif - else - error("Atom type not supported"); - CRITOFF(); - } -} -#else -#error Not implemented -#endif - -#if defined(FLEXT_THREADS) - #if FLEXT_QMODE == 2 - #define CHKTHR() (LIKELY((!IsThreadRegistered() || IsThread(flext::thrmsgid)) && !InDSP())) - #else - #define CHKTHR() (LIKELY(!IsThreadRegistered() && !InDSP())) - #endif -#else - #define CHKTHR() (LIKELY(!InDSP())) -#endif - -void flext_base::ToOutBang(int n) const { if(CHKTHR()) ToSysBang(n); else ToQueueBang(n); } -void flext_base::ToOutFloat(int n,float f) const { if(CHKTHR()) ToSysFloat(n,f); else ToQueueFloat(n,f); } -void flext_base::ToOutInt(int n,int f) const { if(CHKTHR()) ToSysInt(n,f); else ToQueueInt(n,f); } -void flext_base::ToOutSymbol(int n,const t_symbol *s) const { if(CHKTHR()) ToSysSymbol(n,s); else ToQueueSymbol(n,s); } -void flext_base::ToOutAtom(int n,const t_atom &at) const { if(CHKTHR()) ToSysAtom(n,at); else ToQueueAtom(n,at); } -void flext_base::ToOutList(int n,int argc,const t_atom *argv) const { if(CHKTHR()) ToSysList(n,argc,argv); else ToQueueList(n,argc,argv); } -void flext_base::ToOutAnything(int n,const t_symbol *s,int argc,const t_atom *argv) const { if(CHKTHR()) ToSysAnything(n,s,argc,argv); else ToQueueAnything(n,s,argc,argv); } - -void flext::ToOutMsg(MsgBundle *mb) { if(CHKTHR()) ToSysMsg(mb); else ToQueueMsg(mb); } - -bool flext::Forward(const t_symbol *recv,const t_symbol *s,int argc,const t_atom *argv) -{ - return CHKTHR()?SysForward(recv,s,argc,argv):QueueForward(recv,s,argc,argv); -} - - -bool flext_base::InitInlets() -{ - bool ok = true; - - // incnt has number of inlets (any type) - // insigs should be 0 - - FLEXT_ASSERT(!insigs && !inlets); - - // ---------------------------------- - // create inlets - // ---------------------------------- - -#if FLEXT_SYS == FLEXT_SYS_MAX - // copy inlet descriptions - indesc = new char *[incnt]; - for(int i = 0; i < incnt; ++i) { - xlet &x = inlist[i]; - indesc[i] = x.desc; - x.desc = NULL; - } -#endif - -#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX - inlets = incnt > 1?new px_object *[incnt-1]:NULL; -#endif - - // type info is now in list array -#if FLEXT_SYS == FLEXT_SYS_PD - { - int cnt = 0; - if(incnt >= 1) { - xlet &xi = inlist[0]; // points to first inlet - if(xi.tp == xlet_sig) ++insigs; - // else leftmost inlet is already there... - ++cnt; - -#if PD_MINOR_VERSION >= 37 && defined(PD_DEVEL_VERSION) - // set tooltip -// this is on a per-class basis... we cannot really use it here -// if(xi.desc && *xi.desc) class_settip(thisClass(),gensym(xi.desc)); -#endif - } - - for(int ix = 1; ix < incnt; ++ix,++cnt) { - xlet &xi = inlist[ix]; // points to first inlet - t_inlet *in = NULL; - switch(xi.tp) { - case xlet_float: - case xlet_int: { - if(ix > 9) { - // proxy inlet needed - (inlets[ix-1] = (px_object *)pd_new(px_class))->init(this,ix); // proxy for 2nd inlet messages - in = inlet_new(&x_obj->obj,&inlets[ix-1]->obj.ob_pd, (t_symbol *)sym_float, (t_symbol *)sym_float); - } - else { - inlets[ix-1] = NULL; - static char sym[] = " ft ?"; - sym[4] = '0'+ix; - in = inlet_new(&x_obj->obj, &x_obj->obj.ob_pd, (t_symbol *)sym_float, gensym(sym)); - } - break; - } - case xlet_sym: - (inlets[ix-1] = (px_object *)pd_new(px_class))->init(this,ix); // proxy for 2nd inlet messages - in = inlet_new(&x_obj->obj,&inlets[ix-1]->obj.ob_pd, (t_symbol *)sym_symbol, (t_symbol *)sym_symbol); - break; - case xlet_list: - (inlets[ix-1] = (px_object *)pd_new(px_class))->init(this,ix); // proxy for 2nd inlet messages - in = inlet_new(&x_obj->obj,&inlets[ix-1]->obj.ob_pd, (t_symbol *)sym_list, (t_symbol *)sym_list); - break; - case xlet_any: - (inlets[ix-1] = (px_object *)pd_new(px_class))->init(this,ix); // proxy for 2nd inlet messages - in = inlet_new(&x_obj->obj,&inlets[ix-1]->obj.ob_pd, 0, 0); - break; - case xlet_sig: - inlets[ix-1] = NULL; -#ifdef FLEXT_COMPATIBLE - if(inlist[ix-1].tp != xlet_sig) { - post("%s: All signal inlets must be left-aligned in compatibility mode",thisName()); - ok = false; - } - else -#endif - { - // pd is not able to handle signals and messages into the same inlet... - in = inlet_new(&x_obj->obj, &x_obj->obj.ob_pd, (t_symbol *)sym_signal, (t_symbol *)sym_signal); - ++insigs; - } - break; - default: - inlets[ix-1] = NULL; - error("%s: Wrong type for inlet #%i: %i",thisName(),ix,(int)inlist[ix].tp); - ok = false; - } - -#if PD_MINOR_VERSION >= 37 && defined(PD_DEVEL_VERSION) - // set tooltip - if(in && xi.desc && *xi.desc) inlet_settip(in,gensym(xi.desc)); -#endif - } - - incnt = cnt; - } -#elif FLEXT_SYS == FLEXT_SYS_MAX - { - int ix,cnt; - // count leftmost signal inlets - while(insigs < incnt && inlist[insigs].tp == xlet_sig) ++insigs; - - for(cnt = 0,ix = incnt-1; ix >= insigs; --ix,++cnt) { - xlet &xi = inlist[ix]; - if(!ix) { - if(xi.tp != xlet_any) { - error("%s: Leftmost inlet must be of type signal or anything",thisName()); - ok = false; - } - } - else { - FLEXT_ASSERT(inlets); - switch(xi.tp) { - case xlet_sig: - inlets[ix-1] = NULL; - error("%s: All signal inlets must be left-aligned",thisName()); - ok = false; - break; - case xlet_float: { - if(ix < 10) { - inlets[ix-1] = NULL; - floatin(x_obj,ix); - break; - } - else - goto makeproxy; - } - case xlet_int: { - if(ix < 10) { - inlets[ix-1] = NULL; - intin(x_obj,ix); - break; - } - else - goto makeproxy; - } - makeproxy: - case xlet_any: // non-leftmost - case xlet_sym: - case xlet_list: - inlets[ix-1] = (px_object *)proxy_new(x_obj,ix,&((flext_hdr *)x_obj)->curinlet); - break; - default: - inlets[ix-1] = NULL; - error("%s: Wrong type for inlet #%i: %i",thisName(),ix,(int)xi.tp); - ok = false; - } - } - } - - if(inlets) - while(ix >= 0) inlets[ix--] = NULL; - } -#else -#error -#endif - - return ok; -} - -bool flext_base::InitOutlets() -{ - bool ok = true; - int procattr = HasAttributes()?1:0; - - // outcnt has number of inlets (any type) - // outsigs should be 0 - - FLEXT_ASSERT(outsigs == 0); - - // ---------------------------------- - // create outlets - // ---------------------------------- - -#if FLEXT_SYS == FLEXT_SYS_MAX - // for Max/MSP the rightmost outlet has to be created first - outlet *attrtmp = NULL; - if(procattr) - attrtmp = (outlet *)newout_anything(thisHdr()); -#endif - -#if FLEXT_SYS == FLEXT_SYS_MAX - // copy outlet descriptions - outdesc = new char *[outcnt]; - for(int i = 0; i < outcnt; ++i) { - xlet &xi = outlist[i]; - outdesc[i] = xi.desc; - xi.desc = NULL; - } -#endif - -#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX - if(outcnt+procattr) - outlets = new outlet *[outcnt+procattr]; - else - outlets = NULL; - - // type info is now in list array -#if FLEXT_SYS == FLEXT_SYS_PD - for(int ix = 0; ix < outcnt; ++ix) -#elif FLEXT_SYS == FLEXT_SYS_MAX - for(int ix = outcnt-1; ix >= 0; --ix) -#else -#error -#endif - { - switch(outlist[ix].tp) { - case xlet_float: - outlets[ix] = (outlet *)newout_float(&x_obj->obj); - break; - case xlet_int: - outlets[ix] = (outlet *)newout_flint(&x_obj->obj); - break; - case xlet_sig: - outlets[ix] = (outlet *)newout_signal(&x_obj->obj); - ++outsigs; - break; - case xlet_sym: - outlets[ix] = (outlet *)newout_symbol(&x_obj->obj); - break; - case xlet_list: - outlets[ix] = (outlet *)newout_list(&x_obj->obj); - break; - case xlet_any: - outlets[ix] = (outlet *)newout_anything(&x_obj->obj); - break; -#ifdef FLEXT_DEBUG - default: - ERRINTERNAL(); - ok = false; -#endif - } - } -#else -#error -#endif - -#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX - if(procattr) { - // attribute dump outlet is the last one - outlets[outcnt] = -#if FLEXT_SYS == FLEXT_SYS_PD - // attribute dump outlet is the last one - (outlet *)newout_anything(&x_obj->obj); -#elif FLEXT_SYS == FLEXT_SYS_MAX - attrtmp; -#endif - - } -#endif - - return ok; -} - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flpopns.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flpopns.h.svn-base deleted file mode 100644 index 55aa4913b..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flpopns.h.svn-base +++ /dev/null @@ -1,38 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -#ifdef FLEXT_USE_NAMESPACE - -#ifndef _FLEXT_IN_NAMESPACE - #error flext namespace pop is unbalanced -#endif - -#define __FLEXT_IN_NAMESPACE (_FLEXT_IN_NAMESPACE-1) -#undef _FLEXT_IN_NAMESPACE -#define _FLEXT_IN_NAMESPACE __FLEXT_IN_NAMESPACE -#undef __FLEXT_IN_NAMESPACE - -#if _FLEXT_IN_NAMESPACE == 0 - - #if 1 //defined(FLEXT_SHARED) - } // namespace - using namespace flext_ns; - #elif defined(__GNUC__) - } // anonymous namespace (don't export symbols) - #endif - - #undef _FLEXT_IN_NAMESPACE - -#endif - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flprefix.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flprefix.h.svn-base deleted file mode 100644 index 12c968f20..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flprefix.h.svn-base +++ /dev/null @@ -1,452 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2008 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flprefix.h - \brief Try to find out the platform. -*/ - -#ifndef __FLEXT_PREFIX_H -#define __FLEXT_PREFIX_H - -// --- definitions for FLEXT_SYS --------------------- -#define FLEXT_SYS_UNKNOWN 0 - -#ifndef FLEXT_SYS_MAX - #define FLEXT_SYS_MAX 1 -#else - // already defined - #undef FLEXT_SYS_MAX - #define FLEXT_SYS_MAX 1 - #define FLEXT_SYS FLEXT_SYS_MAX -#endif - -#ifndef FLEXT_SYS_PD - #define FLEXT_SYS_PD 2 -#else - // already defined - #undef FLEXT_SYS_PD - #define FLEXT_SYS_PD 2 - #define FLEXT_SYS FLEXT_SYS_PD -#endif - -#ifndef FLEXT_SYS_JMAX - #define FLEXT_SYS_JMAX 3 -#else - // already defined - #undef FLEXT_SYS_JMAX - #define FLEXT_SYS_JMAX 3 - #define FLEXT_SYS FLEXT_SYS_JMAX -#endif - -// --- definitions for FLEXT_OS ---------------------- -#define FLEXT_OS_UNKNOWN 0 -#define FLEXT_OS_WIN 1 -#define FLEXT_OS_MAC 2 -#define FLEXT_OS_LINUX 3 -#define FLEXT_OS_IRIX 4 - -// --- definitions for FLEXT_OS_API --------------------- -#define FLEXT_OSAPI_UNKNOWN 0 - -#define FLEXT_OSAPI_UNIX_POSIX 1 - -#define FLEXT_OSAPI_MAC_CLASSIC 2 -#define FLEXT_OSAPI_MAC_CARBON 3 -#define FLEXT_OSAPI_MAC_MACH 4 - -#define FLEXT_OSAPI_WIN_NATIVE 5 // WIN32 Platform -#define FLEXT_OSAPI_WIN_POSIX 6 // POSIX API (e.g. cygwin) - -// --- definitions for FLEXT_CPU --------------------- -#define FLEXT_CPU_UNKNOWN 0 -#define FLEXT_CPU_IA32 1 -#define FLEXT_CPU_PPC 2 -#define FLEXT_CPU_MIPS 3 -#define FLEXT_CPU_ALPHA 4 - -#define FLEXT_CPU_IA64 5 // Itanium -#define FLEXT_CPU_X86_64 6 // AMD-K8, EMT64 -#define FLEXT_CPU_PPC64 7 // G5 in 64 bit mode - -// compatibility -#define FLEXT_CPU_INTEL FLEXT_CPU_IA32 - -// --- definitions for FLEXT_THREADS ----------------- -#define FLEXT_THR_POSIX 1 // pthreads -#define FLEXT_THR_WIN32 2 // Win32 native -#define FLEXT_THR_MP 3 // MacOS MPThreads - -// --------------------------------------------------- -// support old definitions - -#ifndef FLEXT_SYS - #if defined(MAXMSP) - #define FLEXT_SYS FLEXT_SYS_MAX - // #undef MAXMSP - #elif defined(PD) - #define FLEXT_SYS FLEXT_SYS_PD - // #undef PD - // #undef NT - #endif -#endif - -#if defined(_DEBUG) && !defined(FLEXT_DEBUG) - #define FLEXT_DEBUG -#endif - -// --------------------------------------------------- - -// Definition of supported real-time systems -#if FLEXT_SYS == FLEXT_SYS_MAX || FLEXT_SYS == FLEXT_SYS_PD -#else - #error "System must be defined by either FLEXT_SYS_MAX or FLEXT_SYS_PD" -#endif - -// Definition of OS/CPU -#if defined(_MSC_VER) || (defined(__ICC) && (FLEXT_OS == FLEXT_OS_WIN || defined(_WIN32))) - // Microsoft C++ - // and Intel C++ (as guessed) - - #ifndef FLEXT_CPU - #if defined(_M_AMD64) - #define FLEXT_CPU FLEXT_CPU_X86_64 - #elif defined(_M_IA64) - #define FLEXT_CPU FLEXT_CPU_IA64 - #elif defined(_M_IX86) - #define FLEXT_CPU FLEXT_CPU_IA32 - #elif defined(_M_PPC) - #define FLEXT_CPU FLEXT_CPU_PPC - #elif defined(_M_MRX000) - #define FLEXT_CPU FLEXT_CPU_MIPS - #elif defined(_M_ALPHA) - #define FLEXT_CPU FLEXT_CPU_ALPHA - #else - #define FLEXT_CPU FLEXT_CPU_UNKNOWN - #endif - #endif - - #ifndef FLEXT_OS - #if defined(_WIN32) || defined(_WIN64) - #define FLEXT_OS FLEXT_OS_WIN - #define FLEXT_OSAPI FLEXT_OSAPI_WIN_NATIVE - #else - #define FLEXT_OS FLEXT_OS_UNKNOWN - #define FLEXT_OSAPI FLEXT_OSAPI_UNKNOWN - #endif - #endif - - -#elif defined(__BORLANDC__) - // Borland C++ - - #ifndef FLEXT_CPU - #define FLEXT_CPU FLEXT_CPU_INTEL - #endif - #ifndef FLEXT_OS - #define FLEXT_OS FLEXT_OS_WIN - #define FLEXT_OSAPI FLEXT_OSAPI_WIN_NATIVE - #else - #define FLEXT_OSAPI FLEXT_OSAPI_UNKNOWN - #endif - - -#elif defined(__MWERKS__) - // Metrowerks CodeWarrior - - #ifdef __MACH__ - // quick fix for OSX Mach-O - #ifdef __POWERPC__ - #ifdef __LP64__ - #define TARGET_CPU_PPC64 1 - #else - #define TARGET_CPU_PPC 1 - #endif - #else - #ifdef __LP64__ - #define TARGET_CPU_X86_64 1 - #else - #define TARGET_CPU_IA32 1 - #endif - #endif - #define TARGET_OS_MAC 1 - #define TARGET_API_MAC_OSX 1 - #else - #ifndef __CONDITIONALMACROS__ - #include <ConditionalMacros.h> - #endif - #endif - - #ifndef FLEXT_CPU - #if TARGET_CPU_X86_64 - #define FLEXT_CPU FLEXT_CPU_X86_64 - #elif TARGET_CPU_X86 - #define FLEXT_CPU FLEXT_CPU_IA32 - #elif TARGET_CPU_PPC64 - #define FLEXT_CPU FLEXT_CPU_PPC64 - #elif TARGET_CPU_PPC - #define FLEXT_CPU FLEXT_CPU_PPC - #elif TARGET_CPU_MIPS - #define FLEXT_CPU FLEXT_CPU_MIPS - #elif TARGET_CPU_ALPHA - #define FLEXT_CPU FLEXT_CPU_ALPHA - #else - #define FLEXT_CPU FLEXT_CPU_UNKNOWN - #endif - #endif - - #ifndef FLEXT_OS - #if TARGET_OS_MAC - #define FLEXT_OS FLEXT_OS_MAC - #elif TARGET_OS_WIN32 - // assume Windows - #define FLEXT_OS FLEXT_OS_WIN - #else - #define FLEXT_OS FLEXT_OS_UNKNOWN - #endif - #endif - - #ifndef FLEXT_OSAPI - #if TARGET_API_MAC_MACH - // this is for Mach-O - // this has the precedence (MACH also supports Carbon, of course) - #define FLEXT_OSAPI FLEXT_OSAPI_MAC_MACH - #elif TARGET_API_MAC_CARBON - // this is for CFM - #define FLEXT_OSAPI FLEXT_OSAPI_MAC_CARBON - #else - #define FLEXT_OSAPI FLEXT_OSAPI_UNKNOWN - #endif - #endif - - // This is important for method and attribute callbacks - #pragma enumsalwaysint on - // This is important for everything - #pragma bool on - -#elif defined(__GNUG__) || (defined(__ICC) && (FLEXT_OS == FLEXT_OS_LINUX || defined(linux) || defined(__linux__))) - - // GNU C++ - // and Intel (as suggested by Tim Blechmann) - - #ifndef FLEXT_CPU - #if defined(__x86_64__) - #define FLEXT_CPU FLEXT_CPU_X86_64 - #elif defined(_X86_) || defined(__i386__) || defined(__i586__) || defined(__i686__) - #define FLEXT_CPU FLEXT_CPU_IA32 - #elif defined(__ppc64__) - #define FLEXT_CPU FLEXT_CPU_PPC64 - #elif defined(__ppc__) - #define FLEXT_CPU FLEXT_CPU_PPC - #elif defined(__MIPS__) - #define FLEXT_CPU FLEXT_CPU_MIPS - #else - #define FLEXT_CPU FLEXT_CPU_UNKNOWN - #endif - #endif - - #ifndef FLEXT_OS - #if defined(linux) || defined(__linux__) - #define FLEXT_OS FLEXT_OS_LINUX - #elif defined(__CYGWIN__) || defined(__CYGWIN32__) || defined(__MINGW32__) - #define FLEXT_OS FLEXT_OS_WIN - #elif defined(__APPLE__) && defined(__MACH__) - #define FLEXT_OS FLEXT_OS_MAC - // how about IRIX?? - #else - #define FLEXT_OS FLEXT_OS_UNKNOWN - #endif - #endif - - #ifndef FLEXT_OSAPI - #if FLEXT_OS == FLEXT_OS_MAC - #define FLEXT_OSAPI FLEXT_OSAPI_MAC_MACH - #elif FLEXT_OS == FLEXT_OS_WIN - #if defined(__MINGW32__) - #define FLEXT_OSAPI FLEXT_OSAPI_WIN_NATIVE - #else - #define FLEXT_OSAPI FLEXT_OSAPI_WIN_POSIX - #endif - #elif FLEXT_OS == FLEXT_OS_LINUX || FLEXT_OS == FLEXT_OS_IRIX - #define FLEXT_OSAPI FLEXT_OSAPI_UNIX_POSIX - #else - #define FLEXT_OSAPI FLEXT_OSAPI_UNKNOWN - #endif - #endif - -#elif defined(__MRC__) && defined(MPW_CPLUS) - // Apple MPW MrCpp - - #if __MRC__ < 0x500 - #error Apple MPW MrCpp v.5.0.0 or later compiler required - #endif - - #ifndef FLEXT_CPU - #if defined(__POWERPC__) - #define FLEXT_CPU FLEXT_CPU_PPC - #else - #define FLEXT_CPU FLEXT_CPU_UNKNOWN - #endif - #endif - - #ifndef FLEXT_OS - #if defined(macintosh) - #define FLEXT_OS FLEXT_OS_MAC - #else - #define FLEXT_OS FLEXT_OS_UNKNOWN - #endif - #endif - - #ifndef FLEXT_OSAPI - #if FLEXT_OS == FLEXT_OS_MAC - #define FLEXT_OSAPI FLEXT_OSAPI_MAC_CLASSIC - #else - #define FLEXT_OSAPI FLEXT_OSAPI_UNKNOWN - #endif - #endif -#endif - - - -#if FLEXT_OS == FLEXT_OS_WIN -// #pragma message("Compiling for Windows") - - #if FLEXT_SYS == FLEXT_SYS_MAX -// #define WIN_VERSION 1 - #elif FLEXT_SYS == FLEXT_SYS_PD -// #define PD -// #define NT - #endif -#elif FLEXT_OS == FLEXT_OS_LINUX -// #pragma message("Compiling for Linux") - - #if FLEXT_SYS == FLEXT_SYS_PD -// #define PD - #else - #error "Flext SYS/OS combination unknown" - #endif -#elif FLEXT_OS == FLEXT_OS_IRIX -// #pragma message("Compiling for Irix") - - #if FLEXT_SYS == FLEXT_SYS_PD -// #define PD - #else - #error "Flext SYS/OS combination unknown" - #endif -#elif FLEXT_OS == FLEXT_OS_MAC -// #pragma message("Compiling for MacOS") - - #if FLEXT_SYS == FLEXT_SYS_PD -// #define PD - #endif -#else - #error "Operating system could not be determined" -#endif - -#if FLEXT_SYS == FLEXT_SYS_MAX -// #pragma message("Compiling for Max/MSP") -#elif FLEXT_SYS == FLEXT_SYS_PD -// #pragma message("Compiling for PD") -#endif - -// ----- set threading model ----- -// shared builds are always threaded -#ifdef FLEXT_SHARED - #undef FLEXT_THREADS - #define FLEXT_THREADS -#endif - -#ifdef FLEXT_THREADS - #undef FLEXT_THREADS - #if FLEXT_SYS == FLEXT_SYS_MAX && FLEXT_OS == FLEXT_OS_MAC && FLEXT_OSAPI != FLEXT_OSAPI_MAC_MACH - // Max for CFM doesn't like posix threads - #define FLEXT_THREADS FLEXT_THR_MP - #elif FLEXT_SYS == FLEXT_SYS_MAX && FLEXT_OS == FLEXT_OS_WIN - // for wmax use native Windows threads - #define FLEXT_THREADS FLEXT_THR_WIN32 - #else - #define FLEXT_THREADS FLEXT_THR_POSIX - #endif -#endif - -// ----- macros for class names ----- -/* - With linux (flat linker namespace) and more than one flext-based external loaded all calls to static - exported functions refer to the first instance loaded! - Therefore different class names are used so that the correct type of flext function is called. -*/ -#ifdef __DOXYGEN__ - #define FLEXT_CLASSDEF(CL) CL -#elif defined(FLEXT_DEBUG) - #if defined(FLEXT_SHARED) - #define FLEXT_CLASSDEF(CL) CL##_shared_d - #elif defined(FLEXT_THREADS) - #define FLEXT_CLASSDEF(CL) CL##_multi_d - #else - #define FLEXT_CLASSDEF(CL) CL##_single_d - #endif -#else - #if defined(FLEXT_SHARED) - #define FLEXT_CLASSDEF(CL) CL##_shared - #elif defined(FLEXT_THREADS) - #define FLEXT_CLASSDEF(CL) CL##_multi - #else - #define FLEXT_CLASSDEF(CL) CL##_single - #endif -#endif - - -/* Set the right calling convention (and exporting) for the OS */ - -#if defined(_MSC_VER) - #ifdef FLEXT_SHARED - // for compiling a shared flext library FLEXT_EXPORTS must be defined - #ifdef FLEXT_EXPORTS - #define FLEXT_SHARE __declspec(dllexport) - #else - #define FLEXT_SHARE __declspec(dllimport) - #endif - #else - #define FLEXT_SHARE - #endif - #define FLEXT_EXT __declspec(dllexport) -#else // other OS's - #define FLEXT_SHARE - #define FLEXT_EXT -#endif - - -// std namespace -#ifdef __MWERKS__ -# define STD std -#else -# define STD -#endif - -// branching hints -#if __GNUC__ >= 3 -# ifndef LIKELY -# define LIKELY(expression) (__builtin_expect(!!(expression), 1)) -# endif -# ifndef UNLIKELY -# define UNLIKELY(expression) (__builtin_expect(!!(expression), 0)) -# endif -#else -# ifndef LIKELY -# define LIKELY(expression) (expression) -# endif -# ifndef UNLIKELY -# define UNLIKELY(expression) (expression) -# endif -#endif - -#endif // __FLEXT_PREFIX_H diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flproxy.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flproxy.cpp.svn-base deleted file mode 100644 index 66d83aaab..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flproxy.cpp.svn-base +++ /dev/null @@ -1,243 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flproxy.cpp - \brief Proxy classes for the flext base class. -*/ - -#include "flext.h" -#include "flinternal.h" - -#include "flpushns.h" - -// === proxy class for flext_base ============================ - -#if FLEXT_SYS == FLEXT_SYS_PD - -t_class *flext_base::px_class = NULL; - -void flext_base::px_object::px_bang(px_object *obj) -{ - Locker lock(obj->base); - obj->base->CbMethodHandler(obj->index,sym_bang,0,NULL); -} - -void flext_base::px_object::px_float(px_object *obj,t_float f) -{ - t_atom a; SetFloat(a,f); - Locker lock(obj->base); - obj->base->CbMethodHandler(obj->index,sym_float,1,&a); -} - -void flext_base::px_object::px_symbol(px_object *obj,const t_symbol *s) -{ - t_atom a; SetSymbol(a,s); - Locker lock(obj->base); - obj->base->CbMethodHandler(obj->index,sym_symbol,1,&a); -} - -/* -void flext_base::px_object::px_pointer(px_object *obj,const t_gpointer *p) -{ - t_atom a; SetPointer(a,p); - Locker lock(obj->base); - obj->base->CbMethodHandler(obj->index,sym_pointer,1,&a); -} -*/ - -void flext_base::px_object::px_anything(px_object *obj,const t_symbol *s,int argc,t_atom *argv) -{ - Locker lock(obj->base); - obj->base->CbMethodHandler(obj->index,s,argc,argv); -} - -void flext_base::cb_bang(flext_hdr *c) -{ - Locker lock(c); - thisObject(c)->CbMethodHandler(0,sym_bang,0,NULL); -} - -void flext_base::cb_float(flext_hdr *c,t_float f) -{ - t_atom a; SetFloat(a,f); - Locker lock(c); - thisObject(c)->CbMethodHandler(0,sym_float,1,&a); -} - -void flext_base::cb_symbol(flext_hdr *c,const t_symbol *s) -{ - t_atom a; SetSymbol(a,s); - Locker lock(c); - thisObject(c)->CbMethodHandler(0,sym_symbol,1,&a); -} - -/* -void flext_base::cb_pointer(flext_hdr *c,const t_gpointer *p) -{ - t_atom a; SetPointer(a,p); - Locker lock(c); - thisObject(c)->CbMethodHandler(0,sym_pointer,1,&a); -} -*/ - -void flext_base::cb_anything(flext_hdr *c,const t_symbol *s,int argc,t_atom *argv) -{ - Locker lock(c); - if(UNLIKELY(!s)) { - // apparently, this happens only in one case... object is a DSP object, but has no main DSP inlet... - - // interpret tag from args - if(!argc) - s = sym_bang; - else if(argc == 1) { - if(IsFloat(*argv)) - s = sym_float; - else if(IsSymbol(*argv)) - s = sym_symbol; - else if(IsPointer(*argv)) - s = sym_pointer; - else - FLEXT_ASSERT(false); - } - else - s = sym_list; - } - - thisObject(c)->CbMethodHandler(0,s,argc,argv); -} - -#define DEF_PROXYMSG(IX) \ -void flext_base::cb_px_ft ## IX(flext_hdr *c,t_float v) { t_atom atom; SetFloat(atom,v); Locker lock(c); thisObject(c)->CbMethodHandler(IX,sym_float,1,&atom); } - -#define ADD_PROXYMSG(c,IX) \ -add_method1(c,cb_px_ft ## IX," ft " #IX,A_FLOAT) - -//AddMethod(c,0,flext::MakeSymbol("ft" #IX),cb_px_ft ## IX) - - -#elif FLEXT_SYS == FLEXT_SYS_MAX - -void flext_base::cb_anything(flext_hdr *c,const t_symbol *s,short argc,t_atom *argv) -{ - Locker lock(c); - int const ci = proxy_getinlet((t_object *)&c->obj); -// post("%s %i, cb_anything(%i)",__FILE__,__LINE__,ci); - thisObject(c)->CbMethodHandler(ci,s,argc,argv); -} - -void flext_base::cb_int(flext_hdr *c,long v) -{ - t_atom atom; SetInt(atom,v); - Locker lock(c); - int const ci = proxy_getinlet((t_object *)&c->obj); - thisObject(c)->CbMethodHandler(ci,sym_int,1,&atom); -} - -void flext_base::cb_float(flext_hdr *c,double v) -{ - t_atom atom; SetFloat(atom,v); - Locker lock(c); - int const ci = proxy_getinlet((t_object *)&c->obj); - thisObject(c)->CbMethodHandler(ci,sym_float,1,&atom); -} - -void flext_base::cb_bang(flext_hdr *c) -{ - Locker lock(c); - int const ci = proxy_getinlet((t_object *)&c->obj); - thisObject(c)->CbMethodHandler(ci,sym_bang,0,NULL); -} - - -#define DEF_PROXYMSG(IX) \ -void flext_base::cb_px_in ## IX(flext_hdr *c,long v) { t_atom atom; SetInt(atom,v); Locker lock(c); thisObject(c)->CbMethodHandler(IX,sym_int,1,&atom); } \ -void flext_base::cb_px_ft ## IX(flext_hdr *c,double v) { t_atom atom; SetFloat(atom,v); Locker lock(c); thisObject(c)->CbMethodHandler(IX,sym_float,1,&atom); } - -/* -void flext_base::cb_px_in ## IX(flext_hdr *c,long v) { t_atom atom; SetInt(atom,v); Locker lock(c); thisObject(c)->CbMethodHandler(IX,sym_int,1,&atom); } \ -void flext_base::cb_px_ft ## IX(flext_hdr *c,double v) { t_atom atom; SetFloat(atom,v); Locker lock(c); thisObject(c)->CbMethodHandler(IX,sym_float,1,&atom); } -*/ - -#define ADD_PROXYMSG(c,IX) \ -addinx((method)(cb_px_in ## IX),IX); \ -addftx((method)(cb_px_ft ## IX),IX) - -/* -add_method1(c,cb_px_in ## IX,"in" #IX,A_INT); \ -add_method1(c,cb_px_ft ## IX,"ft" #IX,A_FLOAT) - -AddMethod(c,0,flext::MakeSymbol("in" #IX),cb_px_in ## IX); \ -AddMethod(c,0,flext::MakeSymbol("ft" #IX),cb_px_ft ## IX) -*/ - -#endif - -#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX - -DEF_PROXYMSG(1) -DEF_PROXYMSG(2) -DEF_PROXYMSG(3) -DEF_PROXYMSG(4) -DEF_PROXYMSG(5) -DEF_PROXYMSG(6) -DEF_PROXYMSG(7) -DEF_PROXYMSG(8) -DEF_PROXYMSG(9) - - -void flext_base::SetProxies(t_class *c,bool dsp) -{ -#if FLEXT_SYS == FLEXT_SYS_PD - // for leftmost inlet - class_addbang(c,cb_bang); - if(!dsp) class_addfloat(c,cb_float); - class_addsymbol(c,cb_symbol); -// class_addpointer(c,cb_pointer); - class_addlist(c,cb_anything); - class_addanything(c,cb_anything); - - // proxy for extra inlets - if(UNLIKELY(!px_class)) { - // only once - px_class = class_new(gensym(const_cast<char *>(" flext_base proxy ")),NULL,NULL,sizeof(px_object),CLASS_PD|CLASS_NOINLET, A_NULL); - class_addbang(px_class,px_object::px_bang); // for other inlets - class_addfloat(px_class,px_object::px_float); // for other inlets - class_addsymbol(px_class,px_object::px_symbol); // for other inlets -// class_addpointer(px_class,px_object::px_pointer); // for other inlets - class_addlist(px_class,px_object::px_anything); // for other inlets - class_addanything(px_class,px_object::px_anything); // for other inlets - } -#elif FLEXT_SYS == FLEXT_SYS_MAX - addbang((method)cb_bang); - addint((method)cb_int); - addfloat((method)cb_float); - addmess((method)cb_anything,"list",A_GIMME,A_NOTHING); // must be explicitly given, otherwise list elements are distributed over inlets - addmess((method)cb_anything,"anything",A_GIMME,A_NOTHING); -#else -#error Not implemented! -#endif - - // setup non-leftmost ints and floats - ADD_PROXYMSG(c,1); - ADD_PROXYMSG(c,2); - ADD_PROXYMSG(c,3); - ADD_PROXYMSG(c,4); - ADD_PROXYMSG(c,5); - ADD_PROXYMSG(c,6); - ADD_PROXYMSG(c,7); - ADD_PROXYMSG(c,8); - ADD_PROXYMSG(c,9); -} -#endif - -#include "flpopns.h" diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flpushns.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flpushns.h.svn-base deleted file mode 100644 index 2c7dec554..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flpushns.h.svn-base +++ /dev/null @@ -1,35 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -#ifdef FLEXT_USE_NAMESPACE - -#ifndef _FLEXT_IN_NAMESPACE - #define _FLEXT_IN_NAMESPACE 0 -#endif - -#if _FLEXT_IN_NAMESPACE == 0 - - #if 1 //defined(FLEXT_SHARED) - namespace flext_ns { - #elif defined(__GNUC__) - namespace { // anonymous namespace (don't export symbols) - #endif - -#endif - -#define __FLEXT_IN_NAMESPACE (_FLEXT_IN_NAMESPACE+1) -#undef _FLEXT_IN_NAMESPACE -#define _FLEXT_IN_NAMESPACE __FLEXT_IN_NAMESPACE -#undef __FLEXT_IN_NAMESPACE - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flqueue.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flqueue.cpp.svn-base deleted file mode 100644 index 6536ef292..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flqueue.cpp.svn-base +++ /dev/null @@ -1,691 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flqueue.cpp - \brief Implementation of the flext message queuing functionality. - - \todo Let's see if queuing can be implemented for Max/MSP with defer_low - - if FLEXT_PDLOCK is defined, the new PD thread lock functions are used -*/ - -#include "flext.h" -#include "flinternal.h" -#include "flcontainers.h" -#include <cstring> // for memcpy - -#include "flpushns.h" - -#ifdef FLEXT_THREADS -//! Thread id of message queue thread -flext::thrid_t flext::thrmsgid; -#endif - -static bool qustarted = false; - -#ifdef FLEXT_SHARED -/* - For the shared version it _should_ be possible to have only one queue for all externals. - Yet I don't know how to do this cross-platform -*/ -#define PERMANENTIDLE -#endif - -static void Trigger(); - - -class flext::MsgBundle; - -class QueueFifo - : public PooledFifo<flext::MsgBundle> -{ -public: - ~QueueFifo(); -}; - -class Queue: - public flext, - public QueueFifo -{ -public: - inline bool Empty() const { return !Avail(); } - - inline void Push(MsgBundle *m); // defined after MsgBundle (gcc 3.3. won't take it otherwise...) -}; - -static Queue queue; - - -#define STATSIZE 8 - -class flext::MsgBundle: - public flext, - public FifoCell -{ -public: - static MsgBundle *New() - { - MsgBundle *m = queue.New(); - m->msg.Init(); - return m; - } - - static void Free(MsgBundle *m) - { - for(Msg *mi = m->msg.nxt; mi; ) { - Msg *mn = mi->nxt; - mi->Free(); - delete mi; - mi = mn; - } - m->msg.Free(); - queue.Free(m); - } - - bool BelongsTo(flext_base *t) const - { - return !msg.nxt && msg.BelongsTo(t); - } - - void Idle(flext_base *t) - { - Get()->Idle(t); - } - - void Idle(bool (*idlefun)(int argc,const t_atom *argv),int argc,const t_atom *argv) - { - Get()->Idle(idlefun,argc,argv); - } - - inline MsgBundle &Add(flext_base *t,int o,const t_symbol *s,int ac,const t_atom *av) - { - Get()->Set(t,o,s,ac,av); - return *this; - } - - inline MsgBundle &Add(const t_symbol *r,const t_symbol *s,int ac,const t_atom *av) - { - Get()->Set(r,s,ac,av); - return *this; - } - - inline MsgBundle &Add(flext_base *th,int o) // bang - { - return Add(th,o,sym_bang,0,NULL); - } - - inline MsgBundle &Add(flext_base *th,int o,float dt) - { - t_atom at; - SetFloat(at,dt); - return Add(th,o,sym_float,1,&at); - } - - inline MsgBundle &Add(flext_base *th,int o,int dt) - { - t_atom at; - SetInt(at,dt); - const t_symbol *sym; -#if FLEXT_SYS == FLEXT_SYS_PD - sym = sym_float; -#elif FLEXT_SYS == FLEXT_SYS_MAX - sym = sym_int; -#else -#error Not implemented! -#endif - return Add(th,o,sym,1,&at); - } - - inline MsgBundle &Add(flext_base *th,int o,const t_symbol *dt) - { - t_atom at; - SetSymbol(at,dt); - return Add(th,o,sym_symbol,1,&at); - } - - inline MsgBundle &Add(flext_base *th,int o,const t_atom &a) - { - const t_symbol *sym; - if(IsSymbol(a)) - sym = sym_symbol; - else if(IsFloat(a)) - sym = sym_float; -#if FLEXT_SYS == FLEXT_SYS_MAX - else if(IsInt(a)) - sym = sym_int; -#endif -#if FLEXT_SYS == FLEXT_SYS_PD - else if(IsPointer(a)) - sym = sym_pointer; -#endif - else { - error("atom type not supported"); - return *this; - } - return Add(th,o,sym,1,&a); - } - - inline MsgBundle &Add(flext_base *th,int o,int argc,const t_atom *argv) - { - return Add(th,o,sym_list,argc,argv); - } - - // \note PD sys lock must already be held by caller - inline bool Send() const - { - if(!msg.Ok()) return false; // Empty! - - const Msg *m = &msg; - do { - if(m->Send()) { - // we should re-enqeue the message... it can't be a real bundle then, only a solo message - FLEXT_ASSERT(!m->nxt); - return true; - } - m = m->nxt; - } while(m); - return false; - } - -private: - - class Msg { - public: - inline bool Ok() const { return th || recv; } - - void Init() - { - th = NULL; - recv = NULL; - nxt = NULL; - argc = 0; - } - - void Free() - { - if(argc > STATSIZE) { - FLEXT_ASSERT(argv); - delete[] argv; - } - } - - //! Attention: works only for solo messages, not real bundles!! - bool BelongsTo(flext_base *t) const - { - FLEXT_ASSERT(!nxt); - return th == t; - } - - void Set(flext_base *t,int o,const t_symbol *s,int ac,const t_atom *av) - { - FLEXT_ASSERT(t); - th = t; - out = o; - SetMsg(s,ac,av); - } - - void Set(const t_symbol *r,const t_symbol *s,int ac,const t_atom *av) - { - FLEXT_ASSERT(r); - th = NULL; - recv = r; - SetMsg(s,ac,av); - } - - void Idle(flext_base *t) - { - FLEXT_ASSERT(t); - th = t; - SetMsg(NULL,0,NULL); - } - - void Idle(bool (*idlefun)(int argc,const t_atom *argv),int argc,const t_atom *argv) - { - FLEXT_ASSERT(idlefun); - th = NULL; - fun = idlefun; - SetMsg(NULL,argc,argv); - } - - bool Send() const - { - if(LIKELY(sym)) { - // messages - if(th) { - if(UNLIKELY(out < 0)) - // message to self - th->CbMethodHandler(-1-out,sym,argc,argc > STATSIZE?argv:argl); - else - // message to outlet - th->ToSysAnything(out,sym,argc,argc > STATSIZE?argv:argl); - } - else - flext::SysForward(recv,sym,argc,argc > STATSIZE?argv:argl); - return false; - } - else { - // idle processing - if(th) - // call virtual method - return th->CbIdle(); - else - // call static function - return (*fun)(argc,argc > STATSIZE?argv:argl); - } - } - - Msg *nxt; - - protected: - flext_base *th; - union { - int out; - const t_symbol *recv; - bool (*fun)(int argc,const t_atom *argv); - }; - const t_symbol *sym; - int argc; - union { - t_atom *argv; - t_atom argl[STATSIZE]; - }; - - void SetMsg(const t_symbol *s,int cnt,const t_atom *lst) - { - sym = s; - argc = cnt; - if(UNLIKELY(cnt > STATSIZE)) { - argv = new t_atom[cnt]; - flext::CopyAtoms(cnt,argv,lst); - } - else - flext::CopyAtoms(cnt,argl,lst); - } - - } msg; - - Msg *Get() - { - Msg *m = &msg; - if(LIKELY(m->Ok())) { - for(; m->nxt; m = m->nxt) {} - m = m->nxt = new Msg; - m->Init(); - } - return m; - } -}; - -QueueFifo::~QueueFifo() -{ - flext::MsgBundle *n; - while((n = Get()) != NULL) delete n; -} - -inline void Queue::Push(MsgBundle *m) -{ - if(LIKELY(m)) { - Put(m); - Trigger(); - } -} - -#if FLEXT_QMODE == 2 -static flext::ThrCond qthrcond; -#elif FLEXT_QMODE == 0 -//static t_qelem *qclk = NULL; -static t_clock *qclk = NULL; -#endif - - -#define CHUNK 10 - -#if FLEXT_QMODE == 1 -static bool QWork(bool syslock,flext_base *flushobj = NULL) -{ - // Since qcnt can only be increased from any other function than QWork - // qc will be a minimum guaranteed number of present queue elements. - // On the other hand, if new queue elements are added by the methods called - // in the loop, these will be sent in the next tick to avoid recursion overflow. - flext::MsgBundle *q; - if((q = queue.Get()) == NULL) - return false; - else if(q->Send()) { - if(!flushobj || !q->BelongsTo(flushobj)) - queue.Push(q); // remember messages to be processed again - else - flext::MsgBundle::Free(q); - return true; - } - else { - flext::MsgBundle::Free(q); - return false; - } -} -#else -static bool QWork(bool syslock,flext_base *flushobj = NULL) -{ - Queue newmsgs; - flext::MsgBundle *q; - -#if 0 - static int counter = 0; - fprintf(stderr,"QWORK %i\n",counter++); -#endif - - for(;;) { - // Since qcnt can only be increased from any other function than QWork - // qc will be a minimum guaranteed number of present queue elements. - // On the other hand, if new queue elements are added by the methods called - // in the loop, these will be sent in the next tick to avoid recursion overflow. - if(!queue.Avail()) break; - - #if FLEXT_QMODE == 2 - if(syslock) flext::Lock(); - #endif - - while((q = queue.Get()) != NULL) { - if(q->Send()) - newmsgs.Push(q); // remember messages to be processed again - else - flext::MsgBundle::Free(q); - } - - #if FLEXT_QMODE == 2 - if(syslock) flext::Unlock(); - #endif - - } - - // enqueue messages that have to be processed again - while((q = newmsgs.Get()) != NULL) - if(!flushobj || !q->BelongsTo(flushobj)) - queue.Push(q); - else - flext::MsgBundle::Free(q); - - return queue.Avail(); -} -#endif - -#if FLEXT_QMODE == 0 -#if FLEXT_SYS == FLEXT_SYS_JMAX -static void QTick(fts_object_t *c,int winlet, fts_symbol_t s, int ac, const fts_atom_t *at) -{ -#else -static void QTick(flext_base *c) -{ -#endif - QWork(false); -} - -#elif FLEXT_QMODE == 1 -# ifndef PERMANENTIDLE - static bool qtickactive = false; -# endif -static t_int QTick(t_int *) -{ -#ifndef PERMANENTIDLE - qtickactive = false; -#endif - - if(QWork(false)) - return 1; - else { -# ifdef PERMANENTIDLE - // will be run in the next idle cycle - return 2; -# else - // won't be run again - // for non-shared externals assume that there's rarely a message waiting - // so it's better to delete the callback meanwhile - return 0; -# endif - } -} -#endif - -/* -It would be sufficient to only flush messages belonging to object th -But then the order of sent messages is not as intended -*/ -void flext_base::QFlush(flext_base *th) -{ - FLEXT_ASSERT(!IsThreadRegistered()); - while(!queue.Empty()) QWork(false,th); -} - -static void Trigger() -{ -#if FLEXT_SYS == FLEXT_SYS_PD -# if FLEXT_QMODE == 2 - // wake up worker thread - qthrcond.Signal(); -# elif FLEXT_QMODE == 1 && !defined(PERMANENTIDLE) - if(!qtickactive) { - sys_callback(QTick,NULL,0); - qtickactive = true; - } -# elif FLEXT_QMODE == 0 -# ifdef FLEXT_THREADS - bool sys = flext::IsThread(flext::GetSysThreadId()); -# else - bool sys = true; -# endif - if(!sys) flext::Lock(); - clock_delay(qclk,0); - if(!sys) flext::Unlock(); -# endif -#elif FLEXT_SYS == FLEXT_SYS_MAX -# if FLEXT_QMODE == 0 -// qelem_front(qclk); - clock_delay(qclk,0); -# endif -#else -# error Not implemented -#endif -} - -#if FLEXT_QMODE == 2 -void flext_base::QWorker(thr_params *) -{ - thrmsgid = GetThreadId(); - qustarted = true; - for(;;) { - // we need a timed wait so that idle processing can take place - qthrcond.TimedWait(0.001); - QWork(true); - } -} -#endif - -void flext_base::StartQueue() -{ - if(qustarted) return; -#if FLEXT_QMODE == 1 -# ifdef PERMANENTIDLE - sys_callback(QTick,NULL,0); - qustarted = true; -# endif -#elif FLEXT_QMODE == 2 - LaunchThread(QWorker,NULL); - // very unelegant... but waiting should be ok, since happens only on loading - while(!qustarted) Sleep(0.001); -#elif FLEXT_QMODE == 0 && (FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX) -// qclk = (t_qelem *)(qelem_new(NULL,(t_method)QTick)); - qclk = (t_clock *)(clock_new(NULL,(t_method)QTick)); - qustarted = true; -#else -# error Not implemented! -#endif -} - -flext::MsgBundle *flext::MsgNew() -{ - return MsgBundle::New(); -} - -void flext::MsgFree(MsgBundle *m) -{ - MsgBundle::Free(m); -} - -void flext::ToSysMsg(MsgBundle *m) -{ - m->Send(); - queue.Free(m); -} - -void flext::ToQueueMsg(MsgBundle *m) -{ - queue.Push(m); -} - - - -void flext_base::ToQueueBang(int o) const -{ - MsgBundle *m = MsgBundle::New(); - m->Add(const_cast<flext_base *>(this),o); - queue.Push(m); -} - -void flext_base::ToQueueFloat(int o,float f) const -{ - MsgBundle *m = MsgBundle::New(); - m->Add(const_cast<flext_base *>(this),o,f); - queue.Push(m); -} - -void flext_base::ToQueueInt(int o,int f) const -{ - MsgBundle *m = MsgBundle::New(); - m->Add(const_cast<flext_base *>(this),o,f); - queue.Push(m); -} - -void flext_base::ToQueueSymbol(int o,const t_symbol *s) const -{ - MsgBundle *m = MsgBundle::New(); - m->Add(const_cast<flext_base *>(this),o,s); - queue.Push(m); -} - -void flext_base::ToQueueAtom(int o,const t_atom &at) const -{ - MsgBundle *m = MsgBundle::New(); - m->Add(const_cast<flext_base *>(this),o,at); - queue.Push(m); -} - -void flext_base::ToQueueList(int o,int argc,const t_atom *argv) const -{ - MsgBundle *m = MsgBundle::New(); - m->Add(const_cast<flext_base *>(this),o,argc,argv); - queue.Push(m); -} - -void flext_base::ToQueueAnything(int o,const t_symbol *s,int argc,const t_atom *argv) const -{ - MsgBundle *m = MsgBundle::New(); - m->Add(const_cast<flext_base *>(this),o,s,argc,argv); - queue.Push(m); -} - - -void flext_base::MsgAddBang(MsgBundle *m,int n) const -{ - m->Add(const_cast<flext_base *>(this),n); -} - -void flext_base::MsgAddFloat(MsgBundle *m,int n,float f) const -{ - m->Add(const_cast<flext_base *>(this),n,f); -} - -void flext_base::MsgAddInt(MsgBundle *m,int n,int f) const -{ - m->Add(const_cast<flext_base *>(this),n,f); -} - -void flext_base::MsgAddSymbol(MsgBundle *m,int n,const t_symbol *s) const -{ - m->Add(const_cast<flext_base *>(this),n,s); -} - -void flext_base::MsgAddAtom(MsgBundle *m,int n,const t_atom &at) const -{ - m->Add(const_cast<flext_base *>(this),n,at); -} - -void flext_base::MsgAddList(MsgBundle *m,int n,int argc,const t_atom *argv) const -{ - m->Add(const_cast<flext_base *>(this),n,argc,argv); -} - -void flext_base::MsgAddAnything(MsgBundle *m,int n,const t_symbol *s,int argc,const t_atom *argv) const -{ - m->Add(const_cast<flext_base *>(this),n,s,argc,argv); -} - - - - -bool flext::SysForward(const t_symbol *recv,const t_symbol *s,int argc,const t_atom *argv) -{ - void *cl = recv->s_thing; - if(UNLIKELY(!cl)) return false; - -#if FLEXT_SYS == FLEXT_SYS_PD - pd_typedmess((t_class **)cl,(t_symbol *)s,argc,(t_atom *)argv); -#elif FLEXT_SYS == FLEXT_SYS_MAX - typedmess(recv->s_thing,(t_symbol *)s,argc,(t_atom *)argv); -#else -# error Not implemented -#endif - return true; -} - -bool flext::QueueForward(const t_symbol *recv,const t_symbol *s,int argc,const t_atom *argv) -{ - MsgBundle *m = MsgBundle::New(); - m->Add(recv,s,argc,argv); - // send over queue - queue.Push(m); - return true; -} - -bool flext::MsgForward(MsgBundle *m,const t_symbol *recv,const t_symbol *s,int argc,const t_atom *argv) -{ - m->Add(recv,s,argc,argv); - return true; -} - -void flext_base::AddIdle() -{ - MsgBundle *m = MsgBundle::New(); - m->Idle(const_cast<flext_base *>(this)); - // send over queue - queue.Push(m); -} - -void flext_base::AddIdle(bool (*idlefun)(int argc,const t_atom *argv),int argc,const t_atom *argv) -{ - MsgBundle *m = MsgBundle::New(); - m->Idle(idlefun,argc,argv); - // send over queue - queue.Push(m); -} - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flsimd.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flsimd.cpp.svn-base deleted file mode 100644 index 7ef6cb201..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flsimd.cpp.svn-base +++ /dev/null @@ -1,2012 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flsimd.cpp - \brief flext SIMD support functions - - If FLEXT_USE_SIMD is defined at compilation, SIMD instructions are used wherever feasible. - If used with MSVC++ 6 the "Processor Pack" must be installed. - - If FLEXT_USE_IPP is defined the Intel Performance Package is used. -*/ - -#include "flext.h" -#include <cstring> - -#if FLEXT_OS == FLEXT_OS_WIN -#include <windows.h> -#endif - -#ifdef FLEXT_USE_IPP -#include <ipps.h> -#endif - -#ifdef FLEXT_USE_SIMD - #ifdef _MSC_VER - // include MSVC SIMD header files - #include <mmintrin.h> // MMX - #include <xmmintrin.h> // SSE - #include <emmintrin.h> // SSE2 - #include <mm3dnow.h> // 3DNow! - #elif defined(__APPLE__) && defined(__VEC__) - #ifdef __MWERKS__ - #if FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH - #include <sys/sysctl.h> - #include <vDSP.h> - #else - #include <Gestalt.h> - #endif - - #pragma altivec_model on - - #include <altivec.h> - #include <vectorOps.h> - #elif defined(__GNUC__) - #include <sys/sysctl.h> - #include <vecLib/vecLib.h> - #endif - #endif - -#endif // FLEXT_USE_SIMD - -#include "flpushns.h" - -static unsigned long setsimdcaps(); - -/*! \brief Holds SIMD capability flags - \internal -*/ -unsigned long flext::simdcaps = setsimdcaps(); - -unsigned long flext::GetSIMDCapabilities() { return simdcaps; } - - -#ifdef FLEXT_USE_SIMD - -#if FLEXT_CPU == FLEXT_CPU_IA32 || FLEXT_CPU == FLEXT_CPU_X86_64 - -#define _CPU_FEATURE_MMX 0x0001 -#define _CPU_FEATURE_SSE 0x0002 -#define _CPU_FEATURE_SSE2 0x0004 -#define _CPU_FEATURE_3DNOW 0x0008 - -typedef struct _processor_info { - int family; // family of the processor - // e.g. 6 = Pentium-Pro architecture - int model; // model of processor - // e.g. 1 = Pentium-Pro for family = 6 - int stepping; // processor revision number - int feature; // processor feature - // (same as return value from _cpuid) - int os_support; // does OS Support the feature? - int checks; // mask of checked bits in feature - // and os_support fields -} _p_info; - -// These are the bit flags that get set on calling cpuid -// with register eax set to 1 -#define _MMX_FEATURE_BIT 0x00800000 -#define _SSE_FEATURE_BIT 0x02000000 -#define _SSE2_FEATURE_BIT 0x04000000 - -// This bit is set when cpuid is called with -// register set to 80000001h (only applicable to AMD) -#define _3DNOW_FEATURE_BIT 0x80000000 - -#ifdef _MSC_VER -static int IsCPUID() -{ - __try { - _asm { - xor eax, eax - cpuid - } - } - __except (EXCEPTION_EXECUTE_HANDLER) { - return 0; - } - return 1; -} - -static int _os_support(int feature) -{ - __try { - switch (feature) { - case _CPU_FEATURE_SSE: - __asm { - xorps xmm0, xmm0 // executing SSE instruction - } - break; - case _CPU_FEATURE_SSE2: - __asm { - xorpd xmm0, xmm0 // executing SSE2 instruction - } - break; - case _CPU_FEATURE_3DNOW: - __asm { - pfrcp mm0, mm0 // executing 3DNow! instruction - emms - } - break; - case _CPU_FEATURE_MMX: - __asm { - pxor mm0, mm0 // executing MMX instruction - emms - } - break; - } - } - __except (EXCEPTION_EXECUTE_HANDLER) { - if (_exception_code() == STATUS_ILLEGAL_INSTRUCTION) { - return 0; - } - return 0; - } - return 1; -} - -static int _cpuid (_p_info *pinfo) -{ - DWORD dwStandard = 0; - DWORD dwFeature = 0; - DWORD dwMax = 0; - DWORD dwExt = 0; - int feature = 0; - int os_support = 0; - union { - struct { - DWORD dw0; - DWORD dw1; - DWORD dw2; - } s; - } Ident; - - if (!IsCPUID()) { - return 0; - } - - _asm { - push ebx - push ecx - push edx - - // get the vendor string - xor eax, eax - cpuid - mov dwMax, eax - mov Ident.s.dw0, ebx - mov Ident.s.dw1, edx - mov Ident.s.dw2, ecx - - // get the Standard bits - mov eax, 1 - cpuid - mov dwStandard, eax - mov dwFeature, edx - - // get AMD-specials - mov eax, 80000000h - cpuid - cmp eax, 80000000h - jc notamd - mov eax, 80000001h - cpuid - mov dwExt, edx - -notamd: - pop ecx - pop ebx - pop edx - } - - if (dwFeature & _MMX_FEATURE_BIT) { - feature |= _CPU_FEATURE_MMX; - if (_os_support(_CPU_FEATURE_MMX)) - os_support |= _CPU_FEATURE_MMX; - } - if (dwExt & _3DNOW_FEATURE_BIT) { - feature |= _CPU_FEATURE_3DNOW; - if (_os_support(_CPU_FEATURE_3DNOW)) - os_support |= _CPU_FEATURE_3DNOW; - } - if (dwFeature & _SSE_FEATURE_BIT) { - feature |= _CPU_FEATURE_SSE; - if (_os_support(_CPU_FEATURE_SSE)) - os_support |= _CPU_FEATURE_SSE; - } - if (dwFeature & _SSE2_FEATURE_BIT) { - feature |= _CPU_FEATURE_SSE2; - if (_os_support(_CPU_FEATURE_SSE2)) - os_support |= _CPU_FEATURE_SSE2; - } - - if (pinfo) { - memset(pinfo, 0, sizeof(_p_info)); - - pinfo->os_support = os_support; - pinfo->feature = feature; - pinfo->family = (dwStandard >> 8) & 0xF; // retrieve family - if (pinfo->family == 15) { // retrieve extended family - pinfo->family |= (dwStandard >> 16) & 0xFF0; - } - pinfo->model = (dwStandard >> 4) & 0xF; // retrieve model - if (pinfo->model == 15) { // retrieve extended model - pinfo->model |= (dwStandard >> 12) & 0xF; - } - pinfo->stepping = (dwStandard) & 0xF; // retrieve stepping - - pinfo->checks = _CPU_FEATURE_MMX | - _CPU_FEATURE_SSE | - _CPU_FEATURE_SSE2 | - _CPU_FEATURE_3DNOW; - } - - return feature; -} - -inline bool IsVectorAligned(const void *where) -{ - return (reinterpret_cast<size_t>(where)&(__alignof(__m128)-1)) == 0; -} - -inline bool VectorsAligned(const void *v1,const void *v2) -{ - return ( - (reinterpret_cast<size_t>(v1)|reinterpret_cast<size_t>(v2)) - &(__alignof(__m128)-1) - ) == 0; -} - -inline bool VectorsAligned(const void *v1,const void *v2,const void *v3) -{ - return ( - (reinterpret_cast<size_t>(v1)|reinterpret_cast<size_t>(v2)|reinterpret_cast<size_t>(v3)) - &(__alignof(__m128)-1) - ) == 0; -} - -inline bool VectorsAligned(const void *v1,const void *v2,const void *v3,const void *v4) -{ - return ( - (reinterpret_cast<size_t>(v1)|reinterpret_cast<size_t>(v2)|reinterpret_cast<size_t>(v3)|reinterpret_cast<size_t>(v4)) - &(__alignof(__m128)-1) - ) == 0; -} - -#else -// not MSVC -static int _cpuid (_p_info *pinfo) -{ - if(pinfo) memset(pinfo,0,sizeof *pinfo); - return 0; -} -#endif - -#endif - - -/*! \brief Determine SIMD capabilities - \internal -*/ -static unsigned long setsimdcaps() -{ - unsigned long simdflags = flext::simd_none; -#if FLEXT_CPU == FLEXT_CPU_IA32 || FLEXT_CPU == FLEXT_CPU_X86_64 - _p_info cpuinfo; - int feature = _cpuid(&cpuinfo); - if(cpuinfo.os_support&_CPU_FEATURE_MMX) simdflags += flext::simd_mmx; - if(cpuinfo.os_support&_CPU_FEATURE_3DNOW) simdflags += flext::simd_3dnow; - if(cpuinfo.os_support&_CPU_FEATURE_SSE) simdflags += flext::simd_sse; - if(cpuinfo.os_support&_CPU_FEATURE_SSE2) simdflags += flext::simd_sse2; -#elif defined(__APPLE__) && defined(__VEC__) - #if FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH - - int selectors[2] = { CTL_HW, HW_VECTORUNIT }; - int hasVectorUnit = 0; - size_t length = sizeof(hasVectorUnit); - int error = sysctl(selectors, 2, &hasVectorUnit, &length, NULL, 0); - - if(!error && hasVectorUnit != 0) simdflags += flext::simd_altivec; - - #else - - long cpuAttributes; - Boolean hasAltiVec = false; - OSErr err = Gestalt( gestaltPowerPCProcessorFeatures, &cpuAttributes ); - - if( noErr == err ) - if(( 1 << gestaltPowerPCHasVectorInstructions) & cpuAttributes) simdflags += flext::simd_altivec; - - #endif -#endif - return simdflags; -} - - -#if (FLEXT_CPU == FLEXT_CPU_PPC || FLEXT_CPU == FLEXT_CPU_PPC64) && defined(__VEC__) - -/* functions for misaligned vector data - taken from the Altivec tutorial of Ian Ollmann, Ph.D. */ - -//! Load a vector from an unaligned location in memory -inline vector unsigned char LoadUnaligned( vector unsigned char *v ) -{ - vector unsigned char permuteVector = vec_lvsl( 0, (int*) v ); - vector unsigned char low = vec_ld( 0, v ); - vector unsigned char high = vec_ld( 15, v ); - return vec_perm( low, high, permuteVector ); -} - -/* -//! Store a vector to an unaligned location in memory -inline void StoreUnaligned( vector unsigned char v, vector unsigned char *where) -{ - // Load the surrounding area - vector unsigned char low = vec_ld( 0, where ); - vector unsigned char high = vec_ld( 16, where ); - // Prepare the constants that we need - vector unsigned char permuteVector = vec_lvsr( 0, (int*) where ); - - vector unsigned char oxFF = (vector unsigned char)vec_splat_s8( -1 ); - vector unsigned char ox00 = (vector unsigned char)vec_splat_s8( 0 ); - // Make a mask for which parts of the vectors to swap out - vector unsigned char mask = vec_perm( ox00, oxFF, permuteVector ); - // Right rotate our input data - v = vec_perm( v, v, permuteVector ); - // Insert our data into the low and high vectors - low = vec_sel( v, low, mask ); - high = vec_sel( high, v, mask ); - // Store the two aligned result vectors - vec_st( low, 0, where ); - vec_st( high, 16, where ); -} -*/ - -inline vector float LoadUnaligned(const float *v ) -{ - return (vector float)LoadUnaligned((vector unsigned char *)v); -} - -/* -inline void StoreUnaligned( vector float v,float *where) -{ - return StoreUnaligned((vector unsigned char)v,(vector unsigned char *)where); -} -*/ - -inline bool IsVectorAligned(const void *where) -{ - return (reinterpret_cast<size_t>(where)&(sizeof(vector float)-1)) == 0; -} - -inline bool VectorsAligned(const void *v1,const void *v2) -{ - return ( - (reinterpret_cast<size_t>(v1)|reinterpret_cast<size_t>(v2)) - &(sizeof(vector float)-1) - ) == 0; -} - -inline bool VectorsAligned(const void *v1,const void *v2,const void *v3) -{ - return ( - (reinterpret_cast<size_t>(v1)|reinterpret_cast<size_t>(v2)|reinterpret_cast<size_t>(v3)) - &(sizeof(vector float)-1) - ) == 0; -} - -inline bool VectorsAligned(const void *v1,const void *v2,const void *v3,const void *v4) -{ - return ( - (reinterpret_cast<size_t>(v1)|reinterpret_cast<size_t>(v2)|reinterpret_cast<size_t>(v3)|reinterpret_cast<size_t>(v4)) - &(sizeof(vector float)-1) - ) == 0; -} - -inline vector float LoadValue(const float &f) -{ - return vec_splat(IsVectorAligned(&f)?vec_ld(0,(vector float *)&f):LoadUnaligned(&f),0); -} -#endif - - -#else // FLEXT_USE_SIMD -static unsigned long setsimdcaps() { return 0; } -#endif // FLEXT_USE_SIMD - - -void flext::CopySamples(t_sample *dst,const t_sample *src,int cnt) -{ -#ifdef FLEXT_USE_IPP - if(sizeof(t_sample) == 4) - ippsCopy_32f((const float *)src,(float *)dst,cnt); - else if(sizeof(t_sample) == 8) - ippsCopy_64f((const double *)src,(double *)dst,cnt); - else - ERRINTERNAL(); -#else -#ifdef FLEXT_USE_SIMD -#ifdef _MSC_VER - if(GetSIMDCapabilities()&simd_sse) { - // single precision - - int n = cnt>>4; - if(!n) goto zero; - cnt -= n<<4; - - __asm { - mov eax,dword ptr [src] - prefetcht0 [eax+0] - prefetcht0 [eax+32] - } - - if(IsVectorAligned(src)) { - if(IsVectorAligned(dst)) { - // aligned src, aligned dst - __asm { - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ecx,[n] -loopaa: - prefetcht0 [eax+64] - prefetcht0 [eax+96] - movaps xmm0,xmmword ptr[eax] - movaps xmmword ptr[edx],xmm0 - movaps xmm1,xmmword ptr[eax+4*4] - movaps xmmword ptr[edx+4*4],xmm1 - movaps xmm2,xmmword ptr[eax+8*4] - movaps xmmword ptr[edx+8*4],xmm2 - movaps xmm3,xmmword ptr[eax+12*4] - movaps xmmword ptr[edx+12*4],xmm3 - - add eax,16*4 - add edx,16*4 - loop loopaa - } - } - else { - // aligned src, unaligned dst - __asm { - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ecx,[n] -loopau: - prefetcht0 [eax+64] - prefetcht0 [eax+96] - movaps xmm0,xmmword ptr[eax] - movups xmmword ptr[edx],xmm0 - movaps xmm1,xmmword ptr[eax+4*4] - movups xmmword ptr[edx+4*4],xmm1 - movaps xmm2,xmmword ptr[eax+8*4] - movups xmmword ptr[edx+8*4],xmm2 - movaps xmm3,xmmword ptr[eax+12*4] - movups xmmword ptr[edx+12*4],xmm3 - - add eax,16*4 - add edx,16*4 - loop loopau - } - } - } - else { - if(IsVectorAligned(dst)) { - // unaligned src, aligned dst - __asm { - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ecx,[n] -loopua: - prefetcht0 [eax+64] - prefetcht0 [eax+96] - movups xmm0,xmmword ptr[eax] - movaps xmmword ptr[edx],xmm0 - movups xmm1,xmmword ptr[eax+4*4] - movaps xmmword ptr[edx+4*4],xmm1 - movups xmm2,xmmword ptr[eax+8*4] - movaps xmmword ptr[edx+8*4],xmm2 - movups xmm3,xmmword ptr[eax+12*4] - movaps xmmword ptr[edx+12*4],xmm3 - - add eax,16*4 - add edx,16*4 - loop loopua - } - } - else { - // unaligned src, unaligned dst - __asm { - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ecx,[n] -loopuu: - prefetcht0 [eax+64] - prefetcht0 [eax+96] - movups xmm0,xmmword ptr[eax] - movups xmmword ptr[edx],xmm0 - movups xmm1,xmmword ptr[eax+4*4] - movups xmmword ptr[edx+4*4],xmm1 - movups xmm2,xmmword ptr[eax+8*4] - movups xmmword ptr[edx+8*4],xmm2 - movups xmm3,xmmword ptr[eax+12*4] - movups xmmword ptr[edx+12*4],xmm3 - - add eax,16*4 - add edx,16*4 - loop loopuu - } - } - } - - src += n<<4,dst += n<<4; -zero: - while(cnt--) *(dst++) = *(src++); - } - else -#elif (FLEXT_CPU == FLEXT_CPU_PPC || FLEXT_CPU == FLEXT_CPU_PPC64) && defined(__VECTOROPS__) - if(true) { - int n = cnt>>2,n4 = n<<2; - vScopy(n4,(vector float *)src,(vector float *)dst); - cnt -= n4,src += n4,dst += n4; - while(cnt--) *(dst++) = *(src++); - } - else -#endif // _MSC_VER -#endif // FLEXT_USE_SIMD - { - int n = cnt>>3; - cnt -= n<<3; - while(n--) { - dst[0] = src[0]; dst[1] = src[1]; dst[2] = src[2]; dst[3] = src[3]; - dst[4] = src[4]; dst[5] = src[5]; dst[6] = src[6]; dst[7] = src[7]; - src += 8,dst += 8; - } - while(cnt--) *(dst++) = *(src++); - } -#endif -} - -#if defined(FLEXT_USE_SIMD) && (FLEXT_CPU == FLEXT_CPU_PPC || FLEXT_CPU == FLEXT_CPU_PPC64) && defined(__VEC__) -// because of some frame code Altivec stuff should be in seperate functions.... - -static const vector float zero = (vector float)(0); - -static void SetAltivec(t_sample *dst,int cnt,t_sample s) -{ - vector float svec = LoadValue(s); - int n = cnt>>4; - cnt -= n<<4; - - while(n--) { - vec_st(svec,0,dst); - vec_st(svec,16,dst); - vec_st(svec,32,dst); - vec_st(svec,48,dst); - dst += 16; - } - - while(cnt--) *(dst++) = s; -} - -static void MulAltivec(t_sample *dst,const t_sample *src,t_sample op,int cnt) -{ - const vector float arg = LoadValue(op); - int n = cnt>>4; - cnt -= n<<4; - - for(; n--; src += 16,dst += 16) { - vector float a1 = vec_ld( 0,src); - vector float a2 = vec_ld(16,src); - vector float a3 = vec_ld(32,src); - vector float a4 = vec_ld(48,src); - - a1 = vec_madd(a1,arg,zero); - a2 = vec_madd(a2,arg,zero); - a3 = vec_madd(a3,arg,zero); - a4 = vec_madd(a4,arg,zero); - - vec_st(a1, 0,dst); - vec_st(a2,16,dst); - vec_st(a3,32,dst); - vec_st(a4,48,dst); - } - - while(cnt--) *(dst++) = *(src++)*op; -} - -static void MulAltivec(t_sample *dst,const t_sample *src,const t_sample *op,int cnt) -{ - int n = cnt>>4; - cnt -= n<<4; - - for(; n--; src += 16,op += 16,dst += 16) { - vector float a1 = vec_ld( 0,src),b1 = vec_ld( 0,op); - vector float a2 = vec_ld(16,src),b2 = vec_ld(16,op); - vector float a3 = vec_ld(32,src),b3 = vec_ld(32,op); - vector float a4 = vec_ld(48,src),b4 = vec_ld(48,op); - - a1 = vec_madd(a1,b1,zero); - a2 = vec_madd(a2,b2,zero); - a3 = vec_madd(a3,b3,zero); - a4 = vec_madd(a4,b4,zero); - - vec_st(a1, 0,dst); - vec_st(a2,16,dst); - vec_st(a3,32,dst); - vec_st(a4,48,dst); - } - while(cnt--) *(dst++) = *(src++) * *(op++); -} - -static void AddAltivec(t_sample *dst,const t_sample *src,t_sample op,int cnt) -{ - const vector float arg = LoadValue(op); - int n = cnt>>4; - cnt -= n<<4; - - for(; n--; src += 16,dst += 16) { - vector float a1 = vec_ld( 0,src); - vector float a2 = vec_ld(16,src); - vector float a3 = vec_ld(32,src); - vector float a4 = vec_ld(48,src); - - a1 = vec_add(a1,arg); - a2 = vec_add(a2,arg); - a3 = vec_add(a3,arg); - a4 = vec_add(a4,arg); - - vec_st(a1, 0,dst); - vec_st(a2,16,dst); - vec_st(a3,32,dst); - vec_st(a4,48,dst); - } - - while(cnt--) *(dst++) = *(src++)+op; -} - -static void AddAltivec(t_sample *dst,const t_sample *src,const t_sample *op,int cnt) -{ - int n = cnt>>4; - cnt -= n<<4; - - for(; n--; src += 16,op += 16,dst += 16) { - vector float a1 = vec_ld( 0,src),b1 = vec_ld( 0,op); - vector float a2 = vec_ld(16,src),b2 = vec_ld(16,op); - vector float a3 = vec_ld(32,src),b3 = vec_ld(32,op); - vector float a4 = vec_ld(48,src),b4 = vec_ld(48,op); - - a1 = vec_add(a1,b1); - a2 = vec_add(a2,b2); - a3 = vec_add(a3,b3); - a4 = vec_add(a4,b4); - - vec_st(a1, 0,dst); - vec_st(a2,16,dst); - vec_st(a3,32,dst); - vec_st(a4,48,dst); - } - while(cnt--) *(dst++) = *(src++) + *(op++); -} - -static void ScaleAltivec(t_sample *dst,const t_sample *src,t_sample opmul,t_sample opadd,int cnt) -{ - const vector float argmul = LoadValue(opmul); - const vector float argadd = LoadValue(opadd); - int n = cnt>>4; - cnt -= n<<4; - - for(; n--; src += 16,dst += 16) { - vec_st(vec_madd(vec_ld( 0,src),argmul,argadd), 0,dst); - vec_st(vec_madd(vec_ld(16,src),argmul,argadd),16,dst); - vec_st(vec_madd(vec_ld(32,src),argmul,argadd),32,dst); - vec_st(vec_madd(vec_ld(48,src),argmul,argadd),48,dst); - } - - while(cnt--) *(dst++) = *(src++)*opmul+opadd; -} - -static void ScaleAltivec(t_sample *dst,const t_sample *src,t_sample opmul,const t_sample *add,int cnt) -{ - const vector float argmul = LoadValue(opmul); - int n = cnt>>4; - cnt -= n<<4; - - for(; n--; src += 16,dst += 16,add += 16) { - vec_st(vec_madd(vec_ld( 0,src),argmul,vec_ld( 0,add)), 0,dst); - vec_st(vec_madd(vec_ld(16,src),argmul,vec_ld(16,add)),16,dst); - vec_st(vec_madd(vec_ld(32,src),argmul,vec_ld(32,add)),32,dst); - vec_st(vec_madd(vec_ld(48,src),argmul,vec_ld(48,add)),48,dst); - } - - while(cnt--) *(dst++) = *(src++) * opmul + *(add++); -} - -static void ScaleAltivec(t_sample *dst,const t_sample *src,const t_sample *mul,const t_sample *add,int cnt) -{ - int n = cnt>>4; - cnt -= n<<4; - - for(; n--; src += 16,dst += 16,mul += 16,add += 16) { - vec_st(vec_madd(vec_ld( 0,src),vec_ld( 0,mul),vec_ld( 0,add)), 0,dst); - vec_st(vec_madd(vec_ld(16,src),vec_ld(16,mul),vec_ld(16,add)),16,dst); - vec_st(vec_madd(vec_ld(32,src),vec_ld(32,mul),vec_ld(32,add)),32,dst); - vec_st(vec_madd(vec_ld(48,src),vec_ld(48,mul),vec_ld(48,add)),48,dst); - } - - while(cnt--) *(dst++) = *(src++) * *(mul++) + *(add++); -} -#endif - -void flext::SetSamples(t_sample *dst,int cnt,t_sample s) -{ -#ifdef FLEXT_USE_IPP - if(sizeof(t_sample) == 4) - ippsSet_32f((float)s,(float *)dst,cnt); - else if(sizeof(t_sample) == 8) - ippsSet_64f((double)s,(double *)dst,cnt); - else - ERRINTERNAL(); -#else -#ifdef FLEXT_USE_SIMD -#ifdef _MSC_VER - if(GetSIMDCapabilities()&simd_sse) { - // single precision - - int n = cnt>>4; - if(!n) goto zero; - cnt -= n<<4; - - __asm { - movss xmm0,xmmword ptr [s] - shufps xmm0,xmm0,0 - } - - if(IsVectorAligned(dst)) { - // aligned version - __asm { - mov ecx,[n] - mov edx,dword ptr [dst] -loopa: - movaps xmmword ptr[edx],xmm0 - movaps xmmword ptr[edx+4*4],xmm0 - movaps xmmword ptr[edx+8*4],xmm0 - movaps xmmword ptr[edx+12*4],xmm0 - - add edx,16*4 - loop loopa - } - } - else { - // unaligned version - __asm { - mov ecx,[n] - mov edx,dword ptr [dst] -loopu: - movups xmmword ptr[edx],xmm0 - movups xmmword ptr[edx+4*4],xmm0 - movups xmmword ptr[edx+8*4],xmm0 - movups xmmword ptr[edx+12*4],xmm0 - - add edx,16*4 - loop loopu - } - } - - dst += n<<4; -zero: - while(cnt--) *(dst++) = s; - } - else -#elif (FLEXT_CPU == FLEXT_CPU_PPC || FLEXT_CPU == FLEXT_CPU_PPC64) && defined(__VEC__) - if(GetSIMDCapabilities()&simd_altivec && IsVectorAligned(dst)) - SetAltivec(dst,cnt,s); - else -#endif -#endif // FLEXT_USE_SIMD - { - int n = cnt>>3; - cnt -= n<<3; - while(n--) { - dst[0] = dst[1] = dst[2] = dst[3] = dst[4] = dst[5] = dst[6] = dst[7] = s; - dst += 8; - } - - while(cnt--) *(dst++) = s; - } -#endif -} - - -void flext::MulSamples(t_sample *dst,const t_sample *src,t_sample op,int cnt) -{ -#ifdef FLEXT_USE_IPP - if(sizeof(t_sample) == 4) { - ippsMulC_32f((const float *)src,(float)op,(float *)dst,cnt); - } - else if(sizeof(t_sample) == 8) { - ippsMulC_64f((const double *)src,(double)op,(double *)dst,cnt); - } - else - ERRINTERNAL(); -#else -#ifdef FLEXT_USE_SIMD -#ifdef _MSC_VER - if(GetSIMDCapabilities()&simd_sse) { - // single precision - __m128 a = _mm_load1_ps(&op); - - int n = cnt>>4; - if(!n) goto zero; - cnt -= n<<4; - - __asm { - mov eax,dword ptr [src] - prefetcht0 [eax+0] - prefetcht0 [eax+32] - - movss xmm0,xmmword ptr [op] - shufps xmm0,xmm0,0 - } - - if(VectorsAligned(src,dst)) { - // aligned version - __asm { - mov ecx,[n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] -loopa: - prefetcht0 [eax+64] - prefetcht0 [eax+96] - - movaps xmm1,xmmword ptr[eax] - mulps xmm1,xmm0 - movaps xmmword ptr[edx],xmm1 - - movaps xmm2,xmmword ptr[eax+4*4] - mulps xmm2,xmm0 - movaps xmmword ptr[edx+4*4],xmm2 - - movaps xmm3,xmmword ptr[eax+8*4] - mulps xmm3,xmm0 - movaps xmmword ptr[edx+8*4],xmm3 - - movaps xmm4,xmmword ptr[eax+12*4] - mulps xmm4,xmm0 - movaps xmmword ptr[edx+12*4],xmm4 - - add eax,16*4 - add edx,16*4 - loop loopa - } - } - else { - // unaligned version - __asm { - mov ecx,[n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] -loopu: - prefetcht0 [eax+64] - prefetcht0 [eax+96] - - movups xmm1,xmmword ptr[eax] - mulps xmm1,xmm0 - movups xmmword ptr[edx],xmm1 - - movups xmm2,xmmword ptr[eax+4*4] - mulps xmm2,xmm0 - movups xmmword ptr[edx+4*4],xmm2 - - movups xmm3,xmmword ptr[eax+8*4] - mulps xmm3,xmm0 - movups xmmword ptr[edx+8*4],xmm3 - - movups xmm4,xmmword ptr[eax+12*4] - mulps xmm4,xmm0 - movups xmmword ptr[edx+12*4],xmm4 - - add eax,16*4 - add edx,16*4 - loop loopu - } - } - - src += n<<4,dst += n<<4; -zero: - while(cnt--) *(dst++) = *(src++)*op; - } - else -#elif defined(__APPLE__) && defined(__VDSP__) - if(true) { - vDSP_vsmul(src,1,&op,dst,1,cnt); - } - else -#elif (FLEXT_CPU == FLEXT_CPU_PPC || FLEXT_CPU == FLEXT_CPU_PPC64) && defined(__VEC__) - if(GetSIMDCapabilities()&simd_altivec && VectorsAligned(src,dst)) - MulAltivec(dst,src,op,cnt); - else -#endif // _MSC_VER -#endif // FLEXT_USE_SIMD - { - int n = cnt>>3; - cnt -= n<<3; - - if(src == dst) { - while(n--) { - dst[0] *= op; dst[1] *= op; dst[2] *= op; dst[3] *= op; - dst[4] *= op; dst[5] *= op; dst[6] *= op; dst[7] *= op; - dst += 8; - } - while(cnt--) *(dst++) *= op; - } - else { - while(n--) { - dst[0] = src[0]*op; dst[1] = src[1]*op; - dst[2] = src[2]*op; dst[3] = src[3]*op; - dst[4] = src[4]*op; dst[5] = src[5]*op; - dst[6] = src[6]*op; dst[7] = src[7]*op; - src += 8,dst += 8; - } - while(cnt--) *(dst++) = *(src++)*op; - } - } -#endif -} - - -void flext::MulSamples(t_sample *dst,const t_sample *src,const t_sample *op,int cnt) -{ -#ifdef FLEXT_USE_IPP - if(sizeof(t_sample) == 4) { - ippsMul_32f((const float *)src,(const float *)op,(float *)dst,cnt); - } - else if(sizeof(t_sample) == 8) { - ippsMul_32f((const double *)src,(const double *)op,(double *)dst,cnt); - } - else - ERRINTERNAL(); -#else -#ifdef FLEXT_USE_SIMD -#ifdef _MSC_VER - if(GetSIMDCapabilities()&simd_sse) { - // single precision - int n = cnt>>4; - if(!n) goto zero; - cnt -= n<<4; - - __asm { - mov eax,[src] - mov ebx,[op] - prefetcht0 [eax+0] - prefetcht0 [ebx+0] - prefetcht0 [eax+32] - prefetcht0 [ebx+32] - } - - if(VectorsAligned(src,dst)) { - if(IsVectorAligned(op)) { - __asm { - mov ecx,[n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ebx,dword ptr [op] - loopaa: - prefetcht0 [eax+64] - prefetcht0 [ebx+64] - prefetcht0 [eax+96] - prefetcht0 [ebx+96] - - movaps xmm0,xmmword ptr[eax] - movaps xmm1,xmmword ptr[ebx] - mulps xmm0,xmm1 - movaps xmmword ptr[edx],xmm0 - - movaps xmm2,xmmword ptr[eax+4*4] - movaps xmm3,xmmword ptr[ebx+4*4] - mulps xmm2,xmm3 - movaps xmmword ptr[edx+4*4],xmm2 - - movaps xmm4,xmmword ptr[eax+8*4] - movaps xmm5,xmmword ptr[ebx+8*4] - mulps xmm4,xmm5 - movaps xmmword ptr[edx+8*4],xmm4 - - movaps xmm6,xmmword ptr[eax+12*4] - movaps xmm7,xmmword ptr[ebx+12*4] - mulps xmm6,xmm7 - movaps xmmword ptr[edx+12*4],xmm6 - - add eax,16*4 - add ebx,16*4 - add edx,16*4 - loop loopaa - } - } - else { - __asm { - mov ecx,[n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ebx,dword ptr [op] - loopau: - prefetcht0 [eax+64] - prefetcht0 [ebx+64] - prefetcht0 [eax+96] - prefetcht0 [ebx+96] - - movaps xmm0,xmmword ptr[eax] - movups xmm1,xmmword ptr[ebx] - mulps xmm0,xmm1 - movaps xmmword ptr[edx],xmm0 - - movaps xmm2,xmmword ptr[eax+4*4] - movups xmm3,xmmword ptr[ebx+4*4] - mulps xmm2,xmm3 - movaps xmmword ptr[edx+4*4],xmm2 - - movaps xmm4,xmmword ptr[eax+8*4] - movups xmm5,xmmword ptr[ebx+8*4] - mulps xmm4,xmm5 - movaps xmmword ptr[edx+8*4],xmm4 - - movaps xmm6,xmmword ptr[eax+12*4] - movups xmm7,xmmword ptr[ebx+12*4] - mulps xmm6,xmm7 - movaps xmmword ptr[edx+12*4],xmm6 - - add eax,16*4 - add ebx,16*4 - add edx,16*4 - loop loopau - } - } - } - else { - if(IsVectorAligned(op)) { - __asm { - mov ecx,[n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ebx,dword ptr [op] - loopua: - prefetcht0 [eax+64] - prefetcht0 [ebx+64] - prefetcht0 [eax+96] - prefetcht0 [ebx+96] - - movups xmm0,xmmword ptr[eax] - movaps xmm1,xmmword ptr[ebx] - mulps xmm0,xmm1 - movups xmmword ptr[edx],xmm0 - - movups xmm2,xmmword ptr[eax+4*4] - movaps xmm3,xmmword ptr[ebx+4*4] - mulps xmm2,xmm3 - movups xmmword ptr[edx+4*4],xmm2 - - movups xmm4,xmmword ptr[eax+8*4] - movaps xmm5,xmmword ptr[ebx+8*4] - mulps xmm4,xmm5 - movups xmmword ptr[edx+8*4],xmm4 - - movups xmm6,xmmword ptr[eax+12*4] - movaps xmm7,xmmword ptr[ebx+12*4] - mulps xmm6,xmm7 - movups xmmword ptr[edx+12*4],xmm6 - - add eax,16*4 - add ebx,16*4 - add edx,16*4 - loop loopua - } - } - else { - __asm { - mov ecx,[n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ebx,dword ptr [op] -loopuu: - prefetcht0 [eax+64] - prefetcht0 [ebx+64] - prefetcht0 [eax+96] - prefetcht0 [ebx+96] - - movups xmm0,xmmword ptr[eax] - movups xmm1,xmmword ptr[ebx] - mulps xmm0,xmm1 - movups xmmword ptr[edx],xmm0 - - movups xmm2,xmmword ptr[eax+4*4] - movups xmm3,xmmword ptr[ebx+4*4] - mulps xmm2,xmm3 - movups xmmword ptr[edx+4*4],xmm2 - - movups xmm4,xmmword ptr[eax+8*4] - movups xmm5,xmmword ptr[ebx+8*4] - mulps xmm4,xmm5 - movups xmmword ptr[edx+8*4],xmm4 - - movups xmm6,xmmword ptr[eax+12*4] - movups xmm7,xmmword ptr[ebx+12*4] - mulps xmm6,xmm7 - movups xmmword ptr[edx+12*4],xmm6 - - add eax,16*4 - add ebx,16*4 - add edx,16*4 - loop loopuu - } - } - } - - src += n<<4,dst += n<<4,op += n<<4; -zero: - while(cnt--) *(dst++) = *(src++) * *(op++); - } - else -#elif defined(__APPLE__) && defined(__VDSP__) - if(true) { - vDSP_vmul(src,1,op,1,dst,1,cnt); - } - else -#elif (FLEXT_CPU == FLEXT_CPU_PPC || FLEXT_CPU == FLEXT_CPU_PPC64) && defined(__VEC__) - if(GetSIMDCapabilities()&simd_altivec && VectorsAligned(src,op,dst)) - MulAltivec(dst,src,op,cnt); - else -#endif // _MSC_VER -#endif // FLEXT_USE_SIMD - { - int n = cnt>>3; - cnt -= n<<3; - - if(src == dst) { - while(n--) { - dst[0] *= op[0]; dst[1] *= op[1]; - dst[2] *= op[2]; dst[3] *= op[3]; - dst[4] *= op[4]; dst[5] *= op[5]; - dst[6] *= op[6]; dst[7] *= op[7]; - dst += 8,op += 8; - } - while(cnt--) *(dst++) *= *(op++); - } - else { - while(n--) { - dst[0] = src[0]*op[0]; dst[1] = src[1]*op[1]; - dst[2] = src[2]*op[2]; dst[3] = src[3]*op[3]; - dst[4] = src[4]*op[4]; dst[5] = src[5]*op[5]; - dst[6] = src[6]*op[6]; dst[7] = src[7]*op[7]; - src += 8,dst += 8,op += 8; - } - while(cnt--) *(dst++) = *(src++) * *(op++); - } - } -#endif -} - - -void flext::AddSamples(t_sample *dst,const t_sample *src,t_sample op,int cnt) -{ -#ifdef FLEXT_USE_IPP - if(sizeof(t_sample) == 4) { - ippsAddC_32f((const float *)src,(float)op,(float *)dst,cnt); - } - else if(sizeof(t_sample) == 8) { - ippsAddC_64f_I((const double *)src,(double)op,(double *)dst,cnt); - } - else - ERRINTERNAL(); -#else -#ifdef FLEXT_USE_SIMD -#ifdef _MSC_VER - if(GetSIMDCapabilities()&simd_sse) { - // single precision - int n = cnt>>4; - if(!n) goto zero; - cnt -= n<<4; - - __asm { - mov eax,[src] - prefetcht0 [eax+0] - prefetcht0 [eax+32] - - movss xmm0,xmmword ptr [op] - shufps xmm0,xmm0,0 - } - - if(VectorsAligned(src,dst)) { - // aligned version - __asm { - mov ecx,[n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] -loopa: - prefetcht0 [eax+64] - prefetcht0 [eax+96] - - movaps xmm1,xmmword ptr[eax] - addps xmm1,xmm0 - movaps xmmword ptr[edx],xmm1 - - movaps xmm2,xmmword ptr[eax+4*4] - addps xmm2,xmm0 - movaps xmmword ptr[edx+4*4],xmm2 - - movaps xmm3,xmmword ptr[eax+8*4] - addps xmm3,xmm0 - movaps xmmword ptr[edx+8*4],xmm3 - - movaps xmm4,xmmword ptr[eax+12*4] - addps xmm4,xmm0 - movaps xmmword ptr[edx+12*4],xmm4 - - add eax,16*4 - add edx,16*4 - loop loopa - } - } - else { - // unaligned version - __asm { - mov ecx,[n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] -loopu: - prefetcht0 [eax+64] - prefetcht0 [eax+96] - - movups xmm1,xmmword ptr[eax] - addps xmm1,xmm0 - movups xmmword ptr[edx],xmm1 - - movups xmm2,xmmword ptr[eax+4*4] - addps xmm2,xmm0 - movups xmmword ptr[edx+4*4],xmm2 - - movups xmm3,xmmword ptr[eax+8*4] - addps xmm3,xmm0 - movups xmmword ptr[edx+8*4],xmm3 - - movups xmm4,xmmword ptr[eax+12*4] - addps xmm4,xmm0 - movups xmmword ptr[edx+12*4],xmm4 - - add eax,16*4 - add edx,16*4 - loop loopu - } - } - src += n<<4,dst += n<<4,op += n<<4; -zero: - while(cnt--) *(dst++) = *(src++)+op; - } - else -#elif (FLEXT_CPU == FLEXT_CPU_PPC || FLEXT_CPU == FLEXT_CPU_PPC64) && defined(__VEC__) - if(GetSIMDCapabilities()&simd_altivec && VectorsAligned(src,dst)) - AddAltivec(dst,src,op,cnt); - else -#endif // _MSC_VER -#endif // FLEXT_USE_SIMD - { - int n = cnt>>3; - cnt -= n<<3; - - if(src == dst) { - while(n--) { - dst[0] += op; dst[1] += op; dst[2] += op; dst[3] += op; - dst[4] += op; dst[5] += op; dst[6] += op; dst[7] += op; - dst += 8; - } - while(cnt--) *(dst++) += op; - } - else { - while(n--) { - dst[0] = src[0]+op; dst[1] = src[1]+op; - dst[2] = src[2]+op; dst[3] = src[3]+op; - dst[4] = src[4]+op; dst[5] = src[5]+op; - dst[6] = src[6]+op; dst[7] = src[7]+op; - src += 8,dst += 8; - } - while(cnt--) *(dst++) = *(src++)+op; - } - } -#endif -} - - -void flext::AddSamples(t_sample *dst,const t_sample *src,const t_sample *op,int cnt) -{ -#ifdef FLEXT_USE_IPP - if(sizeof(t_sample) == 4) { - ippsAdd_32f((const float *)src,(const float *)op,(float *)dst,cnt); - } - else if(sizeof(t_sample) == 8) { - ippsAdd_64f((const double *)src,(const double *)op,(double *)dst,cnt); - } - else - ERRINTERNAL(); -#else -#ifdef FLEXT_USE_SIMD -#ifdef _MSC_VER - if(GetSIMDCapabilities()&simd_sse) { - // Prefetch cache - __asm { - mov eax,dword ptr [src] - mov ebx,dword ptr [op] - prefetcht0 [eax] - prefetcht0 [ebx] - prefetcht0 [eax+32] - prefetcht0 [ebx+32] - } - - // single precision - int n = cnt>>4; - if(!n) goto zero; - cnt -= n<<4; - - if(VectorsAligned(src,dst)) { - if(IsVectorAligned(op)) { - __asm { - mov ecx,dword ptr [n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ebx,dword ptr [op] - loopaa: - prefetcht0 [eax+64] - prefetcht0 [ebx+64] - prefetcht0 [eax+96] - prefetcht0 [ebx+96] - - movaps xmm0,xmmword ptr[eax] - movaps xmm1,xmmword ptr[ebx] - addps xmm0,xmm1 - movaps xmmword ptr[edx],xmm0 - - movaps xmm2,xmmword ptr[eax+4*4] - movaps xmm3,xmmword ptr[ebx+4*4] - addps xmm2,xmm3 - movaps xmmword ptr[edx+4*4],xmm2 - - movaps xmm4,xmmword ptr[eax+8*4] - movaps xmm5,xmmword ptr[ebx+8*4] - addps xmm4,xmm5 - movaps xmmword ptr[edx+8*4],xmm4 - - movaps xmm6,xmmword ptr[eax+12*4] - movaps xmm7,xmmword ptr[ebx+12*4] - addps xmm6,xmm7 - movaps xmmword ptr[edx+12*4],xmm6 - - add eax,16*4 - add ebx,16*4 - add edx,16*4 - loop loopaa - } - } - else { - __asm { - mov ecx,dword ptr [n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ebx,dword ptr [op] - loopau: - prefetcht0 [eax+64] - prefetcht0 [ebx+64] - prefetcht0 [eax+96] - prefetcht0 [ebx+96] - - movaps xmm0,xmmword ptr[eax] - movups xmm1,xmmword ptr[ebx] - addps xmm0,xmm1 - movaps xmmword ptr[edx],xmm0 - - movaps xmm2,xmmword ptr[eax+4*4] - movups xmm3,xmmword ptr[ebx+4*4] - addps xmm2,xmm3 - movaps xmmword ptr[edx+4*4],xmm2 - - movaps xmm4,xmmword ptr[eax+8*4] - movups xmm5,xmmword ptr[ebx+8*4] - addps xmm4,xmm5 - movaps xmmword ptr[edx+8*4],xmm4 - - movaps xmm6,xmmword ptr[eax+12*4] - movups xmm7,xmmword ptr[ebx+12*4] - addps xmm6,xmm7 - movaps xmmword ptr[edx+12*4],xmm6 - - add eax,16*4 - add ebx,16*4 - add edx,16*4 - loop loopau - } - } - } - else { - if(IsVectorAligned(op)) { - __asm { - mov ecx,dword ptr [n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ebx,dword ptr [op] - loopua: - prefetcht0 [eax+64] - prefetcht0 [ebx+64] - prefetcht0 [eax+96] - prefetcht0 [ebx+96] - - movups xmm0,xmmword ptr[eax] - movaps xmm1,xmmword ptr[ebx] - addps xmm0,xmm1 - movups xmmword ptr[edx],xmm0 - - movups xmm2,xmmword ptr[eax+4*4] - movaps xmm3,xmmword ptr[ebx+4*4] - addps xmm2,xmm3 - movups xmmword ptr[edx+4*4],xmm2 - - movups xmm4,xmmword ptr[eax+8*4] - movaps xmm5,xmmword ptr[ebx+8*4] - addps xmm4,xmm5 - movups xmmword ptr[edx+8*4],xmm4 - - movups xmm6,xmmword ptr[eax+12*4] - movaps xmm7,xmmword ptr[ebx+12*4] - addps xmm6,xmm7 - movups xmmword ptr[edx+12*4],xmm6 - - add eax,16*4 - add ebx,16*4 - add edx,16*4 - loop loopua - } - } - else { - __asm { - mov ecx,dword ptr [n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ebx,dword ptr [op] - loopuu: - prefetcht0 [eax+64] - prefetcht0 [ebx+64] - prefetcht0 [eax+96] - prefetcht0 [ebx+96] - - movups xmm0,xmmword ptr[eax] - movups xmm1,xmmword ptr[ebx] - addps xmm0,xmm1 - movups xmmword ptr[edx],xmm0 - - movups xmm2,xmmword ptr[eax+4*4] - movups xmm3,xmmword ptr[ebx+4*4] - addps xmm2,xmm3 - movups xmmword ptr[edx+4*4],xmm2 - - movups xmm4,xmmword ptr[eax+8*4] - movups xmm5,xmmword ptr[ebx+8*4] - addps xmm4,xmm5 - movups xmmword ptr[edx+8*4],xmm4 - - movups xmm6,xmmword ptr[eax+12*4] - movups xmm7,xmmword ptr[ebx+12*4] - addps xmm6,xmm7 - movups xmmword ptr[edx+12*4],xmm6 - - add eax,16*4 - add ebx,16*4 - add edx,16*4 - loop loopuu - } - } - } - - src += n<<4,dst += n<<4,op += n<<4; -zero: - while(cnt--) *(dst++) = *(src++) + *(op++); - } - else -#elif defined(__APPLE__) && defined(__VDSP__) - if(true) { - vDSP_vadd(src,1,op,1,dst,1,cnt); - } - else -#elif (FLEXT_CPU == FLEXT_CPU_PPC || FLEXT_CPU == FLEXT_CPU_PPC64) && defined(__VEC__) - if(GetSIMDCapabilities()&simd_altivec && VectorsAligned(src,op,dst)) - AddAltivec(dst,src,op,cnt); - else -#endif // _MSC_VER -#endif // FLEXT_USE_SIMD - { - int n = cnt>>3; - cnt -= n<<3; - - if(dst == src) { - while(n--) { - dst[0] += op[0]; dst[1] += op[1]; - dst[2] += op[2]; dst[3] += op[3]; - dst[4] += op[4]; dst[5] += op[5]; - dst[6] += op[6]; dst[7] += op[7]; - dst += 8,op += 8; - } - while(cnt--) *(dst++) += *(op++); - } - else { - while(n--) { - dst[0] = src[0]+op[0]; dst[1] = src[1]+op[1]; - dst[2] = src[2]+op[2]; dst[3] = src[3]+op[3]; - dst[4] = src[4]+op[4]; dst[5] = src[5]+op[5]; - dst[6] = src[6]+op[6]; dst[7] = src[7]+op[7]; - src += 8,dst += 8,op += 8; - } - while(cnt--) *(dst++) = *(src++) + *(op++); - } - } -#endif -} - - -void flext::ScaleSamples(t_sample *dst,const t_sample *src,t_sample opmul,t_sample opadd,int cnt) -{ -#ifdef FLEXT_USE_IPP - if(sizeof(t_sample) == 4) { - ippsMulC_32f((const float *)src,(float)opmul,(float *)dst,cnt); - ippsAddC_32f_I((float)opadd,(float *)dst,cnt); - } - else if(sizeof(t_sample) == 8) { - ippsMulC_64f((const double *)src,(double)opmul,(double *)dst,cnt); - ippsAddC_64f_I((double)opadd,(double *)dst,cnt); - } - else - ERRINTERNAL(); -#else -#ifdef FLEXT_USE_SIMD -#ifdef _MSC_VER - if(GetSIMDCapabilities()&simd_sse) { - // single precision - int n = cnt>>4; - if(!n) goto zero; - cnt -= n<<4; - - __asm { - mov eax,dword ptr [src] - prefetcht0 [eax+0] - prefetcht0 [eax+32] - - movss xmm0,xmmword ptr [opadd] - shufps xmm0,xmm0,0 - movss xmm1,xmmword ptr [opmul] - shufps xmm1,xmm1,0 - } - - if(VectorsAligned(src,dst)) { - // aligned version - __asm { - mov ecx,dword ptr [n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] -loopa: - prefetcht0 [eax+64] - prefetcht0 [eax+96] - - movaps xmm2,xmmword ptr[eax] - mulps xmm2,xmm1 - addps xmm2,xmm0 - movaps xmmword ptr[edx],xmm2 - - movaps xmm3,xmmword ptr[eax+4*4] - mulps xmm3,xmm1 - addps xmm3,xmm0 - movaps xmmword ptr[edx+4*4],xmm3 - - movaps xmm4,xmmword ptr[eax+8*4] - mulps xmm4,xmm1 - addps xmm4,xmm0 - movaps xmmword ptr[edx+8*4],xmm4 - - movaps xmm5,xmmword ptr[eax+12*4] - mulps xmm5,xmm1 - addps xmm5,xmm0 - movaps xmmword ptr[edx+12*4],xmm5 - - add eax,16*4 - add edx,16*4 - loop loopa - } - } - else { - // unaligned version - __asm { - mov ecx,dword ptr [n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] -loopu: - prefetcht0 [eax+64] - prefetcht0 [eax+96] - - movups xmm2,xmmword ptr[eax] - mulps xmm2,xmm1 - addps xmm2,xmm0 - movups xmmword ptr[edx],xmm2 - - movups xmm3,xmmword ptr[eax+4*4] - mulps xmm3,xmm1 - addps xmm3,xmm0 - movups xmmword ptr[edx+4*4],xmm3 - - movups xmm4,xmmword ptr[eax+8*4] - mulps xmm4,xmm1 - addps xmm4,xmm0 - movups xmmword ptr[edx+8*4],xmm4 - - movups xmm5,xmmword ptr[eax+12*4] - mulps xmm5,xmm1 - addps xmm5,xmm0 - movups xmmword ptr[edx+12*4],xmm5 - - add eax,16*4 - add edx,16*4 - loop loopu - } - } - - src += n<<4,dst += n<<4; -zero: - while(cnt--) *(dst++) = *(src++)*opmul+opadd; - } - else -#elif (FLEXT_CPU == FLEXT_CPU_PPC || FLEXT_CPU == FLEXT_CPU_PPC64) && defined(__VEC__) - if(GetSIMDCapabilities()&simd_altivec && VectorsAligned(src,dst)) - ScaleAltivec(dst,src,opmul,opadd,cnt); - else -#endif // _MSC_VER -#endif // FLEXT_USE_SIMD - { - int n = cnt>>3; - cnt -= n<<3; - while(n--) { - dst[0] = src[0]*opmul+opadd; dst[1] = src[1]*opmul+opadd; - dst[2] = src[2]*opmul+opadd; dst[3] = src[3]*opmul+opadd; - dst[4] = src[4]*opmul+opadd; dst[5] = src[5]*opmul+opadd; - dst[6] = src[6]*opmul+opadd; dst[7] = src[7]*opmul+opadd; - src += 8,dst += 8; - } - while(cnt--) *(dst++) = *(src++)*opmul+opadd; - } -#endif -} - -void flext::ScaleSamples(t_sample *dst,const t_sample *src,t_sample opmul,const t_sample *opadd,int cnt) -{ -#ifdef FLEXT_USE_IPP - if(sizeof(t_sample) == 4) { - ippsMulC_32f((const float *)src,(float)opmul,(float *)dst,cnt); - ippsAdd_32f_I((float *)opadd,(float *)dst,cnt); - } - else if(sizeof(t_sample) == 8) { - ippsMulC_64f((const double *)src,(double)opmul,(double *)dst,cnt); - ippsAdd_64f_I((double *)opadd,(double *)dst,cnt); - } - else - ERRINTERNAL(); -#else -#ifdef FLEXT_USE_SIMD -#ifdef _MSC_VER - if(GetSIMDCapabilities()&simd_sse) { - // single precision - int n = cnt>>4; - if(!n) goto zero; - cnt -= n<<4; - - __asm { - mov eax,dword ptr [src] - prefetcht0 [eax+0] - prefetcht0 [eax+32] - - movss xmm0,xmmword ptr [opmul] - shufps xmm0,xmm0,0 - } - - if(VectorsAligned(src,dst,opadd)) { - // aligned version - __asm { - mov ecx,dword ptr [n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ebx,dword ptr [opadd] -loopa: - prefetcht0 [eax+64] - prefetcht0 [ebx+64] - prefetcht0 [eax+96] - prefetcht0 [ebx+96] - - movaps xmm2,xmmword ptr[eax] - movaps xmm1,xmmword ptr[ebx] - mulps xmm2,xmm0 - addps xmm2,xmm1 - movaps xmmword ptr[edx],xmm2 - - movaps xmm3,xmmword ptr[eax+4*4] - movaps xmm1,xmmword ptr[ebx+4*4] - mulps xmm3,xmm0 - addps xmm3,xmm1 - movaps xmmword ptr[edx+4*4],xmm3 - - movaps xmm4,xmmword ptr[eax+8*4] - movaps xmm1,xmmword ptr[ebx+8*4] - mulps xmm4,xmm0 - addps xmm4,xmm1 - movaps xmmword ptr[edx+8*4],xmm4 - - movaps xmm5,xmmword ptr[eax+12*4] - movaps xmm1,xmmword ptr[ebx+12*4] - mulps xmm5,xmm0 - addps xmm5,xmm1 - movaps xmmword ptr[edx+12*4],xmm5 - - add eax,16*4 - add edx,16*4 - add ebx,16*4 - loop loopa - } - } - else { - // unaligned version - __asm { - mov ecx,dword ptr [n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ebx,dword ptr [opadd] -loopu: - prefetcht0 [eax+64] - prefetcht0 [ebx+64] - prefetcht0 [eax+96] - prefetcht0 [ebx+96] - - movups xmm2,xmmword ptr[eax] - movups xmm1,xmmword ptr[ebx] - mulps xmm2,xmm0 - addps xmm2,xmm1 - movups xmmword ptr[edx],xmm2 - - movups xmm3,xmmword ptr[eax+4*4] - movups xmm1,xmmword ptr[ebx+4*4] - mulps xmm3,xmm0 - addps xmm3,xmm1 - movups xmmword ptr[edx+4*4],xmm3 - - movups xmm4,xmmword ptr[eax+8*4] - movups xmm1,xmmword ptr[ebx+8*4] - mulps xmm4,xmm0 - addps xmm4,xmm1 - movups xmmword ptr[edx+8*4],xmm4 - - movups xmm5,xmmword ptr[eax+12*4] - movups xmm1,xmmword ptr[ebx+12*4] - mulps xmm5,xmm0 - addps xmm5,xmm1 - movups xmmword ptr[edx+12*4],xmm5 - - add eax,16*4 - add edx,16*4 - add ebx,16*4 - loop loopu - } - } - - src += n<<4,dst += n<<4,opadd += n<<4; -zero: - while(cnt--) *(dst++) = *(src++) * opmul + *(opadd++); - } - else -#elif (FLEXT_CPU == FLEXT_CPU_PPC || FLEXT_CPU == FLEXT_CPU_PPC64) && defined(__VEC__) - if(GetSIMDCapabilities()&simd_altivec && VectorsAligned(src,dst,opadd)) - ScaleAltivec(dst,src,opmul,opadd,cnt); - else -#endif // _MSC_VER -#endif // FLEXT_USE_SIMD - { - int n = cnt>>3; - cnt -= n<<3; - if(dst == opadd) { - while(n--) { - dst[0] += src[0]*opmul; dst[1] += src[1]*opmul; - dst[2] += src[2]*opmul; dst[3] += src[3]*opmul; - dst[4] += src[4]*opmul; dst[5] += src[5]*opmul; - dst[6] += src[6]*opmul; dst[7] += src[7]*opmul; - src += 8,dst += 8; - } - while(cnt--) *(dst++) += *(src++)*opmul; - } - else { - while(n--) { - dst[0] = src[0]*opmul+opadd[0]; dst[1] = src[1]*opmul+opadd[1]; - dst[2] = src[2]*opmul+opadd[2]; dst[3] = src[3]*opmul+opadd[3]; - dst[4] = src[4]*opmul+opadd[4]; dst[5] = src[5]*opmul+opadd[5]; - dst[6] = src[6]*opmul+opadd[6]; dst[7] = src[7]*opmul+opadd[7]; - src += 8,dst += 8,opadd += 8; - } - while(cnt--) *(dst++) = *(src++)*opmul+*(opadd++); - } - } -#endif -} - -void flext::ScaleSamples(t_sample *dst,const t_sample *src,const t_sample *opmul,const t_sample *opadd,int cnt) -{ -#ifdef FLEXT_USE_IPP - if(sizeof(t_sample) == 4) { - ippsMul_32f((const float *)src,(const float *)opmul,(float *)dst,cnt); - ippsAdd_32f_I((const float *)opadd,(float *)dst,cnt); - } - else if(sizeof(t_sample) == 8) { - ippsMul_64f((const double *)src,(const double *)opmul,(double *)dst,cnt); - ippsAdd_64f_I((const double *)opadd,(double *)dst,cnt); - } - else - ERRINTERNAL(); -#else -#ifdef FLEXT_USE_SIMD -#ifdef _MSC_VER - if(GetSIMDCapabilities()&simd_sse) { - // single precision - int n = cnt>>4; - if(!n) goto zero; - cnt -= n<<4; - - __asm { - mov eax,dword ptr [src] - prefetcht0 [eax+0] - prefetcht0 [eax+32] - } - - if(VectorsAligned(src,dst,opmul,opadd)) { - // aligned version - __asm { - mov ecx,dword ptr [n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov esi,dword ptr [opmul] - mov ebx,dword ptr [opadd] -loopa: - prefetcht0 [eax+64] - prefetcht0 [ebx+64] - prefetcht0 [esi+64] - prefetcht0 [eax+96] - prefetcht0 [ebx+96] - prefetcht0 [esi+96] - - movaps xmm2,xmmword ptr[eax] - movaps xmm0,xmmword ptr[esi] - movaps xmm1,xmmword ptr[ebx] - mulps xmm2,xmm0 - addps xmm2,xmm1 - movaps xmmword ptr[edx],xmm2 - - movaps xmm3,xmmword ptr[eax+4*4] - movaps xmm0,xmmword ptr[esi+4*4] - movaps xmm1,xmmword ptr[ebx+4*4] - mulps xmm3,xmm0 - addps xmm3,xmm1 - movaps xmmword ptr[edx+4*4],xmm3 - - movaps xmm4,xmmword ptr[eax+8*4] - movaps xmm0,xmmword ptr[esi+8*4] - movaps xmm1,xmmword ptr[ebx+8*4] - mulps xmm4,xmm0 - addps xmm4,xmm1 - movaps xmmword ptr[edx+8*4],xmm4 - - movaps xmm5,xmmword ptr[eax+12*4] - movaps xmm0,xmmword ptr[esi+12*4] - movaps xmm1,xmmword ptr[ebx+12*4] - mulps xmm5,xmm0 - addps xmm5,xmm1 - movaps xmmword ptr[edx+12*4],xmm5 - - add eax,16*4 - add edx,16*4 - add ebx,16*4 - add esi,16*4 - loop loopa - } - } - else { - // unaligned version - __asm { - mov ecx,dword ptr [n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov esi,dword ptr [opmul] - mov ebx,dword ptr [opadd] -loopu: - prefetcht0 [eax+64] - prefetcht0 [ebx+64] - prefetcht0 [esi+64] - prefetcht0 [eax+96] - prefetcht0 [ebx+96] - prefetcht0 [esi+96] - - movups xmm2,xmmword ptr[eax] - movups xmm0,xmmword ptr[esi] - movups xmm1,xmmword ptr[ebx] - mulps xmm2,xmm0 - addps xmm2,xmm1 - movups xmmword ptr[edx],xmm2 - - movups xmm3,xmmword ptr[eax+4*4] - movups xmm0,xmmword ptr[esi+4*4] - movups xmm1,xmmword ptr[ebx+4*4] - mulps xmm3,xmm0 - addps xmm3,xmm1 - movups xmmword ptr[edx+4*4],xmm3 - - movups xmm4,xmmword ptr[eax+8*4] - movups xmm0,xmmword ptr[esi+8*4] - movups xmm1,xmmword ptr[ebx+8*4] - mulps xmm4,xmm0 - addps xmm4,xmm1 - movups xmmword ptr[edx+8*4],xmm4 - - movups xmm5,xmmword ptr[eax+12*4] - movups xmm0,xmmword ptr[esi+12*4] - movups xmm1,xmmword ptr[ebx+12*4] - mulps xmm5,xmm0 - addps xmm5,xmm1 - movups xmmword ptr[edx+12*4],xmm5 - - add eax,16*4 - add edx,16*4 - add ebx,16*4 - add esi,16*4 - loop loopu - } - } - src += n<<4,dst += n<<4,opmul += n<<4,opadd += n<<4; -zero: - while(cnt--) *(dst++) = *(src++) * *(opmul++) + *(opadd++); - } - else -#elif (FLEXT_CPU == FLEXT_CPU_PPC || FLEXT_CPU == FLEXT_CPU_PPC64) && defined(__VEC__) - if(GetSIMDCapabilities()&simd_altivec && VectorsAligned(src,dst,opmul,opadd)) - ScaleAltivec(dst,src,opmul,opadd,cnt); - else -#endif // _MSC_VER -#endif // FLEXT_USE_SIMD - { - int n = cnt>>3; - cnt -= n<<3; - if(dst == opadd) { - while(n--) { - dst[0] += src[0]*opmul[0]; dst[1] += src[1]*opmul[1]; - dst[2] += src[2]*opmul[2]; dst[3] += src[3]*opmul[3]; - dst[4] += src[4]*opmul[4]; dst[5] += src[5]*opmul[5]; - dst[6] += src[6]*opmul[6]; dst[7] += src[7]*opmul[7]; - src += 8,dst += 8,opmul += 8; - } - while(cnt--) *(dst++) += *(src++) * *(opmul++); - } - else { - while(n--) { - dst[0] = src[0]*opmul[0]+opadd[0]; dst[1] = src[1]*opmul[1]+opadd[1]; - dst[2] = src[2]*opmul[2]+opadd[2]; dst[3] = src[3]*opmul[3]+opadd[3]; - dst[4] = src[4]*opmul[4]+opadd[4]; dst[5] = src[5]*opmul[5]+opadd[5]; - dst[6] = src[6]*opmul[6]+opadd[6]; dst[7] = src[7]*opmul[7]+opadd[7]; - src += 8,dst += 8,opmul += 8,opadd += 8; - } - while(cnt--) *(dst++) = *(src++)* *(opmul++) + *(opadd++); - } - } -#endif -} - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flsndobj.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flsndobj.cpp.svn-base deleted file mode 100644 index 3d8ca0b07..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flsndobj.cpp.svn-base +++ /dev/null @@ -1,137 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -#include "flext.h" -#include "flsndobj.h" - -#include "flpushns.h" - -flext_sndobj::flext_sndobj(): - inobjs(0),outobjs(0), - inobj(NULL),tmpobj(NULL),outobj(NULL), - smprt(0),blsz(0) -{} - -bool flext_sndobj::Init() -{ - bool ret = flext_dsp::Init(); - inobjs = CntInSig(); - outobjs = CntOutSig(); - return ret; -} - -void flext_sndobj::Exit() -{ - ClearObjs(); - flext_dsp::Exit(); -} - -void flext_sndobj::ClearObjs() -{ - FreeObjs(); - - if(inobj) { - for(int i = 0; i < inobjs; ++i) delete inobj[i]; - delete[] inobj; inobj = NULL; - } - if(tmpobj) { - for(int i = 0; i < inobjs; ++i) delete tmpobj[i]; - delete[] tmpobj; tmpobj = NULL; - } - if(outobj) { - for(int i = 0; i < outobjs; ++i) delete outobj[i]; - delete[] outobj; outobj = NULL; - } -} - -bool flext_sndobj::CbDsp() -{ - // called on every rebuild of the dsp chain - - int i; - if(Blocksize() != blsz || Samplerate() != smprt) { - // block size or sample rate has changed... rebuild all objects - - ClearObjs(); - - blsz = Blocksize(); - smprt = Samplerate(); - - // set up sndobjs for inlets and outlets - if(inobjs) { - inobj = new Inlet *[inobjs]; - tmpobj = new SndObj *[inobjs]; - for(i = 0; i < inobjs; ++i) { - inobj[i] = new Inlet(InSig(i),blsz,smprt); - tmpobj[i] = new SndObj(NULL,blsz,smprt); - } - } - if(outobjs) { - outobj = new Outlet *[outobjs]; - for(i = 0; i < outobjs; ++i) outobj[i] = new Outlet(OutSig(i),blsz,smprt); - } - - if(!NewObjs()) ClearObjs(); - } - else { - // assign changed input/output vectors - - for(i = 0; i < inobjs; ++i) inobj[i]->SetBuf(InSig(i)); - for(i = 0; i < outobjs; ++i) outobj[i]->SetBuf(OutSig(i)); - } - return true; -} - -void flext_sndobj::CbSignal() -{ - for(int i = 0; i < inobjs; ++i) *tmpobj[i] << *inobj[i]; - ProcessObjs(); -} - - -flext_sndobj::Inlet::Inlet(const t_sample *b,int vecsz,float sr): - SndIO(1,sizeof(t_sample)*8,NULL,vecsz,sr),buf(b) -{} - -short flext_sndobj::Inlet::Read() -{ - if(!m_error) { - for(m_vecpos = 0; m_vecpos < m_samples; m_vecpos++) - m_output[m_vecpos] = buf[m_vecpos]; - return 1; - } - else return 0; -} - -short flext_sndobj::Inlet::Write() { return 0; } - - -flext_sndobj::Outlet::Outlet(t_sample *b,int vecsz,float sr): - SndIO(1,sizeof(t_sample)*8,NULL,vecsz,sr),buf(b) -{} - -short flext_sndobj::Outlet::Read() { return 0; } - -short flext_sndobj::Outlet::Write() -{ - if(!m_error) { - if(m_IOobjs[0]) - for(m_vecpos = 0; m_vecpos < m_samples; m_vecpos++) - buf[m_vecpos] = m_IOobjs[0]->Output(m_vecpos); - return 1; - } - else return 0; -} - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flsndobj.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flsndobj.h.svn-base deleted file mode 100644 index edd1b52c5..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flsndobj.h.svn-base +++ /dev/null @@ -1,108 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -#ifndef __FLSNDOBJ_H -#define __FLSNDOBJ_H - -#include "flext.h" - -// PI is defined in the Max/MSP SDK, but clashes with SndObj.h -#ifdef PI -#undef PI -#endif - -// SndObj needs WIN symbol when compiled under Windows -#if FLEXT_OS == FLEXT_OS_WIN && !defined(WIN) -#define WIN -#endif - -#ifndef FLEXT_THREADS -#define NOPTHREAD -#endif - -#include <SndObj/SndObj.h> -#include <SndObj/SndIO.h> - -#undef NOPTHREAD - -#include "flpushns.h" - -class FLEXT_SHARE flext_sndobj: - public flext_dsp -{ - FLEXT_HEADER(flext_sndobj,flext_dsp) - -public: - flext_sndobj(); - - // these have to be overridden in child classes - virtual bool NewObjs() { return true; } - virtual void FreeObjs() {} - virtual void ProcessObjs() {} - - // inputs and outputs - SndObj &InObj(int i) { return *tmpobj[i]; } - SndIO &OutObj(int i) { return *outobj[i]; } - -protected: - virtual bool Init(); - virtual void Exit(); - -private: - //! SndObj for reading from inlet buffer - class Inlet: - public SndIO - { - public: - Inlet(const t_sample *b,int vecsz,float sr); - virtual short Read(); - virtual short Write(); - - void SetBuf(const t_sample *b) { buf = b; } - - private: - const t_sample *buf; - }; - - //! SndObj for writing to outlet buffer - class Outlet: - public SndIO - { - public: - Outlet(t_sample *b,int vecsz,float sr); - virtual short Read(); - virtual short Write(); - - void SetBuf(t_sample *b) { buf = b; } - - private: - t_sample *buf; - }; - - virtual bool CbDsp(); - virtual void CbSignal(); - - void ClearObjs(); - - int inobjs,outobjs; - SndObj **tmpobj; - Inlet **inobj; - Outlet **outobj; - - float smprt; - int blsz; -}; - -#include "flpopns.h" - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flstdc.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flstdc.h.svn-base deleted file mode 100644 index 9345b4849..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flstdc.h.svn-base +++ /dev/null @@ -1,339 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flstdc.h - \brief Definitions to unite Max/MSP and PD notions - - This file contains a few definitions to unite a few of the notions that - once drifted apart in Max and PD. It is not elegant but helps. -*/ - -#ifndef __FLEXT_STDC_H -#define __FLEXT_STDC_H - -#if defined(_MSC_VER) && (_MSC_VER < 0x1300) -/* - include math.h here - when included with PD or Max/MSP headers, - C linkage would be used which disturbs MSVC6 -*/ -#include <cmath> -#endif - -#ifdef _MSC_VER -#include <crtdbg.h> -#else -#include <cassert> -#endif - -// PD stuff - -#if FLEXT_SYS == FLEXT_SYS_PD - -/* PD definitions start here */ - -#ifdef _MSC_VER - #pragma warning (push) - #pragma warning (disable:4091 4005) -#endif - -#if FLEXT_OS == FLEXT_OS_WIN && !defined(NT) -#define NT -#endif - -extern "C" { - // Include the relevant PD header files - #ifdef FLEXT_DEBUG - /* PD header file structure has changed with version 0.37 - from then on m_imp.h needs m_pd.h to be included before - on the other hand versions < 0.37 don't like that.... - (they want m_imp.h solely as m_pd.h is included therein) - So better use the m_pd.h here also for the debug version. - Change that if really needed for debugging PD internals... - */ - - #ifndef PD_VERSION - // include only if not already included - #include <m_pd.h> - #endif -// #include <m_imp.h> // for easier debugging - #else - #ifndef PD_VERSION - // include only if not already included - #include <m_pd.h> - #endif - #endif -} - -#ifdef _MSC_VER - #pragma warning (pop) -#endif - -#include "flpushns.h" - -#ifdef cabs -#undef cabs // this is defined in m_pd.h (clashes with math.h in MacOSX) -#endif - -typedef t_object t_sigobj; -typedef t_gpointer *t_ptrtype; - -typedef t_float t_flint; -typedef t_symbol *t_symtype; -typedef t_class **t_thing; - -typedef t_clock t_qelem; - -#define A_NOTHING A_NULL -#define A_FLINT A_FLOAT -#define A_DEFFLINT A_DEFFLOAT -#define A_DEFSYMBOL A_DEFSYM - -#include "flpopns.h" - - -#elif FLEXT_SYS == FLEXT_SYS_MAX - -/* -------------- Max/MSP ------------------- */ - -// 2-byte alignment for Max/MSP structures -#ifdef _MSC_VER -#pragma pack(push,flext_maxsdk) -#pragma pack(2) -#endif - -// Include the relevant Max/MSP header files - -#if FLEXT_OS == FLEXT_OS_MAC - #if FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH - // MachO version - must insert prefix header - #include <Carbon/Carbon.h> - #else - // CFM version - #ifndef __MRC__ - #define powerc - #endif - #define __MOTO__ 0 - - #include <MacTypes.h> - #endif -#elif FLEXT_OS == FLEXT_OS_WIN - #define WIN_VERSION 1 - #define WIN_EXT_VERSION 1 -#endif - -// necessary for the old OS9 SDK -extern "C" { - -#include "ext.h" -#include "ext_user.h" -#if FLEXT_OS != FLEXT_OS_MAC || defined(MAC_VERSION) -// doesn't exist for OS9 -#include "ext_critical.h" -#include "buffer.h" -#else -// for OS9 include "inofficial" header file -#include "flmspbuffer.h" -#endif -#include "z_dsp.h" -#include "ext_obex.h" - -// check for Max5 SDK -#include "commonsyms.h" -#if C74_MAX_SDK_VERSION >= 0x0500 || COMMON_SYMBOLS_VERSION >= 500 - #define _FLEXT_MAX5SDK -#endif - -} // extern "C" - -#include "flpushns.h" - -#undef WIN_VERSION - -typedef t_pxobject t_sigobj; // that's the all-in-one object type of Max/MSP (not very memory-efficent, i guess) -typedef t_patcher t_canvas; - -typedef t_int t_flint; -typedef t_symbol *t_symtype; -typedef t_object *t_thing; - -#ifndef _FLEXT_MAX5SDK - // for the following to work you should have the latest SDK - #if FLEXT_OS == FLEXT_OS_MAC //&& !defined(MAC_VERSION) - typedef struct qelem t_qelem; - #else - typedef void *t_qelem; - #endif -#endif - -typedef method t_method; -typedef method t_newmethod; -typedef int t_atomtype; - -#ifndef _FLEXT_MAX5SDK -typedef struct clock t_clock; // this is defined in the Max5 SDK -#endif - -typedef void t_binbuf; - -#undef clock_free -#define clock_free(tick) freeobject((object *)tick) - -#define A_NULL A_NOTHING -#define A_DEFFLINT A_DEFLONG - -#ifndef A_INT -#define A_INT A_LONG -#endif - -#ifndef A_DEFINT -#define A_DEFINT A_DEFLONG -#endif - -#ifndef A_SYMBOL -#define A_SYMBOL A_SYM -#endif - -#ifndef A_DEFSYMBOL -#define A_DEFSYMBOL A_DEFSYM -#endif - -#if FLEXT_OS == FLEXT_OS_MAC && !defined(MAC_VERSION) -// simulate non-existing functions for OS9 -#define critical_enter(N) -#define critical_exit(N) -#endif - -#ifdef _MSC_VER -#pragma pack(pop,flext_maxsdk) -#endif - -#include "flpopns.h" - -#else -#error Platform not supported -#endif // FLEXT_SYS - - -// general definitions - -#include "flpushns.h" - -typedef t_symbol *t_symptr; - -// ------------------------- - -#ifdef FLEXT_LOGGING -/* If FLEXT_LOGGING is defined implement logging */ - -#ifdef _MSC_VER -#define FLEXT_LOG(s) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s) -#define FLEXT_LOG1(s,v1) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1) -#define FLEXT_LOG2(s,v1,v2) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2) -#define FLEXT_LOG3(s,v1,v2,v3) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3) -#define FLEXT_LOG4(s,v1,v2,v3,v4) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4) -#define FLEXT_LOG5(s,v1,v2,v3,v4,v5) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4,v5) -#define FLEXT_LOG6(s,v1,v2,v3,v4,v5,v6) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4,v5,v6) -#define FLEXT_LOG7(s,v1,v2,v3,v4,v5,v6,v7) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4,v5,v6,v7) -#define FLEXT_LOG8(s,v1,v2,v3,v4,v5,v6,v7,v8) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4,v5,v6,v7,v8) -#define FLEXT_LOG9(s,v1,v2,v3,v4,v5,v6,v7,v8,v9) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4,v5,v6,v7,v8,v9) -#else -#define FLEXT_LOG(s) post(s) -#define FLEXT_LOG1(s,v1) post(s,v1) -#define FLEXT_LOG2(s,v1,v2) post(s,v1,v2) -#define FLEXT_LOG3(s,v1,v2,v3) post(s,v1,v2,v3) -#define FLEXT_LOG4(s,v1,v2,v3,v4) post(s,v1,v2,v3,v4) -#define FLEXT_LOG5(s,v1,v2,v3,v4,v5) post(s,v1,v2,v3,v4,v5) -#define FLEXT_LOG6(s,v1,v2,v3,v4,v5,v6) post(s,v1,v2,v3,v4,v5,v6) -#define FLEXT_LOG7(s,v1,v2,v3,v4,v5,v6,v7) post(s,v1,v2,v3,v4,v5,v6,v7) -#define FLEXT_LOG8(s,v1,v2,v3,v4,v5,v6,v7,v8) post(s,v1,v2,v3,v4,v5,v6,v7,v8) -#define FLEXT_LOG9(s,v1,v2,v3,v4,v5,v6,v7,v8,v9) post(s,v1,v2,v3,v4,v5,v6,v7,v8,v9) -#endif - -#else - -/* If FLEXT_LOGGING is not defined avoid logging */ -#define FLEXT_LOG(s) ((void)0) -#define FLEXT_LOG1(s,v1) ((void)0) -#define FLEXT_LOG2(s,v1,v2) ((void)0) -#define FLEXT_LOG3(s,v1,v2,v3) ((void)0) -#define FLEXT_LOG4(s,v1,v2,v3,v4) ((void)0) -#define FLEXT_LOG5(s,v1,v2,v3,v4,v5) ((void)0) -#define FLEXT_LOG6(s,v1,v2,v3,v4,v5,v6) ((void)0) -#define FLEXT_LOG7(s,v1,v2,v3,v4,v5,v6,v7) ((void)0) -#define FLEXT_LOG8(s,v1,v2,v3,v4,v5,v6,v7,v8) ((void)0) -#define FLEXT_LOG9(s,v1,v2,v3,v4,v5,v6,v7,v8,v9) ((void)0) - -#endif - -#ifdef FLEXT_DEBUG -#ifdef _MSC_VER -#define FLEXT_ASSERT(b) do { if(!(b)) _CrtDbgReport(_CRT_ASSERT,__FILE__,__LINE__,"flext",#b); } while(false) -#define FLEXT_WARN(str) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",NULL) -#define FLEXT_ERROR(str) _CrtDbgReport(_CRT_ERROR,__FILE__,__LINE__,"flext",NULL) -#else -#define FLEXT_ASSERT(b) assert(b) -//#define FLEXT_ASSERT(b) do { if(!(b)) error("Assertion failed: " #b " - in " __FILE__ " line %i",(int)__LINE__); } while(false) -#define FLEXT_WARN(str) error("Warning: in " __FILE__ " line %i",(int)__LINE__) -#define FLEXT_ERROR(str) error("Error: in " __FILE__ " line %i",(int)__LINE__) -#endif -#else -#define FLEXT_ASSERT(b) (1) -#define FLEXT_WARN(str) (1) -#define FLEXT_ERROR(str) error("Error: in " __FILE__ " line %i",(int)__LINE__) -#endif - -#define ERRINTERNAL() error("flext: Internal error in file " __FILE__ ", line %i - please report",(int)__LINE__) - - -// ----- disable attribute editor for PD version < devel_0_36 or 0.37 -#ifndef PD_MAJOR_VERSION -# undef FLEXT_NOATTREDIT -# define FLEXT_NOATTREDIT -#endif - - -// ----- set message queue mode ----- -#if FLEXT_SYS == FLEXT_SYS_PD && PD_MINOR_VERSION >= 37 -// for PD version >= 0.37test10 FLEXT_PDLOCK is standard -# undef FLEXT_PDLOCK -# define FLEXT_PDLOCK -#endif - -#ifndef FLEXT_QMODE -# if FLEXT_SYS == FLEXT_SYS_PD && PD_MINOR_VERSION >= 38 && defined(PD_DEVEL_VERSION) -// use idle callback -# define FLEXT_QMODE 1 -# elif defined(FLEXT_PDLOCK) -// new PD thread locking functionality shall be used -# if FLEXT_SYS == FLEXT_SYS_PD -# ifdef FLEXT_THREADS -// can only be used with PD and threaded build -# define FLEXT_QMODE 2 -# else -# define FLEXT_QMODE 0 -# endif -# else -# error FLEXT_PDLOCK can only be defined with PD -# endif -# else -# define FLEXT_QMODE 0 -# endif -#endif - -#ifndef FLEXT_QMODE -# error Internal error: Queueing mode not defined -#endif - -#include "flpopns.h" - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flstk.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flstk.cpp.svn-base deleted file mode 100644 index e29dc4db3..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flstk.cpp.svn-base +++ /dev/null @@ -1,116 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-20010 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -#include "flext.h" -#include "flstk.h" - -#include "flpushns.h" - -flext_stk::flext_stk(): - inobjs(0),outobjs(0), - inobj(NULL),outobj(NULL), - smprt(0),blsz(0) -{} - -bool flext_stk::Init() -{ - bool ret = flext_dsp::Init(); - inobjs = CntInSig(); - outobjs = CntOutSig(); - return ret; -} - -void flext_stk::Exit() -{ - ClearObjs(); - flext_dsp::Exit(); -} - -void flext_stk::ClearObjs() -{ - FreeObjs(); - - if(inobj) { - for(int i = 0; i < inobjs; ++i) delete inobj[i]; - delete[] inobj; inobj = NULL; - } - if(outobj) { - for(int i = 0; i < outobjs; ++i) delete outobj[i]; - delete[] outobj; outobj = NULL; - } -} - -bool flext_stk::CbDsp() -{ - // called on every rebuild of the dsp chain - - int i; - - if(Blocksize() != blsz || Samplerate() != smprt) { - // block size or sample rate has changed... rebuild all objects - - ClearObjs(); - - smprt = Samplerate(); - blsz = Blocksize(); - Stk::setSampleRate(smprt); - - // set up sndobjs for inlets and outlets - if(inobjs) { - inobj = new Input *[inobjs]; - for(i = 0; i < inobjs; ++i) - inobj[i] = new Input(InSig(i),blsz); - } - if(outobjs) { - outobj = new Output *[outobjs]; - for(i = 0; i < outobjs; ++i) - outobj[i] = new Output(OutSig(i),blsz); - } - - if(!NewObjs()) ClearObjs(); - } - else { - // assign changed input/output vectors - - for(i = 0; i < inobjs; ++i) inobj[i]->SetBuf(InSig(i)); - for(i = 0; i < outobjs; ++i) outobj[i]->SetBuf(OutSig(i)); - } - return true; -} - -void flext_stk::CbSignal() -{ - if(inobjs || outobjs) ProcessObjs(blsz); -} - - -// inlet class - -StkFloat *flext_stk::Input::tick(StkFloat *vector,unsigned int vectorSize) -{ - FLEXT_ASSERT(vectorSize == vecsz); - for(unsigned int i = 0; i < vectorSize; i++) vector[i] = tick(); - return vector; -} - - -// outlet class - -void flext_stk::Output::tick(const StkFloat *vector,unsigned int vectorSize) -{ - FLEXT_ASSERT(vectorSize == vecsz); - for(unsigned int i = 0; i < vectorSize; i++) tick(vector[i]); -} - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flstk.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flstk.h.svn-base deleted file mode 100644 index bb31d4455..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flstk.h.svn-base +++ /dev/null @@ -1,134 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2010 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -#ifndef __FLSTK_H -#define __FLSTK_H - -#include "flext.h" - -// PI is defined in the Max/MSP SDK, but clashes with Stk.h -#ifdef PI -#undef PI -#endif - -#include <Stk.h> - -#include "flpushns.h" - -using stk::Stk; -using stk::StkFloat; -using stk::StkFrames; - -class FLEXT_SHARE flext_stk: - public flext_dsp -{ - FLEXT_HEADER(flext_stk,flext_dsp) - -public: - flext_stk(); - - // these have to be overridden in child classes - virtual bool NewObjs() { return true; } - virtual void FreeObjs() {} - virtual void ProcessObjs(int blocksize) {} - -protected: - virtual bool Init(); - virtual void Exit(); - - //! STK object for reading from inlet buffer - class Input: - public Stk - { - public: - Input(const t_sample *b,int v): - buf(b),vecsz(v), - index(v-1) - {} - - inline StkFloat lastOut() const { return (StkFloat)buf[index]; } - - inline StkFloat tick() - { - if(++index >= vecsz) index = 0; - return lastOut(); - } - - StkFloat *tick(StkFloat *vector,unsigned int vectorSize); - - inline StkFrames &tick(StkFrames &vector) - { - FLEXT_ASSERT(vector.channels() == 1); - tick(&vector[0],vector.frames()); - return vector; - } - - inline void SetBuf(const t_sample *b) { buf = b; } - - private: - const t_sample *buf; - int vecsz,index; - }; - - //! STK object for writing to outlet buffer - class Output: - public Stk - { - public: - Output(t_sample *b,int v): - buf(b),vecsz(v), - index(0) - {} - - inline void tick(StkFloat s) - { - buf[index] = (t_sample)s; - if(++index >= vecsz) index = 0; - } - - void tick(const StkFloat *vector,unsigned int vectorSize); - - inline void tick(const StkFrames &vector) - { - FLEXT_ASSERT(vector.channels() == 1); - // dirty casting due to bug in STK api... operator[] _should_ return const StkFloat & - tick(&const_cast<StkFrames &>(vector)[0],vector.frames()); - } - - inline void SetBuf(t_sample *b) { buf = b; } - - private: - t_sample *buf; - int vecsz,index; - }; - - Input &Inlet(int ix) { return *inobj[ix]; } - Output &Outlet(int ix) { return *outobj[ix]; } - -private: - virtual bool CbDsp(); - virtual void CbSignal(); - - void ClearObjs(); - - int inobjs,outobjs; - Input **inobj; - Output **outobj; - - float smprt; - int blsz; -}; - -#include "flpopns.h" - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flsupport.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flsupport.cpp.svn-base deleted file mode 100644 index 1543cf73e..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flsupport.cpp.svn-base +++ /dev/null @@ -1,313 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flsupport.cpp - \brief flext support functions and classes. -*/ - -#include "flext.h" - -#include <cstdio> -#include <cstdarg> -#include <cstdlib> -#include <cstring> -#include <new> - -#include "flpushns.h" - -#ifdef _MSC_VER -#define vsnprintf _vsnprintf -#define snprintf _snprintf -#endif - -const t_symbol *flext::sym__ = NULL; -const t_symbol *flext::sym_float = NULL; -const t_symbol *flext::sym_symbol = NULL; -const t_symbol *flext::sym_bang = NULL; -const t_symbol *flext::sym_list = NULL; -const t_symbol *flext::sym_pointer = NULL; -const t_symbol *flext::sym_int = NULL; -const t_symbol *flext::sym_signal = NULL; - -const t_symbol *flext::sym_anything = NULL; - -#if FLEXT_SYS == FLEXT_SYS_MAX -const t_symbol *flext::sym_buffer = NULL; -const t_symbol *flext::sym_size = NULL; -const t_symbol *flext::sym_dirty = NULL; -#endif - -const t_symbol *flext::sym_attributes = NULL; -const t_symbol *flext::sym_methods = NULL; - -bool flext::indsp = false; - - -int flext::Version() { return FLEXT_VERSION; } -const char *flext::VersionStr() { return FLEXT_VERSTR; } - -void flext::Setup() -{ - if(sym__) return; - -#if FLEXT_SYS == FLEXT_SYS_PD - sym__ = &s_; - sym_anything = &s_anything; - sym_pointer = &s_pointer; - sym_float = &s_float; - sym_symbol = &s_symbol; - sym_bang = &s_bang; - sym_list = &s_list; - sym_signal = &s_signal; - sym_int = flext::MakeSymbol("int"); -#elif FLEXT_SYS == FLEXT_SYS_MAX - sym__ = flext::MakeSymbol(""); - sym_int = flext::MakeSymbol("int"); - sym_float = flext::MakeSymbol("float"); - sym_symbol = flext::MakeSymbol("symbol"); - sym_bang = flext::MakeSymbol("bang"); - sym_list = flext::MakeSymbol("list"); - sym_anything = flext::MakeSymbol("anything"); - sym_signal = flext::MakeSymbol("signal"); - - sym_buffer = flext::MakeSymbol("buffer~"); - sym_size = flext::MakeSymbol("size"); - sym_dirty = flext::MakeSymbol("dirty"); -#endif - - sym_attributes = flext::MakeSymbol("attributes"); - sym_methods = flext::MakeSymbol("methods"); - -#ifdef FLEXT_THREADS - thrid = GetThreadId(); - StartHelper(); -#endif -} - - -#if FLEXT_SYS == FLEXT_SYS_PD && defined(FLEXT_THREADED) && defined(FLEXT_PDLOCK) -#define SYSLOCK() sys_lock() -#define SYSUNLOCK() sys_unlock() -#else -#define SYSLOCK() (void)0 -#define SYSUNLOCK() (void)0 -#endif - - -///////////////////////////////////////////////////////// -// overloaded new/delete memory allocation methods -// -///////////////////////////////////////////////////////// - -#define LARGEALLOC 32000 - -#ifndef FLEXT_USE_CMEM - -#ifdef FLEXT_DEBUGMEM -static const size_t memtest = 0x12345678L; -#endif - -void *flext_root::operator new(size_t bytes) -{ - bytes += sizeof(size_t); -#ifdef FLEXT_DEBUGMEM - bytes += sizeof(memtest)*2; -#endif - char *blk; - if(UNLIKELY(bytes >= LARGEALLOC)) { -#if FLEXT_SYS == FLEXT_SYS_MAX && defined(_SYSMEM_H_) - blk = (char *)sysmem_newptr(bytes); -#else - // use C library function for large memory blocks - blk = (char *)malloc(bytes); -#endif - } - else { - //! We need system locking here for secondary threads! - SYSLOCK(); - blk = (char *)getbytes(bytes); - SYSUNLOCK(); - } - - FLEXT_ASSERT(blk); - - *(size_t *)blk = bytes; -#ifdef FLEXT_DEBUGMEM - *(size_t *)(blk+sizeof(size_t)) = memtest; - *(size_t *)(blk+bytes-sizeof(memtest)) = memtest; - return blk+sizeof(size_t)+sizeof(memtest); -#else - return blk+sizeof(size_t); -#endif -} - -void flext_root::operator delete(void *blk) -{ - if(!blk) return; - - FLEXT_ASSERT(MemCheck(blk)); - -#ifdef FLEXT_DEBUGMEM - char *ori = (char *)blk-sizeof(size_t)-sizeof(memtest); -#else - char *ori = (char *)blk-sizeof(size_t); -#endif - size_t bytes = *(size_t *)ori; - - if(UNLIKELY(bytes >= LARGEALLOC)) { -#if FLEXT_SYS == FLEXT_SYS_MAX && defined(_SYSMEM_H_) - sysmem_freeptr(ori); -#else - // use C library function for large memory blocks - free(ori); -#endif - } - else { - //! We need system locking here for secondary threads! - SYSLOCK(); - freebytes(ori,bytes); - SYSUNLOCK(); - } -} - -#ifdef FLEXT_DEBUGMEM -bool flext_root::MemCheck(void *blk) -{ - char *ori = (char *)blk-sizeof(size_t)-sizeof(memtest); - size_t bytes = *(size_t *)ori; - - return - *(size_t *)((char *)ori+sizeof(size_t)) == memtest && - *(size_t *)((char *)ori+bytes-sizeof(memtest)) == memtest; -} -#endif - -#endif - -void *flext_root::NewAligned(size_t bytes,int bitalign) -{ - const size_t ovh = sizeof(size_t)+sizeof(char *); - const size_t alignovh = bitalign/8-1; - bytes += ovh+alignovh; - - char *blk; - if(UNLIKELY(bytes >= LARGEALLOC)) { -#if FLEXT_SYS == FLEXT_SYS_MAX && defined(_SYSMEM_H_) - blk = (char *)sysmem_newptr(bytes); -#else - // use C library function for large memory blocks - blk = (char *)malloc(bytes); -#endif - } - else { - //! We need system locking here for secondary threads! - SYSLOCK(); - -#if defined(FLEXT_USE_CMEM) - blk = (char *)malloc(bytes); -#else - blk = (char *)getbytes(bytes); -#endif - SYSUNLOCK(); - } - FLEXT_ASSERT(blk); - - char *ablk = reinterpret_cast<char *>((reinterpret_cast<size_t>(blk)+ovh+alignovh) & ~alignovh); - *(char **)(ablk-sizeof(size_t)-sizeof(char *)) = blk; - *(size_t *)(ablk-sizeof(size_t)) = bytes; - return ablk; -} - -void flext_root::FreeAligned(void *blk) -{ - FLEXT_ASSERT(blk); - - char *ori = *(char **)((char *)blk-sizeof(size_t)-sizeof(char *)); - size_t bytes = *(size_t *)((char *)blk-sizeof(size_t)); - - if(UNLIKELY(bytes >= LARGEALLOC)) { -#if FLEXT_SYS == FLEXT_SYS_MAX && defined(_SYSMEM_H_) - sysmem_freeptr(ori); -#else - // use C library function for large memory blocks - free(ori); -#endif - } - else { - //! We need system locking here for secondary threads! - SYSLOCK(); - -#if defined(FLEXT_USE_CMEM) - free(ori); -#else - freebytes(ori,bytes); -#endif - SYSUNLOCK(); - } -} - -// ------------------------------------------ - -/*! \todo there is probably also a shortcut for Max and jMax - \todo size checking -*/ -void flext::GetAString(const t_atom &a,char *buf,size_t szbuf) -{ -#if FLEXT_SYS == FLEXT_SYS_PD - atom_string(const_cast<t_atom *>(&a),buf,(int)szbuf); -#else - if(IsSymbol(a)) STD::strncpy(buf,GetString(a),szbuf); - else if(IsFloat(a)) STD::snprintf(buf,szbuf,"%f",GetFloat(a)); - else if(IsInt(a)) STD::snprintf(buf,szbuf,"%i",GetInt(a)); - else *buf = 0; -#endif -} - -unsigned long flext::AtomHash(const t_atom &a) -{ -#if FLEXT_SYS == FLEXT_SYS_MAX || FLEXT_SYS == FLEXT_SYS_PD - return ((unsigned long)a.a_type<<28)^*(unsigned long *)&a.a_w; -#else -#error Not implemented -#endif -} - -void flext_root::post(const char *fmt, ...) -{ - va_list ap; - va_start(ap, fmt); - - char buf[1024]; - vsnprintf(buf,sizeof buf,fmt, ap); - buf[sizeof buf-1] = 0; // in case of full buffer - ::post(buf); - - va_end(ap); -} - -void flext_root::error(const char *fmt,...) -{ - va_list ap; - va_start(ap, fmt); - - char buf[1024]; - STD::strcpy(buf,"error: "); - vsnprintf(buf+7,sizeof buf-7,fmt, ap); - buf[sizeof buf-1] = 0; // in case of full buffer - ::post(buf); - - va_end(ap); -} - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flsupport.h.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flsupport.h.svn-base deleted file mode 100644 index e29a920f7..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flsupport.h.svn-base +++ /dev/null @@ -1,1400 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2010 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flsupport.h - \brief flext support functions and classes -*/ - -#ifndef __FLSUPPORT_H -#define __FLSUPPORT_H - -#include "flstdc.h" -#include <new> -#include <cstring> - - -#include "flpushns.h" - -/*! \defgroup FLEXT_SUPPORT Flext support classes - @{ -*/ - -class FLEXT_SHARE FLEXT_CLASSDEF(flext_root); -typedef class FLEXT_CLASSDEF(flext_root) flext_root; - -/*! \brief Flext root support class - - Moved memory functions and console output here so that all the classes - contained in flext can use them -*/ -class FLEXT_SHARE FLEXT_CLASSDEF(flext_root) { -public: -// --- console output ----------------------------------------------- - - //! post message to console, with line feed (limited to 1k chars!) - static void post(const char *fmt,...); - //! post error message to console (limited to 1k chars!) - static void error(const char *fmt,...); - -// --- memory ------------------------------------------------------- - - /*! \defgroup FLEXT_S_MEMORY Memory allocation functions - @{ - */ - -#ifdef FLEXT_NOGLOBALNEW -#error FLEXT_NOGLOBALNEW is deprecated, define FLEXT_USE_CMEM instead -#define FLEXT_USE_CMEM -#endif - -#ifdef FLEXT_USE_CMEM - inline void *operator new(size_t bytes) { return ::operator new(bytes); } - inline void operator delete(void *blk) { ::operator delete(blk); } - - inline void *operator new[](size_t bytes) { return ::operator new[](bytes); } - inline void operator delete[](void *blk) { ::operator delete[](blk); } - - static bool MemCheck(void *) { return true; } -#else - /*! Overloaded new memory allocation method - \note this uses a fast allocation method of the real-time system - \warning Max/MSP (or MacOS) allows only 32K in overdrive mode! - */ - void *operator new(size_t bytes); - //! Overloaded delete method - void operator delete(void *blk); - -#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); } -#endif - -#ifdef FLEXT_DEBUGMEM - static bool MemCheck(void *blk); -#else - static bool MemCheck(void *) { return true; } -#endif - -#endif // USECMEM - -#ifndef __BORLANDC__ - inline void *operator new(size_t,void *p) { return p; } - inline void operator delete(void *,void *) {} -#ifndef __MRC__ - inline void *operator new[](size_t,void *p) { return p; } - inline void operator delete[](void *,void *) {} -#endif -#endif - - //! Get an aligned memory block - static void *NewAligned(size_t bytes,int bitalign = 128); - // same with templated type - template<typename T> - static T *NewAligned(size_t times,int bitalign = 128) { return static_cast<T *>(NewAligned(times*sizeof(T),bitalign)); } - //! Free an aligned memory block - static void FreeAligned(void *blk); - //! Test for alignment - static bool IsAligned(void *ptr,int bitalign = 128) { - return (reinterpret_cast<size_t>(ptr)&(bitalign-1)) == 0; - } - //! @} FLEXT_S_MEMORY -}; - -#ifndef FLEXT_USE_CMEM -/************************************************************************/ -// MFC doesn't like global overloading of allocators -// anyway, who likes MFC - -#if !defined(_MSC_VER) && !defined(__BORLANDC__) -#define NEWTHROW throw(std::bad_alloc) -#define DELTHROW throw() -#else -#define NEWTHROW -#define DELTHROW -#endif - -// define global new/delete operators -inline void *operator new(size_t bytes) NEWTHROW { return flext_root::operator new(bytes); } -inline void operator delete(void *blk) DELTHROW { flext_root::operator delete(blk); } -#ifndef __MRC__ // doesn't allow new[] overloading?! -inline void *operator new[](size_t bytes) NEWTHROW { return flext_root::operator new[](bytes); } -inline void operator delete[](void *blk) DELTHROW { flext_root::operator delete[](blk); } -#endif - -#endif // FLEXT_USE_CMEM - -/************************************************************************/ - -class FLEXT_SHARE FLEXT_CLASSDEF(flext); -typedef class FLEXT_CLASSDEF(flext) flext; - -class FLEXT_SHARE FLEXT_CLASSDEF(flext_base); - -/*! \brief Flext support class - - A number of methods (most are static functions) are defined here for convenience. - This class doesn't define any data members, hence it can be inherited to all - classes (not only PD objects) to profit from the cross-platform functionality. - Examples are the overloaded memory allocation, atom and atom list functions, - thread functions and classes, the sample buffer class and others. - - This class can also be used for a non-object class (not representing an external object) - and won't give any extra burden to it. -*/ - -class FLEXT_SHARE FLEXT_CLASSDEF(flext): - public flext_root -{ - /*! \defgroup FLEXT_SUPPORT Flext support class - @{ - */ -public: - -// --- version ----------------------------------------------- - - /*! \brief Flext version number - - Return the version number of the flext library. - For statically linked flext this is identical to the header definition FLEXT_VERSION, - otherwise it reflects the version number of the shared flext library. - */ - static int Version(); - - //! Flext version string - static const char *VersionStr(); - -// --- special typedefs --------------------------------------------- - -// later! -#if 0 - typedef t_float Float; - typedef t_int Int; - typedef t_sample Sample; - typedef const t_symbol *Symbol; - typedef t_atom Atom; -#endif - -// --- buffer/array stuff ----------------------------------------- - - /*! \defgroup FLEXT_S_BUFFER Buffer handling - @{ - */ - - //! Class for platform independent buffer handling - class FLEXT_SHARE buffer: - public flext_root - { - public: - -#if FLEXT_SYS == FLEXT_SYS_PD - typedef bool lock_t; -#elif FLEXT_SYS == FLEXT_SYS_MAX - typedef long lock_t; -#else -#error Not implemented -#endif - - -// PD 64-bit buffer handling macros -#if FLEXT_SYS == FLEXT_SYS_PD -# if PD_MINOR_VERSION >= 41 - /* use new garray support that is 64-bit safe */ -# define FLEXT_PD_ARRAYGRAB garray_getfloatwords -# define FLEXT_ARRAYTYPE t_word -# define FLEXT_GETSAMPLE(x) ((x).w_float) - -# else - /* use old garray support, not 64-bit safe */ -# define FLEXT_PD_ARRAYGRAB garray_getfloatarray -# define FLEXT_ARRAYTYPE t_sample -# define FLEXT_GETSAMPLE(x) (x) -# endif - -#elif FLEXT_SYS == FLEXT_SYS_MAX -# define FLEXT_ARRAYTYPE t_sample -# define FLEXT_GETSAMPLE(x) (x) -#endif - - class Element { - public: - Element() {} - Element(t_sample s) { FLEXT_GETSAMPLE(el) = s; } - operator t_sample &() { return FLEXT_GETSAMPLE(el); } - operator t_sample () const { return FLEXT_GETSAMPLE(el); } - protected: - FLEXT_ARRAYTYPE el; - }; - - /*! \brief Construct buffer. - \param s: symbol name, can be NULL - \param delayed = true: only sets name, needs another Set(NULL) to really initialize the buffer - \remark As externals can be created prior to the buffer objects they are pointing to, initialization should be done at loadbang! - */ - buffer(const t_symbol *s = NULL,bool delayed = false); - - //! Destroy buffer - ~buffer(); - - /*! \brief Check if the buffer is valid for use - \note This must be true to use any of the other functions except set - */ - bool Ok() const - { - return sym -#if FLEXT_SYS == FLEXT_SYS_PD - && arr -#endif - && data; - } - - /*! \brief Check if buffer content is valid (not in state of content change) - \note buffer must be Ok() - */ - bool Valid() const - { - FLEXT_ASSERT(sym); -#if FLEXT_SYS == FLEXT_SYS_PD - return true; -#elif FLEXT_SYS == FLEXT_SYS_MAX - const t_buffer *p = (const t_buffer *)sym->s_thing; - return p && p->b_valid; -#else -#error not implemented -#endif - } - - /*! \brief Check and update if the buffer has been changed (e.g. resized) - \note buffer must be Ok() - */ - bool Update(); - - /*! \brief Lock buffer - \return previous state (needed for Unlock) - \note buffer must be Ok() - */ - lock_t Lock(); - - /*! \brief Unlock buffer - \param prv: Previous state is returned by Lock() - \note buffer must be Ok() - */ - void Unlock(lock_t prv); - - /*! \brief Set to specified buffer. - \param nameonly: if true sets name only, but doesn't look at buffer actually - \return -1 on failure, 0 on success, 1 if parameters (length, data ptr, channels) have changed - */ - int Set(const t_symbol *s = NULL,bool nameonly = false); - - /*! \brief Declare buffer content as dirty. - \param refr: if true forces immediate graphics refresh - */ - void Dirty(bool refr = false); - - //! Clear the dirty flag. - void ClearDirty(); - - /*! Query whether the buffer content has been changed since the last ClearDirty() - \note With mainstream versions of PD this will always return true, since the dirtiness can't be judged - */ - bool IsDirty() const; - - //! Get symbol of buffer - const t_symbol *Symbol() const { return sym; } - - //! Get literal name of buffer - const char *Name() const { return sym?GetString(sym):""; } - - /*! \brief Get pointer to buffer, channel and frame count. - \remark Channels are interleaved - */ - Element *Data() { return data; } - - const Element *Data() const { return data; } - - //! Get channel count - int Channels() const { return chns; } - //! Get frame count - int Frames() const { return frames; } - //! Set frame count - void Frames(int fr,bool keep = false,bool zero = true); - - //! Get data value in a platform-independent way - inline t_sample operator [](int index) const { return data[index]; } - - //! Reference data value in a platform-independent way - inline t_sample &operator [](int index) { return data[index]; } - - //! Graphic auto refresh interval - void SetRefrIntv(float intv); - - //! Buffer locking class - class Locker - { - public: - Locker(buffer &b): buf(b),lock(b.Lock()) {} - ~Locker() { buf.Unlock(lock); } - private: - buffer &buf; - lock_t lock; - }; - - protected: - //! buffer name - const t_symbol *sym; - //! array holding audio data - Element *data; - //! number of audio channels - int chns; - //! number of frames (multiplied by chns for the number of samples) - int frames; -#if FLEXT_SYS == FLEXT_SYS_PD - //! pointer to the PD array structure - t_garray *arr; - //! update interval - float interval; - //! flag signaling that the data has been changed - bool isdirty; - //! flag showing that the update clock is active - bool ticking; - //! update clock - t_clock *tick; - //! last time the dirty flag was cleared (using the clock_getlogicaltime function) - double cleantime; - - private: - //! update clock callback - static void cb_tick(buffer *b); -#elif FLEXT_SYS == FLEXT_SYS_MAX - //! last time the dirty flag was cleared (using the gettime function) - long cleantime; -#endif - }; - - -//! @} FLEXT_S_BUFFER - -// --- utilities -------------------------------------------------- - - /*! \defgroup FLEXT_S_UTIL Utility functions - @{ - */ - - //! Copy an atom - static void CopyAtom(t_atom *dst,const t_atom *src) { *dst = *src; } - - //! Copy atoms - static void CopyAtoms(int cnt,t_atom *dst,const t_atom *src); - - //! Print an atom - static bool PrintAtom(const t_atom &a,char *buf,size_t bufsz); - - /*! Scan an atom until whitespace - \return next token position, or NULL on failure - */ - static const char *ScanAtom(t_atom &a,const char *buf); - - //! Copy a list of atoms - static t_atom *CopyList(int argc,const t_atom *argv); - - //! Print an atom list - static bool PrintList(int argc,const t_atom *argv,char *buf,size_t bufsz); - - /*! Scan an atom list - \param argc ... maximum amount of atoms scanned - \param argv ... array of atoms - \param buf ... char buffer - */ - static int ScanList(int argc,t_atom *argv,const char *buf); - - //! Copy a memory region - static void CopyMem(void *dst,const void *src,int bytes); - //! Copy a sample array - static void CopySamples(t_sample *dst,const t_sample *src,int cnt); - static void CopySamples(buffer::Element *dst,const buffer::Element *src,int cnt) { CopyMem(dst,src,sizeof(*src)*cnt); } - //! Set a memory region - static void ZeroMem(void *dst,int bytes); - //! Set a sample array to a fixed value - static void SetSamples(t_sample *dst,int cnt,t_sample s); - static void SetSamples(buffer::Element *dst,int cnt,t_sample s) { for(int i = 0; i < cnt; ++i) dst[i] = s; } - //! Set a sample array to 0 - static void ZeroSamples(t_sample *dst,int cnt) { SetSamples(dst,cnt,0); } - static void ZeroSamples(buffer::Element *dst,int cnt) { ZeroMem(dst,sizeof(*dst)*cnt); } - - - //! Get a 32 bit hash value from an atom - static unsigned long AtomHash(const t_atom &a); - -//! @} FLEXT_S_UTIL - -// --- various symbols -------------------------------------------- - - /*! \defgroup FLEXT_S_ATOM Atom/list handling - @{ - */ - - //! Symbol constant for "" - static const t_symbol *sym__; - //! Symbol constant for "float" - static const t_symbol *sym_float; - //! Symbol constant for "symbol" - static const t_symbol *sym_symbol; - //! Symbol constant for "bang" - static const t_symbol *sym_bang; - //! Symbol constant for "list" - static const t_symbol *sym_list; - //! Symbol constant for "anything" - static const t_symbol *sym_anything; - - /*! \brief Symbol constant for "int" - \note Only the Max/MSP system has this defined as an internal type - */ - static const t_symbol *sym_int; - - /*! Symbol constant for "pointer" - \note Only PD has this defined as an internal type - */ - static const t_symbol *sym_pointer; - - //! Symbol constant for "signal" - static const t_symbol *sym_signal; - - //! \note This is used in macros where the type of the arg is not clear - static const t_symbol *MakeSymbol(const t_symbol *s) { return s; } - - //! Make a symbol from a string - static const t_symbol *MakeSymbol(const char *s) { return ::gensym(const_cast<char *>(s)); } - //! Get symbol string - static const char *GetString(const t_symbol *s) { return s->s_name; } - //! Check for symbol and get string - static const char *GetAString(const t_symbol *s,const char *def = NULL) { return s?GetString(s):def; } - -// --- atom stuff ---------------------------------------- - - //! Set atom from another atom - static void SetAtom(t_atom &a,const t_atom &b) { CopyAtom(&a,&b); } - //! Compare two atoms - static int CmpAtom(const t_atom &a,const t_atom &b); - - // there are some more comparison functions for t_atom types outside the class - - //! Set atom from another atom - static int GetType(const t_atom &a) { return a.a_type; } - - //! Check whether the atom is nothing - static bool IsNothing(const t_atom &a) { return a.a_type == A_NULL; } - //! Set the atom to represent nothing - static void SetNothing(t_atom &a) { a.a_type = A_NULL; } - - //! Check whether the atom is a float - static bool IsFloat(const t_atom &a) { return a.a_type == A_FLOAT; } - - //! Check whether the atom can be represented as a float - static bool CanbeFloat(const t_atom &a) { return IsFloat(a) || IsInt(a); } - - //! Access the float value (without type check) - static float GetFloat(const t_atom &a) { return a.a_w.w_float; } - //! Set the atom to represent a float - static void SetFloat(t_atom &a,float v) { a.a_type = A_FLOAT; a.a_w.w_float = v; } - - //! Check whether the atom is a symbol - static bool IsSymbol(const t_atom &a) { return a.a_type == A_SYMBOL; } - -#if FLEXT_SYS == FLEXT_SYS_PD - //! Access the symbol value (without type check) - static const t_symbol *GetSymbol(const t_atom &a) { return const_cast<const t_symbol *>(a.a_w.w_symbol); } - //! Set the atom to represent a symbol - static void SetSymbol(t_atom &a,const t_symbol *s) { a.a_type = A_SYMBOL; a.a_w.w_symbol = const_cast<t_symbol *>(s); } -#elif FLEXT_SYS == FLEXT_SYS_MAX - //! Access the symbol value (without type check) - static const t_symbol *GetSymbol(const t_atom &a) { return const_cast<const t_symbol *>(a.a_w.w_sym); } - //! Set the atom to represent a symbol - static void SetSymbol(t_atom &a,const t_symbol *s) { a.a_type = A_SYMBOL; a.a_w.w_sym = const_cast<t_symbol *>(s); } -#else -#error -#endif - //! Check for a symbol and get its value - static const t_symbol *GetASymbol(const t_atom &a,const t_symbol *def = NULL) { return IsSymbol(a)?GetSymbol(a):def; } // NULL or empty symbol? - - //! Check whether the atom is a string - static bool IsString(const t_atom &a) { return IsSymbol(a); } - //! Access the string value (without type check) - static const char *GetString(const t_atom &a) { const t_symbol *s = GetSymbol(a); return s?GetString(s):NULL; } - //! Check for a string and get its value - static const char *GetAString(const t_atom &a,const char *def = NULL) { return IsSymbol(a)?GetAString(GetSymbol(a),def):def; } - //! Check for a string and get its value - static void GetAString(const t_atom &a,char *buf,size_t szbuf); - //! Set the atom to represent a string - static void SetString(t_atom &a,const char *c) { SetSymbol(a,MakeSymbol(c)); } - - //! Check whether the atom can be represented as an integer - static bool CanbeInt(const t_atom &a) { return IsFloat(a) || IsInt(a); } - -#if FLEXT_SYS == FLEXT_SYS_PD - //! Check for a float and get its value - static float GetAFloat(const t_atom &a,float def = 0) { return IsFloat(a)?GetFloat(a):def; } - - //! Check whether the atom is an integer - static bool IsInt(const t_atom &) { return false; } - //! Access the integer value (without type check) - static int GetInt(const t_atom &a) { return (int)GetFloat(a); } - //! Check for an integer and get its value - static int GetAInt(const t_atom &a,int def = 0) { return (int)GetAFloat(a,(float)def); } - //! Set the atom to represent a integer (depending on the system) - static void SetInt(t_atom &a,int v) { a.a_type = A_FLOAT; a.a_w.w_float = (float)v; } - -#ifndef FLEXT_COMPATIBLE - //! Check whether the atom strictly is a pointer - static bool IsPointer(const t_atom &a) { return a.a_type == A_POINTER; } - //! Check whether the atom can be a pointer - static bool CanbePointer(const t_atom &a) { return IsPointer(a); } - //! Access the pointer value (without type check) - static t_gpointer *GetPointer(const t_atom &a) { return a.a_w.w_gpointer; } - //! Check for a pointer and get its value - static t_gpointer *GetAPointer(const t_atom &a,t_gpointer *def = NULL) { return IsPointer(a)?GetPointer(a):def; } - //! Set the atom to represent a pointer - static void SetPointer(t_atom &a,t_gpointer *p) { a.a_type = A_POINTER; a.a_w.w_gpointer = (t_gpointer *)p; } -#endif - -#elif FLEXT_SYS == FLEXT_SYS_MAX - //! Check for a float and get its value - static float GetAFloat(const t_atom &a,float def = 0) { return IsFloat(a)?GetFloat(a):(IsInt(a)?GetInt(a):def); } - - //! Check whether the atom is an int - static bool IsInt(const t_atom &a) { return a.a_type == A_INT; } - //! Access the integer value (without type check) - static int GetInt(const t_atom &a) { return a.a_w.w_long; } - //! Check for an integer and get its value - static int GetAInt(const t_atom &a,int def = 0) { return IsInt(a)?GetInt(a):(IsFloat(a)?(int)GetFloat(a):def); } - //! Set the atom to represent an integer - static void SetInt(t_atom &a,int v) { a.a_type = A_INT; a.a_w.w_long = v; } -#else -#error "Platform not supported" -#endif - - // bool type - based on int - - //! Set the atom to represent a boolean - static void SetBool(t_atom &a,bool v) { SetInt(a,v?1:0); } - //! Check whether the atom can be represented as a boolean - static bool CanbeBool(const t_atom &a) { return CanbeInt(a); } - //! Check for an boolean and get its value - static bool GetABool(const t_atom &a) { return GetAInt(a) != 0; } - //! Check for an boolean and get its value - static bool GetBool(const t_atom &a) { return GetInt(a) != 0; } - -// --- atom list stuff ------------------------------------------- - - //! Class representing a list of atoms - class FLEXT_SHARE AtomList - : public flext_root - { - public: - //! Construct list - AtomList(): cnt(0),lst(NULL) {} - //! Construct list - explicit AtomList(int argc,const t_atom *argv = NULL): cnt(0),lst(NULL) { operator()(argc,argv); } - //! Construct list - AtomList(const AtomList &a): cnt(0),lst(NULL) { operator =(a); } - //! Destroy list - virtual ~AtomList(); - - //! Clear list - AtomList &Clear() { return operator()(); } - - //! Set list - AtomList &Set(int argc,const t_atom *argv,int offs = 0,bool resize = false); - //! Get list - int Get(t_atom *argv,int mxsz = -1) const; - - //! Set list - AtomList &operator()(int argc = 0,const t_atom *argv = NULL) { return Set(argc,argv,0,true); } - //! Set list by another AtomList - AtomList &operator =(const AtomList &a) { return operator()(a.Count(),a.Atoms()); } - - //! Compare list to another AtomList ( -1..< , 0..==, 1...> ) - int Compare(const AtomList &a) const; - - bool operator <(const AtomList &a) const { return Compare(a) < 0; } - bool operator <=(const AtomList &a) const { return Compare(a) <= 0; } - bool operator >(const AtomList &a) const { return Compare(a) > 0; } - bool operator >=(const AtomList &a) const { return Compare(a) >= 0; } - bool operator ==(const AtomList &a) const { return Compare(a) == 0; } - bool operator !=(const AtomList &a) const { return Compare(a) != 0; } - - //! Get number of atoms in the list - int Count() const { return cnt; } - //! Get a reference to an indexed atom - t_atom &operator [](int ix) { return lst[ix]; } - //! Get a reference to an indexed atom - const t_atom &operator [](int ix) const { return lst[ix]; } - - //! Get a pointer to the list of atoms - t_atom *Atoms() { return lst; } - //! Get a pointer to the list of atoms - const t_atom *Atoms() const { return lst; } - - //! Append an atom list to the list - AtomList &Append(int argc,const t_atom *argv = NULL) - { - int c = Count(); - Alloc(c+argc,0,c); - Set(argc,argv,c); - return *this; - } - - //! Prepend an atom list to the list - AtomList &Prepend(int argc,const t_atom *argv = NULL) - { - int c = Count(); - Alloc(c+argc,0,c,argc); - Set(argc,argv); - return *this; - } - - //! Append an atom to the list - AtomList &Append(const t_atom &a) { return Append(1,&a); } - //! Append an atom list to the list - AtomList &Append(const AtomList &a) { return Append(a.Count(),a.Atoms()); } - //! Prepend an atom to the list - AtomList &Prepend(const t_atom &a) { return Prepend(1,&a); } - //! Prepend an atom list to the list - AtomList &Prepend(const AtomList &a) { return Prepend(a.Count(),a.Atoms()); } - - //! Get a part of the list - void GetPart(int offs,int len,AtomList &ret) const; - //! Set to a part of the list - AtomList &Part(int offs,int len) { GetPart(offs,len,*this); return *this; } - - //! Represent as a string - bool Print(char *buffer,int buflen) const { return flext::PrintList(Count(),Atoms(),buffer,buflen); } - - /*! Read from string - \note: doesn't clear or reallocate the list - */ - int Scan(const char *buffer) { return flext::ScanList(Count(),Atoms(),buffer); } - - protected: - virtual void Alloc(int sz,int keepix = -1,int keeplen = -1,int keepto = 0); - virtual void Free(); - - int cnt; - t_atom *lst; - }; - - class FLEXT_SHARE AtomListStaticBase - : public AtomList - { - protected: - explicit AtomListStaticBase(int pc,t_atom *dt): precnt(pc),predata(dt) {} - virtual ~AtomListStaticBase(); - virtual void Alloc(int sz,int keepix = -1,int keeplen = -1,int keepto = 0); - virtual void Free(); - - AtomListStaticBase &operator =(const AtomList &a) { AtomList::operator =(a); return *this; } - AtomListStaticBase &operator =(const AtomListStaticBase &a) { AtomList::operator =(a); return *this; } - - const int precnt; - t_atom *const predata; - }; - - template<int PRE> - class AtomListStatic - : public AtomListStaticBase - { - public: - //! Construct list - explicit AtomListStatic(): AtomListStaticBase(PRE,pre) {} - //! Construct list - explicit AtomListStatic(int argc,const t_atom *argv = NULL): AtomListStaticBase(PRE,pre) { operator()(argc,argv); } - //! Construct list - explicit AtomListStatic(const AtomList &a): AtomListStaticBase(PRE,pre) { operator =(a); } - - //! Set list by another AtomList - AtomListStatic &operator =(const AtomList &a) { AtomListStaticBase::operator =(a); return *this; } - AtomListStatic &operator =(const AtomListStatic &a) { AtomListStaticBase::operator =(a); return *this; } - protected: - t_atom pre[PRE]; - }; - - //! Class representing an "anything" - class FLEXT_SHARE AtomAnything: - public AtomList - { - public: - explicit AtomAnything(): hdr(NULL) {} - - //! Construct anything - explicit AtomAnything(const t_symbol *h,int argc = 0,const t_atom *argv = NULL) - : AtomList(argc,argv),hdr(h?h:sym__) - {} - - //! Construct anything - explicit AtomAnything(const char *h,int argc = 0,const t_atom *argv = NULL) - : AtomList(argc,argv),hdr(MakeSymbol(h)) - {} - - //! Construct anything - AtomAnything(const AtomAnything &a) - : AtomList(a),hdr(a.hdr) - {} - - //! Clear anything - AtomAnything &Clear() { return operator()(); } - - //! Get header symbol of anything - const t_symbol *Header() const { return hdr; } - - //! Set header symbol of anything - void Header(const t_symbol *h) { hdr = h; } - - //! Set anything - AtomAnything &operator()(const t_symbol *h = NULL,int argc = 0,const t_atom *argv = NULL) - { - hdr = h; AtomList::operator()(argc,argv); - return *this; - } - - //! Set list by another AtomAnything - AtomAnything &operator =(const AtomAnything &a) { return operator()(a.Header(),a.Count(),a.Atoms()); } - - protected: - const t_symbol *hdr; - }; - - - // double type - based on two floats - -#ifdef _MSC_VER -#pragma optimize("p",off) // improve floating point precision consistency -#endif - static t_atom *SetDouble(t_atom *dbl,double d) - { - float f = static_cast<float>(d); - float r = static_cast<float>(d-f); - SetFloat(dbl[0],f); - SetFloat(dbl[1],r); - return dbl; - } -#ifdef _MSC_VER -#pragma optimize("p",on) -#endif - - static double GetDouble(int argc,const t_atom *argv) - { - double d = argc >= 1?GetAFloat(argv[0]):0; - return argc >= 2?d+GetAFloat(argv[1]):d; - } - - static AtomList &SetDouble(AtomList &l,double d) { SetDouble(l(2).Atoms(),d); return l; } - - static double GetDouble(const AtomList &l) { return GetDouble(l.Count(),l.Atoms()); } - - //! @} FLEXT_S_ATOM - - -// --- messages ------------------------------------------------------- - - /*! \defgroup FLEXT_S_MSGBUNDLE Flext message handling - @{ - */ - - class MsgBundle; - - //! Make new message bundle - static MsgBundle *MsgNew(); - - //! Destroy message bundle - static void MsgFree(MsgBundle *mb); - - //! Send (and destroy) message bundle - static void ToSysMsg(MsgBundle *mb); - - //! Send (and destroy) message bundle - static void ToOutMsg(MsgBundle *mb); - - //! Send low priority (and destroy) message bundle - static void ToQueueMsg(MsgBundle *mb); - - //! @} FLEXT_S_MSGBUNDLE - - - /*! \defgroup FLEXT_S_MSG Flext message handling - @{ - */ - - static bool Forward(const t_symbol *sym,const t_symbol *s,int argc,const t_atom *argv); - static bool Forward(const t_symbol *sym,const AtomAnything &args) { return Forward(sym,args.Header(),args.Count(),args.Atoms()); } - static bool Forward(const char *sym,const AtomAnything &args) { return Forward(MakeSymbol(sym),args.Header(),args.Count(),args.Atoms()); } - static bool Forward(const t_symbol *sym,int argc,const t_atom *argv) { return Forward(sym,sym_list,argc,argv); } - static bool Forward(const t_symbol *sym,const AtomList &args) { return Forward(sym,args.Count(),args.Atoms()); } - static bool Forward(const char *sym,const AtomList &args) { return Forward(MakeSymbol(sym),args.Count(),args.Atoms()); } - - static bool SysForward(const t_symbol *sym,const t_symbol *s,int argc,const t_atom *argv); - static bool SysForward(const t_symbol *sym,const AtomAnything &args) { return SysForward(sym,args.Header(),args.Count(),args.Atoms()); } - static bool SysForward(const char *sym,const AtomAnything &args) { return SysForward(MakeSymbol(sym),args.Header(),args.Count(),args.Atoms()); } - static bool SysForward(const t_symbol *sym,int argc,const t_atom *argv) { return SysForward(sym,sym_list,argc,argv); } - static bool SysForward(const t_symbol *sym,const AtomList &args) { return SysForward(sym,args.Count(),args.Atoms()); } - static bool SysForward(const char *sym,const AtomList &args) { return SysForward(MakeSymbol(sym),args.Count(),args.Atoms()); } - - static bool QueueForward(const t_symbol *sym,const t_symbol *s,int argc,const t_atom *argv); - static bool QueueForward(const t_symbol *sym,const AtomAnything &args) { return QueueForward(sym,args.Header(),args.Count(),args.Atoms()); } - static bool QueueForward(const char *sym,const AtomAnything &args) { return QueueForward(MakeSymbol(sym),args.Header(),args.Count(),args.Atoms()); } - static bool QueueForward(const t_symbol *sym,int argc,const t_atom *argv) { return QueueForward(sym,sym_list,argc,argv); } - static bool QueueForward(const t_symbol *sym,const AtomList &args) { return QueueForward(sym,args.Count(),args.Atoms()); } - static bool QueueForward(const char *sym,const AtomList &args) { return QueueForward(MakeSymbol(sym),args.Count(),args.Atoms()); } - - static bool MsgForward(MsgBundle *mb,const t_symbol *sym,const t_symbol *s,int argc,const t_atom *argv); - static bool MsgForward(MsgBundle *mb,const t_symbol *sym,const AtomAnything &args) { return MsgForward(mb,sym,args.Header(),args.Count(),args.Atoms()); } - static bool MsgForward(MsgBundle *mb,const char *sym,const AtomAnything &args) { return MsgForward(mb,MakeSymbol(sym),args.Header(),args.Count(),args.Atoms()); } - static bool MsgForward(MsgBundle *mb,const t_symbol *sym,int argc,const t_atom *argv) { return MsgForward(mb,sym,sym_list,argc,argv); } - static bool MsgForward(MsgBundle *mb,const t_symbol *sym,const AtomList &args) { return MsgForward(mb,sym,args.Count(),args.Atoms()); } - static bool MsgForward(MsgBundle *mb,const char *sym,const AtomList &args) { return MsgForward(mb,MakeSymbol(sym),args.Count(),args.Atoms()); } - - //! @} FLEXT_S_MSG - - - -// --- thread stuff ----------------------------------------------- - - /*! \defgroup FLEXT_S_LOCK Global system locking - @{ - */ - -#if FLEXT_SYS == FLEXT_SYS_PD - #if PD_MINOR_VERSION >= 38 || (PD_MINOR_VERSION >= 37 && defined(PD_DEVEL_VERSION)) - static void Lock() { sys_lock(); } - static void Unlock() { sys_unlock(); } - #else - // no system locking for old PD versions - static void Lock() {} - static void Unlock() {} - #endif -#elif FLEXT_SYS == FLEXT_SYS_MAX - // Max 4.2 upwards! - static void Lock() { critical_enter(0); } - static void Unlock() { critical_exit(0); } -#else -#error -#endif - -//! @} FLEXT_S_LOCK - - /*! \defgroup FLEXT_S_THREAD Flext thread handling - @{ - */ - - //! Check if current thread is registered to be a secondary thread -#ifdef FLEXT_THREADS - static bool IsThreadRegistered(); -#else - static bool IsThreadRegistered() { return false; } -#endif - -#ifdef FLEXT_THREADS - - //! thread type -# if FLEXT_THREADS == FLEXT_THR_MP - typedef MPTaskID thrid_t; -# elif FLEXT_THREADS == FLEXT_THR_POSIX - typedef pthread_t thrid_t; -# elif FLEXT_THREADS == FLEXT_THR_WIN32 - typedef DWORD thrid_t; -# else -# error Threading model not supported -# endif - - /*! \brief Get current thread id - */ - static thrid_t GetThreadId() { -#if FLEXT_THREADS == FLEXT_THR_POSIX - return pthread_self(); -#elif FLEXT_THREADS == FLEXT_THR_MP - return MPCurrentTaskID(); -#elif FLEXT_THREADS == FLEXT_THR_WIN32 - return GetCurrentThreadId(); -#else -#error -#endif - } - - /*! \brief Get system thread id - */ - static thrid_t GetSysThreadId() { return thrid; } - - //! Check if current thread should terminate - static bool ShouldExit(); - - //! Check if current thread is the realtime system's thread - static bool IsThread(thrid_t t,thrid_t ref = GetThreadId()) { -#if FLEXT_THREADS == FLEXT_THR_POSIX - return pthread_equal(ref,t) != 0; -#else - return ref == t; -#endif - } - - - /*! \brief Thread parameters - \internal - */ - class FLEXT_SHARE thr_params: - public flext_root - { - public: - thr_params(int n = 1); - ~thr_params(); - - void set_any(const t_symbol *s,int argc,const t_atom *argv); - void set_list(int argc,const t_atom *argv); - - FLEXT_CLASSDEF(flext_base) *cl; - union _data { - bool _bool; - float _float; - int _int; - t_symptr _t_symptr; - AtomAnything *_any; - AtomList *_list; - void *_ext; - } *var; - }; - -protected: - - static thrid_t thrhelpid; - static thrid_t thrmsgid; - static void ThrHelper(void *); - - //! the system's thread id - static thrid_t thrid; // the system thread - -private: - static bool StartHelper(); // used in flext::Setup() - -public: - - /*! \brief Yield to other threads - \remark A call to this is only needed for systems with cooperative multitasking like MacOS<=9 - */ - static void ThrYield() { -#if FLEXT_THREADS == FLEXT_THR_POSIX - // for a preemptive system this should do nothing - sched_yield(); -#elif FLEXT_THREADS == FLEXT_THR_MP - MPYield(); -#elif FLEXT_THREADS == FLEXT_THR_WIN32 - SwitchToThread(); -#else -#error -#endif - } - - /*! \brief Query whether task is preemptive - */ - static bool IsThreadPreemptive(thrid_t t = GetThreadId()) { -#if FLEXT_THREADS == FLEXT_THR_POSIX || FLEXT_THREADS == FLEXT_THR_WIN32 - return true; -#elif FLEXT_THREADS == FLEXT_THR_MP - return MPTaskIsPreemptive(t); -#else -#error -#endif - } - - - /*! \brief Increase/Decrease priority of a thread - */ - static bool RelPriority(int dp,thrid_t ref = GetSysThreadId(),thrid_t thr = GetThreadId()); - - /*! \brief Get priority of a thread - */ - static int GetPriority(thrid_t thr = GetThreadId()); - - /*! \brief Set priority of a thread - */ - static bool SetPriority(int p,thrid_t thr = GetThreadId()); - - /*! \brief Thread mutex - \sa pthreads documentation - */ - class FLEXT_SHARE ThrMutex: - public flext_root -#if FLEXT_THREADS == FLEXT_THR_POSIX - { - public: - //! Construct thread mutex - ThrMutex() { pthread_mutex_init(&mutex,NULL); } - //! Destroy thread mutex - ~ThrMutex() { pthread_mutex_destroy(&mutex); } - - //! Lock thread mutex - bool Lock() { return pthread_mutex_lock(&mutex) == 0; } - /*! Wait to lock thread mutex. - \todo Implement! - */ -// bool WaitForLock(double tm) { return pthread_mutex_lock(&mutex) == 0; } - //! Try to lock, but don't wait - bool TryLock() { return pthread_mutex_trylock(&mutex) == 0; } - //! Unlock thread mutex - bool Unlock() { return pthread_mutex_unlock(&mutex) == 0; } - - protected: - pthread_mutex_t mutex; -// int cnt; - }; -#elif FLEXT_THREADS == FLEXT_THR_WIN32 - { - public: - //! Construct thread mutex - ThrMutex() { ::InitializeCriticalSection(&mutex); } - //! Destroy thread mutex - ~ThrMutex() { ::DeleteCriticalSection(&mutex); } - - //! Lock thread mutex - bool Lock() { ::EnterCriticalSection(&mutex); return true; } - /*! Wait to lock thread mutex. - \todo Implement! - */ -// bool WaitForLock(double tm) { return pthread_mutex_lock(&mutex) == 0; } - //! Try to lock, but don't wait - bool TryLock() { return ::TryEnterCriticalSection(&mutex) != 0; } - //! Unlock thread mutex - bool Unlock() { ::LeaveCriticalSection(&mutex); return true; } - - protected: - CRITICAL_SECTION mutex; - }; -#elif FLEXT_THREADS == FLEXT_THR_MP - { - public: - //! Construct thread mutex - ThrMutex() { MPCreateCriticalRegion(&crit); } - //! Destroy thread mutex - ~ThrMutex() { MPDeleteCriticalRegion(crit); } - - //! Lock thread mutex - bool Lock() { return MPEnterCriticalRegion(crit,kDurationForever) == noErr; } - //! Wait to lock thread mutex -// bool WaitForLock(double tm) { return MPEnterCriticalRegion(crit,tm*kDurationMicrosecond*1.e6) == noErr; } - //! Try to lock, but don't wait - bool TryLock() { return MPEnterCriticalRegion(crit,kDurationImmediate) == noErr; } - //! Unlock thread mutex - bool Unlock() { return MPExitCriticalRegion(crit) == noErr; } - - protected: - MPCriticalRegionID crit; - }; -#else -#error "Not implemented" -#endif - - /*! \brief Thread conditional - \sa pthreads documentation - */ - class FLEXT_SHARE ThrCond -#if FLEXT_THREADS == FLEXT_THR_POSIX - :public ThrMutex - { - public: - //! Construct thread conditional - ThrCond() { pthread_cond_init(&cond,NULL); } - //! Destroy thread conditional - ~ThrCond() { pthread_cond_destroy(&cond); } - - //! Wait for condition - bool Wait(); - - /*! Wait for condition (for a certain time). - \param ftime Wait time in seconds - \ret true = signalled, false = timed out - \remark If ftime = 0 this may suck away your cpu if used in a signalled loop. - \remark The time resolution of the implementation is required to be at least ms. - */ - bool TimedWait(double ftime); - - //! Signal condition - bool Signal() { return pthread_cond_signal(&cond) == 0; } - - protected: - pthread_cond_t cond; - }; -#elif FLEXT_THREADS == FLEXT_THR_WIN32 - { - public: - //! Construct thread conditional - ThrCond() { cond = CreateEvent(NULL,FALSE,FALSE,NULL); } - //! Destroy thread conditional - ~ThrCond() { CloseHandle(cond); } - - //! Wait for condition - bool Wait() { return WaitForSingleObject(cond,INFINITE) == WAIT_OBJECT_0; } - - /*! Wait for condition (for a certain time). - \param ftime Wait time in seconds - \ret true = signalled, false = timed out - \remark If ftime = 0 this may suck away your cpu if used in a signalled loop. - \remark The time resolution of the implementation is required to be at least ms. - */ - bool TimedWait(double ftime) { return WaitForSingleObject(cond,(LONG)(ftime*1000)) == WAIT_OBJECT_0; } - - //! Signal condition - bool Signal() { return SetEvent(cond) != 0; } - - protected: - HANDLE cond; - }; -#elif FLEXT_THREADS == FLEXT_THR_MP - { - public: - //! Construct thread conditional - ThrCond() { MPCreateEvent(&ev); } - //! Destroy thread conditional - ~ThrCond() { MPDeleteEvent(ev); } - - //! Wait for condition - bool Wait() { return MPWaitForEvent(ev,NULL,kDurationForever) == noErr; } - - /*! \brief Wait for condition (for a certain time). - \param time Wait time in seconds - */ - bool TimedWait(double tm) { return MPWaitForEvent(ev,NULL,tm*kDurationMicrosecond*1.e6) == noErr; } - - //! Signal condition - bool Signal() { return MPSetEvent(ev,1) == noErr; } // one bit needs to be set at least - - protected: - MPEventID ev; - }; -#else -#error "Not implemented" -#endif - - protected: - /*! \brief Add current thread to list of active threads. - \note Calls RegisterThread automatically - \return true on success - \internal - */ - static bool PushThread(); - - /*! \brief Remove current thread from list of active threads. - \note Calls UnregisterThread automatically - \internal - */ - static void PopThread(); - - public: - /*! \brief Launch a thread. - \param meth Thread function - \param params Parameters to pass to the thread, may be NULL if not needed. - \return Thread id on success, NULL on failure - */ - static bool LaunchThread(void (*meth)(thr_params *p),thr_params *params = NULL); - - /*! \brief Terminate a thread. - \param meth Thread function - \param params Parameters to pass to the thread, may be NULL if not needed. - \return True if at least one matching thread has been found. - \remark Terminates all running threads with matching meth and params. - \note Function doesn NOT wait for termination - */ - static bool StopThread(void (*meth)(thr_params *p),thr_params *params = NULL,bool wait = false); - - - //! \brief Register current thread to be allowed to execute flext functions. - static void RegisterThread(thrid_t id = GetThreadId()); - - //! \brief Unregister current thread - static void UnregisterThread(thrid_t id = GetThreadId()); - -#endif // FLEXT_THREADS - -//! @} FLEXT_S_THREAD - - - public: -// --- timer stuff ----------------------------------------------- - -/*! \defgroup FLEXT_S_TIMER Flext timer handling - @{ - - \remark The clock of the real-time system is used for most of these functions. - \remark Since this clock can be synchronized to an external clock (or e.g. the audio card) - \remark it may differ from the clock of the operating system -*/ - - /*! \brief Get time since real-time system startup. - \note This is not the time of the operating system but of the real-time system. - \note It may depend on the time source the system is synchronized to (e.g. audio sample rate). - */ - static double GetTime() - { - #if FLEXT_SYS == FLEXT_SYS_PD - return clock_gettimesince(0)*0.001; - #elif FLEXT_SYS == FLEXT_SYS_MAX - double tm; - clock_getftime(&tm); - return tm*0.001; - #else - #error Not implemented - #endif - } - - /*! \brief Get time granularity of the GetTime function. - \note This can be zero if not determined. - */ - static double GetTimeGrain() - { - #if FLEXT_SYS == FLEXT_SYS_PD - return 0; - #elif FLEXT_SYS == FLEXT_SYS_MAX - return 0.001; - #else - #error Not implemented - #endif - } - - /*! \brief Get operating system time since flext startup. - */ - static double GetOSTime(); - - /*! \brief Sleep for an amount of time. - \remark The OS clock is used for that. - \note Clearly in a real-time system this should only be used in a detached thread. - */ - static void Sleep(double s); - - /*! \brief Class encapsulating a timer with callback functionality. - This class can either be used with FLEXT_ADDTIMER or used as a base class with an overloaded virtual Work function. - */ - class FLEXT_SHARE Timer: - public flext_root - { - public: - Timer(bool queued = false); - virtual ~Timer(); - - //! Set timer callback function. - void SetCallback(void (*cb)(void *data)) { clss = NULL,cback = cb; } - //! Set timer callback function (with class pointer). - void SetCallback(FLEXT_CLASSDEF(flext_base) &th,bool (*cb)(FLEXT_CLASSDEF(flext_base) *th,void *data)) { clss = &th,cback = (void (*)(void *))cb; } - - //! Clear timer. - bool Reset(); - //! Trigger a one shot at an absolute time. - bool At(double time,void *data = NULL,bool dopast = true); - //! Trigger a one shot interval. - bool Delay(double time,void *data = NULL); - //! Trigger a periodic interval. - bool Periodic(double time,void *data = NULL); - //! Trigger immediately. - bool Now(void *data = NULL) { return Delay(0,data); } - - //! Worker function, called on every timer event. - virtual void Work(); - - protected: - static void callback(Timer *tmr); - -#if FLEXT_SYS == FLEXT_SYS_PD - t_clock *clk; -#elif FLEXT_SYS == FLEXT_SYS_MAX - static void queuefun(Timer *tmr); - t_clock *clk; - t_qelem *qelem; -#else -#error Not implemented -#endif - - const bool queued; - void (*cback)(void *data); - FLEXT_CLASSDEF(flext_base) *clss; - void *userdata; - double period; - }; - -//! @} FLEXT_S_TIMER - - //! Check if we are in DSP time - static bool InDSP() { return indsp; } - -// --- SIMD functionality ----------------------------------------------- - -/*! \defgroup FLEXT_S_SIMD Cross platform SIMD support for modern CPUs - @{ -*/ - enum simd_type { - simd_none = 0, - simd_mmx = 0x01, - simd_3dnow = 0x02, - simd_sse = 0x04, - simd_sse2 = 0x08, - simd_altivec = 0x10 - }; - - /*! Check for SIMD capabilities of the CPU */ - static unsigned long GetSIMDCapabilities(); - - - static void MulSamples(t_sample *dst,const t_sample *src,t_sample mul,int cnt); - static void MulSamples(t_sample *dst,const t_sample *src,const t_sample *mul,int cnt); - static void AddSamples(t_sample *dst,const t_sample *src,t_sample add,int cnt); - static void AddSamples(t_sample *dst,const t_sample *src,const t_sample *add,int cnt); - static void ScaleSamples(t_sample *dst,const t_sample *src,t_sample mul,t_sample add,int cnt); - static void ScaleSamples(t_sample *dst,const t_sample *src,t_sample mul,const t_sample *add,int cnt); - static void ScaleSamples(t_sample *dst,const t_sample *src,const t_sample *mul,const t_sample *add,int cnt); - -//! @} FLEXT_S_SIMD - - -//! @} FLEXT_SUPPORT - -protected: -#ifdef __MRC__ - friend class flext_obj; -#endif - - static void Setup(); - - static bool chktilde(const char *objname); - - static unsigned long simdcaps; - - static const t_symbol *sym_attributes; - static const t_symbol *sym_methods; - -#if FLEXT_SYS == FLEXT_SYS_MAX - static const t_symbol *sym_buffer; - static const t_symbol *sym_size; - static const t_symbol *sym_dirty; -#endif - - //! flag if we are within DSP - static bool indsp; -}; - - -// gcc doesn't like these to be included into the flext class (even if static) -inline bool operator ==(const t_atom &a,const t_atom &b) { return flext::CmpAtom(a,b) == 0; } -inline bool operator !=(const t_atom &a,const t_atom &b) { return flext::CmpAtom(a,b) != 0; } -inline bool operator <(const t_atom &a,const t_atom &b) { return flext::CmpAtom(a,b) < 0; } -inline bool operator <=(const t_atom &a,const t_atom &b) { return flext::CmpAtom(a,b) <= 0; } -inline bool operator >(const t_atom &a,const t_atom &b) { return flext::CmpAtom(a,b) > 0; } -inline bool operator >=(const t_atom &a,const t_atom &b) { return flext::CmpAtom(a,b) >= 0; } - -//! @} // FLEXT_SUPPORT - -#include "flpopns.h" - -#endif diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flthr.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flthr.cpp.svn-base deleted file mode 100644 index 0f2578b66..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flthr.cpp.svn-base +++ /dev/null @@ -1,746 +0,0 @@ -/* -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flthr.cpp - \brief Implementation of the flext thread functionality. -*/ - -#include "flext.h" - -#ifdef FLEXT_THREADS - -// maximum wait time for threads to finish (in ms) -#define MAXIMUMWAIT 100 - - -#include "flinternal.h" -#include "flcontainers.h" -#include <set> -#include <ctime> - -#if FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH || FLEXT_OSAPI == FLEXT_OSAPI_UNIX_POSIX || FLEXT_OSAPI == FLEXT_OSAPI_WIN_POSIX -#include <sys/time.h> -#include <unistd.h> -#elif FLEXT_OS == FLEXT_OS_WIN -#include <sys/timeb.h> -#endif - -#if FLEXT_THREADS == FLEXT_THR_WIN32 && WINVER < 0x0500 -#error WIN32 threads need Windows SDK version >= 0x500 -#endif - -#include <cerrno> - -#include "flpushns.h" - -//! Thread id of system thread - will be initialized in flext::Setup -flext::thrid_t flext::thrid; - -//! Thread id of helper thread - will be initialized in flext::Setup -flext::thrid_t flext::thrhelpid; - - -//! \brief This represents an entry to the list of active method threads -class thr_entry - : public flext - , public LifoCell -{ -public: - void Set(void (*m)(thr_params *),thr_params *p,thrid_t id = GetThreadId()) - { - th = p?p->cl:NULL; - meth = m,params = p,thrid = id; - shouldexit = false; -#if FLEXT_THREADS == FLEXT_THR_MP - weight = 100; // MP default weight -#endif - } - - //! \brief Check if this class represents the current thread - bool Is(thrid_t id = GetThreadId()) const { return IsThread(thrid,id); } - - FLEXT_CLASSDEF(flext_base) *This() const { return th; } - thrid_t Id() const { return thrid; } - - FLEXT_CLASSDEF(flext_base) *th; - void (*meth)(thr_params *); - thr_params *params; - thrid_t thrid; - bool shouldexit; -#if FLEXT_THREADS == FLEXT_THR_MP - int weight; -#endif -}; - -template<class T> -class ThrFinder: - public T -{ -public: - ~ThrFinder() { thr_entry *e; while((e = Pop()) != NULL) delete e; } - - void Push(thr_entry *e) { T::Push(e); } - thr_entry *Pop() { return T::Pop(); } - - thr_entry *Find(flext::thrid_t id,bool pop = false) - { - TypedLifo<thr_entry> qutmp; - thr_entry *fnd; - while((fnd = Pop()) && !fnd->Is(id)) qutmp.Push(fnd); - // put back entries - for(thr_entry *ti; (ti = qutmp.Pop()) != NULL; ) Push(ti); - if(fnd && !pop) Push(fnd); - return fnd; - } -}; - -static ThrFinder< PooledLifo<thr_entry,1,10> > thrpending; -static ThrFinder< TypedLifo<thr_entry> > thractive,thrstopped; - -class ThrId - : public flext -{ -public: - ThrId(const thrid_t &_id): id(_id) {} - thrid_t id; - - bool operator <(const ThrId &tid) const - { - if(sizeof(id) == sizeof(unsigned)) - return (unsigned *)&id < (unsigned *)&tid; - else - return memcmp(&id,&tid,sizeof(id)) < 0; - } -}; - -#if 0 -class ThrIdCell - : public LifoCell - , public ThrId -{ -public: - ThrIdCell(const thrid_t &_id): ThrId(_id) {} -}; - -class RegQueue - : public TypedLifo<ThrIdCell> -{ -public: - ~RegQueue() { ThrIdCell *pid; while((pid = Pop()) != NULL) delete pid; } -}; - -static RegQueue regqueue,unregqueue; -#endif - -// this should _definitely_ be a hashmap.... -// \TODO above all it should be populated immediately, otherwise it could easily happen -// that the passing on to the set happens too late! We need that lockfree set! -static std::set<ThrId> regthreads; - -//! Registry lock -static flext::ThrMutex *thrregmtx = NULL; - -//! Helper thread conditional -static flext::ThrCond *thrhelpcond = NULL; - -static void LaunchHelper(thr_entry *e) -{ - e->thrid = flext::GetThreadId(); - flext::RegisterThread(e->thrid); - e->meth(e->params); - flext::UnregisterThread(e->thrid); -} - -bool initialized = false; - -//! Start helper thread -bool flext::StartHelper() -{ - bool ok = false; - initialized = false; - - thrregmtx = new ThrMutex; - -#if FLEXT_THREADS == FLEXT_THR_POSIX - pthread_attr_t attr; - pthread_attr_init(&attr); - pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED); - - pthread_t tmp; - ok = pthread_create (&tmp,&attr,(void *(*)(void *))ThrHelper,NULL) == 0; -#elif FLEXT_THREADS == FLEXT_THR_MP - if(!MPLibraryIsLoaded()) - error("Thread library is not loaded"); - else { - MPTaskID tmp; - OSStatus ret = MPCreateTask((TaskProc)ThrHelper,NULL,0,0,0,0,0,&tmp); - ok = ret == noErr; - } -#elif FLEXT_THREADS == FLEXT_THR_WIN32 - ok = _beginthread(ThrHelper,0,NULL) >= 0; -#else -#error -#endif - if(!ok) - error("flext - Could not launch helper thread!"); - else { - // now we have to wait for thread helper to initialize - while(!initialized) Sleep(0.001); - - // we are ready for threading now! - } - -#if FLEXT_THREADS == FLEXT_THR_POSIX - pthread_attr_destroy(&attr); -#endif - return ok; -} - -//! Static helper thread function -void flext::ThrHelper(void *) -{ - thrhelpid = GetThreadId(); - -#if FLEXT_THREADS == FLEXT_THR_POSIX - // set prototype thread attributes - pthread_attr_t attr; - pthread_attr_init(&attr); - pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED); -#endif - - // set thread priority one point below normal - // so thread construction won't disturb real-time audio - RelPriority(-1); - - thrhelpcond = new ThrCond; - - initialized = true; - - // helper loop - for(;;) { - thrhelpcond->Wait(); - - // start all inactive threads - thr_entry *ti; - while((ti = thrpending.Pop()) != NULL) { - bool ok; - - #if FLEXT_THREADS == FLEXT_THR_POSIX - thrid_t dummy; - ok = pthread_create (&dummy,&attr,(void *(*)(void *))LaunchHelper,ti) == 0; - #elif FLEXT_THREADS == FLEXT_THR_MP - thrid_t dummy; - ok = MPCreateTask((TaskProc)LaunchHelper,ti,0,0,0,0,0,&dummy) == noErr; - #elif FLEXT_THREADS == FLEXT_THR_WIN32 - ok = _beginthread((void (*)(void *))LaunchHelper,0,ti) >= 0; - #else - #error - #endif - if(!ok) { - error("flext - Could not launch thread!"); - thrpending.Free(ti); ti = NULL; - } - else - // insert into queue of active threads - thractive.Push(ti); - } - } - - FLEXT_ASSERT(false); -/* - // Never reached! - - delete thrhelpcond; - thrhelpcond = NULL; - -#if FLEXT_THREADS == FLEXT_THR_POSIX - pthread_attr_destroy(&attr); -#endif -*/ -} - - -bool flext::LaunchThread(void (*meth)(thr_params *p),thr_params *p) -{ - FLEXT_ASSERT(thrhelpcond); - - // make an entry into thread list - thr_entry *e = thrpending.New(); - e->Set(meth,p); - thrpending.Push(e); - // signal thread helper - thrhelpcond->Signal(); - - return true; -} - -static bool waitforstopped(TypedLifo<thr_entry> &qufnd,float wait = 0) -{ - TypedLifo<thr_entry> qutmp; - - double until; - if(wait) until = flext::GetOSTime()+wait; - - for(;;) { - thr_entry *fnd = qufnd.Pop(); - if(!fnd) break; // no more entries -> done! - - thr_entry *ti; - // search for entry - while((ti = thrstopped.Pop()) != NULL && ti != fnd) qutmp.Push(ti); - // put back entries - while((ti = qutmp.Pop()) != NULL) thrstopped.Push(ti); - - if(ti) { - // still in thrstopped queue - qufnd.Push(fnd); - // yield to other threads - flext::ThrYield(); - - if(wait && flext::GetOSTime() > until) - // not successful -> remaining thread are still in qufnd queue - return false; - } - } - return true; -} - -bool flext::StopThread(void (*meth)(thr_params *p),thr_params *p,bool wait) -{ - FLEXT_ASSERT(thrhelpcond); - - TypedLifo<thr_entry> qutmp; - thr_entry *ti; - - // first search pending queue - // -------------------------- - - { - bool found = false; - while((ti = thrpending.Pop()) != NULL) - if(ti->meth == meth && ti->params == p) { - // found -> thread hasn't started -> just delete - thrpending.Free(ti); - found = true; - } - else - qutmp.Push(ti); - - // put back into pending queue (order doesn't matter) - while((ti = qutmp.Pop()) != NULL) thrpending.Push(ti); - - if(found) return true; - } - - // now search active queue - // ----------------------- - - TypedLifo<thr_entry> qufnd; - - while((ti = thractive.Pop()) != NULL) - if(ti->meth == meth && ti->params == p) { - thrstopped.Push(ti); - thrhelpcond->Signal(); - qufnd.Push(ti); - } - else - qutmp.Push(ti); - - // put back into pending queue (order doesn't matter) - while((ti = qutmp.Pop()) != NULL) thractive.Push(ti); - - // wakeup helper thread - thrhelpcond->Signal(); - - // now wait for entries in qufnd to have vanished from thrstopped - if(wait) - return waitforstopped(qufnd); - else - return !qufnd.Avail(); -} - -bool flext::ShouldExit() -{ - return thrstopped.Find(GetThreadId()) != NULL; -} - -bool flext::PushThread() -{ - // set priority of newly created thread one point below the system thread's - RelPriority(-1); - RegisterThread(); - return true; -} - -void flext::PopThread() -{ - thrid_t id = GetThreadId(); - UnregisterThread(id); - thr_entry *fnd = thrstopped.Find(id,true); - if(!fnd) fnd = thractive.Find(id,true); - - if(fnd) - thrpending.Free(fnd); -#ifdef FLEXT_DEBUG - else - post("flext - INTERNAL ERROR: Thread not found!"); -#endif -} - -void flext::RegisterThread(thrid_t id) -{ -#if 1 - FLEXT_ASSERT(thrregmtx); - thrregmtx->Lock(); - regthreads.insert(id); - thrregmtx->Unlock(); -#else - regqueue.Push(new ThrIdCell(id)); -#endif -} - -void flext::UnregisterThread(thrid_t id) -{ -#if 1 - FLEXT_ASSERT(thrregmtx); - thrregmtx->Lock(); - regthreads.erase(id); - thrregmtx->Unlock(); -#else - unregqueue.Push(new ThrIdCell(id)); -#endif -} - -#if 0 -void flext::ThreadRegistryWorker() -{ - ThrIdCell *pid; - while((pid = regqueue.Pop()) != NULL) { regthreads.insert(pid->id); delete pid; } - while((pid = unregqueue.Pop()) != NULL) { regthreads.erase(pid->id); delete pid; } -} -#endif - -bool flext::IsThreadRegistered() -{ - FLEXT_ASSERT(thrregmtx); - thrregmtx->Lock(); - bool fnd = regthreads.find(GetThreadId()) != regthreads.end(); - thrregmtx->Unlock(); - return fnd; -} - -//! Terminate all object threads -bool flext_base::StopThreads() -{ - FLEXT_ASSERT(thrhelpcond); - - TypedLifo<thr_entry> qutmp; - thr_entry *ti; - - // first search pending queue - // -------------------------- - - while((ti = thrpending.Pop()) != NULL) - if(ti->This() == this) - // found -> thread hasn't started -> just delete - thrpending.Free(ti); - else - qutmp.Push(ti); - - // put back into pending queue (order doesn't matter) - while((ti = qutmp.Pop()) != NULL) thrpending.Push(ti); - - // now search active queue - // ----------------------- - - TypedLifo<thr_entry> qufnd; - - while((ti = thractive.Pop()) != NULL) - if(ti->This() == this) { - thrstopped.Push(ti); - thrhelpcond->Signal(); - qufnd.Push(ti); - } - else - qutmp.Push(ti); - - // put back into pending queue (order doesn't matter) - while((ti = qutmp.Pop()) != NULL) thractive.Push(ti); - - // wakeup helper thread - thrhelpcond->Signal(); - - // now wait for entries in qufnd to have vanished from thrstopped - if(!waitforstopped(qufnd,MAXIMUMWAIT*0.001f)) { -#ifdef FLEXT_DEBUG - post("flext - doing hard thread termination"); -#endif - - // timeout -> hard termination - while((ti = qufnd.Pop()) != NULL) { -#if FLEXT_THREADS == FLEXT_THR_POSIX - if(pthread_cancel(ti->thrid)) - post("%s - Thread could not be terminated!",thisName()); -#elif FLEXT_THREADS == FLEXT_THR_MP - MPTerminateTask(ti->thrid,0); - // here, we should use a task queue to check whether the task has really terminated!! -#elif FLEXT_THREADS == FLEXT_THR_WIN32 - // can't use the c library function _endthread.. memory leaks will occur - HANDLE hnd = OpenThread(THREAD_ALL_ACCESS,TRUE,ti->thrid); - TerminateThread(hnd,0); -#else -#error Not implemented -#endif - thrpending.Free(ti); - } - return false; - } - else - return true; -} - -bool flext::RelPriority(int dp,thrid_t ref,thrid_t id) -{ -#if FLEXT_THREADS == FLEXT_THR_POSIX - sched_param parm; - int policy; - if(pthread_getschedparam(ref,&policy,&parm) < 0) { -#ifdef FLEXT_DEBUG - post("flext - failed to get thread priority"); -#endif - return false; - } - else { - parm.sched_priority += dp; - - // MSVC++ 6 produces wrong code with the following lines!!! -// int schmin = sched_get_priority_min(policy); -// int schmax = sched_get_priority_max(policy); - - if(parm.sched_priority < sched_get_priority_min(policy)) { -#ifdef FLEXT_DEBUG - post("flext - minimum thread priority reached"); -#endif - parm.sched_priority = sched_get_priority_min(policy); - } - else if(parm.sched_priority > sched_get_priority_max(policy)) { -#ifdef FLEXT_DEBUG - post("flext - maximum thread priority reached"); -#endif - parm.sched_priority = sched_get_priority_max(policy); - } - - if(pthread_setschedparam(id,policy,&parm) < 0) { -#ifdef FLEXT_DEBUG - post("flext - failed to change thread priority"); -#endif - return false; - } - } - return true; - -#elif FLEXT_THREADS == FLEXT_THR_WIN32 - HANDLE href = OpenThread(THREAD_ALL_ACCESS,TRUE,ref); - HANDLE hid = OpenThread(THREAD_ALL_ACCESS,TRUE,id); - int pr = GetThreadPriority(href); - - if(pr == THREAD_PRIORITY_ERROR_RETURN) { -#ifdef FLEXT_DEBUG - post("flext - failed to get thread priority"); -#endif - return false; - } - - pr += dp; - if(pr < THREAD_PRIORITY_IDLE) { -#ifdef FLEXT_DEBUG - post("flext - minimum thread priority reached"); -#endif - pr = THREAD_PRIORITY_IDLE; - } - else if(pr > THREAD_PRIORITY_TIME_CRITICAL) { -#ifdef FLEXT_DEBUG - post("flext - maximum thread priority reached"); -#endif - pr = THREAD_PRIORITY_TIME_CRITICAL; - } - - if(SetThreadPriority(hid,pr) == 0) { -#ifdef FLEXT_DEBUG - post("flext - failed to change thread priority"); -#endif - return false; - } - return true; - -#elif FLEXT_THREADS == FLEXT_THR_MP - thr_entry *ti = thrpending.Find(id); - if(!ti) ti = thractive.Find(id); - if(ti) { - // thread found in list - int w = GetPriority(id); - if(dp < 0) w /= 1<<(-dp); - else w *= 1<<dp; - if(w < 1) { - #ifdef FLEXT_DEBUG - post("flext - minimum thread priority reached"); - #endif - w = 1; - } - else if(w > 10000) { - #ifdef FLEXT_DEBUG - post("flext - maximum thread priority reached"); - #endif - w = 10000; - } - ti->weight = w; - return MPSetTaskWeight(id,w) == noErr; - } - else return false; -#else -#error -#endif -} - - -int flext::GetPriority(thrid_t id) -{ -#if FLEXT_THREADS == FLEXT_THR_POSIX - sched_param parm; - int policy; - if(pthread_getschedparam(id,&policy,&parm) < 0) { -#ifdef FLEXT_DEBUG - post("flext - failed to get parms"); -#endif - return -1; - } - return parm.sched_priority; - -#elif FLEXT_THREADS == FLEXT_THR_WIN32 - HANDLE hid = OpenThread(THREAD_ALL_ACCESS,TRUE,id); - int pr = GetThreadPriority(hid); - - if(pr == THREAD_PRIORITY_ERROR_RETURN) { -#ifdef FLEXT_DEBUG - post("flext - failed to get thread priority"); -#endif - return -1; - } - return pr; - -#elif FLEXT_THREADS == FLEXT_THR_MP - thr_entry *ti = thrpending.Find(id); - if(!ti) ti = thractive.Find(id); - return ti?ti->weight:-1; -#else -#error -#endif -} - - -bool flext::SetPriority(int p,thrid_t id) -{ -#if FLEXT_THREADS == FLEXT_THR_POSIX - sched_param parm; - int policy; - if(pthread_getschedparam(id,&policy,&parm) < 0) { -#ifdef FLEXT_DEBUG - post("flext - failed to get parms"); -#endif - return false; - } - else { - parm.sched_priority = p; - if(pthread_setschedparam(id,policy,&parm) < 0) { -#ifdef FLEXT_DEBUG - post("flext - failed to change priority"); -#endif - return false; - } - } - return true; - -#elif FLEXT_THREADS == FLEXT_THR_WIN32 - HANDLE hid = OpenThread(THREAD_ALL_ACCESS,TRUE,id); - if(SetThreadPriority(hid,p) == 0) { -#ifdef FLEXT_DEBUG - post("flext - failed to change thread priority"); -#endif - return false; - } - return true; - -#elif FLEXT_THREADS == FLEXT_THR_MP - thr_entry *ti = thrpending.Find(id); - if(!ti) ti = thractive.Find(id); - return ti && MPSetTaskWeight(id,ti->weight = p) == noErr; -#else -#error -#endif -} - - -flext_base::thr_params::thr_params(int n): cl(NULL),var(new _data[n]) {} -flext_base::thr_params::~thr_params() { if(var) delete[] var; } - -void flext_base::thr_params::set_any(const t_symbol *s,int argc,const t_atom *argv) { var[0]._any = new AtomAnything(s,argc,argv); } -void flext_base::thr_params::set_list(int argc,const t_atom *argv) { var[0]._list = new AtomList(argc,argv); } - - -#if FLEXT_THREADS == FLEXT_THR_POSIX -bool flext::ThrCond::Wait() { - Lock(); - bool ret = pthread_cond_wait(&cond,&mutex) == 0; - Unlock(); - return ret; -} - -bool flext::ThrCond::TimedWait(double ftm) -{ - timespec tm; -#if FLEXT_OS == FLEXT_OS_WIN && FLEXT_OSAPI == FLEXT_OSAPI_WIN_NATIVE -#ifdef _MSC_VER - _timeb tmb; - _ftime(&tmb); -#else - timeb tmb; - ftime(&tmb); -#endif - tm.tv_nsec = tmb.millitm*1000000; - tm.tv_sec = (long)tmb.time; -#else // POSIX -#if 0 // find out when the following is defined - clock_gettime(CLOCK_REALTIME,tm); -#else - struct timeval tp; - gettimeofday(&tp, NULL); - tm.tv_nsec = tp.tv_usec*1000; - tm.tv_sec = tp.tv_sec; -#endif -#endif - - tm.tv_nsec += (long)((ftm-(long)ftm)*1.e9); - long nns = tm.tv_nsec%1000000000; - tm.tv_sec += (long)ftm+(tm.tv_nsec-nns)/1000000000; - tm.tv_nsec = nns; - - Lock(); - bool ret = pthread_cond_timedwait(&cond,&mutex,&tm) == 0; - Unlock(); - return ret; -} -#endif - -#include "flpopns.h" - -#endif // FLEXT_THREADS - diff --git a/externals/grill/trunk/flext/source/.svn/text-base/fltimer.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/fltimer.cpp.svn-base deleted file mode 100644 index fa23b6616..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/fltimer.cpp.svn-base +++ /dev/null @@ -1,280 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file fltimer.cpp - \brief flext timer functions and classes -*/ - -#include "flext.h" - -#if FLEXT_OS == FLEXT_OS_WIN -#include <windows.h> -#elif FLEXT_OS == FLEXT_OS_LINUX || FLEXT_OS == FLEXT_OS_IRIX || FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH -#include <unistd.h> -#include <sys/time.h> -#elif FLEXT_OS == FLEXT_OS_MAC -#include <Timer.h> -#include <Threads.h> -#endif - -#include "flpushns.h" - -#if FLEXT_OS == FLEXT_OS_WIN -static double perffrq = 0; -#endif - -static double getstarttime(); -static double starttime = getstarttime(); - -static double getstarttime() -{ -#if FLEXT_OS == FLEXT_OS_WIN - LARGE_INTEGER frq; - if(QueryPerformanceFrequency(&frq)) perffrq = (double)frq.QuadPart; -#endif - - starttime = 0; - return flext::GetOSTime(); -} - -double flext::GetOSTime() -{ - double tm; - -#if FLEXT_OS == FLEXT_OS_WIN - LARGE_INTEGER cnt; - if(perffrq && QueryPerformanceCounter(&cnt)) - tm = cnt.QuadPart/perffrq; - else { - SYSTEMTIME systm; - FILETIME fltm; - GetSystemTime(&systm); - SystemTimeToFileTime(&systm,&fltm); - tm = ((LARGE_INTEGER *)&fltm)->QuadPart*1.e-7; - } -#elif FLEXT_OS == FLEXT_OS_LINUX || FLEXT_OS == FLEXT_OS_IRIX || FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH // POSIX - timeval tmv; - gettimeofday(&tmv,NULL); - tm = tmv.tv_sec+tmv.tv_usec*1.e-6; -#elif FLEXT_OS == FLEXT_OS_MAC // that's just for OS9 & Carbon! - UnsignedWide tick; - Microseconds(&tick); - tm = (tick.hi*((double)(1L<<((sizeof tick.lo)*4))*(double)(1L<<((sizeof tick.lo)*4)))+tick.lo)*1.e-6; -#else - #error Not implemented -#endif - return tm-starttime; -} - -void flext::Sleep(double s) -{ - if(s <= 0) return; -#if FLEXT_OS == FLEXT_OS_WIN -#if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x400 -#if 0 - LARGE_INTEGER liDueTime; - liDueTime.QuadPart = (LONGLONG)(-1.e7*s); - - // Create a waitable timer. - HANDLE hTimer = CreateWaitableTimer(NULL,TRUE,NULL); - if(hTimer) { - if(SetWaitableTimer(hTimer,&liDueTime,0,NULL,NULL,0)) - // Wait for the timer. - WaitForSingleObject(hTimer,INFINITE); // != WAIT_OBJECT_0) - else - ::Sleep((long)(s*1000.)); - CloseHandle(hTimer); - } - else -#else - LARGE_INTEGER cnt; - if(perffrq && QueryPerformanceCounter(&cnt)) { - LONGLONG dst = (LONGLONG)(cnt.QuadPart+perffrq*s); - for(;;) { - SwitchToThread(); // while waiting switch to another thread - QueryPerformanceCounter(&cnt); - if(cnt.QuadPart > dst) break; - } - } - else -#endif -#endif - // last resort.... - ::Sleep((long)(s*1000.)); -#elif FLEXT_OS == FLEXT_OS_LINUX || FLEXT_OS == FLEXT_OS_IRIX || FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH // POSIX - usleep((long)(s*1000000.)); -#elif FLEXT_OS == FLEXT_OS_MAC // that's just for OS9 & Carbon! - UnsignedWide tick; - Microseconds(&tick); - double target = tick.hi*((double)(1L<<((sizeof tick.lo)*4))*(double)(1L<<((sizeof tick.lo)*4)))+tick.lo+s*1.e6; - for(;;) { - // this is just a loop running until the time has passed - stone age (but we yield at least) - Microseconds(&tick); - if(target <= tick.hi*((double)(1L<<((sizeof tick.lo)*4))*(double)(1L<<((sizeof tick.lo)*4)))+tick.lo) break; - YieldToAnyThread(); // yielding surely reduces the timing precision (but we're civilized) - } -#else - #error Not implemented -#endif -} - -/* \param qu determines whether timed messages should be queued (low priority - only when supported by the system). -*/ -flext::Timer::Timer(bool qu): - queued(qu), - clss(NULL),userdata(NULL), - period(0) -{ -#if FLEXT_SYS == FLEXT_SYS_PD - clk = (t_clock *)clock_new(this,(t_method)callback); -#elif FLEXT_SYS == FLEXT_SYS_MAX - clk = (t_clock *)clock_new(this,(t_method)callback); - if(queued) qelem = (t_qelem *)qelem_new(this,(method)queuefun); -#else - #error Not implemented -#endif -} - -flext::Timer::~Timer() -{ -#if FLEXT_SYS == FLEXT_SYS_PD - clock_free(clk); -#elif FLEXT_SYS == FLEXT_SYS_MAX - clock_free(clk); - if(queued) ::qelem_free(qelem); -#else - #error Not implemented -#endif -} - -bool flext::Timer::Reset() -{ -#if FLEXT_SYS == FLEXT_SYS_PD - clock_unset(clk); -#elif FLEXT_SYS == FLEXT_SYS_MAX - clock_unset(clk); - if(queued) ::qelem_unset(qelem); -#else - #error Not implemented -#endif - return true; -} - -/*! \param tm absolute time (in seconds) - \param data user data - \param dopast if set events with times lying in the past will be triggered immediately, if not set they are ignored - \return true on success -*/ -bool flext::Timer::At(double tm,void *data,bool dopast) -{ - userdata = data; - period = 0; -#if FLEXT_SYS == FLEXT_SYS_PD - const double systm = clock_gettimesince(0); - double df = tm*1000.-systm; - if(dopast && df < 0) df = 0; - if(df >= 0) - clock_delay(clk,df); -#elif FLEXT_SYS == FLEXT_SYS_MAX - const double ms = tm*1000.; - double cur; - clock_getftime(&cur); - if(cur <= ms) - clock_fdelay(clk,ms-cur); - else if(dopast) // trigger timer is past - clock_fdelay(clk,0); -#else - #error Not implemented -#endif - return true; -} - -/*! \param tm relative time (in seconds) - \param data user data - \return true on success -*/ -bool flext::Timer::Delay(double tm,void *data) -{ - userdata = data; - period = 0; -#if FLEXT_SYS == FLEXT_SYS_PD - clock_delay(clk,tm*1000); -#elif FLEXT_SYS == FLEXT_SYS_MAX - clock_fdelay(clk,tm*1000.); -#else - #error Not implemented -#endif - return true; -} - -/*! \param tm relative time between periodic events (in seconds) - \param data user data - \return true on success - \note the first event will be delayed by tm -*/ -bool flext::Timer::Periodic(double tm,void *data) -{ - userdata = data; - period = tm; -#if FLEXT_SYS == FLEXT_SYS_PD - clock_delay(clk,tm*1000.); -#elif FLEXT_SYS == FLEXT_SYS_MAX - clock_fdelay(clk,tm*1000.); -#else - #error Not implemented -#endif - return true; -} - -//! \brief Callback function for system clock. -void flext::Timer::callback(Timer *tmr) -{ -#if FLEXT_SYS == FLEXT_SYS_MAX - if(tmr->queued) - qelem_set(tmr->qelem); - else -#endif - tmr->Work(); - - if(tmr->period) { - // reschedule -#if FLEXT_SYS == FLEXT_SYS_PD - clock_delay(tmr->clk,tmr->period*1000.); -#elif FLEXT_SYS == FLEXT_SYS_MAX - clock_fdelay(tmr->clk,tmr->period*1000.); -#else - #error Not implemented -#endif - } -} - -#if FLEXT_SYS == FLEXT_SYS_MAX -/*! \brief Callback function for low priority clock (for queued messages). -*/ -void flext::Timer::queuefun(Timer *tmr) { tmr->Work(); } -#endif - -/*! \brief Virtual worker function - by default it calls the user callback function. - \remark The respective callback parameter format is chosen depending on whether clss is defined or not. -*/ -void flext::Timer::Work() -{ - if(cback) { - if(clss) - ((bool (*)(flext_base *,void *))cback)(clss,userdata); - else - cback(userdata); - } -} - -#include "flpopns.h" diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flutil.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flutil.cpp.svn-base deleted file mode 100644 index 722011d9a..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flutil.cpp.svn-base +++ /dev/null @@ -1,61 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flutil.cpp - \brief Implementation of the various utility functions. -*/ - -#include "flext.h" -#include <cstring> - -#if FLEXT_OS == FLEXT_OS_WIN -#include <windows.h> -#elif FLEXT_OS == FLEXT_OS_MAC - #if FLEXT_OSAPI != FLEXT_OSAPI_MAC_MACH - #include <MacMemory.h> - #else - #include <Carbon/Carbon.h> - #endif -#endif - -#include "flpushns.h" - -void flext::CopyMem(void *dst,const void *src,int bytes) -{ -#if FLEXT_OS == FLEXT_OS_WIN - MoveMemory(dst,src,bytes); -#elif FLEXT_OS == FLEXT_OS_MAC && !defined(__LP64__) - BlockMoveData(src,dst,bytes); // not available for 64 bits -#else - memmove(dst,src,bytes); -#endif -} - -void flext::ZeroMem(void *dst,int bytes) -{ -#if FLEXT_OS == FLEXT_OS_WIN - ZeroMemory(dst,bytes); -#elif FLEXT_OS == FLEXT_OS_MAC -# ifdef __LP64__ // 64 bits compilation - bzero(dst,bytes); -# else - BlockZero(dst,bytes); -# endif -#else - memset(dst,0,bytes); -#endif -} - -#include "flpopns.h" - - diff --git a/externals/grill/trunk/flext/source/.svn/text-base/flxlet.cpp.svn-base b/externals/grill/trunk/flext/source/.svn/text-base/flxlet.cpp.svn-base deleted file mode 100644 index 3b4694b65..000000000 --- a/externals/grill/trunk/flext/source/.svn/text-base/flxlet.cpp.svn-base +++ /dev/null @@ -1,118 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision$ -$LastChangedDate$ -$LastChangedBy$ -*/ - -/*! \file flxlet.cpp - \brief Implementation of the variable inlet/outlet functionality. -*/ - -#include "flext.h" -#include "flinternal.h" -#include <cstring> -#include <cstdarg> - -#include "flpushns.h" - -#define MAXLETS 256 - -flext_base::xlet flext_base::inlist[MAXLETS],flext_base::outlist[MAXLETS]; - -flext_base::xlet::xlet(): tp(xlet_none),desc(NULL) {} -flext_base::xlet::~xlet() { if(desc) delete[] desc; } - -void flext_base::xlet::Desc(const char *c) -{ - if(desc) delete[] desc; - if(c) { - size_t l = strlen(c); - desc = new char[l+1]; - memcpy(desc,c,l+1); - } - else - desc = NULL; -} - -void flext_base::AddInlet(xlettype tp,int mult,const char *desc) -{ - if(UNLIKELY(incnt+mult >= MAXLETS)) - post("%s - too many inlets",thisName()); - else - for(int i = 0; i < mult; ++i) { - xlet &x = inlist[incnt++]; - x.tp = tp; - x.Desc(desc); - } -} - -void flext_base::AddOutlet(xlettype tp,int mult,const char *desc) -{ - if(UNLIKELY(outcnt+mult >= MAXLETS)) - post("%s - too many outlets",thisName()); - else - for(int i = 0; i < mult; ++i) { - xlet &x = outlist[outcnt++]; - x.tp = tp; - x.Desc(desc); - } -} - -void flext_base::DescInlet(int ix,const char *d) -{ - if(UNLIKELY(ix >= incnt)) - post("%s - inlet %i not found",thisName(),ix); - else - inlist[ix].Desc(d); -} - -void flext_base::DescOutlet(int ix,const char *d) -{ - if(UNLIKELY(ix >= incnt)) - post("%s - outlet %i not found",thisName(),ix); - else - outlist[ix].Desc(d); -} - -unsigned long flext_base::XletCode(xlettype tp,...) -{ - unsigned long code = 0; - - va_list marker; - va_start(marker,tp); - int cnt = 0; - xlettype arg = tp; - for(; arg; ++cnt) { -#ifdef FLEXT_DEBUG - if(cnt > 9) { - error("%s - Too many in/outlets defined - truncated to 9",thisName()); - break; - } -#endif - - code = code*10+(int)arg; - arg = (xlettype)va_arg(marker,int); - } - va_end(marker); - - return code; -} - -void flext_base::AddInlets(unsigned long code) -{ - for(; code; code /= 10) AddInlet((xlettype)(code%10)); -} - -void flext_base::AddOutlets(unsigned long code) -{ - for(; code; code /= 10) AddOutlet((xlettype)(code%10)); -} - -#include "flpopns.h" diff --git a/externals/grill/trunk/flext/source/Makefile.am b/externals/grill/trunk/flext/source/Makefile.am deleted file mode 100755 index c11ca0f87..000000000 --- a/externals/grill/trunk/flext/source/Makefile.am +++ /dev/null @@ -1,110 +0,0 @@ -# -# automake template -# added by tim blechmann -# added by Thomas Grill -# - -# static libraries -#lib_LIBRARIES = -# shared libraries -lib_LTLIBRARIES = libflext-@SYSTEM@_s.la libflext-@SYSTEM@_sd.la libflext-@SYSTEM@_t.la libflext-@SYSTEM@_td.la 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 \ - flmspbuffer.h \ - flinternal.h \ - flcontainers.h \ - flpushns.h \ - flpopns.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 = sndobj -endif - -if STK -SRCS_FLEXT += $(SRCS_STK) -nobase_pkginclude_HEADERS += $(HDRS_STK) -LIB_STK = stk -endif - -libflext_@SYSTEM@_s_la_SOURCES = $(SRCS_FLEXT) -libflext_@SYSTEM@_sd_la_SOURCES = $(SRCS_FLEXT) -libflext_@SYSTEM@_t_la_SOURCES = $(SRCS_FLEXT) -libflext_@SYSTEM@_td_la_SOURCES = $(SRCS_FLEXT) -libflext_@SYSTEM@_la_SOURCES = $(SRCS_FLEXT) -libflext_@SYSTEM@_d_la_SOURCES = $(SRCS_FLEXT) - -libflext_@SYSTEM@_s_la_CXXFLAGS = @OPT_FLAGS@ -static $(patsubst %,-I%,@INCLUDEDIRS@) -libflext_@SYSTEM@_sd_la_CXXFLAGS = @DBG_FLAGS@ -static $(patsubst %,-I%,@INCLUDEDIRS@) -libflext_@SYSTEM@_t_la_CXXFLAGS = @OPT_FLAGS@ -static $(patsubst %,-I%,@INCLUDEDIRS@) -DFLEXT_THREADS -libflext_@SYSTEM@_td_la_CXXFLAGS = @DBG_FLAGS@ -static $(patsubst %,-I%,@INCLUDEDIRS@) -DFLEXT_THREADS -libflext_@SYSTEM@_la_CXXFLAGS = @OPT_FLAGS@ $(patsubst %,-I%,@INCLUDEDIRS@) -DFLEXT_SHARED -libflext_@SYSTEM@_d_la_CXXFLAGS = @DBG_FLAGS@ $(patsubst %,-I%,@INCLUDEDIRS@) -DFLEXT_SHARED - -libflext_@SYSTEM@_la_LDFLAGS = @LD_FLAGS@ $(patsubst %,-L%,@LIBDIRS@) $(patsubst %,-l%,@libs@ $(LIB_SNDOBJ) $(LIB_STK)) $(patsubst %,-framework %,@FRAMEWORKS@) -libflext_@SYSTEM@_d_la_LDFLAGS = @LD_FLAGS@ $(patsubst %,-L%,@LIBDIRS@) $(patsubst %,-l%,@libs@ $(LIB_SNDOBJ) $(LIB_STK)) $(patsubst %,-framework %,@FRAMEWORKS@) - -#libflext_@SYSTEM@_la_LIBADD = @libs@ -#libflext_@SYSTEM@_d_la_LIBADD = @libs@ diff --git a/externals/grill/trunk/flext/source/Makefile.in b/externals/grill/trunk/flext/source/Makefile.in deleted file mode 100644 index b3a01e32c..000000000 --- a/externals/grill/trunk/flext/source/Makefile.in +++ /dev/null @@ -1,2138 +0,0 @@ -# Makefile.in generated by automake 1.11.3 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# -# automake template -# added by tim blechmann -# added by Thomas Grill -# - - -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@SNDOBJ_TRUE@am__append_1 = $(SRCS_SNDOBJ) -@SNDOBJ_TRUE@am__append_2 = $(HDRS_SNDOBJ) -@STK_TRUE@am__append_3 = $(SRCS_STK) -@STK_TRUE@am__append_4 = $(HDRS_STK) -subdir = source -DIST_COMMON = $(am__nobase_pkginclude_HEADERS_DIST) \ - $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgincludedir)" -LTLIBRARIES = $(lib_LTLIBRARIES) -libflext_@SYSTEM@_la_LIBADD = -am__libflext_@SYSTEM@_la_SOURCES_DIST = 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 flsndobj.cpp flstk.cpp -am__objects_1 = libflext_@SYSTEM@_la-flsndobj.lo -@SNDOBJ_TRUE@am__objects_2 = $(am__objects_1) -am__objects_3 = libflext_@SYSTEM@_la-flstk.lo -@STK_TRUE@am__objects_4 = $(am__objects_3) -am__objects_5 = libflext_@SYSTEM@_la-flbase.lo \ - libflext_@SYSTEM@_la-flext.lo libflext_@SYSTEM@_la-flbuf.lo \ - libflext_@SYSTEM@_la-fldsp.lo libflext_@SYSTEM@_la-fllib.lo \ - libflext_@SYSTEM@_la-flxlet.lo libflext_@SYSTEM@_la-flattr.lo \ - libflext_@SYSTEM@_la-flattr_ed.lo \ - libflext_@SYSTEM@_la-flsupport.lo \ - libflext_@SYSTEM@_la-flutil.lo libflext_@SYSTEM@_la-flthr.lo \ - libflext_@SYSTEM@_la-fltimer.lo libflext_@SYSTEM@_la-flsimd.lo \ - libflext_@SYSTEM@_la-flout.lo libflext_@SYSTEM@_la-flatom.lo \ - libflext_@SYSTEM@_la-flatom_pr.lo \ - libflext_@SYSTEM@_la-flatom_part.lo \ - libflext_@SYSTEM@_la-flitem.lo libflext_@SYSTEM@_la-flmeth.lo \ - libflext_@SYSTEM@_la-flmsg.lo libflext_@SYSTEM@_la-flproxy.lo \ - libflext_@SYSTEM@_la-flqueue.lo libflext_@SYSTEM@_la-flbind.lo \ - libflext_@SYSTEM@_la-flmap.lo $(am__objects_2) \ - $(am__objects_4) -am_libflext_@SYSTEM@_la_OBJECTS = $(am__objects_5) -libflext_@SYSTEM@_la_OBJECTS = $(am_libflext_@SYSTEM@_la_OBJECTS) -libflext_@SYSTEM@_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ - $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) \ - $(libflext_@SYSTEM@_la_LDFLAGS) $(LDFLAGS) -o $@ -libflext_@SYSTEM@_d_la_LIBADD = -am__libflext_@SYSTEM@_d_la_SOURCES_DIST = 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 flsndobj.cpp flstk.cpp -am__objects_6 = libflext_@SYSTEM@_d_la-flsndobj.lo -@SNDOBJ_TRUE@am__objects_7 = $(am__objects_6) -am__objects_8 = libflext_@SYSTEM@_d_la-flstk.lo -@STK_TRUE@am__objects_9 = $(am__objects_8) -am__objects_10 = libflext_@SYSTEM@_d_la-flbase.lo \ - libflext_@SYSTEM@_d_la-flext.lo \ - libflext_@SYSTEM@_d_la-flbuf.lo \ - libflext_@SYSTEM@_d_la-fldsp.lo \ - libflext_@SYSTEM@_d_la-fllib.lo \ - libflext_@SYSTEM@_d_la-flxlet.lo \ - libflext_@SYSTEM@_d_la-flattr.lo \ - libflext_@SYSTEM@_d_la-flattr_ed.lo \ - libflext_@SYSTEM@_d_la-flsupport.lo \ - libflext_@SYSTEM@_d_la-flutil.lo \ - libflext_@SYSTEM@_d_la-flthr.lo \ - libflext_@SYSTEM@_d_la-fltimer.lo \ - libflext_@SYSTEM@_d_la-flsimd.lo \ - libflext_@SYSTEM@_d_la-flout.lo \ - libflext_@SYSTEM@_d_la-flatom.lo \ - libflext_@SYSTEM@_d_la-flatom_pr.lo \ - libflext_@SYSTEM@_d_la-flatom_part.lo \ - libflext_@SYSTEM@_d_la-flitem.lo \ - libflext_@SYSTEM@_d_la-flmeth.lo \ - libflext_@SYSTEM@_d_la-flmsg.lo \ - libflext_@SYSTEM@_d_la-flproxy.lo \ - libflext_@SYSTEM@_d_la-flqueue.lo \ - libflext_@SYSTEM@_d_la-flbind.lo \ - libflext_@SYSTEM@_d_la-flmap.lo $(am__objects_7) \ - $(am__objects_9) -am_libflext_@SYSTEM@_d_la_OBJECTS = $(am__objects_10) -libflext_@SYSTEM@_d_la_OBJECTS = $(am_libflext_@SYSTEM@_d_la_OBJECTS) -libflext_@SYSTEM@_d_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ - $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) \ - $(libflext_@SYSTEM@_d_la_LDFLAGS) $(LDFLAGS) -o $@ -libflext_@SYSTEM@_s_la_LIBADD = -am__libflext_@SYSTEM@_s_la_SOURCES_DIST = 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 flsndobj.cpp flstk.cpp -am__objects_11 = libflext_@SYSTEM@_s_la-flsndobj.lo -@SNDOBJ_TRUE@am__objects_12 = $(am__objects_11) -am__objects_13 = libflext_@SYSTEM@_s_la-flstk.lo -@STK_TRUE@am__objects_14 = $(am__objects_13) -am__objects_15 = libflext_@SYSTEM@_s_la-flbase.lo \ - libflext_@SYSTEM@_s_la-flext.lo \ - libflext_@SYSTEM@_s_la-flbuf.lo \ - libflext_@SYSTEM@_s_la-fldsp.lo \ - libflext_@SYSTEM@_s_la-fllib.lo \ - libflext_@SYSTEM@_s_la-flxlet.lo \ - libflext_@SYSTEM@_s_la-flattr.lo \ - libflext_@SYSTEM@_s_la-flattr_ed.lo \ - libflext_@SYSTEM@_s_la-flsupport.lo \ - libflext_@SYSTEM@_s_la-flutil.lo \ - libflext_@SYSTEM@_s_la-flthr.lo \ - libflext_@SYSTEM@_s_la-fltimer.lo \ - libflext_@SYSTEM@_s_la-flsimd.lo \ - libflext_@SYSTEM@_s_la-flout.lo \ - libflext_@SYSTEM@_s_la-flatom.lo \ - libflext_@SYSTEM@_s_la-flatom_pr.lo \ - libflext_@SYSTEM@_s_la-flatom_part.lo \ - libflext_@SYSTEM@_s_la-flitem.lo \ - libflext_@SYSTEM@_s_la-flmeth.lo \ - libflext_@SYSTEM@_s_la-flmsg.lo \ - libflext_@SYSTEM@_s_la-flproxy.lo \ - libflext_@SYSTEM@_s_la-flqueue.lo \ - libflext_@SYSTEM@_s_la-flbind.lo \ - libflext_@SYSTEM@_s_la-flmap.lo $(am__objects_12) \ - $(am__objects_14) -am_libflext_@SYSTEM@_s_la_OBJECTS = $(am__objects_15) -libflext_@SYSTEM@_s_la_OBJECTS = $(am_libflext_@SYSTEM@_s_la_OBJECTS) -libflext_@SYSTEM@_s_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ - $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -libflext_@SYSTEM@_sd_la_LIBADD = -am__libflext_@SYSTEM@_sd_la_SOURCES_DIST = 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 flsndobj.cpp flstk.cpp -am__objects_16 = libflext_@SYSTEM@_sd_la-flsndobj.lo -@SNDOBJ_TRUE@am__objects_17 = $(am__objects_16) -am__objects_18 = libflext_@SYSTEM@_sd_la-flstk.lo -@STK_TRUE@am__objects_19 = $(am__objects_18) -am__objects_20 = libflext_@SYSTEM@_sd_la-flbase.lo \ - libflext_@SYSTEM@_sd_la-flext.lo \ - libflext_@SYSTEM@_sd_la-flbuf.lo \ - libflext_@SYSTEM@_sd_la-fldsp.lo \ - libflext_@SYSTEM@_sd_la-fllib.lo \ - libflext_@SYSTEM@_sd_la-flxlet.lo \ - libflext_@SYSTEM@_sd_la-flattr.lo \ - libflext_@SYSTEM@_sd_la-flattr_ed.lo \ - libflext_@SYSTEM@_sd_la-flsupport.lo \ - libflext_@SYSTEM@_sd_la-flutil.lo \ - libflext_@SYSTEM@_sd_la-flthr.lo \ - libflext_@SYSTEM@_sd_la-fltimer.lo \ - libflext_@SYSTEM@_sd_la-flsimd.lo \ - libflext_@SYSTEM@_sd_la-flout.lo \ - libflext_@SYSTEM@_sd_la-flatom.lo \ - libflext_@SYSTEM@_sd_la-flatom_pr.lo \ - libflext_@SYSTEM@_sd_la-flatom_part.lo \ - libflext_@SYSTEM@_sd_la-flitem.lo \ - libflext_@SYSTEM@_sd_la-flmeth.lo \ - libflext_@SYSTEM@_sd_la-flmsg.lo \ - libflext_@SYSTEM@_sd_la-flproxy.lo \ - libflext_@SYSTEM@_sd_la-flqueue.lo \ - libflext_@SYSTEM@_sd_la-flbind.lo \ - libflext_@SYSTEM@_sd_la-flmap.lo $(am__objects_17) \ - $(am__objects_19) -am_libflext_@SYSTEM@_sd_la_OBJECTS = $(am__objects_20) -libflext_@SYSTEM@_sd_la_OBJECTS = \ - $(am_libflext_@SYSTEM@_sd_la_OBJECTS) -libflext_@SYSTEM@_sd_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ - $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -libflext_@SYSTEM@_t_la_LIBADD = -am__libflext_@SYSTEM@_t_la_SOURCES_DIST = 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 flsndobj.cpp flstk.cpp -am__objects_21 = libflext_@SYSTEM@_t_la-flsndobj.lo -@SNDOBJ_TRUE@am__objects_22 = $(am__objects_21) -am__objects_23 = libflext_@SYSTEM@_t_la-flstk.lo -@STK_TRUE@am__objects_24 = $(am__objects_23) -am__objects_25 = libflext_@SYSTEM@_t_la-flbase.lo \ - libflext_@SYSTEM@_t_la-flext.lo \ - libflext_@SYSTEM@_t_la-flbuf.lo \ - libflext_@SYSTEM@_t_la-fldsp.lo \ - libflext_@SYSTEM@_t_la-fllib.lo \ - libflext_@SYSTEM@_t_la-flxlet.lo \ - libflext_@SYSTEM@_t_la-flattr.lo \ - libflext_@SYSTEM@_t_la-flattr_ed.lo \ - libflext_@SYSTEM@_t_la-flsupport.lo \ - libflext_@SYSTEM@_t_la-flutil.lo \ - libflext_@SYSTEM@_t_la-flthr.lo \ - libflext_@SYSTEM@_t_la-fltimer.lo \ - libflext_@SYSTEM@_t_la-flsimd.lo \ - libflext_@SYSTEM@_t_la-flout.lo \ - libflext_@SYSTEM@_t_la-flatom.lo \ - libflext_@SYSTEM@_t_la-flatom_pr.lo \ - libflext_@SYSTEM@_t_la-flatom_part.lo \ - libflext_@SYSTEM@_t_la-flitem.lo \ - libflext_@SYSTEM@_t_la-flmeth.lo \ - libflext_@SYSTEM@_t_la-flmsg.lo \ - libflext_@SYSTEM@_t_la-flproxy.lo \ - libflext_@SYSTEM@_t_la-flqueue.lo \ - libflext_@SYSTEM@_t_la-flbind.lo \ - libflext_@SYSTEM@_t_la-flmap.lo $(am__objects_22) \ - $(am__objects_24) -am_libflext_@SYSTEM@_t_la_OBJECTS = $(am__objects_25) -libflext_@SYSTEM@_t_la_OBJECTS = $(am_libflext_@SYSTEM@_t_la_OBJECTS) -libflext_@SYSTEM@_t_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ - $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -libflext_@SYSTEM@_td_la_LIBADD = -am__libflext_@SYSTEM@_td_la_SOURCES_DIST = 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 flsndobj.cpp flstk.cpp -am__objects_26 = libflext_@SYSTEM@_td_la-flsndobj.lo -@SNDOBJ_TRUE@am__objects_27 = $(am__objects_26) -am__objects_28 = libflext_@SYSTEM@_td_la-flstk.lo -@STK_TRUE@am__objects_29 = $(am__objects_28) -am__objects_30 = libflext_@SYSTEM@_td_la-flbase.lo \ - libflext_@SYSTEM@_td_la-flext.lo \ - libflext_@SYSTEM@_td_la-flbuf.lo \ - libflext_@SYSTEM@_td_la-fldsp.lo \ - libflext_@SYSTEM@_td_la-fllib.lo \ - libflext_@SYSTEM@_td_la-flxlet.lo \ - libflext_@SYSTEM@_td_la-flattr.lo \ - libflext_@SYSTEM@_td_la-flattr_ed.lo \ - libflext_@SYSTEM@_td_la-flsupport.lo \ - libflext_@SYSTEM@_td_la-flutil.lo \ - libflext_@SYSTEM@_td_la-flthr.lo \ - libflext_@SYSTEM@_td_la-fltimer.lo \ - libflext_@SYSTEM@_td_la-flsimd.lo \ - libflext_@SYSTEM@_td_la-flout.lo \ - libflext_@SYSTEM@_td_la-flatom.lo \ - libflext_@SYSTEM@_td_la-flatom_pr.lo \ - libflext_@SYSTEM@_td_la-flatom_part.lo \ - libflext_@SYSTEM@_td_la-flitem.lo \ - libflext_@SYSTEM@_td_la-flmeth.lo \ - libflext_@SYSTEM@_td_la-flmsg.lo \ - libflext_@SYSTEM@_td_la-flproxy.lo \ - libflext_@SYSTEM@_td_la-flqueue.lo \ - libflext_@SYSTEM@_td_la-flbind.lo \ - libflext_@SYSTEM@_td_la-flmap.lo $(am__objects_27) \ - $(am__objects_29) -am_libflext_@SYSTEM@_td_la_OBJECTS = $(am__objects_30) -libflext_@SYSTEM@_td_la_OBJECTS = \ - $(am_libflext_@SYSTEM@_td_la_OBJECTS) -libflext_@SYSTEM@_td_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ - $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -CXXLD = $(CXX) -CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -SOURCES = $(libflext_@SYSTEM@_la_SOURCES) \ - $(libflext_@SYSTEM@_d_la_SOURCES) \ - $(libflext_@SYSTEM@_s_la_SOURCES) \ - $(libflext_@SYSTEM@_sd_la_SOURCES) \ - $(libflext_@SYSTEM@_t_la_SOURCES) \ - $(libflext_@SYSTEM@_td_la_SOURCES) -DIST_SOURCES = $(am__libflext_@SYSTEM@_la_SOURCES_DIST) \ - $(am__libflext_@SYSTEM@_d_la_SOURCES_DIST) \ - $(am__libflext_@SYSTEM@_s_la_SOURCES_DIST) \ - $(am__libflext_@SYSTEM@_sd_la_SOURCES_DIST) \ - $(am__libflext_@SYSTEM@_t_la_SOURCES_DIST) \ - $(am__libflext_@SYSTEM@_td_la_SOURCES_DIST) -am__nobase_pkginclude_HEADERS_DIST = flprefix.h flstdc.h flbase.h \ - flclass.h flext.h flsupport.h flmap.h fldsp.h flmspbuffer.h \ - flinternal.h flcontainers.h flpushns.h flpopns.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 flsndobj.cpp flstk.cpp -HEADERS = $(nobase_pkginclude_HEADERS) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DBG_FLAGS = @DBG_FLAGS@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FRAMEWORKS = @FRAMEWORKS@ -GREP = @GREP@ -INCLUDEDIRS = @INCLUDEDIRS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LD_FLAGS = @LD_FLAGS@ -LIBDIRS = @LIBDIRS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPT_FLAGS = @OPT_FLAGS@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -SYSTEM = @SYSTEM@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -libs = @libs@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sndobjdir = @sndobjdir@ -srcdir = @srcdir@ -stkdir = @stkdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ - -# static libraries -#lib_LIBRARIES = -# shared libraries -lib_LTLIBRARIES = libflext-@SYSTEM@_s.la libflext-@SYSTEM@_sd.la libflext-@SYSTEM@_t.la libflext-@SYSTEM@_td.la 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 $(am__append_1) \ - $(am__append_3) -nobase_pkginclude_HEADERS = flprefix.h flstdc.h flbase.h flclass.h \ - flext.h flsupport.h flmap.h fldsp.h flmspbuffer.h flinternal.h \ - flcontainers.h flpushns.h flpopns.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 $(am__append_2) \ - $(am__append_4) - -# handling for stk / sndobj -SRCS_STK = flstk.cpp -HDRS_STK = flstk.cpp -SRCS_SNDOBJ = flsndobj.cpp -HDRS_SNDOBJ = flsndobj.cpp -@SNDOBJ_TRUE@LIB_SNDOBJ = sndobj -@STK_TRUE@LIB_STK = stk -libflext_@SYSTEM@_s_la_SOURCES = $(SRCS_FLEXT) -libflext_@SYSTEM@_sd_la_SOURCES = $(SRCS_FLEXT) -libflext_@SYSTEM@_t_la_SOURCES = $(SRCS_FLEXT) -libflext_@SYSTEM@_td_la_SOURCES = $(SRCS_FLEXT) -libflext_@SYSTEM@_la_SOURCES = $(SRCS_FLEXT) -libflext_@SYSTEM@_d_la_SOURCES = $(SRCS_FLEXT) -libflext_@SYSTEM@_s_la_CXXFLAGS = @OPT_FLAGS@ -static $(patsubst %,-I%,@INCLUDEDIRS@) -libflext_@SYSTEM@_sd_la_CXXFLAGS = @DBG_FLAGS@ -static $(patsubst %,-I%,@INCLUDEDIRS@) -libflext_@SYSTEM@_t_la_CXXFLAGS = @OPT_FLAGS@ -static $(patsubst %,-I%,@INCLUDEDIRS@) -DFLEXT_THREADS -libflext_@SYSTEM@_td_la_CXXFLAGS = @DBG_FLAGS@ -static $(patsubst %,-I%,@INCLUDEDIRS@) -DFLEXT_THREADS -libflext_@SYSTEM@_la_CXXFLAGS = @OPT_FLAGS@ $(patsubst %,-I%,@INCLUDEDIRS@) -DFLEXT_SHARED -libflext_@SYSTEM@_d_la_CXXFLAGS = @DBG_FLAGS@ $(patsubst %,-I%,@INCLUDEDIRS@) -DFLEXT_SHARED -libflext_@SYSTEM@_la_LDFLAGS = @LD_FLAGS@ $(patsubst %,-L%,@LIBDIRS@) $(patsubst %,-l%,@libs@ $(LIB_SNDOBJ) $(LIB_STK)) $(patsubst %,-framework %,@FRAMEWORKS@) -libflext_@SYSTEM@_d_la_LDFLAGS = @LD_FLAGS@ $(patsubst %,-L%,@LIBDIRS@) $(patsubst %,-l%,@libs@ $(LIB_SNDOBJ) $(LIB_STK)) $(patsubst %,-framework %,@FRAMEWORKS@) -all: all-am - -.SUFFIXES: -.SUFFIXES: .cpp .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign source/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - list2=; for p in $$list; do \ - if test -f $$p; then \ - list2="$$list2 $$p"; \ - else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ - } - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ - done - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" != "$$p" || dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -libflext-@SYSTEM@.la: $(libflext_@SYSTEM@_la_OBJECTS) $(libflext_@SYSTEM@_la_DEPENDENCIES) $(EXTRA_libflext_@SYSTEM@_la_DEPENDENCIES) - $(libflext_@SYSTEM@_la_LINK) -rpath $(libdir) $(libflext_@SYSTEM@_la_OBJECTS) $(libflext_@SYSTEM@_la_LIBADD) $(LIBS) -libflext-@SYSTEM@_d.la: $(libflext_@SYSTEM@_d_la_OBJECTS) $(libflext_@SYSTEM@_d_la_DEPENDENCIES) $(EXTRA_libflext_@SYSTEM@_d_la_DEPENDENCIES) - $(libflext_@SYSTEM@_d_la_LINK) -rpath $(libdir) $(libflext_@SYSTEM@_d_la_OBJECTS) $(libflext_@SYSTEM@_d_la_LIBADD) $(LIBS) -libflext-@SYSTEM@_s.la: $(libflext_@SYSTEM@_s_la_OBJECTS) $(libflext_@SYSTEM@_s_la_DEPENDENCIES) $(EXTRA_libflext_@SYSTEM@_s_la_DEPENDENCIES) - $(libflext_@SYSTEM@_s_la_LINK) -rpath $(libdir) $(libflext_@SYSTEM@_s_la_OBJECTS) $(libflext_@SYSTEM@_s_la_LIBADD) $(LIBS) -libflext-@SYSTEM@_sd.la: $(libflext_@SYSTEM@_sd_la_OBJECTS) $(libflext_@SYSTEM@_sd_la_DEPENDENCIES) $(EXTRA_libflext_@SYSTEM@_sd_la_DEPENDENCIES) - $(libflext_@SYSTEM@_sd_la_LINK) -rpath $(libdir) $(libflext_@SYSTEM@_sd_la_OBJECTS) $(libflext_@SYSTEM@_sd_la_LIBADD) $(LIBS) -libflext-@SYSTEM@_t.la: $(libflext_@SYSTEM@_t_la_OBJECTS) $(libflext_@SYSTEM@_t_la_DEPENDENCIES) $(EXTRA_libflext_@SYSTEM@_t_la_DEPENDENCIES) - $(libflext_@SYSTEM@_t_la_LINK) -rpath $(libdir) $(libflext_@SYSTEM@_t_la_OBJECTS) $(libflext_@SYSTEM@_t_la_LIBADD) $(LIBS) -libflext-@SYSTEM@_td.la: $(libflext_@SYSTEM@_td_la_OBJECTS) $(libflext_@SYSTEM@_td_la_DEPENDENCIES) $(EXTRA_libflext_@SYSTEM@_td_la_DEPENDENCIES) - $(libflext_@SYSTEM@_td_la_LINK) -rpath $(libdir) $(libflext_@SYSTEM@_td_la_OBJECTS) $(libflext_@SYSTEM@_td_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-flatom.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-flatom_part.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-flatom_pr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-flattr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-flattr_ed.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-flbase.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-flbind.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-flbuf.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-fldsp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-flext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-flitem.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-fllib.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-flmap.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-flmeth.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-flmsg.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-flout.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-flproxy.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-flqueue.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-flsimd.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-flsndobj.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-flstk.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-flsupport.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-flthr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-fltimer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-flutil.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_d_la-flxlet.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-flatom.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-flatom_part.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-flatom_pr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-flattr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-flattr_ed.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-flbase.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-flbind.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-flbuf.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-fldsp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-flext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-flitem.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-fllib.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-flmap.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-flmeth.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-flmsg.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-flout.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-flproxy.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-flqueue.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-flsimd.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-flsndobj.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-flstk.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-flsupport.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-flthr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-fltimer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-flutil.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_la-flxlet.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-flatom.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-flatom_part.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-flatom_pr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-flattr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-flattr_ed.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-flbase.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-flbind.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-flbuf.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-fldsp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-flext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-flitem.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-fllib.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-flmap.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-flmeth.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-flmsg.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-flout.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-flproxy.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-flqueue.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-flsimd.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-flsndobj.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-flstk.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-flsupport.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-flthr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-fltimer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-flutil.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_s_la-flxlet.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-flatom.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-flatom_part.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-flatom_pr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-flattr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-flattr_ed.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-flbase.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-flbind.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-flbuf.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-fldsp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-flext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-flitem.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-fllib.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-flmap.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-flmeth.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-flmsg.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-flout.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-flproxy.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-flqueue.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-flsimd.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-flsndobj.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-flstk.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-flsupport.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-flthr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-fltimer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-flutil.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_sd_la-flxlet.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-flatom.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-flatom_part.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-flatom_pr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-flattr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-flattr_ed.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-flbase.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-flbind.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-flbuf.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-fldsp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-flext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-flitem.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-fllib.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-flmap.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-flmeth.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-flmsg.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-flout.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-flproxy.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-flqueue.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-flsimd.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-flsndobj.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-flstk.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-flsupport.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-flthr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-fltimer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-flutil.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_t_la-flxlet.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-flatom.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-flatom_part.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-flatom_pr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-flattr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-flattr_ed.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-flbase.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-flbind.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-flbuf.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-fldsp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-flext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-flitem.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-fllib.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-flmap.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-flmeth.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-flmsg.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-flout.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-flproxy.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-flqueue.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-flsimd.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-flsndobj.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-flstk.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-flsupport.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-flthr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-fltimer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-flutil.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libflext_@SYSTEM@_td_la-flxlet.Plo@am__quote@ - -.cpp.o: -@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< - -.cpp.obj: -@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.cpp.lo: -@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< - -libflext_@SYSTEM@_la-flbase.lo: flbase.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-flbase.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-flbase.Tpo -c -o libflext_@SYSTEM@_la-flbase.lo `test -f 'flbase.cpp' || echo '$(srcdir)/'`flbase.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-flbase.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-flbase.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flbase.cpp' object='libflext_@SYSTEM@_la-flbase.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-flbase.lo `test -f 'flbase.cpp' || echo '$(srcdir)/'`flbase.cpp - -libflext_@SYSTEM@_la-flext.lo: flext.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-flext.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-flext.Tpo -c -o libflext_@SYSTEM@_la-flext.lo `test -f 'flext.cpp' || echo '$(srcdir)/'`flext.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-flext.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-flext.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flext.cpp' object='libflext_@SYSTEM@_la-flext.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-flext.lo `test -f 'flext.cpp' || echo '$(srcdir)/'`flext.cpp - -libflext_@SYSTEM@_la-flbuf.lo: flbuf.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-flbuf.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-flbuf.Tpo -c -o libflext_@SYSTEM@_la-flbuf.lo `test -f 'flbuf.cpp' || echo '$(srcdir)/'`flbuf.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-flbuf.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-flbuf.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flbuf.cpp' object='libflext_@SYSTEM@_la-flbuf.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-flbuf.lo `test -f 'flbuf.cpp' || echo '$(srcdir)/'`flbuf.cpp - -libflext_@SYSTEM@_la-fldsp.lo: fldsp.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-fldsp.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-fldsp.Tpo -c -o libflext_@SYSTEM@_la-fldsp.lo `test -f 'fldsp.cpp' || echo '$(srcdir)/'`fldsp.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-fldsp.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-fldsp.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='fldsp.cpp' object='libflext_@SYSTEM@_la-fldsp.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-fldsp.lo `test -f 'fldsp.cpp' || echo '$(srcdir)/'`fldsp.cpp - -libflext_@SYSTEM@_la-fllib.lo: fllib.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-fllib.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-fllib.Tpo -c -o libflext_@SYSTEM@_la-fllib.lo `test -f 'fllib.cpp' || echo '$(srcdir)/'`fllib.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-fllib.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-fllib.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='fllib.cpp' object='libflext_@SYSTEM@_la-fllib.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-fllib.lo `test -f 'fllib.cpp' || echo '$(srcdir)/'`fllib.cpp - -libflext_@SYSTEM@_la-flxlet.lo: flxlet.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-flxlet.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-flxlet.Tpo -c -o libflext_@SYSTEM@_la-flxlet.lo `test -f 'flxlet.cpp' || echo '$(srcdir)/'`flxlet.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-flxlet.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-flxlet.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flxlet.cpp' object='libflext_@SYSTEM@_la-flxlet.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-flxlet.lo `test -f 'flxlet.cpp' || echo '$(srcdir)/'`flxlet.cpp - -libflext_@SYSTEM@_la-flattr.lo: flattr.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-flattr.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-flattr.Tpo -c -o libflext_@SYSTEM@_la-flattr.lo `test -f 'flattr.cpp' || echo '$(srcdir)/'`flattr.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-flattr.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-flattr.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flattr.cpp' object='libflext_@SYSTEM@_la-flattr.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-flattr.lo `test -f 'flattr.cpp' || echo '$(srcdir)/'`flattr.cpp - -libflext_@SYSTEM@_la-flattr_ed.lo: flattr_ed.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-flattr_ed.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-flattr_ed.Tpo -c -o libflext_@SYSTEM@_la-flattr_ed.lo `test -f 'flattr_ed.cpp' || echo '$(srcdir)/'`flattr_ed.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-flattr_ed.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-flattr_ed.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flattr_ed.cpp' object='libflext_@SYSTEM@_la-flattr_ed.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-flattr_ed.lo `test -f 'flattr_ed.cpp' || echo '$(srcdir)/'`flattr_ed.cpp - -libflext_@SYSTEM@_la-flsupport.lo: flsupport.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-flsupport.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-flsupport.Tpo -c -o libflext_@SYSTEM@_la-flsupport.lo `test -f 'flsupport.cpp' || echo '$(srcdir)/'`flsupport.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-flsupport.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-flsupport.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flsupport.cpp' object='libflext_@SYSTEM@_la-flsupport.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-flsupport.lo `test -f 'flsupport.cpp' || echo '$(srcdir)/'`flsupport.cpp - -libflext_@SYSTEM@_la-flutil.lo: flutil.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-flutil.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-flutil.Tpo -c -o libflext_@SYSTEM@_la-flutil.lo `test -f 'flutil.cpp' || echo '$(srcdir)/'`flutil.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-flutil.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-flutil.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flutil.cpp' object='libflext_@SYSTEM@_la-flutil.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-flutil.lo `test -f 'flutil.cpp' || echo '$(srcdir)/'`flutil.cpp - -libflext_@SYSTEM@_la-flthr.lo: flthr.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-flthr.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-flthr.Tpo -c -o libflext_@SYSTEM@_la-flthr.lo `test -f 'flthr.cpp' || echo '$(srcdir)/'`flthr.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-flthr.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-flthr.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flthr.cpp' object='libflext_@SYSTEM@_la-flthr.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-flthr.lo `test -f 'flthr.cpp' || echo '$(srcdir)/'`flthr.cpp - -libflext_@SYSTEM@_la-fltimer.lo: fltimer.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-fltimer.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-fltimer.Tpo -c -o libflext_@SYSTEM@_la-fltimer.lo `test -f 'fltimer.cpp' || echo '$(srcdir)/'`fltimer.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-fltimer.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-fltimer.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='fltimer.cpp' object='libflext_@SYSTEM@_la-fltimer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-fltimer.lo `test -f 'fltimer.cpp' || echo '$(srcdir)/'`fltimer.cpp - -libflext_@SYSTEM@_la-flsimd.lo: flsimd.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-flsimd.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-flsimd.Tpo -c -o libflext_@SYSTEM@_la-flsimd.lo `test -f 'flsimd.cpp' || echo '$(srcdir)/'`flsimd.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-flsimd.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-flsimd.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flsimd.cpp' object='libflext_@SYSTEM@_la-flsimd.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-flsimd.lo `test -f 'flsimd.cpp' || echo '$(srcdir)/'`flsimd.cpp - -libflext_@SYSTEM@_la-flout.lo: flout.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-flout.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-flout.Tpo -c -o libflext_@SYSTEM@_la-flout.lo `test -f 'flout.cpp' || echo '$(srcdir)/'`flout.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-flout.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-flout.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flout.cpp' object='libflext_@SYSTEM@_la-flout.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-flout.lo `test -f 'flout.cpp' || echo '$(srcdir)/'`flout.cpp - -libflext_@SYSTEM@_la-flatom.lo: flatom.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-flatom.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-flatom.Tpo -c -o libflext_@SYSTEM@_la-flatom.lo `test -f 'flatom.cpp' || echo '$(srcdir)/'`flatom.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-flatom.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-flatom.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flatom.cpp' object='libflext_@SYSTEM@_la-flatom.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-flatom.lo `test -f 'flatom.cpp' || echo '$(srcdir)/'`flatom.cpp - -libflext_@SYSTEM@_la-flatom_pr.lo: flatom_pr.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-flatom_pr.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-flatom_pr.Tpo -c -o libflext_@SYSTEM@_la-flatom_pr.lo `test -f 'flatom_pr.cpp' || echo '$(srcdir)/'`flatom_pr.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-flatom_pr.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-flatom_pr.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flatom_pr.cpp' object='libflext_@SYSTEM@_la-flatom_pr.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-flatom_pr.lo `test -f 'flatom_pr.cpp' || echo '$(srcdir)/'`flatom_pr.cpp - -libflext_@SYSTEM@_la-flatom_part.lo: flatom_part.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-flatom_part.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-flatom_part.Tpo -c -o libflext_@SYSTEM@_la-flatom_part.lo `test -f 'flatom_part.cpp' || echo '$(srcdir)/'`flatom_part.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-flatom_part.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-flatom_part.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flatom_part.cpp' object='libflext_@SYSTEM@_la-flatom_part.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-flatom_part.lo `test -f 'flatom_part.cpp' || echo '$(srcdir)/'`flatom_part.cpp - -libflext_@SYSTEM@_la-flitem.lo: flitem.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-flitem.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-flitem.Tpo -c -o libflext_@SYSTEM@_la-flitem.lo `test -f 'flitem.cpp' || echo '$(srcdir)/'`flitem.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-flitem.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-flitem.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flitem.cpp' object='libflext_@SYSTEM@_la-flitem.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-flitem.lo `test -f 'flitem.cpp' || echo '$(srcdir)/'`flitem.cpp - -libflext_@SYSTEM@_la-flmeth.lo: flmeth.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-flmeth.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-flmeth.Tpo -c -o libflext_@SYSTEM@_la-flmeth.lo `test -f 'flmeth.cpp' || echo '$(srcdir)/'`flmeth.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-flmeth.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-flmeth.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flmeth.cpp' object='libflext_@SYSTEM@_la-flmeth.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-flmeth.lo `test -f 'flmeth.cpp' || echo '$(srcdir)/'`flmeth.cpp - -libflext_@SYSTEM@_la-flmsg.lo: flmsg.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-flmsg.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-flmsg.Tpo -c -o libflext_@SYSTEM@_la-flmsg.lo `test -f 'flmsg.cpp' || echo '$(srcdir)/'`flmsg.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-flmsg.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-flmsg.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flmsg.cpp' object='libflext_@SYSTEM@_la-flmsg.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-flmsg.lo `test -f 'flmsg.cpp' || echo '$(srcdir)/'`flmsg.cpp - -libflext_@SYSTEM@_la-flproxy.lo: flproxy.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-flproxy.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-flproxy.Tpo -c -o libflext_@SYSTEM@_la-flproxy.lo `test -f 'flproxy.cpp' || echo '$(srcdir)/'`flproxy.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-flproxy.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-flproxy.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flproxy.cpp' object='libflext_@SYSTEM@_la-flproxy.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-flproxy.lo `test -f 'flproxy.cpp' || echo '$(srcdir)/'`flproxy.cpp - -libflext_@SYSTEM@_la-flqueue.lo: flqueue.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-flqueue.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-flqueue.Tpo -c -o libflext_@SYSTEM@_la-flqueue.lo `test -f 'flqueue.cpp' || echo '$(srcdir)/'`flqueue.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-flqueue.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-flqueue.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flqueue.cpp' object='libflext_@SYSTEM@_la-flqueue.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-flqueue.lo `test -f 'flqueue.cpp' || echo '$(srcdir)/'`flqueue.cpp - -libflext_@SYSTEM@_la-flbind.lo: flbind.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-flbind.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-flbind.Tpo -c -o libflext_@SYSTEM@_la-flbind.lo `test -f 'flbind.cpp' || echo '$(srcdir)/'`flbind.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-flbind.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-flbind.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flbind.cpp' object='libflext_@SYSTEM@_la-flbind.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-flbind.lo `test -f 'flbind.cpp' || echo '$(srcdir)/'`flbind.cpp - -libflext_@SYSTEM@_la-flmap.lo: flmap.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-flmap.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-flmap.Tpo -c -o libflext_@SYSTEM@_la-flmap.lo `test -f 'flmap.cpp' || echo '$(srcdir)/'`flmap.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-flmap.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-flmap.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flmap.cpp' object='libflext_@SYSTEM@_la-flmap.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-flmap.lo `test -f 'flmap.cpp' || echo '$(srcdir)/'`flmap.cpp - -libflext_@SYSTEM@_la-flsndobj.lo: flsndobj.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-flsndobj.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-flsndobj.Tpo -c -o libflext_@SYSTEM@_la-flsndobj.lo `test -f 'flsndobj.cpp' || echo '$(srcdir)/'`flsndobj.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-flsndobj.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-flsndobj.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flsndobj.cpp' object='libflext_@SYSTEM@_la-flsndobj.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-flsndobj.lo `test -f 'flsndobj.cpp' || echo '$(srcdir)/'`flsndobj.cpp - -libflext_@SYSTEM@_la-flstk.lo: flstk.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_la-flstk.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_la-flstk.Tpo -c -o libflext_@SYSTEM@_la-flstk.lo `test -f 'flstk.cpp' || echo '$(srcdir)/'`flstk.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_la-flstk.Tpo $(DEPDIR)/libflext_@SYSTEM@_la-flstk.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flstk.cpp' object='libflext_@SYSTEM@_la-flstk.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_la-flstk.lo `test -f 'flstk.cpp' || echo '$(srcdir)/'`flstk.cpp - -libflext_@SYSTEM@_d_la-flbase.lo: flbase.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-flbase.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-flbase.Tpo -c -o libflext_@SYSTEM@_d_la-flbase.lo `test -f 'flbase.cpp' || echo '$(srcdir)/'`flbase.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-flbase.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-flbase.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flbase.cpp' object='libflext_@SYSTEM@_d_la-flbase.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-flbase.lo `test -f 'flbase.cpp' || echo '$(srcdir)/'`flbase.cpp - -libflext_@SYSTEM@_d_la-flext.lo: flext.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-flext.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-flext.Tpo -c -o libflext_@SYSTEM@_d_la-flext.lo `test -f 'flext.cpp' || echo '$(srcdir)/'`flext.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-flext.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-flext.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flext.cpp' object='libflext_@SYSTEM@_d_la-flext.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-flext.lo `test -f 'flext.cpp' || echo '$(srcdir)/'`flext.cpp - -libflext_@SYSTEM@_d_la-flbuf.lo: flbuf.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-flbuf.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-flbuf.Tpo -c -o libflext_@SYSTEM@_d_la-flbuf.lo `test -f 'flbuf.cpp' || echo '$(srcdir)/'`flbuf.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-flbuf.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-flbuf.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flbuf.cpp' object='libflext_@SYSTEM@_d_la-flbuf.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-flbuf.lo `test -f 'flbuf.cpp' || echo '$(srcdir)/'`flbuf.cpp - -libflext_@SYSTEM@_d_la-fldsp.lo: fldsp.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-fldsp.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-fldsp.Tpo -c -o libflext_@SYSTEM@_d_la-fldsp.lo `test -f 'fldsp.cpp' || echo '$(srcdir)/'`fldsp.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-fldsp.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-fldsp.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='fldsp.cpp' object='libflext_@SYSTEM@_d_la-fldsp.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-fldsp.lo `test -f 'fldsp.cpp' || echo '$(srcdir)/'`fldsp.cpp - -libflext_@SYSTEM@_d_la-fllib.lo: fllib.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-fllib.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-fllib.Tpo -c -o libflext_@SYSTEM@_d_la-fllib.lo `test -f 'fllib.cpp' || echo '$(srcdir)/'`fllib.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-fllib.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-fllib.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='fllib.cpp' object='libflext_@SYSTEM@_d_la-fllib.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-fllib.lo `test -f 'fllib.cpp' || echo '$(srcdir)/'`fllib.cpp - -libflext_@SYSTEM@_d_la-flxlet.lo: flxlet.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-flxlet.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-flxlet.Tpo -c -o libflext_@SYSTEM@_d_la-flxlet.lo `test -f 'flxlet.cpp' || echo '$(srcdir)/'`flxlet.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-flxlet.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-flxlet.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flxlet.cpp' object='libflext_@SYSTEM@_d_la-flxlet.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-flxlet.lo `test -f 'flxlet.cpp' || echo '$(srcdir)/'`flxlet.cpp - -libflext_@SYSTEM@_d_la-flattr.lo: flattr.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-flattr.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-flattr.Tpo -c -o libflext_@SYSTEM@_d_la-flattr.lo `test -f 'flattr.cpp' || echo '$(srcdir)/'`flattr.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-flattr.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-flattr.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flattr.cpp' object='libflext_@SYSTEM@_d_la-flattr.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-flattr.lo `test -f 'flattr.cpp' || echo '$(srcdir)/'`flattr.cpp - -libflext_@SYSTEM@_d_la-flattr_ed.lo: flattr_ed.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-flattr_ed.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-flattr_ed.Tpo -c -o libflext_@SYSTEM@_d_la-flattr_ed.lo `test -f 'flattr_ed.cpp' || echo '$(srcdir)/'`flattr_ed.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-flattr_ed.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-flattr_ed.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flattr_ed.cpp' object='libflext_@SYSTEM@_d_la-flattr_ed.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-flattr_ed.lo `test -f 'flattr_ed.cpp' || echo '$(srcdir)/'`flattr_ed.cpp - -libflext_@SYSTEM@_d_la-flsupport.lo: flsupport.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-flsupport.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-flsupport.Tpo -c -o libflext_@SYSTEM@_d_la-flsupport.lo `test -f 'flsupport.cpp' || echo '$(srcdir)/'`flsupport.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-flsupport.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-flsupport.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flsupport.cpp' object='libflext_@SYSTEM@_d_la-flsupport.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-flsupport.lo `test -f 'flsupport.cpp' || echo '$(srcdir)/'`flsupport.cpp - -libflext_@SYSTEM@_d_la-flutil.lo: flutil.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-flutil.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-flutil.Tpo -c -o libflext_@SYSTEM@_d_la-flutil.lo `test -f 'flutil.cpp' || echo '$(srcdir)/'`flutil.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-flutil.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-flutil.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flutil.cpp' object='libflext_@SYSTEM@_d_la-flutil.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-flutil.lo `test -f 'flutil.cpp' || echo '$(srcdir)/'`flutil.cpp - -libflext_@SYSTEM@_d_la-flthr.lo: flthr.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-flthr.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-flthr.Tpo -c -o libflext_@SYSTEM@_d_la-flthr.lo `test -f 'flthr.cpp' || echo '$(srcdir)/'`flthr.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-flthr.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-flthr.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flthr.cpp' object='libflext_@SYSTEM@_d_la-flthr.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-flthr.lo `test -f 'flthr.cpp' || echo '$(srcdir)/'`flthr.cpp - -libflext_@SYSTEM@_d_la-fltimer.lo: fltimer.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-fltimer.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-fltimer.Tpo -c -o libflext_@SYSTEM@_d_la-fltimer.lo `test -f 'fltimer.cpp' || echo '$(srcdir)/'`fltimer.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-fltimer.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-fltimer.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='fltimer.cpp' object='libflext_@SYSTEM@_d_la-fltimer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-fltimer.lo `test -f 'fltimer.cpp' || echo '$(srcdir)/'`fltimer.cpp - -libflext_@SYSTEM@_d_la-flsimd.lo: flsimd.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-flsimd.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-flsimd.Tpo -c -o libflext_@SYSTEM@_d_la-flsimd.lo `test -f 'flsimd.cpp' || echo '$(srcdir)/'`flsimd.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-flsimd.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-flsimd.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flsimd.cpp' object='libflext_@SYSTEM@_d_la-flsimd.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-flsimd.lo `test -f 'flsimd.cpp' || echo '$(srcdir)/'`flsimd.cpp - -libflext_@SYSTEM@_d_la-flout.lo: flout.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-flout.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-flout.Tpo -c -o libflext_@SYSTEM@_d_la-flout.lo `test -f 'flout.cpp' || echo '$(srcdir)/'`flout.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-flout.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-flout.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flout.cpp' object='libflext_@SYSTEM@_d_la-flout.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-flout.lo `test -f 'flout.cpp' || echo '$(srcdir)/'`flout.cpp - -libflext_@SYSTEM@_d_la-flatom.lo: flatom.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-flatom.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-flatom.Tpo -c -o libflext_@SYSTEM@_d_la-flatom.lo `test -f 'flatom.cpp' || echo '$(srcdir)/'`flatom.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-flatom.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-flatom.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flatom.cpp' object='libflext_@SYSTEM@_d_la-flatom.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-flatom.lo `test -f 'flatom.cpp' || echo '$(srcdir)/'`flatom.cpp - -libflext_@SYSTEM@_d_la-flatom_pr.lo: flatom_pr.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-flatom_pr.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-flatom_pr.Tpo -c -o libflext_@SYSTEM@_d_la-flatom_pr.lo `test -f 'flatom_pr.cpp' || echo '$(srcdir)/'`flatom_pr.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-flatom_pr.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-flatom_pr.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flatom_pr.cpp' object='libflext_@SYSTEM@_d_la-flatom_pr.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-flatom_pr.lo `test -f 'flatom_pr.cpp' || echo '$(srcdir)/'`flatom_pr.cpp - -libflext_@SYSTEM@_d_la-flatom_part.lo: flatom_part.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-flatom_part.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-flatom_part.Tpo -c -o libflext_@SYSTEM@_d_la-flatom_part.lo `test -f 'flatom_part.cpp' || echo '$(srcdir)/'`flatom_part.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-flatom_part.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-flatom_part.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flatom_part.cpp' object='libflext_@SYSTEM@_d_la-flatom_part.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-flatom_part.lo `test -f 'flatom_part.cpp' || echo '$(srcdir)/'`flatom_part.cpp - -libflext_@SYSTEM@_d_la-flitem.lo: flitem.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-flitem.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-flitem.Tpo -c -o libflext_@SYSTEM@_d_la-flitem.lo `test -f 'flitem.cpp' || echo '$(srcdir)/'`flitem.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-flitem.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-flitem.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flitem.cpp' object='libflext_@SYSTEM@_d_la-flitem.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-flitem.lo `test -f 'flitem.cpp' || echo '$(srcdir)/'`flitem.cpp - -libflext_@SYSTEM@_d_la-flmeth.lo: flmeth.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-flmeth.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-flmeth.Tpo -c -o libflext_@SYSTEM@_d_la-flmeth.lo `test -f 'flmeth.cpp' || echo '$(srcdir)/'`flmeth.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-flmeth.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-flmeth.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flmeth.cpp' object='libflext_@SYSTEM@_d_la-flmeth.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-flmeth.lo `test -f 'flmeth.cpp' || echo '$(srcdir)/'`flmeth.cpp - -libflext_@SYSTEM@_d_la-flmsg.lo: flmsg.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-flmsg.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-flmsg.Tpo -c -o libflext_@SYSTEM@_d_la-flmsg.lo `test -f 'flmsg.cpp' || echo '$(srcdir)/'`flmsg.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-flmsg.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-flmsg.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flmsg.cpp' object='libflext_@SYSTEM@_d_la-flmsg.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-flmsg.lo `test -f 'flmsg.cpp' || echo '$(srcdir)/'`flmsg.cpp - -libflext_@SYSTEM@_d_la-flproxy.lo: flproxy.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-flproxy.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-flproxy.Tpo -c -o libflext_@SYSTEM@_d_la-flproxy.lo `test -f 'flproxy.cpp' || echo '$(srcdir)/'`flproxy.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-flproxy.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-flproxy.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flproxy.cpp' object='libflext_@SYSTEM@_d_la-flproxy.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-flproxy.lo `test -f 'flproxy.cpp' || echo '$(srcdir)/'`flproxy.cpp - -libflext_@SYSTEM@_d_la-flqueue.lo: flqueue.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-flqueue.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-flqueue.Tpo -c -o libflext_@SYSTEM@_d_la-flqueue.lo `test -f 'flqueue.cpp' || echo '$(srcdir)/'`flqueue.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-flqueue.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-flqueue.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flqueue.cpp' object='libflext_@SYSTEM@_d_la-flqueue.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-flqueue.lo `test -f 'flqueue.cpp' || echo '$(srcdir)/'`flqueue.cpp - -libflext_@SYSTEM@_d_la-flbind.lo: flbind.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-flbind.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-flbind.Tpo -c -o libflext_@SYSTEM@_d_la-flbind.lo `test -f 'flbind.cpp' || echo '$(srcdir)/'`flbind.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-flbind.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-flbind.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flbind.cpp' object='libflext_@SYSTEM@_d_la-flbind.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-flbind.lo `test -f 'flbind.cpp' || echo '$(srcdir)/'`flbind.cpp - -libflext_@SYSTEM@_d_la-flmap.lo: flmap.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-flmap.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-flmap.Tpo -c -o libflext_@SYSTEM@_d_la-flmap.lo `test -f 'flmap.cpp' || echo '$(srcdir)/'`flmap.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-flmap.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-flmap.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flmap.cpp' object='libflext_@SYSTEM@_d_la-flmap.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-flmap.lo `test -f 'flmap.cpp' || echo '$(srcdir)/'`flmap.cpp - -libflext_@SYSTEM@_d_la-flsndobj.lo: flsndobj.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-flsndobj.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-flsndobj.Tpo -c -o libflext_@SYSTEM@_d_la-flsndobj.lo `test -f 'flsndobj.cpp' || echo '$(srcdir)/'`flsndobj.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-flsndobj.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-flsndobj.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flsndobj.cpp' object='libflext_@SYSTEM@_d_la-flsndobj.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-flsndobj.lo `test -f 'flsndobj.cpp' || echo '$(srcdir)/'`flsndobj.cpp - -libflext_@SYSTEM@_d_la-flstk.lo: flstk.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_d_la-flstk.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_d_la-flstk.Tpo -c -o libflext_@SYSTEM@_d_la-flstk.lo `test -f 'flstk.cpp' || echo '$(srcdir)/'`flstk.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_d_la-flstk.Tpo $(DEPDIR)/libflext_@SYSTEM@_d_la-flstk.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flstk.cpp' object='libflext_@SYSTEM@_d_la-flstk.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_d_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_d_la-flstk.lo `test -f 'flstk.cpp' || echo '$(srcdir)/'`flstk.cpp - -libflext_@SYSTEM@_s_la-flbase.lo: flbase.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-flbase.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-flbase.Tpo -c -o libflext_@SYSTEM@_s_la-flbase.lo `test -f 'flbase.cpp' || echo '$(srcdir)/'`flbase.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-flbase.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-flbase.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flbase.cpp' object='libflext_@SYSTEM@_s_la-flbase.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-flbase.lo `test -f 'flbase.cpp' || echo '$(srcdir)/'`flbase.cpp - -libflext_@SYSTEM@_s_la-flext.lo: flext.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-flext.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-flext.Tpo -c -o libflext_@SYSTEM@_s_la-flext.lo `test -f 'flext.cpp' || echo '$(srcdir)/'`flext.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-flext.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-flext.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flext.cpp' object='libflext_@SYSTEM@_s_la-flext.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-flext.lo `test -f 'flext.cpp' || echo '$(srcdir)/'`flext.cpp - -libflext_@SYSTEM@_s_la-flbuf.lo: flbuf.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-flbuf.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-flbuf.Tpo -c -o libflext_@SYSTEM@_s_la-flbuf.lo `test -f 'flbuf.cpp' || echo '$(srcdir)/'`flbuf.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-flbuf.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-flbuf.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flbuf.cpp' object='libflext_@SYSTEM@_s_la-flbuf.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-flbuf.lo `test -f 'flbuf.cpp' || echo '$(srcdir)/'`flbuf.cpp - -libflext_@SYSTEM@_s_la-fldsp.lo: fldsp.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-fldsp.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-fldsp.Tpo -c -o libflext_@SYSTEM@_s_la-fldsp.lo `test -f 'fldsp.cpp' || echo '$(srcdir)/'`fldsp.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-fldsp.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-fldsp.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='fldsp.cpp' object='libflext_@SYSTEM@_s_la-fldsp.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-fldsp.lo `test -f 'fldsp.cpp' || echo '$(srcdir)/'`fldsp.cpp - -libflext_@SYSTEM@_s_la-fllib.lo: fllib.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-fllib.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-fllib.Tpo -c -o libflext_@SYSTEM@_s_la-fllib.lo `test -f 'fllib.cpp' || echo '$(srcdir)/'`fllib.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-fllib.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-fllib.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='fllib.cpp' object='libflext_@SYSTEM@_s_la-fllib.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-fllib.lo `test -f 'fllib.cpp' || echo '$(srcdir)/'`fllib.cpp - -libflext_@SYSTEM@_s_la-flxlet.lo: flxlet.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-flxlet.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-flxlet.Tpo -c -o libflext_@SYSTEM@_s_la-flxlet.lo `test -f 'flxlet.cpp' || echo '$(srcdir)/'`flxlet.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-flxlet.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-flxlet.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flxlet.cpp' object='libflext_@SYSTEM@_s_la-flxlet.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-flxlet.lo `test -f 'flxlet.cpp' || echo '$(srcdir)/'`flxlet.cpp - -libflext_@SYSTEM@_s_la-flattr.lo: flattr.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-flattr.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-flattr.Tpo -c -o libflext_@SYSTEM@_s_la-flattr.lo `test -f 'flattr.cpp' || echo '$(srcdir)/'`flattr.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-flattr.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-flattr.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flattr.cpp' object='libflext_@SYSTEM@_s_la-flattr.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-flattr.lo `test -f 'flattr.cpp' || echo '$(srcdir)/'`flattr.cpp - -libflext_@SYSTEM@_s_la-flattr_ed.lo: flattr_ed.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-flattr_ed.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-flattr_ed.Tpo -c -o libflext_@SYSTEM@_s_la-flattr_ed.lo `test -f 'flattr_ed.cpp' || echo '$(srcdir)/'`flattr_ed.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-flattr_ed.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-flattr_ed.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flattr_ed.cpp' object='libflext_@SYSTEM@_s_la-flattr_ed.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-flattr_ed.lo `test -f 'flattr_ed.cpp' || echo '$(srcdir)/'`flattr_ed.cpp - -libflext_@SYSTEM@_s_la-flsupport.lo: flsupport.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-flsupport.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-flsupport.Tpo -c -o libflext_@SYSTEM@_s_la-flsupport.lo `test -f 'flsupport.cpp' || echo '$(srcdir)/'`flsupport.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-flsupport.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-flsupport.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flsupport.cpp' object='libflext_@SYSTEM@_s_la-flsupport.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-flsupport.lo `test -f 'flsupport.cpp' || echo '$(srcdir)/'`flsupport.cpp - -libflext_@SYSTEM@_s_la-flutil.lo: flutil.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-flutil.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-flutil.Tpo -c -o libflext_@SYSTEM@_s_la-flutil.lo `test -f 'flutil.cpp' || echo '$(srcdir)/'`flutil.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-flutil.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-flutil.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flutil.cpp' object='libflext_@SYSTEM@_s_la-flutil.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-flutil.lo `test -f 'flutil.cpp' || echo '$(srcdir)/'`flutil.cpp - -libflext_@SYSTEM@_s_la-flthr.lo: flthr.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-flthr.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-flthr.Tpo -c -o libflext_@SYSTEM@_s_la-flthr.lo `test -f 'flthr.cpp' || echo '$(srcdir)/'`flthr.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-flthr.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-flthr.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flthr.cpp' object='libflext_@SYSTEM@_s_la-flthr.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-flthr.lo `test -f 'flthr.cpp' || echo '$(srcdir)/'`flthr.cpp - -libflext_@SYSTEM@_s_la-fltimer.lo: fltimer.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-fltimer.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-fltimer.Tpo -c -o libflext_@SYSTEM@_s_la-fltimer.lo `test -f 'fltimer.cpp' || echo '$(srcdir)/'`fltimer.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-fltimer.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-fltimer.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='fltimer.cpp' object='libflext_@SYSTEM@_s_la-fltimer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-fltimer.lo `test -f 'fltimer.cpp' || echo '$(srcdir)/'`fltimer.cpp - -libflext_@SYSTEM@_s_la-flsimd.lo: flsimd.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-flsimd.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-flsimd.Tpo -c -o libflext_@SYSTEM@_s_la-flsimd.lo `test -f 'flsimd.cpp' || echo '$(srcdir)/'`flsimd.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-flsimd.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-flsimd.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flsimd.cpp' object='libflext_@SYSTEM@_s_la-flsimd.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-flsimd.lo `test -f 'flsimd.cpp' || echo '$(srcdir)/'`flsimd.cpp - -libflext_@SYSTEM@_s_la-flout.lo: flout.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-flout.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-flout.Tpo -c -o libflext_@SYSTEM@_s_la-flout.lo `test -f 'flout.cpp' || echo '$(srcdir)/'`flout.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-flout.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-flout.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flout.cpp' object='libflext_@SYSTEM@_s_la-flout.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-flout.lo `test -f 'flout.cpp' || echo '$(srcdir)/'`flout.cpp - -libflext_@SYSTEM@_s_la-flatom.lo: flatom.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-flatom.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-flatom.Tpo -c -o libflext_@SYSTEM@_s_la-flatom.lo `test -f 'flatom.cpp' || echo '$(srcdir)/'`flatom.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-flatom.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-flatom.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flatom.cpp' object='libflext_@SYSTEM@_s_la-flatom.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-flatom.lo `test -f 'flatom.cpp' || echo '$(srcdir)/'`flatom.cpp - -libflext_@SYSTEM@_s_la-flatom_pr.lo: flatom_pr.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-flatom_pr.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-flatom_pr.Tpo -c -o libflext_@SYSTEM@_s_la-flatom_pr.lo `test -f 'flatom_pr.cpp' || echo '$(srcdir)/'`flatom_pr.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-flatom_pr.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-flatom_pr.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flatom_pr.cpp' object='libflext_@SYSTEM@_s_la-flatom_pr.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-flatom_pr.lo `test -f 'flatom_pr.cpp' || echo '$(srcdir)/'`flatom_pr.cpp - -libflext_@SYSTEM@_s_la-flatom_part.lo: flatom_part.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-flatom_part.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-flatom_part.Tpo -c -o libflext_@SYSTEM@_s_la-flatom_part.lo `test -f 'flatom_part.cpp' || echo '$(srcdir)/'`flatom_part.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-flatom_part.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-flatom_part.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flatom_part.cpp' object='libflext_@SYSTEM@_s_la-flatom_part.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-flatom_part.lo `test -f 'flatom_part.cpp' || echo '$(srcdir)/'`flatom_part.cpp - -libflext_@SYSTEM@_s_la-flitem.lo: flitem.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-flitem.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-flitem.Tpo -c -o libflext_@SYSTEM@_s_la-flitem.lo `test -f 'flitem.cpp' || echo '$(srcdir)/'`flitem.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-flitem.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-flitem.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flitem.cpp' object='libflext_@SYSTEM@_s_la-flitem.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-flitem.lo `test -f 'flitem.cpp' || echo '$(srcdir)/'`flitem.cpp - -libflext_@SYSTEM@_s_la-flmeth.lo: flmeth.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-flmeth.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-flmeth.Tpo -c -o libflext_@SYSTEM@_s_la-flmeth.lo `test -f 'flmeth.cpp' || echo '$(srcdir)/'`flmeth.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-flmeth.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-flmeth.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flmeth.cpp' object='libflext_@SYSTEM@_s_la-flmeth.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-flmeth.lo `test -f 'flmeth.cpp' || echo '$(srcdir)/'`flmeth.cpp - -libflext_@SYSTEM@_s_la-flmsg.lo: flmsg.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-flmsg.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-flmsg.Tpo -c -o libflext_@SYSTEM@_s_la-flmsg.lo `test -f 'flmsg.cpp' || echo '$(srcdir)/'`flmsg.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-flmsg.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-flmsg.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flmsg.cpp' object='libflext_@SYSTEM@_s_la-flmsg.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-flmsg.lo `test -f 'flmsg.cpp' || echo '$(srcdir)/'`flmsg.cpp - -libflext_@SYSTEM@_s_la-flproxy.lo: flproxy.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-flproxy.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-flproxy.Tpo -c -o libflext_@SYSTEM@_s_la-flproxy.lo `test -f 'flproxy.cpp' || echo '$(srcdir)/'`flproxy.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-flproxy.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-flproxy.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flproxy.cpp' object='libflext_@SYSTEM@_s_la-flproxy.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-flproxy.lo `test -f 'flproxy.cpp' || echo '$(srcdir)/'`flproxy.cpp - -libflext_@SYSTEM@_s_la-flqueue.lo: flqueue.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-flqueue.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-flqueue.Tpo -c -o libflext_@SYSTEM@_s_la-flqueue.lo `test -f 'flqueue.cpp' || echo '$(srcdir)/'`flqueue.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-flqueue.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-flqueue.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flqueue.cpp' object='libflext_@SYSTEM@_s_la-flqueue.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-flqueue.lo `test -f 'flqueue.cpp' || echo '$(srcdir)/'`flqueue.cpp - -libflext_@SYSTEM@_s_la-flbind.lo: flbind.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-flbind.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-flbind.Tpo -c -o libflext_@SYSTEM@_s_la-flbind.lo `test -f 'flbind.cpp' || echo '$(srcdir)/'`flbind.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-flbind.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-flbind.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flbind.cpp' object='libflext_@SYSTEM@_s_la-flbind.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-flbind.lo `test -f 'flbind.cpp' || echo '$(srcdir)/'`flbind.cpp - -libflext_@SYSTEM@_s_la-flmap.lo: flmap.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-flmap.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-flmap.Tpo -c -o libflext_@SYSTEM@_s_la-flmap.lo `test -f 'flmap.cpp' || echo '$(srcdir)/'`flmap.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-flmap.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-flmap.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flmap.cpp' object='libflext_@SYSTEM@_s_la-flmap.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-flmap.lo `test -f 'flmap.cpp' || echo '$(srcdir)/'`flmap.cpp - -libflext_@SYSTEM@_s_la-flsndobj.lo: flsndobj.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-flsndobj.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-flsndobj.Tpo -c -o libflext_@SYSTEM@_s_la-flsndobj.lo `test -f 'flsndobj.cpp' || echo '$(srcdir)/'`flsndobj.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-flsndobj.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-flsndobj.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flsndobj.cpp' object='libflext_@SYSTEM@_s_la-flsndobj.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-flsndobj.lo `test -f 'flsndobj.cpp' || echo '$(srcdir)/'`flsndobj.cpp - -libflext_@SYSTEM@_s_la-flstk.lo: flstk.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_s_la-flstk.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_s_la-flstk.Tpo -c -o libflext_@SYSTEM@_s_la-flstk.lo `test -f 'flstk.cpp' || echo '$(srcdir)/'`flstk.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_s_la-flstk.Tpo $(DEPDIR)/libflext_@SYSTEM@_s_la-flstk.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flstk.cpp' object='libflext_@SYSTEM@_s_la-flstk.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_s_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_s_la-flstk.lo `test -f 'flstk.cpp' || echo '$(srcdir)/'`flstk.cpp - -libflext_@SYSTEM@_sd_la-flbase.lo: flbase.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-flbase.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-flbase.Tpo -c -o libflext_@SYSTEM@_sd_la-flbase.lo `test -f 'flbase.cpp' || echo '$(srcdir)/'`flbase.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-flbase.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-flbase.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flbase.cpp' object='libflext_@SYSTEM@_sd_la-flbase.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-flbase.lo `test -f 'flbase.cpp' || echo '$(srcdir)/'`flbase.cpp - -libflext_@SYSTEM@_sd_la-flext.lo: flext.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-flext.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-flext.Tpo -c -o libflext_@SYSTEM@_sd_la-flext.lo `test -f 'flext.cpp' || echo '$(srcdir)/'`flext.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-flext.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-flext.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flext.cpp' object='libflext_@SYSTEM@_sd_la-flext.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-flext.lo `test -f 'flext.cpp' || echo '$(srcdir)/'`flext.cpp - -libflext_@SYSTEM@_sd_la-flbuf.lo: flbuf.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-flbuf.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-flbuf.Tpo -c -o libflext_@SYSTEM@_sd_la-flbuf.lo `test -f 'flbuf.cpp' || echo '$(srcdir)/'`flbuf.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-flbuf.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-flbuf.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flbuf.cpp' object='libflext_@SYSTEM@_sd_la-flbuf.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-flbuf.lo `test -f 'flbuf.cpp' || echo '$(srcdir)/'`flbuf.cpp - -libflext_@SYSTEM@_sd_la-fldsp.lo: fldsp.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-fldsp.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-fldsp.Tpo -c -o libflext_@SYSTEM@_sd_la-fldsp.lo `test -f 'fldsp.cpp' || echo '$(srcdir)/'`fldsp.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-fldsp.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-fldsp.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='fldsp.cpp' object='libflext_@SYSTEM@_sd_la-fldsp.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-fldsp.lo `test -f 'fldsp.cpp' || echo '$(srcdir)/'`fldsp.cpp - -libflext_@SYSTEM@_sd_la-fllib.lo: fllib.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-fllib.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-fllib.Tpo -c -o libflext_@SYSTEM@_sd_la-fllib.lo `test -f 'fllib.cpp' || echo '$(srcdir)/'`fllib.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-fllib.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-fllib.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='fllib.cpp' object='libflext_@SYSTEM@_sd_la-fllib.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-fllib.lo `test -f 'fllib.cpp' || echo '$(srcdir)/'`fllib.cpp - -libflext_@SYSTEM@_sd_la-flxlet.lo: flxlet.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-flxlet.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-flxlet.Tpo -c -o libflext_@SYSTEM@_sd_la-flxlet.lo `test -f 'flxlet.cpp' || echo '$(srcdir)/'`flxlet.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-flxlet.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-flxlet.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flxlet.cpp' object='libflext_@SYSTEM@_sd_la-flxlet.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-flxlet.lo `test -f 'flxlet.cpp' || echo '$(srcdir)/'`flxlet.cpp - -libflext_@SYSTEM@_sd_la-flattr.lo: flattr.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-flattr.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-flattr.Tpo -c -o libflext_@SYSTEM@_sd_la-flattr.lo `test -f 'flattr.cpp' || echo '$(srcdir)/'`flattr.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-flattr.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-flattr.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flattr.cpp' object='libflext_@SYSTEM@_sd_la-flattr.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-flattr.lo `test -f 'flattr.cpp' || echo '$(srcdir)/'`flattr.cpp - -libflext_@SYSTEM@_sd_la-flattr_ed.lo: flattr_ed.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-flattr_ed.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-flattr_ed.Tpo -c -o libflext_@SYSTEM@_sd_la-flattr_ed.lo `test -f 'flattr_ed.cpp' || echo '$(srcdir)/'`flattr_ed.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-flattr_ed.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-flattr_ed.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flattr_ed.cpp' object='libflext_@SYSTEM@_sd_la-flattr_ed.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-flattr_ed.lo `test -f 'flattr_ed.cpp' || echo '$(srcdir)/'`flattr_ed.cpp - -libflext_@SYSTEM@_sd_la-flsupport.lo: flsupport.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-flsupport.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-flsupport.Tpo -c -o libflext_@SYSTEM@_sd_la-flsupport.lo `test -f 'flsupport.cpp' || echo '$(srcdir)/'`flsupport.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-flsupport.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-flsupport.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flsupport.cpp' object='libflext_@SYSTEM@_sd_la-flsupport.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-flsupport.lo `test -f 'flsupport.cpp' || echo '$(srcdir)/'`flsupport.cpp - -libflext_@SYSTEM@_sd_la-flutil.lo: flutil.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-flutil.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-flutil.Tpo -c -o libflext_@SYSTEM@_sd_la-flutil.lo `test -f 'flutil.cpp' || echo '$(srcdir)/'`flutil.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-flutil.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-flutil.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flutil.cpp' object='libflext_@SYSTEM@_sd_la-flutil.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-flutil.lo `test -f 'flutil.cpp' || echo '$(srcdir)/'`flutil.cpp - -libflext_@SYSTEM@_sd_la-flthr.lo: flthr.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-flthr.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-flthr.Tpo -c -o libflext_@SYSTEM@_sd_la-flthr.lo `test -f 'flthr.cpp' || echo '$(srcdir)/'`flthr.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-flthr.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-flthr.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flthr.cpp' object='libflext_@SYSTEM@_sd_la-flthr.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-flthr.lo `test -f 'flthr.cpp' || echo '$(srcdir)/'`flthr.cpp - -libflext_@SYSTEM@_sd_la-fltimer.lo: fltimer.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-fltimer.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-fltimer.Tpo -c -o libflext_@SYSTEM@_sd_la-fltimer.lo `test -f 'fltimer.cpp' || echo '$(srcdir)/'`fltimer.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-fltimer.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-fltimer.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='fltimer.cpp' object='libflext_@SYSTEM@_sd_la-fltimer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-fltimer.lo `test -f 'fltimer.cpp' || echo '$(srcdir)/'`fltimer.cpp - -libflext_@SYSTEM@_sd_la-flsimd.lo: flsimd.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-flsimd.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-flsimd.Tpo -c -o libflext_@SYSTEM@_sd_la-flsimd.lo `test -f 'flsimd.cpp' || echo '$(srcdir)/'`flsimd.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-flsimd.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-flsimd.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flsimd.cpp' object='libflext_@SYSTEM@_sd_la-flsimd.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-flsimd.lo `test -f 'flsimd.cpp' || echo '$(srcdir)/'`flsimd.cpp - -libflext_@SYSTEM@_sd_la-flout.lo: flout.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-flout.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-flout.Tpo -c -o libflext_@SYSTEM@_sd_la-flout.lo `test -f 'flout.cpp' || echo '$(srcdir)/'`flout.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-flout.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-flout.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flout.cpp' object='libflext_@SYSTEM@_sd_la-flout.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-flout.lo `test -f 'flout.cpp' || echo '$(srcdir)/'`flout.cpp - -libflext_@SYSTEM@_sd_la-flatom.lo: flatom.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-flatom.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-flatom.Tpo -c -o libflext_@SYSTEM@_sd_la-flatom.lo `test -f 'flatom.cpp' || echo '$(srcdir)/'`flatom.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-flatom.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-flatom.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flatom.cpp' object='libflext_@SYSTEM@_sd_la-flatom.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-flatom.lo `test -f 'flatom.cpp' || echo '$(srcdir)/'`flatom.cpp - -libflext_@SYSTEM@_sd_la-flatom_pr.lo: flatom_pr.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-flatom_pr.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-flatom_pr.Tpo -c -o libflext_@SYSTEM@_sd_la-flatom_pr.lo `test -f 'flatom_pr.cpp' || echo '$(srcdir)/'`flatom_pr.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-flatom_pr.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-flatom_pr.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flatom_pr.cpp' object='libflext_@SYSTEM@_sd_la-flatom_pr.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-flatom_pr.lo `test -f 'flatom_pr.cpp' || echo '$(srcdir)/'`flatom_pr.cpp - -libflext_@SYSTEM@_sd_la-flatom_part.lo: flatom_part.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-flatom_part.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-flatom_part.Tpo -c -o libflext_@SYSTEM@_sd_la-flatom_part.lo `test -f 'flatom_part.cpp' || echo '$(srcdir)/'`flatom_part.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-flatom_part.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-flatom_part.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flatom_part.cpp' object='libflext_@SYSTEM@_sd_la-flatom_part.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-flatom_part.lo `test -f 'flatom_part.cpp' || echo '$(srcdir)/'`flatom_part.cpp - -libflext_@SYSTEM@_sd_la-flitem.lo: flitem.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-flitem.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-flitem.Tpo -c -o libflext_@SYSTEM@_sd_la-flitem.lo `test -f 'flitem.cpp' || echo '$(srcdir)/'`flitem.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-flitem.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-flitem.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flitem.cpp' object='libflext_@SYSTEM@_sd_la-flitem.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-flitem.lo `test -f 'flitem.cpp' || echo '$(srcdir)/'`flitem.cpp - -libflext_@SYSTEM@_sd_la-flmeth.lo: flmeth.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-flmeth.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-flmeth.Tpo -c -o libflext_@SYSTEM@_sd_la-flmeth.lo `test -f 'flmeth.cpp' || echo '$(srcdir)/'`flmeth.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-flmeth.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-flmeth.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flmeth.cpp' object='libflext_@SYSTEM@_sd_la-flmeth.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-flmeth.lo `test -f 'flmeth.cpp' || echo '$(srcdir)/'`flmeth.cpp - -libflext_@SYSTEM@_sd_la-flmsg.lo: flmsg.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-flmsg.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-flmsg.Tpo -c -o libflext_@SYSTEM@_sd_la-flmsg.lo `test -f 'flmsg.cpp' || echo '$(srcdir)/'`flmsg.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-flmsg.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-flmsg.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flmsg.cpp' object='libflext_@SYSTEM@_sd_la-flmsg.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-flmsg.lo `test -f 'flmsg.cpp' || echo '$(srcdir)/'`flmsg.cpp - -libflext_@SYSTEM@_sd_la-flproxy.lo: flproxy.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-flproxy.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-flproxy.Tpo -c -o libflext_@SYSTEM@_sd_la-flproxy.lo `test -f 'flproxy.cpp' || echo '$(srcdir)/'`flproxy.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-flproxy.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-flproxy.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flproxy.cpp' object='libflext_@SYSTEM@_sd_la-flproxy.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-flproxy.lo `test -f 'flproxy.cpp' || echo '$(srcdir)/'`flproxy.cpp - -libflext_@SYSTEM@_sd_la-flqueue.lo: flqueue.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-flqueue.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-flqueue.Tpo -c -o libflext_@SYSTEM@_sd_la-flqueue.lo `test -f 'flqueue.cpp' || echo '$(srcdir)/'`flqueue.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-flqueue.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-flqueue.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flqueue.cpp' object='libflext_@SYSTEM@_sd_la-flqueue.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-flqueue.lo `test -f 'flqueue.cpp' || echo '$(srcdir)/'`flqueue.cpp - -libflext_@SYSTEM@_sd_la-flbind.lo: flbind.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-flbind.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-flbind.Tpo -c -o libflext_@SYSTEM@_sd_la-flbind.lo `test -f 'flbind.cpp' || echo '$(srcdir)/'`flbind.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-flbind.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-flbind.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flbind.cpp' object='libflext_@SYSTEM@_sd_la-flbind.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-flbind.lo `test -f 'flbind.cpp' || echo '$(srcdir)/'`flbind.cpp - -libflext_@SYSTEM@_sd_la-flmap.lo: flmap.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-flmap.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-flmap.Tpo -c -o libflext_@SYSTEM@_sd_la-flmap.lo `test -f 'flmap.cpp' || echo '$(srcdir)/'`flmap.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-flmap.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-flmap.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flmap.cpp' object='libflext_@SYSTEM@_sd_la-flmap.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-flmap.lo `test -f 'flmap.cpp' || echo '$(srcdir)/'`flmap.cpp - -libflext_@SYSTEM@_sd_la-flsndobj.lo: flsndobj.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-flsndobj.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-flsndobj.Tpo -c -o libflext_@SYSTEM@_sd_la-flsndobj.lo `test -f 'flsndobj.cpp' || echo '$(srcdir)/'`flsndobj.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-flsndobj.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-flsndobj.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flsndobj.cpp' object='libflext_@SYSTEM@_sd_la-flsndobj.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-flsndobj.lo `test -f 'flsndobj.cpp' || echo '$(srcdir)/'`flsndobj.cpp - -libflext_@SYSTEM@_sd_la-flstk.lo: flstk.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_sd_la-flstk.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_sd_la-flstk.Tpo -c -o libflext_@SYSTEM@_sd_la-flstk.lo `test -f 'flstk.cpp' || echo '$(srcdir)/'`flstk.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_sd_la-flstk.Tpo $(DEPDIR)/libflext_@SYSTEM@_sd_la-flstk.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flstk.cpp' object='libflext_@SYSTEM@_sd_la-flstk.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_sd_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_sd_la-flstk.lo `test -f 'flstk.cpp' || echo '$(srcdir)/'`flstk.cpp - -libflext_@SYSTEM@_t_la-flbase.lo: flbase.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-flbase.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-flbase.Tpo -c -o libflext_@SYSTEM@_t_la-flbase.lo `test -f 'flbase.cpp' || echo '$(srcdir)/'`flbase.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-flbase.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-flbase.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flbase.cpp' object='libflext_@SYSTEM@_t_la-flbase.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-flbase.lo `test -f 'flbase.cpp' || echo '$(srcdir)/'`flbase.cpp - -libflext_@SYSTEM@_t_la-flext.lo: flext.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-flext.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-flext.Tpo -c -o libflext_@SYSTEM@_t_la-flext.lo `test -f 'flext.cpp' || echo '$(srcdir)/'`flext.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-flext.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-flext.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flext.cpp' object='libflext_@SYSTEM@_t_la-flext.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-flext.lo `test -f 'flext.cpp' || echo '$(srcdir)/'`flext.cpp - -libflext_@SYSTEM@_t_la-flbuf.lo: flbuf.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-flbuf.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-flbuf.Tpo -c -o libflext_@SYSTEM@_t_la-flbuf.lo `test -f 'flbuf.cpp' || echo '$(srcdir)/'`flbuf.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-flbuf.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-flbuf.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flbuf.cpp' object='libflext_@SYSTEM@_t_la-flbuf.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-flbuf.lo `test -f 'flbuf.cpp' || echo '$(srcdir)/'`flbuf.cpp - -libflext_@SYSTEM@_t_la-fldsp.lo: fldsp.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-fldsp.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-fldsp.Tpo -c -o libflext_@SYSTEM@_t_la-fldsp.lo `test -f 'fldsp.cpp' || echo '$(srcdir)/'`fldsp.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-fldsp.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-fldsp.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='fldsp.cpp' object='libflext_@SYSTEM@_t_la-fldsp.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-fldsp.lo `test -f 'fldsp.cpp' || echo '$(srcdir)/'`fldsp.cpp - -libflext_@SYSTEM@_t_la-fllib.lo: fllib.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-fllib.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-fllib.Tpo -c -o libflext_@SYSTEM@_t_la-fllib.lo `test -f 'fllib.cpp' || echo '$(srcdir)/'`fllib.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-fllib.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-fllib.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='fllib.cpp' object='libflext_@SYSTEM@_t_la-fllib.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-fllib.lo `test -f 'fllib.cpp' || echo '$(srcdir)/'`fllib.cpp - -libflext_@SYSTEM@_t_la-flxlet.lo: flxlet.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-flxlet.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-flxlet.Tpo -c -o libflext_@SYSTEM@_t_la-flxlet.lo `test -f 'flxlet.cpp' || echo '$(srcdir)/'`flxlet.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-flxlet.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-flxlet.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flxlet.cpp' object='libflext_@SYSTEM@_t_la-flxlet.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-flxlet.lo `test -f 'flxlet.cpp' || echo '$(srcdir)/'`flxlet.cpp - -libflext_@SYSTEM@_t_la-flattr.lo: flattr.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-flattr.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-flattr.Tpo -c -o libflext_@SYSTEM@_t_la-flattr.lo `test -f 'flattr.cpp' || echo '$(srcdir)/'`flattr.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-flattr.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-flattr.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flattr.cpp' object='libflext_@SYSTEM@_t_la-flattr.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-flattr.lo `test -f 'flattr.cpp' || echo '$(srcdir)/'`flattr.cpp - -libflext_@SYSTEM@_t_la-flattr_ed.lo: flattr_ed.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-flattr_ed.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-flattr_ed.Tpo -c -o libflext_@SYSTEM@_t_la-flattr_ed.lo `test -f 'flattr_ed.cpp' || echo '$(srcdir)/'`flattr_ed.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-flattr_ed.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-flattr_ed.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flattr_ed.cpp' object='libflext_@SYSTEM@_t_la-flattr_ed.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-flattr_ed.lo `test -f 'flattr_ed.cpp' || echo '$(srcdir)/'`flattr_ed.cpp - -libflext_@SYSTEM@_t_la-flsupport.lo: flsupport.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-flsupport.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-flsupport.Tpo -c -o libflext_@SYSTEM@_t_la-flsupport.lo `test -f 'flsupport.cpp' || echo '$(srcdir)/'`flsupport.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-flsupport.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-flsupport.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flsupport.cpp' object='libflext_@SYSTEM@_t_la-flsupport.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-flsupport.lo `test -f 'flsupport.cpp' || echo '$(srcdir)/'`flsupport.cpp - -libflext_@SYSTEM@_t_la-flutil.lo: flutil.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-flutil.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-flutil.Tpo -c -o libflext_@SYSTEM@_t_la-flutil.lo `test -f 'flutil.cpp' || echo '$(srcdir)/'`flutil.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-flutil.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-flutil.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flutil.cpp' object='libflext_@SYSTEM@_t_la-flutil.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-flutil.lo `test -f 'flutil.cpp' || echo '$(srcdir)/'`flutil.cpp - -libflext_@SYSTEM@_t_la-flthr.lo: flthr.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-flthr.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-flthr.Tpo -c -o libflext_@SYSTEM@_t_la-flthr.lo `test -f 'flthr.cpp' || echo '$(srcdir)/'`flthr.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-flthr.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-flthr.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flthr.cpp' object='libflext_@SYSTEM@_t_la-flthr.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-flthr.lo `test -f 'flthr.cpp' || echo '$(srcdir)/'`flthr.cpp - -libflext_@SYSTEM@_t_la-fltimer.lo: fltimer.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-fltimer.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-fltimer.Tpo -c -o libflext_@SYSTEM@_t_la-fltimer.lo `test -f 'fltimer.cpp' || echo '$(srcdir)/'`fltimer.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-fltimer.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-fltimer.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='fltimer.cpp' object='libflext_@SYSTEM@_t_la-fltimer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-fltimer.lo `test -f 'fltimer.cpp' || echo '$(srcdir)/'`fltimer.cpp - -libflext_@SYSTEM@_t_la-flsimd.lo: flsimd.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-flsimd.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-flsimd.Tpo -c -o libflext_@SYSTEM@_t_la-flsimd.lo `test -f 'flsimd.cpp' || echo '$(srcdir)/'`flsimd.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-flsimd.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-flsimd.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flsimd.cpp' object='libflext_@SYSTEM@_t_la-flsimd.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-flsimd.lo `test -f 'flsimd.cpp' || echo '$(srcdir)/'`flsimd.cpp - -libflext_@SYSTEM@_t_la-flout.lo: flout.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-flout.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-flout.Tpo -c -o libflext_@SYSTEM@_t_la-flout.lo `test -f 'flout.cpp' || echo '$(srcdir)/'`flout.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-flout.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-flout.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flout.cpp' object='libflext_@SYSTEM@_t_la-flout.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-flout.lo `test -f 'flout.cpp' || echo '$(srcdir)/'`flout.cpp - -libflext_@SYSTEM@_t_la-flatom.lo: flatom.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-flatom.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-flatom.Tpo -c -o libflext_@SYSTEM@_t_la-flatom.lo `test -f 'flatom.cpp' || echo '$(srcdir)/'`flatom.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-flatom.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-flatom.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flatom.cpp' object='libflext_@SYSTEM@_t_la-flatom.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-flatom.lo `test -f 'flatom.cpp' || echo '$(srcdir)/'`flatom.cpp - -libflext_@SYSTEM@_t_la-flatom_pr.lo: flatom_pr.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-flatom_pr.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-flatom_pr.Tpo -c -o libflext_@SYSTEM@_t_la-flatom_pr.lo `test -f 'flatom_pr.cpp' || echo '$(srcdir)/'`flatom_pr.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-flatom_pr.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-flatom_pr.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flatom_pr.cpp' object='libflext_@SYSTEM@_t_la-flatom_pr.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-flatom_pr.lo `test -f 'flatom_pr.cpp' || echo '$(srcdir)/'`flatom_pr.cpp - -libflext_@SYSTEM@_t_la-flatom_part.lo: flatom_part.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-flatom_part.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-flatom_part.Tpo -c -o libflext_@SYSTEM@_t_la-flatom_part.lo `test -f 'flatom_part.cpp' || echo '$(srcdir)/'`flatom_part.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-flatom_part.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-flatom_part.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flatom_part.cpp' object='libflext_@SYSTEM@_t_la-flatom_part.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-flatom_part.lo `test -f 'flatom_part.cpp' || echo '$(srcdir)/'`flatom_part.cpp - -libflext_@SYSTEM@_t_la-flitem.lo: flitem.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-flitem.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-flitem.Tpo -c -o libflext_@SYSTEM@_t_la-flitem.lo `test -f 'flitem.cpp' || echo '$(srcdir)/'`flitem.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-flitem.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-flitem.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flitem.cpp' object='libflext_@SYSTEM@_t_la-flitem.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-flitem.lo `test -f 'flitem.cpp' || echo '$(srcdir)/'`flitem.cpp - -libflext_@SYSTEM@_t_la-flmeth.lo: flmeth.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-flmeth.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-flmeth.Tpo -c -o libflext_@SYSTEM@_t_la-flmeth.lo `test -f 'flmeth.cpp' || echo '$(srcdir)/'`flmeth.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-flmeth.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-flmeth.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flmeth.cpp' object='libflext_@SYSTEM@_t_la-flmeth.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-flmeth.lo `test -f 'flmeth.cpp' || echo '$(srcdir)/'`flmeth.cpp - -libflext_@SYSTEM@_t_la-flmsg.lo: flmsg.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-flmsg.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-flmsg.Tpo -c -o libflext_@SYSTEM@_t_la-flmsg.lo `test -f 'flmsg.cpp' || echo '$(srcdir)/'`flmsg.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-flmsg.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-flmsg.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flmsg.cpp' object='libflext_@SYSTEM@_t_la-flmsg.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-flmsg.lo `test -f 'flmsg.cpp' || echo '$(srcdir)/'`flmsg.cpp - -libflext_@SYSTEM@_t_la-flproxy.lo: flproxy.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-flproxy.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-flproxy.Tpo -c -o libflext_@SYSTEM@_t_la-flproxy.lo `test -f 'flproxy.cpp' || echo '$(srcdir)/'`flproxy.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-flproxy.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-flproxy.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flproxy.cpp' object='libflext_@SYSTEM@_t_la-flproxy.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-flproxy.lo `test -f 'flproxy.cpp' || echo '$(srcdir)/'`flproxy.cpp - -libflext_@SYSTEM@_t_la-flqueue.lo: flqueue.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-flqueue.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-flqueue.Tpo -c -o libflext_@SYSTEM@_t_la-flqueue.lo `test -f 'flqueue.cpp' || echo '$(srcdir)/'`flqueue.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-flqueue.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-flqueue.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flqueue.cpp' object='libflext_@SYSTEM@_t_la-flqueue.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-flqueue.lo `test -f 'flqueue.cpp' || echo '$(srcdir)/'`flqueue.cpp - -libflext_@SYSTEM@_t_la-flbind.lo: flbind.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-flbind.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-flbind.Tpo -c -o libflext_@SYSTEM@_t_la-flbind.lo `test -f 'flbind.cpp' || echo '$(srcdir)/'`flbind.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-flbind.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-flbind.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flbind.cpp' object='libflext_@SYSTEM@_t_la-flbind.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-flbind.lo `test -f 'flbind.cpp' || echo '$(srcdir)/'`flbind.cpp - -libflext_@SYSTEM@_t_la-flmap.lo: flmap.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-flmap.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-flmap.Tpo -c -o libflext_@SYSTEM@_t_la-flmap.lo `test -f 'flmap.cpp' || echo '$(srcdir)/'`flmap.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-flmap.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-flmap.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flmap.cpp' object='libflext_@SYSTEM@_t_la-flmap.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-flmap.lo `test -f 'flmap.cpp' || echo '$(srcdir)/'`flmap.cpp - -libflext_@SYSTEM@_t_la-flsndobj.lo: flsndobj.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-flsndobj.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-flsndobj.Tpo -c -o libflext_@SYSTEM@_t_la-flsndobj.lo `test -f 'flsndobj.cpp' || echo '$(srcdir)/'`flsndobj.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-flsndobj.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-flsndobj.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flsndobj.cpp' object='libflext_@SYSTEM@_t_la-flsndobj.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-flsndobj.lo `test -f 'flsndobj.cpp' || echo '$(srcdir)/'`flsndobj.cpp - -libflext_@SYSTEM@_t_la-flstk.lo: flstk.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_t_la-flstk.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_t_la-flstk.Tpo -c -o libflext_@SYSTEM@_t_la-flstk.lo `test -f 'flstk.cpp' || echo '$(srcdir)/'`flstk.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_t_la-flstk.Tpo $(DEPDIR)/libflext_@SYSTEM@_t_la-flstk.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flstk.cpp' object='libflext_@SYSTEM@_t_la-flstk.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_t_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_t_la-flstk.lo `test -f 'flstk.cpp' || echo '$(srcdir)/'`flstk.cpp - -libflext_@SYSTEM@_td_la-flbase.lo: flbase.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-flbase.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-flbase.Tpo -c -o libflext_@SYSTEM@_td_la-flbase.lo `test -f 'flbase.cpp' || echo '$(srcdir)/'`flbase.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-flbase.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-flbase.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flbase.cpp' object='libflext_@SYSTEM@_td_la-flbase.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-flbase.lo `test -f 'flbase.cpp' || echo '$(srcdir)/'`flbase.cpp - -libflext_@SYSTEM@_td_la-flext.lo: flext.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-flext.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-flext.Tpo -c -o libflext_@SYSTEM@_td_la-flext.lo `test -f 'flext.cpp' || echo '$(srcdir)/'`flext.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-flext.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-flext.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flext.cpp' object='libflext_@SYSTEM@_td_la-flext.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-flext.lo `test -f 'flext.cpp' || echo '$(srcdir)/'`flext.cpp - -libflext_@SYSTEM@_td_la-flbuf.lo: flbuf.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-flbuf.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-flbuf.Tpo -c -o libflext_@SYSTEM@_td_la-flbuf.lo `test -f 'flbuf.cpp' || echo '$(srcdir)/'`flbuf.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-flbuf.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-flbuf.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flbuf.cpp' object='libflext_@SYSTEM@_td_la-flbuf.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-flbuf.lo `test -f 'flbuf.cpp' || echo '$(srcdir)/'`flbuf.cpp - -libflext_@SYSTEM@_td_la-fldsp.lo: fldsp.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-fldsp.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-fldsp.Tpo -c -o libflext_@SYSTEM@_td_la-fldsp.lo `test -f 'fldsp.cpp' || echo '$(srcdir)/'`fldsp.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-fldsp.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-fldsp.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='fldsp.cpp' object='libflext_@SYSTEM@_td_la-fldsp.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-fldsp.lo `test -f 'fldsp.cpp' || echo '$(srcdir)/'`fldsp.cpp - -libflext_@SYSTEM@_td_la-fllib.lo: fllib.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-fllib.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-fllib.Tpo -c -o libflext_@SYSTEM@_td_la-fllib.lo `test -f 'fllib.cpp' || echo '$(srcdir)/'`fllib.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-fllib.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-fllib.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='fllib.cpp' object='libflext_@SYSTEM@_td_la-fllib.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-fllib.lo `test -f 'fllib.cpp' || echo '$(srcdir)/'`fllib.cpp - -libflext_@SYSTEM@_td_la-flxlet.lo: flxlet.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-flxlet.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-flxlet.Tpo -c -o libflext_@SYSTEM@_td_la-flxlet.lo `test -f 'flxlet.cpp' || echo '$(srcdir)/'`flxlet.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-flxlet.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-flxlet.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flxlet.cpp' object='libflext_@SYSTEM@_td_la-flxlet.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-flxlet.lo `test -f 'flxlet.cpp' || echo '$(srcdir)/'`flxlet.cpp - -libflext_@SYSTEM@_td_la-flattr.lo: flattr.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-flattr.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-flattr.Tpo -c -o libflext_@SYSTEM@_td_la-flattr.lo `test -f 'flattr.cpp' || echo '$(srcdir)/'`flattr.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-flattr.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-flattr.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flattr.cpp' object='libflext_@SYSTEM@_td_la-flattr.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-flattr.lo `test -f 'flattr.cpp' || echo '$(srcdir)/'`flattr.cpp - -libflext_@SYSTEM@_td_la-flattr_ed.lo: flattr_ed.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-flattr_ed.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-flattr_ed.Tpo -c -o libflext_@SYSTEM@_td_la-flattr_ed.lo `test -f 'flattr_ed.cpp' || echo '$(srcdir)/'`flattr_ed.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-flattr_ed.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-flattr_ed.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flattr_ed.cpp' object='libflext_@SYSTEM@_td_la-flattr_ed.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-flattr_ed.lo `test -f 'flattr_ed.cpp' || echo '$(srcdir)/'`flattr_ed.cpp - -libflext_@SYSTEM@_td_la-flsupport.lo: flsupport.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-flsupport.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-flsupport.Tpo -c -o libflext_@SYSTEM@_td_la-flsupport.lo `test -f 'flsupport.cpp' || echo '$(srcdir)/'`flsupport.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-flsupport.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-flsupport.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flsupport.cpp' object='libflext_@SYSTEM@_td_la-flsupport.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-flsupport.lo `test -f 'flsupport.cpp' || echo '$(srcdir)/'`flsupport.cpp - -libflext_@SYSTEM@_td_la-flutil.lo: flutil.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-flutil.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-flutil.Tpo -c -o libflext_@SYSTEM@_td_la-flutil.lo `test -f 'flutil.cpp' || echo '$(srcdir)/'`flutil.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-flutil.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-flutil.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flutil.cpp' object='libflext_@SYSTEM@_td_la-flutil.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-flutil.lo `test -f 'flutil.cpp' || echo '$(srcdir)/'`flutil.cpp - -libflext_@SYSTEM@_td_la-flthr.lo: flthr.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-flthr.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-flthr.Tpo -c -o libflext_@SYSTEM@_td_la-flthr.lo `test -f 'flthr.cpp' || echo '$(srcdir)/'`flthr.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-flthr.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-flthr.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flthr.cpp' object='libflext_@SYSTEM@_td_la-flthr.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-flthr.lo `test -f 'flthr.cpp' || echo '$(srcdir)/'`flthr.cpp - -libflext_@SYSTEM@_td_la-fltimer.lo: fltimer.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-fltimer.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-fltimer.Tpo -c -o libflext_@SYSTEM@_td_la-fltimer.lo `test -f 'fltimer.cpp' || echo '$(srcdir)/'`fltimer.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-fltimer.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-fltimer.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='fltimer.cpp' object='libflext_@SYSTEM@_td_la-fltimer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-fltimer.lo `test -f 'fltimer.cpp' || echo '$(srcdir)/'`fltimer.cpp - -libflext_@SYSTEM@_td_la-flsimd.lo: flsimd.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-flsimd.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-flsimd.Tpo -c -o libflext_@SYSTEM@_td_la-flsimd.lo `test -f 'flsimd.cpp' || echo '$(srcdir)/'`flsimd.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-flsimd.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-flsimd.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flsimd.cpp' object='libflext_@SYSTEM@_td_la-flsimd.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-flsimd.lo `test -f 'flsimd.cpp' || echo '$(srcdir)/'`flsimd.cpp - -libflext_@SYSTEM@_td_la-flout.lo: flout.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-flout.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-flout.Tpo -c -o libflext_@SYSTEM@_td_la-flout.lo `test -f 'flout.cpp' || echo '$(srcdir)/'`flout.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-flout.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-flout.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flout.cpp' object='libflext_@SYSTEM@_td_la-flout.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-flout.lo `test -f 'flout.cpp' || echo '$(srcdir)/'`flout.cpp - -libflext_@SYSTEM@_td_la-flatom.lo: flatom.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-flatom.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-flatom.Tpo -c -o libflext_@SYSTEM@_td_la-flatom.lo `test -f 'flatom.cpp' || echo '$(srcdir)/'`flatom.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-flatom.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-flatom.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flatom.cpp' object='libflext_@SYSTEM@_td_la-flatom.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-flatom.lo `test -f 'flatom.cpp' || echo '$(srcdir)/'`flatom.cpp - -libflext_@SYSTEM@_td_la-flatom_pr.lo: flatom_pr.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-flatom_pr.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-flatom_pr.Tpo -c -o libflext_@SYSTEM@_td_la-flatom_pr.lo `test -f 'flatom_pr.cpp' || echo '$(srcdir)/'`flatom_pr.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-flatom_pr.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-flatom_pr.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flatom_pr.cpp' object='libflext_@SYSTEM@_td_la-flatom_pr.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-flatom_pr.lo `test -f 'flatom_pr.cpp' || echo '$(srcdir)/'`flatom_pr.cpp - -libflext_@SYSTEM@_td_la-flatom_part.lo: flatom_part.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-flatom_part.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-flatom_part.Tpo -c -o libflext_@SYSTEM@_td_la-flatom_part.lo `test -f 'flatom_part.cpp' || echo '$(srcdir)/'`flatom_part.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-flatom_part.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-flatom_part.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flatom_part.cpp' object='libflext_@SYSTEM@_td_la-flatom_part.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-flatom_part.lo `test -f 'flatom_part.cpp' || echo '$(srcdir)/'`flatom_part.cpp - -libflext_@SYSTEM@_td_la-flitem.lo: flitem.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-flitem.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-flitem.Tpo -c -o libflext_@SYSTEM@_td_la-flitem.lo `test -f 'flitem.cpp' || echo '$(srcdir)/'`flitem.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-flitem.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-flitem.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flitem.cpp' object='libflext_@SYSTEM@_td_la-flitem.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-flitem.lo `test -f 'flitem.cpp' || echo '$(srcdir)/'`flitem.cpp - -libflext_@SYSTEM@_td_la-flmeth.lo: flmeth.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-flmeth.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-flmeth.Tpo -c -o libflext_@SYSTEM@_td_la-flmeth.lo `test -f 'flmeth.cpp' || echo '$(srcdir)/'`flmeth.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-flmeth.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-flmeth.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flmeth.cpp' object='libflext_@SYSTEM@_td_la-flmeth.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-flmeth.lo `test -f 'flmeth.cpp' || echo '$(srcdir)/'`flmeth.cpp - -libflext_@SYSTEM@_td_la-flmsg.lo: flmsg.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-flmsg.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-flmsg.Tpo -c -o libflext_@SYSTEM@_td_la-flmsg.lo `test -f 'flmsg.cpp' || echo '$(srcdir)/'`flmsg.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-flmsg.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-flmsg.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flmsg.cpp' object='libflext_@SYSTEM@_td_la-flmsg.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-flmsg.lo `test -f 'flmsg.cpp' || echo '$(srcdir)/'`flmsg.cpp - -libflext_@SYSTEM@_td_la-flproxy.lo: flproxy.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-flproxy.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-flproxy.Tpo -c -o libflext_@SYSTEM@_td_la-flproxy.lo `test -f 'flproxy.cpp' || echo '$(srcdir)/'`flproxy.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-flproxy.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-flproxy.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flproxy.cpp' object='libflext_@SYSTEM@_td_la-flproxy.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-flproxy.lo `test -f 'flproxy.cpp' || echo '$(srcdir)/'`flproxy.cpp - -libflext_@SYSTEM@_td_la-flqueue.lo: flqueue.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-flqueue.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-flqueue.Tpo -c -o libflext_@SYSTEM@_td_la-flqueue.lo `test -f 'flqueue.cpp' || echo '$(srcdir)/'`flqueue.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-flqueue.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-flqueue.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flqueue.cpp' object='libflext_@SYSTEM@_td_la-flqueue.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-flqueue.lo `test -f 'flqueue.cpp' || echo '$(srcdir)/'`flqueue.cpp - -libflext_@SYSTEM@_td_la-flbind.lo: flbind.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-flbind.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-flbind.Tpo -c -o libflext_@SYSTEM@_td_la-flbind.lo `test -f 'flbind.cpp' || echo '$(srcdir)/'`flbind.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-flbind.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-flbind.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flbind.cpp' object='libflext_@SYSTEM@_td_la-flbind.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-flbind.lo `test -f 'flbind.cpp' || echo '$(srcdir)/'`flbind.cpp - -libflext_@SYSTEM@_td_la-flmap.lo: flmap.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-flmap.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-flmap.Tpo -c -o libflext_@SYSTEM@_td_la-flmap.lo `test -f 'flmap.cpp' || echo '$(srcdir)/'`flmap.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-flmap.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-flmap.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flmap.cpp' object='libflext_@SYSTEM@_td_la-flmap.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-flmap.lo `test -f 'flmap.cpp' || echo '$(srcdir)/'`flmap.cpp - -libflext_@SYSTEM@_td_la-flsndobj.lo: flsndobj.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-flsndobj.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-flsndobj.Tpo -c -o libflext_@SYSTEM@_td_la-flsndobj.lo `test -f 'flsndobj.cpp' || echo '$(srcdir)/'`flsndobj.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-flsndobj.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-flsndobj.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flsndobj.cpp' object='libflext_@SYSTEM@_td_la-flsndobj.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-flsndobj.lo `test -f 'flsndobj.cpp' || echo '$(srcdir)/'`flsndobj.cpp - -libflext_@SYSTEM@_td_la-flstk.lo: flstk.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -MT libflext_@SYSTEM@_td_la-flstk.lo -MD -MP -MF $(DEPDIR)/libflext_@SYSTEM@_td_la-flstk.Tpo -c -o libflext_@SYSTEM@_td_la-flstk.lo `test -f 'flstk.cpp' || echo '$(srcdir)/'`flstk.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libflext_@SYSTEM@_td_la-flstk.Tpo $(DEPDIR)/libflext_@SYSTEM@_td_la-flstk.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='flstk.cpp' object='libflext_@SYSTEM@_td_la-flstk.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libflext_@SYSTEM@_td_la_CXXFLAGS) $(CXXFLAGS) -c -o libflext_@SYSTEM@_td_la-flstk.lo `test -f 'flstk.cpp' || echo '$(srcdir)/'`flstk.cpp - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-nobase_pkgincludeHEADERS: $(nobase_pkginclude_HEADERS) - @$(NORMAL_INSTALL) - test -z "$(pkgincludedir)" || $(MKDIR_P) "$(DESTDIR)$(pkgincludedir)" - @list='$(nobase_pkginclude_HEADERS)'; test -n "$(pkgincludedir)" || list=; \ - $(am__nobase_list) | while read dir files; do \ - xfiles=; for file in $$files; do \ - if test -f "$$file"; then xfiles="$$xfiles $$file"; \ - else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ - test -z "$$xfiles" || { \ - test "x$$dir" = x. || { \ - echo "$(MKDIR_P) '$(DESTDIR)$(pkgincludedir)/$$dir'"; \ - $(MKDIR_P) "$(DESTDIR)$(pkgincludedir)/$$dir"; }; \ - echo " $(INSTALL_HEADER) $$xfiles '$(DESTDIR)$(pkgincludedir)/$$dir'"; \ - $(INSTALL_HEADER) $$xfiles "$(DESTDIR)$(pkgincludedir)/$$dir" || exit $$?; }; \ - done - -uninstall-nobase_pkgincludeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(nobase_pkginclude_HEADERS)'; test -n "$(pkgincludedir)" || list=; \ - $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ - dir='$(DESTDIR)$(pkgincludedir)'; $(am__uninstall_files_from_dir) - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgincludedir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-nobase_pkgincludeHEADERS - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-libLTLIBRARIES - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-libLTLIBRARIES \ - uninstall-nobase_pkgincludeHEADERS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libLTLIBRARIES clean-libtool ctags distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am \ - install-libLTLIBRARIES install-man \ - install-nobase_pkgincludeHEADERS install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-libLTLIBRARIES \ - uninstall-nobase_pkgincludeHEADERS - - -#libflext_@SYSTEM@_la_LIBADD = @libs@ -#libflext_@SYSTEM@_d_la_LIBADD = @libs@ - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/externals/grill/trunk/flext/source/flatom.cpp b/externals/grill/trunk/flext/source/flatom.cpp deleted file mode 100644 index 1d3cf24e5..000000000 --- a/externals/grill/trunk/flext/source/flatom.cpp +++ /dev/null @@ -1,172 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3669 $ -$LastChangedDate: 2009-03-05 18:34:39 -0500 (Thu, 05 Mar 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flatom.cpp - \brief Definitions for handling the t_atom type and lists thereof. -*/ - -#include "flext.h" -#include <cstring> // for memcpy - -#include "flpushns.h" - -#if FLEXT_SYS != FLEXT_SYS_JMAX -int flext::CmpAtom(const t_atom &a,const t_atom &b) -{ - if(GetType(a) == GetType(b)) { - switch(GetType(a)) { - case A_FLOAT: return GetFloat(a) == GetFloat(b)?0:(GetFloat(a) < GetFloat(b)?-1:1); -#if FLEXT_SYS == FLEXT_SYS_MAX - case A_INT: return GetInt(a) == GetInt(b)?0:(GetInt(a) < GetInt(b)?-1:1); -#endif - case A_SYMBOL: return GetSymbol(a) == GetSymbol(b)?0:strcmp(GetString(a),GetString(b)); -#if FLEXT_SYS == FLEXT_SYS_PD - case A_POINTER: return GetPointer(a) == GetPointer(b)?0:(GetPointer(a) < GetPointer(b)?-1:1); -#endif - default: - // can't be compared..... - FLEXT_ASSERT(false); - return 0; - } - } - else - return GetType(a) < GetType(b)?-1:1; -} -#else -#error Not implemented -#endif - -t_atom *flext::CopyList(int argc,const t_atom *argv) -{ - t_atom *dst = new t_atom[argc]; - memcpy(dst,argv,argc*sizeof(t_atom)); - return dst; -} - -void flext::CopyAtoms(int cnt,t_atom *dst,const t_atom *src) -{ - if(dst < src) - // forward - memcpy(dst,src,cnt*sizeof(t_atom)); - else - // backwards - while(cnt--) dst[cnt] = src[cnt]; -} - -void flext::AtomList::Alloc(int sz,int keepix,int keeplen,int keepto) -{ - if(lst) { - if(cnt == sz) { - if(keepix >= 0 && keepix != keepto) { - int c = keeplen >= 0?keeplen:cnt; - FLEXT_ASSERT(c+keepto <= cnt); - FLEXT_ASSERT(c+keepix <= cnt); - CopyAtoms(c,lst+keepto,lst+keepix); - } - - return; // no change - } - - t_atom *l; - if(sz) { - l = new t_atom[sz]; - if(keepix >= 0) { - // keep contents - int c = keeplen >= 0?keeplen:(cnt > sz?sz:cnt); - FLEXT_ASSERT(c+keepto <= sz); - FLEXT_ASSERT(c+keepix <= cnt); - CopyAtoms(c,l+keepto,lst+keepix); - } - } - else - l = NULL; - - Free(); - lst = l,cnt = sz; - } - else { - FLEXT_ASSERT(cnt == 0); - if(sz) lst = new t_atom[cnt = sz]; - } -} - -flext::AtomList::~AtomList() { Free(); } - -void flext::AtomList::Free() -{ - if(lst) { - delete[] lst; lst = NULL; - cnt = 0; - } - else - FLEXT_ASSERT(cnt == 0); -} - -flext::AtomList &flext::AtomList::Set(int argc,const t_atom *argv,int offs,bool resize) -{ - int ncnt = argc+offs; - if(resize) Alloc(ncnt); - - // argv can be NULL independently from argc - if(argv) CopyAtoms(argc,lst+offs,argv); - - return *this; -} - -int flext::AtomList::Compare(const AtomList &a) const -{ - if(Count() == a.Count()) { - for(int i = 0; i < Count(); ++i) { - int cmp = CmpAtom(lst[i],a[i]); - if(cmp) return cmp; - } - return 0; - } - else - return Count() < a.Count()?-1:1; -} - -flext::AtomListStaticBase::~AtomListStaticBase() { Free(); } - -void flext::AtomListStaticBase::Alloc(int sz,int keepix,int keeplen,int keepto) -{ - if(sz <= precnt) { - // small enough for pre-allocated space - - if(lst != predata && lst) { - // currently allocated memory is larger than what we need - - if(keepix >= 0) { - // keep contents - int c = keeplen >= 0?keeplen:(cnt > sz?sz:cnt); - FLEXT_ASSERT(c+keepto <= precnt); - FLEXT_ASSERT(c+keepix <= cnt); - CopyAtoms(c,predata+keepto,lst+keepix); - } - - // free allocated memory - AtomList::Free(); - } - lst = predata,cnt = sz; - } - else - AtomList::Alloc(sz,keepix,keeplen,keepto); -} - -void flext::AtomListStaticBase::Free() -{ - if(lst != predata) AtomList::Free(); - else lst = NULL,cnt = 0; -} - -#include "flpopns.h" diff --git a/externals/grill/trunk/flext/source/flatom_part.cpp b/externals/grill/trunk/flext/source/flatom_part.cpp deleted file mode 100644 index cd87573db..000000000 --- a/externals/grill/trunk/flext/source/flatom_part.cpp +++ /dev/null @@ -1,43 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3657 $ -$LastChangedDate: 2009-02-09 17:58:30 -0500 (Mon, 09 Feb 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flatom_part.cpp - \brief Definitions for handling the t_atom type and lists thereof. -*/ - -#include "flext.h" - -#include "flpushns.h" - -int flext::AtomList::Get(t_atom *argv,int mxsz) const -{ - int argc = Count(); - if(mxsz >= 0 && argc > mxsz) argc = mxsz; - - for(int i = 0; i < argc; ++i) SetAtom(argv[i],lst[i]); - - return argc; -} - - -void flext::AtomList::GetPart(int offs,int len,AtomList &ret) const -{ - if(offs+len > Count()) { - len = Count()-offs; - if(len < 0) len = 0; - } - - ret(len,Atoms()+offs); -} - -#include "flpopns.h" diff --git a/externals/grill/trunk/flext/source/flatom_pr.cpp b/externals/grill/trunk/flext/source/flatom_pr.cpp deleted file mode 100644 index a1b040b05..000000000 --- a/externals/grill/trunk/flext/source/flatom_pr.cpp +++ /dev/null @@ -1,136 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3686 $ -$LastChangedDate: 2009-06-10 12:44:55 -0400 (Wed, 10 Jun 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flatom_pr.cpp - \brief Definitions for printing and scanning the t_atom type. -*/ - -#include "flext.h" -#include <cctype> -#include <cstdlib> -#include <cstring> -#include <cstdio> - -#include "flpushns.h" - -#ifdef _MSC_VER -#define snprintf _snprintf -#endif - -bool flext::PrintAtom(const t_atom &a,char *buf,size_t bufsz) -{ - bool ok = true; - if(IsFloat(a)) { - ok = STD::snprintf(buf,bufsz,"%g",GetFloat(a)) > 0; - } - else if(IsInt(a)) { - ok = STD::snprintf(buf,bufsz,"%i",GetInt(a)) > 0; - } - else if(IsSymbol(a)) { - const char *c = GetString(a); - size_t len = strlen(c); - if(len < bufsz) { - memcpy(buf,c,len); buf[len] = 0; - ok = true; - } - else - ok = false; - } -#if FLEXT_SYS == FLEXT_SYS_PD -#ifndef FLEXT_COMPATIBLE - else if(IsPointer(a)) { - ok = STD::snprintf(buf,bufsz,"%p",GetPointer(a)) > 0; - } -#endif - else if(a.a_type == A_DOLLAR) { - ok = STD::snprintf(buf,bufsz,"$%d",a.a_w.w_index) > 0; - } - else if(a.a_type == A_DOLLSYM) { - ok = STD::snprintf(buf,bufsz,"$%s",GetString(a)) > 0; - } -#elif FLEXT_SYS == FLEXT_SYS_MAX - else if(a.a_type == A_DOLLAR) { - ok = STD::snprintf(buf,bufsz,"$%ld",a.a_w.w_long) > 0; - } -#else -//#pragma message("Not implemented") -#endif - else { - error("flext: atom type unknown"); - ok = false; - } - return ok; -} - -bool flext::PrintList(int argc,const t_atom *argv,char *buf,size_t bufsz) -{ - bool ok = true; - for(int i = 0; ok && i < argc && bufsz > 0; ++i) { - if(i) { *(buf++) = ' '; --bufsz; } // prepend space - - if(PrintAtom(argv[i],buf,bufsz)) { - size_t len = strlen(buf); - buf += len,bufsz -= len; - } - else - ok = false; - } - *buf = 0; - return ok; -} - - -const char *flext::ScanAtom(t_atom &a,const char *c) -{ - // skip leading whitespace - while(*c && isspace(*c)) ++c; - if(!*c) return NULL; - - // go to next space and save character - char *end = const_cast<char *>(c); - while(*end && !isspace(*end)) ++end; - char sv = *end; - - float fres; - // first try float - char *endp; - // see if it's a float - thanks to Frank Barknecht - fres = (float)strtod(c,&endp); - if(*c && endp != c) { - int ires = (int)fres; // try a cast - if(fres == ires) - SetInt(a,ires); - else - SetFloat(a,fres); - } - // no, it's a symbol - else - SetString(a,c); - - *end = sv; - - return end; -} - -int flext::ScanList(int argc,t_atom *argv,const char *buf) -{ - int read; - for(read = 0; read < argc; ++read) - { - buf = ScanAtom(argv[read],buf); - if(!buf) break; - } - return read; -} - -#include "flpopns.h" diff --git a/externals/grill/trunk/flext/source/flattr.cpp b/externals/grill/trunk/flext/source/flattr.cpp deleted file mode 100644 index a38ae8294..000000000 --- a/externals/grill/trunk/flext/source/flattr.cpp +++ /dev/null @@ -1,450 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3669 $ -$LastChangedDate: 2009-03-05 18:34:39 -0500 (Thu, 05 Mar 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flattr.cpp - \brief Attribute handling for the flext base class -*/ - -#include "flext.h" -#include <cstring> -#include <cctype> -#include <set> - -#include "flpushns.h" - -#ifdef __MWERKS__ -#define STD std -#else -#define STD -#endif - -flext_base::AttrItem::AttrItem(const t_symbol *t,metharg tp,methfun f,int fl): - Item(NULL),index(0), - flags(fl|afl_shown), - argtp(tp),fun(f), - counter(NULL),tag(t) -{} - - -/* -flext_base::AttrDataCont::AttrDataCont() {} - -flext_base::AttrDataCont::~AttrDataCont() -{ - for(iterator it = begin(); it != end(); ++it) - if(it.data()) delete it.data(); -} -*/ - -flext_base::AttrDataCont::~AttrDataCont() { clear(); } - -void flext_base::AttrDataCont::clear() -{ - for(iterator it(*this); it; ++it) delete it.data(); - TablePtrMap<const t_symbol *,AttrData *,8>::clear(); -} - -//! Add get and set attributes -void flext_base::AddAttrib(ItemCont *aa,ItemCont *ma,const t_symbol *asym,metharg tp,methfun gfun,methfun sfun) -{ - AttrItem *a,*b; - - FLEXT_ASSERT(asym != sym__ && asym != sym_list && asym != sym_float && asym != sym_symbol && asym != sym_anything); - - if(sfun) // if commented out, there will be a warning at run-time (more user-friendly) - { - a = new AttrItem(asym,tp,sfun,AttrItem::afl_set); - a->index = aa->Members(); - aa->Add(a,asym); - - // bind attribute to a method - MethItem *mi = new MethItem(a); - mi->SetArgs(sfun,1,new metharg(tp)); - ma->Add(mi,asym); - } - else - a = NULL; - - if(gfun) // if commented out, there will be a warning at run-time (more user-friendly) - { - b = new AttrItem(asym,tp,gfun,AttrItem::afl_get); - b->index = aa->Members(); - aa->Add(b,asym); - - static char tmp[256] = "get"; - strcpy(tmp+3,GetString(asym)); - - // bind attribute to a method - MethItem *mi = new MethItem(b); - mi->SetArgs(gfun,0,NULL); - ma->Add(mi,MakeSymbol(tmp)); - } - else - b = NULL; - - if(a && b) { - a->counter = b; - b->counter = a; - } -} - -void flext_base::AddAttrib(const t_symbol *attr,metharg tp,methfun gfun,methfun sfun) -{ - if(HasAttributes()) - AddAttrib(ThAttrs(),ThMeths(),attr,tp,gfun,sfun); - else - error("%s - attribute procession is not enabled!",thisName()); -} - -void flext_base::AddAttrib(t_classid c,const t_symbol *attr,metharg tp,methfun gfun,methfun sfun) -{ - AddAttrib(ClAttrs(c),ClMeths(c),attr,tp,gfun,sfun); -} - -void flext_base::ListAttrib(AtomList &la) const -{ - typedef TablePtrMap<int,const t_symbol *,32> AttrList; - AttrList list[2]; - ItemCont *clattrhead = ClAttrs(thisClassId()); - - int i; - for(i = 0; i <= 1; ++i) { - ItemCont *a = i?attrhead:clattrhead; - if(a && a->Contained(0)) { - ItemSet &ai = a->GetInlet(); - for(ItemSet::iterator as(ai); as; ++as) { - for(Item *al = as.data(); al; al = al->nxt) { - AttrItem *aa = (AttrItem *)al; - list[i].insert(aa->index,as.key()); - break; - } - } - } - } - - la((int)(list[0].size()+list[1].size())); - int ix = 0; - for(i = 0; i <= 1; ++i) - for(AttrList::iterator it(list[i]); it; ++it) - SetSymbol(la[ix++],it.data()); -} - -int flext_base::CheckAttrib(int argc,const t_atom *argv) -{ - int offs = 0; - for(; offs < argc; ++offs) - if(IsString(argv[offs]) && *GetString(argv[offs]) == '@') break; - return offs; -} - -bool flext_base::InitAttrib(int argc,const t_atom *argv) -{ - int cur,nxt; - for(cur = 0; cur < argc; cur = nxt) { - // find next @symbol - for(nxt = cur+1; nxt < argc; ++nxt) - if(IsString(argv[nxt]) && *GetString(argv[nxt]) == '@') break; - - const t_symbol *tag = MakeSymbol(GetString(argv[cur])+1); - - // find puttable attribute - AttrItem *attr = FindAttrib(tag,false,true); - if(attr) { - // make an entry (there are none beforehand...) -/* - AttrDataCont::iterator it = attrdata->find(tag); - if(it == attrdata->end()) { - AttrDataCont::pair pair; - pair.key() = tag; - pair.data() = new AttrData; - it = attrdata->insert(attrdata->begin(),pair); - } - - AttrData &a = *it.data(); - a.SetInit(true); - a.SetInitValue(nxt-cur-1,argv+cur+1); - - // pass value to object - SetAttrib(tag,attr,a.GetInitValue()); -*/ - AttrData *a = attrdata->find(tag); - if(!a) { - AttrData *old = attrdata->insert(tag,a = new AttrData); - FLEXT_ASSERT(!old); - } - - a->SetInit(true); - a->SetInitValue(nxt-cur-1,argv+cur+1); - - // pass value to object - SetAttrib(tag,attr,a->GetInitValue()); - } - } - return true; -} - -bool flext_base::ListAttrib() const -{ - if(HasAttributes()) { - // defined in flsupport.cpp - AtomListStatic<32> la; - ListAttrib(la); - ToOutAnything(GetOutAttr(),sym_attributes,la.Count(),la.Atoms()); - return true; - } - else - return false; -} - -flext_base::AttrItem *flext_base::FindAttrib(const t_symbol *tag,bool get,bool msg) const -{ - ItemCont *clattrhead = ClAttrs(thisClassId()); - - // first search within object scope - AttrItem *a = NULL; - { - for(Item *lst = attrhead->FindList(tag); lst; lst = lst->nxt) { - AttrItem *b = (AttrItem *)lst; - if(get?b->IsGet():b->IsSet()) { a = b; break; } - } - } - - // then (if nothing found) search within class scope - if(!a) { - for(Item *lst = clattrhead->FindList(tag); lst; lst = lst->nxt) { - AttrItem *b = (AttrItem *)lst; - if(get?b->IsGet():b->IsSet()) { a = b; break; } - } - } - - if(!a && msg) { - // print a message - error("%s - %s: attribute not found",thisName(),GetString(tag)); - } - return a; -} - -bool flext_base::SetAttrib(const t_symbol *tag,int argc,const t_atom *argv) -{ - // search for matching attribute - AttrItem *a = FindAttrib(tag,false,true); - return a && SetAttrib(tag,a,argc,argv); -} - -bool flext_base::SetAttrib(const t_symbol *tag,AttrItem *a,int argc,const t_atom *argv) -{ - if(a->fun) { - bool ok = true; - - t_any any; - switch(a->argtp) { - case a_float: - if(argc == 1 && CanbeFloat(argv[0])) { - any.ft = GetAFloat(argv[0]); - ((methfun_1)a->fun)(this,any); - } - else ok = false; - break; - case a_int: - if(argc == 1 && CanbeInt(argv[0])) { - any.it = GetAInt(argv[0]); - ((methfun_1)a->fun)(this,any); - } - else ok = false; - break; - case a_symbol: - if(argc == 1 && IsSymbol(argv[0])) { - t_atom at; - GetParamSym(at,GetSymbol(argv[0]),thisCanvas()); - any.st = const_cast<t_symbol *>(GetSymbol(at)); - ((methfun_1)a->fun)(this,any); - } - else ok = false; - break; - case a_bool: - if(argc == 1 && CanbeBool(argv[0])) { - any.bt = GetABool(argv[0]); - ((methfun_1)a->fun)(this,any); - } - else ok = false; - break; - case a_LIST: { - AtomListStatic<16> la(argc); - for(int i = 0; i < argc; ++i) - if(IsSymbol(argv[i])) - GetParamSym(la[i],GetSymbol(argv[i]),thisCanvas()); - else - la[i] = argv[i]; - - any.vt = &la; - ((methfun_1)a->fun)(this,any); - break; - } - default: - ERRINTERNAL(); - } - - if(!ok) - post("%s - wrong arguments for attribute %s",thisName(),GetString(tag)); - } - else - post("%s - attribute %s has no get method",thisName(),GetString(tag)); - return true; -} - - -bool flext_base::GetAttrib(const t_symbol *tag,AttrItem *a,AtomList &la) const -{ - bool ok = true; - // main attribute tag - if(a) { - if(a->fun) { - t_any any; - switch(a->argtp) { - case a_float: { - ((methfun_1)a->fun)(const_cast<flext_base *>(this),any); - la(1); - SetFloat(la[0],any.ft); - break; - } - case a_int: { - ((methfun_1)a->fun)(const_cast<flext_base *>(this),any); - la(1); - SetInt(la[0],any.it); - break; - } - case a_bool: { - ((methfun_1)a->fun)(const_cast<flext_base *>(this),any); - la(1); - SetBool(la[0],any.bt); - break; - } - case a_symbol: { - ((methfun_1)a->fun)(const_cast<flext_base *>(this),any); - la(1); - SetSymbol(la[0],any.st); - break; - } - case a_LIST: { - any.vt = &la; - ((methfun_1)a->fun)(const_cast<flext_base *>(this),any); - break; - } - default: - ERRINTERNAL(); - ok = false; - } - } - else { - post("%s - attribute %s has no get method",thisName(),GetString(tag)); - ok = false; - } - } - else { - error("%s - %s: attribute not found",thisName(),GetString(tag)); - ok = false; - } - return ok; -} - -bool flext_base::GetAttrib(const t_symbol *s,AtomList &a) const -{ - AttrItem *attr = FindAttrib(s,true); - return attr && GetAttrib(s,attr,a); -} - -//! \param tag symbol "get[attribute]" -bool flext_base::DumpAttrib(const t_symbol *tag,AttrItem *a) const -{ - AtomListStatic<16> la; - bool ret = GetAttrib(tag,a,la); - if(ret) { - ToOutAnything(GetOutAttr(),a->tag,la.Count(),la.Atoms()); - } - return ret; -} - -bool flext_base::DumpAttrib(const t_symbol *attr) const -{ - AttrItem *item = FindAttrib(attr,true); - return item && DumpAttrib(attr,item); -} - -bool flext_base::BangAttrib(const t_symbol *attr,AttrItem *item) -{ - AtomListStatic<16> val; - AttrItem *item2; - if(!item->IsGet()) - item = item->Counterpart(); - if(item) { - item2 = item->Counterpart(); - return item2 && GetAttrib(attr,item,val) && SetAttrib(attr,item2,val); - } - else - return false; -} - -bool flext_base::BangAttrib(const t_symbol *attr) -{ - AttrItem *item = FindAttrib(attr,true); - return item && BangAttrib(attr,item); -} - -bool flext_base::BangAttribAll() -{ - ItemCont *clattrhead = ClAttrs(thisClassId()); - - for(int i = 0; i <= 1; ++i) { - ItemCont *a = i?attrhead:clattrhead; - if(a) { - ItemSet &ai = a->GetInlet(); // \todo need to check for presence of inlet 0? -/* - for(ItemSet::iterator as = ai.begin(); as != ai.end(); ++as) { - for(Item *al = as.data(); al; al = al->nxt) { - AttrItem *a = (AttrItem *)al; - if(a->IsGet() && a->BothExist()) BangAttrib(as.key(),a); - } - } -*/ - for(ItemSet::iterator as(ai); as; ++as) { - for(Item *al = as.data(); al; al = al->nxt) { - AttrItem *a = (AttrItem *)al; - if(a->IsGet() && a->BothExist()) BangAttrib(as.key(),a); - } - } - } - } - return true; -} - -bool flext_base::ShowAttrib(AttrItem *a,bool show) const -{ - if(show) a->flags |= AttrItem::afl_shown; - else a->flags &= ~AttrItem::afl_shown; - - // also change counterpart, if present - AttrItem *ca = a->Counterpart(); - if(ca) { - if(show) ca->flags |= AttrItem::afl_shown; - else ca->flags &= ~AttrItem::afl_shown; - } - return true; -} - -bool flext_base::ShowAttrib(const t_symbol *attr,bool show) const -{ - AttrItem *item = FindAttrib(attr,true); - return item && ShowAttrib(item,show); -} - -#include "flpopns.h" diff --git a/externals/grill/trunk/flext/source/flattr_ed.cpp b/externals/grill/trunk/flext/source/flattr_ed.cpp deleted file mode 100644 index 78c3d9112..000000000 --- a/externals/grill/trunk/flext/source/flattr_ed.cpp +++ /dev/null @@ -1,880 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3692 $ -$LastChangedDate: 2009-06-17 09:46:01 -0400 (Wed, 17 Jun 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flattr_ed.cpp - \brief Attribute editor (property dialog) for PD -*/ - -#include "flext.h" - -#include "flpushns.h" - -#if FLEXT_SYS == FLEXT_SYS_PD - -#ifdef _MSC_VER -#pragma warning( disable : 4091 ) -#endif - - -#if defined(FLEXT_ATTRHIDE) || PD_MINOR_VERSION < 37 -#define __FLEXT_WIDGETBEHAVIOR -#endif - -////////////////////////////////////////////////////// -#ifdef __FLEXT_WIDGETBEHAVIOR -// we need non-public headers! -#pragma message("Attention: non-public headers used - binary is bound to a specific version") - -#include <g_canvas.h> - -/* -#ifdef PD_DEVEL_VERSION -#define __FLEXT_CLONEWIDGET -#endif -*/ - -#ifndef __FLEXT_CLONEWIDGET -#include <m_imp.h> -#endif - -#endif -////////////////////////////////////////////////////// - - -#include <string.h> -#include <stdio.h> - - -#ifdef FLEXT_ATTRHIDE -#ifndef __FLEXT_CLONEWIDGET -static t_visfn ori_vis = NULL; -static t_selectfn ori_select = NULL; -#endif -#endif - - -#ifdef FLEXT_ATTRHIDE -#define ST_DISABLED "" -#else -#define ST_DISABLED " -state disabled" -#endif - - -#ifndef FLEXT_NOATTREDIT - -//! generate the script for the property dialog -static void tclscript() -{ - static bool havecode = false; - if(havecode) return; - else havecode = true; - - sys_vgui(const_cast<char *>( - "proc flext_escatoms {lst} {\n" - "set tmp {}\n" - "foreach a $lst {\n" -// "set a [regsub {\\\\} $a \\\\\\\\]\n" // replace \ with \\ ... must be first - "set a [regsub {\\$} $a \\\\$]\n" // replace $ with \$ -// "set a [regsub {\\{} $a \\\\\\{]\n" // replace { with \{ -// "set a [regsub {\\}} $a \\\\\\}]\n" // replace } with \} -// "set a [regsub {\\ } $a \\\\\\ ]\n" // replace space with \space - "set a [regsub {,} $a \\\\,]\n" // replace , with \, - "set a [regsub {;} $a \\\\\\;]\n" // replace ; with \; - "lappend tmp $a\n" - "}\n" - "return $tmp\n" - "}\n") - ); - sys_vgui(const_cast<char *>( - "proc flext_makevalue {id ix} {\n" - // strip "." from the TK id to make a variable name suffix - "set vid [string trimleft $id .]\n" - - "set var_attr_name [concat [concat var_name_$ix]_$vid ]\n" - "set var_attr_init [concat [concat var_init_$ix]_$vid ]\n" - "set var_attr_val [concat [concat var_val_$ix]_$vid ]\n" - "set var_attr_save [concat [concat var_save_$ix]_$vid ]\n" - "set var_attr_type [concat [concat var_type_$ix]_$vid ]\n" - - "global $var_attr_name $var_attr_init $var_attr_val $var_attr_save $var_attr_type\n" - - "set lst {}\n" - - "if { [expr $$var_attr_type] != 0 } {\n" - // attribute is puttable - - "lappend lst [eval concat $$var_attr_name]\n" - - // process current value - "set tmp [flext_escatoms [eval concat $$var_attr_val]]\n" - "set lst [concat $lst [llength $tmp] $tmp]\n" - - // process init value - "set tmp [flext_escatoms [eval concat $$var_attr_init]]\n" - "set lst [concat $lst [llength $tmp] $tmp]\n" - - "lappend lst [eval concat $$var_attr_save]\n" - "}\n" - - // return list - "return $lst\n" - "}\n") - ); - sys_vgui(const_cast<char *>( - "proc flext_apply {id ix} {\n" - "set lst [flext_makevalue $id $ix]\n" - "set lst [eval concat $lst]\n" // remove curly braces from character escaping - "pd [concat $id attributedialog $lst \\;]\n" - "}\n" - - "proc flext_applyall {id alen} {\n" - // make a list of the attribute values (including save flags) - - "set lst {}\n" - "for {set ix 1} {$ix <= $alen} {incr ix} {\n" - "set lst [concat $lst [flext_makevalue $id $ix]]\n" - "}\n" - "set lst [eval concat $lst]\n" // remove curly braces from character escaping - - "pd [concat $id attributedialog $lst \\;]\n" - "}\n" - - "proc flext_cancel {id} {\n" - "pd [concat $id cancel \\;]\n" - "}\n" - - "proc flext_ok {id alen} {\n" - "flext_applyall $id $alen\n" - "flext_cancel $id\n" - "}\n") - ); - sys_vgui(const_cast<char *>( - "proc flext_help {id} {\n" - "toplevel $id.hw -class [winfo class .]\n" - "wm title $id.hw \"Flext attribute editor help\"\n" - - "frame $id.hw.buttons\n" - "pack $id.hw.buttons -side bottom -fill x -pady 2m\n" - - "text $id.hw.text -relief sunken -bd 2 -yscrollcommand \"$id.hw.scroll set\" -setgrid 1 -width 80 -height 10 -wrap word\n" - "scrollbar $id.hw.scroll -command \"$id.hw.text yview\"\n" - "pack $id.hw.scroll -side right -fill y\n" - "pack $id.hw.text -expand yes -fill both\n" - - "button $id.hw.buttons.ok -text OK -command \"destroy $id.hw\"\n" - "pack $id.hw.buttons.ok -side left -expand 1\n" - "bind $id.hw {<KeyPress-Escape>} \"destroy $id.hw\"\n" - - "$id.hw.text tag configure big -font {Arial 10 bold}\n" - "$id.hw.text configure -font {Arial 8 bold}\n" - "$id.hw.text insert end \"" - "The flext attribute editor lets you query or change attribute values exposed by an external object. \" big \"\n\n" - "Local variable names ($-values) will only be saved as such for init values. " - "Alternatively, # can be used instead of $.\n" - "Ctrl-Button on a text field will open an editor window where text can be entered more comfortably.\n" - "\"\n" - "$id.hw.text configure -state disabled\n" - "}\n") - ); - sys_vgui(const_cast<char *>( - "proc flext_copyval {dst src} {\n" - "global $src $dst\n" - "set $dst [expr $$src]\n" - "}\n" - - "proc flext_textcopy {id idtxt var} {\n" - "global $var\n" - "set txt [eval $idtxt get 0.0 end]\n" - // strip newline characters - "set tmp {}\n" - "foreach t $txt { lappend tmp [string trim $t] }\n" - "set $var $tmp\n" - "destroy $id\n" - "}\n") - ); - sys_vgui(const_cast<char *>( - "proc flext_textzoom {id var title attr edit} {\n" - "global $var\n" - "toplevel $id.w -class [winfo class .]\n" - "wm title $id.w [concat $title \" @\" $attr]\n" -// "wm iconname $w \"text\"\n" -// "positionWindow $id.w\n" - - "frame $id.w.buttons\n" - "pack $id.w.buttons -side bottom -fill x -pady 2m\n" - - "text $id.w.text -relief sunken -bd 2 -yscrollcommand \"$id.w.scroll set\" -setgrid 1 -width 80 -height 20\n" - "scrollbar $id.w.scroll -command \"$id.w.text yview\"\n" - "pack $id.w.scroll -side right -fill y\n" - "pack $id.w.text -expand yes -fill both\n" - - // insert text with newlines - "set txt [split [expr $$var] ,]\n" - "set lines [llength $txt]\n" - "for {set ix 0} {$ix < ($lines-1)} {incr ix} {\n" - "$id.w.text insert end [string trim [lindex $txt $ix] ]\n" - "$id.w.text insert end \" ,\\n\"\n" - "}\n" - "$id.w.text insert end [string trim [lindex $txt end] ]\n" - - "$id.w.text mark set insert 0.0\n" - - "if { $edit != 0 } then {\n" - "button $id.w.buttons.ok -text OK -command \"flext_textcopy $id.w $id.w.text $var\"\n" - "pack $id.w.buttons.ok -side left -expand 1\n" -// "bind $id.w {<Shift-KeyPress-Return>} \"flext_textcopy $id.w $id.w.text $var\"\n" - "} " - "else { $id.w.text configure -state disabled }\n" - - "button $id.w.buttons.cancel -text Cancel -command \"destroy $id.w\"\n" - "pack $id.w.buttons.cancel -side left -expand 1\n" - "bind $id.w {<KeyPress-Escape>} \"destroy $id.w\"\n" - "}\n") - ); - sys_vgui(const_cast<char *>( - "proc pdtk_flext_dialog {id title attrlist} {\n" - "set vid [string trimleft $id .]\n" - "set alen [expr [llength $attrlist] / 6 ]\n" - - "toplevel $id -class [winfo class .]\n" - "wm title $id $title\n" - "wm protocol $id WM_DELETE_WINDOW [concat flext_cancel $id]\n" - - "frame $id.frame\n" - "set row 0\n" - - // set grow parameters - "grid columnconfigure $id.frame 0 -weight 1\n" // label - "grid columnconfigure $id.frame {1 4} -weight 3\n" // value entry - "grid columnconfigure $id.frame {2 3} -weight 0\n" // copy buttons - "grid columnconfigure $id.frame 5 -weight 1\n" // apply button - "grid columnconfigure $id.frame {6 7 8} -weight 0\n" // radio buttons - - "grid rowconfigure $id.frame {0 1} -weight 0\n" - - // set column labels - "label $id.frame.label -text {attribute} -font {Helvetica 9 bold}\n" - "label $id.frame.init -text {initial value} -font {Helvetica 9 bold}\n" - "label $id.frame.copy -text {copy} -font {Helvetica 9 bold}\n" - "label $id.frame.val -text {current value} -font {Helvetica 9 bold}\n" - "label $id.frame.apply -text {} -font {Helvetica 9 bold}\n" // why must this be empty? - "foreach {i txt} {0 {don't\rsave} 1 {do\rinit} 2 {always\rsave} } {\n" - "label $id.frame.b$i -text $txt -font {Helvetica 7 bold}\n" - "}\n" - - "grid config $id.frame.label -column 0 -row $row \n" - "grid config $id.frame.init -column 1 -row $row \n" - "grid config $id.frame.copy -column 2 -columnspan 2 -row $row \n" - "grid config $id.frame.val -column 4 -row $row \n" - "grid config $id.frame.apply -column 5 -row $row \n" - "foreach i {0 1 2} { grid config $id.frame.b$i -column [expr $i + 6] -row $row }\n" - "incr row\n" - - // Separator - "frame $id.frame.sep -relief ridge -bd 1 -height 2\n" - "grid config $id.frame.sep -column 0 -columnspan 9 -row $row -pady 2 -sticky {snew}\n" - "incr row\n") - ); - sys_vgui(const_cast<char *>( - "set ix 1\n" - "foreach {an av ai atp asv afl} $attrlist {\n" - "grid rowconfigure $id.frame $row -weight 1\n" - - // get attribute name - "set var_attr_name [concat [concat var_name_$ix]_$vid ]\n" - "global $var_attr_name\n" - "set $var_attr_name $an\n" - - // get attribute init value (list) - "set var_attr_init [concat [concat var_init_$ix]_$vid ]\n" - "global $var_attr_init\n" - "set $var_attr_init $ai\n" - - // get attribute value (list) - "set var_attr_val [concat [concat var_val_$ix]_$vid ]\n" - "global $var_attr_val\n" - "set $var_attr_val $av\n" - - // get save flag - "set var_attr_save [concat [concat var_save_$ix]_$vid ]\n" - "global $var_attr_save\n" - "set $var_attr_save $asv\n" - - // get type flag - "set var_attr_type [concat [concat var_type_$ix]_$vid ]\n" - "global $var_attr_type\n" - "set $var_attr_type $afl\n" - - // add dialog elements to window - - // attribute label - "label $id.frame.label-$ix -text \"$an :\" -font {Helvetica 8 bold}\n" - "grid config $id.frame.label-$ix -column 0 -row $row -padx 5 -sticky {e}\n") - ); - sys_vgui(const_cast<char *>( - "if { $afl != 0 } {\n" - // attribute is puttable - - // entry field for initial value - // entry field for current value - - // choose entry field type - "switch $atp {\n" - "0 - 1 {\n" // int or float - "entry $id.frame.init-$ix -textvariable $var_attr_init" ST_DISABLED "\n" - "entry $id.frame.val-$ix -textvariable $var_attr_val\n" - "}\n" - "2 {\n" // boolean - "checkbutton $id.frame.init-$ix -variable $var_attr_init" ST_DISABLED "\n" - "checkbutton $id.frame.val-$ix -variable $var_attr_val\n" - "}\n" - "3 {\n" // symbol - "entry $id.frame.init-$ix -textvariable $var_attr_init" ST_DISABLED "\n" - "entry $id.frame.val-$ix -textvariable $var_attr_val\n" - "}\n" - "4 - 5 {\n" // list or unknown - "entry $id.frame.init-$ix -textvariable $var_attr_init" ST_DISABLED "\n" - "bind $id.frame.init-$ix {<Control-Button-1>} \" flext_textzoom $id.frame.init-$ix $var_attr_init { $title } $an 1\"\n" - "entry $id.frame.val-$ix -textvariable $var_attr_val\n" - "bind $id.frame.val-$ix {<Control-Button-1>} \" flext_textzoom $id.frame.val-$ix $var_attr_val { $title } $an 1\"\n" - "}\n" - "}\n" - - "grid config $id.frame.init-$ix -column 1 -row $row -padx 5 -sticky {ew}\n" - "grid config $id.frame.val-$ix -column 4 -row $row -padx 5 -sticky {ew}\n" - - // copy buttons - "button $id.frame.b2i-$ix -text {<-} -height 1 -command \" flext_copyval $var_attr_init $var_attr_val \"" ST_DISABLED "\n" - "grid config $id.frame.b2i-$ix -column 2 -row $row -sticky {ew}\n" - "button $id.frame.b2c-$ix -text {->} -height 1 -command \" flext_copyval $var_attr_val $var_attr_init \"\n" - "grid config $id.frame.b2c-$ix -column 3 -row $row -sticky {ew}\n" - - // apply button - "button $id.frame.apply-$ix -text {Apply} -height 1 -command \" flext_apply $id $ix \"\n" - "grid config $id.frame.apply-$ix -column 5 -row $row -sticky {ew}\n" - - // radiobuttons - "foreach {i c} {0 black 1 blue 2 red} {\n" - "radiobutton $id.frame.b$i-$ix -value $i -foreground $c -variable $var_attr_save" ST_DISABLED "\n" - "grid config $id.frame.b$i-$ix -column [expr $i + 6] -row $row\n" - "}\n") - ); - sys_vgui(const_cast<char *>( - "} else {\n" - // attribute is gettable only - - // entry field for current value (read-only) - - // choose display field type - "switch $atp {\n" - "0 - 1 {\n" // int or float - "entry $id.frame.val-$ix -textvariable $var_attr_val -state disabled\n" - "}\n" - "2 {\n" // boolean - "checkbutton $id.frame.val-$ix -variable $var_attr_val -state disabled\n" - "}\n" - "3 {\n" // symbol - "entry $id.frame.val-$ix -textvariable $var_attr_val -state disabled\n" - "}\n" - "4 - 5 {\n" // list or unknown - "entry $id.frame.val-$ix -textvariable $var_attr_val -state disabled\n" - "bind $id.frame.val-$ix {<Control-Button-1>} \" flext_textzoom $id.frame.val-$ix $var_attr_val { $title } $an 0\"\n" - "}\n" - "}\n" - -// "entry $id.fval.val-$ix -textvariable $var_attr_val -state disabled\n" - "grid config $id.frame.val-$ix -column 4 -row $row -padx 5 -sticky {ew}\n" - - "label $id.frame.readonly-$ix -text \"read-only\"\n" - "grid config $id.frame.readonly-$ix -column 6 -columnspan 3 -row $row -padx 5 -sticky {ew}\n" - "}\n" - - // increase counter - "incr ix\n" - "incr row\n" - "}\n" - - // empty space - "grid rowconfigure $id.frame $row -weight 1\n" - "frame $id.frame.dummy\n" - "grid config $id.frame.dummy -column 0 -columnspan 9 -row $row\n" - "incr row\n") - ); - sys_vgui(const_cast<char *>( - // Separator - "frame $id.sep2 -relief ridge -bd 1 -height 2\n" - - // Buttons - "frame $id.buttonframe\n" - - "button $id.buttonframe.cancel -text {Leave} -width 20 -command \" flext_cancel $id \"\n" - "button $id.buttonframe.apply -text {Apply all} -width 20 -command \" flext_applyall $id $alen \"\n" - "button $id.buttonframe.ok -text {Apply & Leave} -width 20 -command \" flext_ok $id $alen \"\n" - "button $id.buttonframe.help -text {Help} -width 10 -command \" flext_help $id \"\n" - - "grid columnconfigure $id.buttonframe {0 1 2 3} -weight 1\n" - "grid config $id.buttonframe.cancel $id.buttonframe.apply $id.buttonframe.ok $id.buttonframe.help -padx 2 -sticky {snew}\n" - -// "scrollbar $id.scroll -command \"$id.frame yview\"\n" - - "pack $id.buttonframe $id.sep2 -pady 2 -expand 0 -side bottom -fill x\n" -// "pack $id.scroll -side right -fill y\n" - "pack $id.frame -expand 1 -side top -fill both\n" - - // Key bindings - "bind $id {<KeyPress-Escape>} \" flext_cancel $id \"\n" - "bind $id {<KeyPress-Return>} \" flext_ok $id $alen \"\n" - "bind $id {<Shift-KeyPress-Return>} \" flext_applyall $id $alen \"\n" - "}\n") - ); -} - -#endif - - -#ifdef __FLEXT_WIDGETBEHAVIOR -static t_widgetbehavior widgetbehavior; -#endif - -void flext_base::SetGfx(t_classid c) -{ - t_class *cl = getClass(c); - // widgetbehavior struct MUST be resident... (static is just ok here) - -#ifdef __FLEXT_WIDGETBEHAVIOR -#ifndef __FLEXT_CLONEWIDGET - widgetbehavior.w_visfn = cl->c_wb->w_visfn; - widgetbehavior.w_selectfn = cl->c_wb->w_selectfn; - widgetbehavior.w_getrectfn = cl->c_wb->w_getrectfn; - widgetbehavior.w_displacefn = cl->c_wb->w_displacefn; - widgetbehavior.w_activatefn = cl->c_wb->w_activatefn; - widgetbehavior.w_deletefn = cl->c_wb->w_deletefn; - widgetbehavior.w_selectfn = cl->c_wb->w_selectfn; - widgetbehavior.w_clickfn = cl->c_wb->w_clickfn; -#else - widgetbehavior.w_visfn = text_widgetbehavior.w_visfn; - widgetbehavior.w_selectfn = text_widgetbehavior.w_selectfn; - widgetbehavior.w_getrectfn = text_widgetbehavior.w_getrectfn; - widgetbehavior.w_displacefn = text_widgetbehavior.w_displacefn; - widgetbehavior.w_activatefn = text_widgetbehavior.w_activatefn; - widgetbehavior.w_deletefn = text_widgetbehavior.w_deletefn; - widgetbehavior.w_selectfn = text_widgetbehavior.w_selectfn; - widgetbehavior.w_clickfn = text_widgetbehavior.w_clickfn; -#endif -#endif - -#ifdef FLEXT_ATTRHIDE - -#ifndef __FLEXT_CLONEWIDGET - ori_vis = widgetbehavior.w_visfn; - ori_select = widgetbehavior.w_selectfn; -#endif - widgetbehavior.w_visfn = (t_visfn)cb_GfxVis; - widgetbehavior.w_selectfn = (t_selectfn)cb_GfxSelect; - -#if PD_MINOR_VERSION >= 37 - class_setsavefn(cl,(t_savefn)cb_GfxSave); -#else - widgetbehavior.w_savefn = (t_savefn)cb_GfxSave; -#endif - -#endif // FLEXT_ATTRHIDE - - -#ifndef FLEXT_NOATTREDIT - -#if PD_MINOR_VERSION >= 37 - class_setpropertiesfn(cl,(t_propertiesfn)cb_GfxProperties); -#else - widgetbehavior.w_propertiesfn = (t_propertiesfn)cb_GfxProperties; -#endif - - tclscript(); -#endif // FLEXT_NOATTREDIT - -#ifdef __FLEXT_WIDGETBEHAVIOR - class_setwidget(cl, &widgetbehavior); -#endif -} - - -#ifndef FLEXT_NOATTREDIT - -static size_t escapeit(char *dst,size_t maxlen,const char *src) -{ - char *d; - for(d = dst; *src && (d-dst) < (int)maxlen; ++src) { - if(*src == '%') - *(d++) = '%',*(d++) = '%'; - else - *(d++) = *src; - } - *d = 0; - return d-dst; -} - -void flext_base::cb_GfxProperties(flext_hdr *c, t_glist *) -{ - flext_base *th = thisObject(c); - char buf[1000]; - - // beginning of proc - sys_vgui(const_cast<char *>("proc pdtk_flext_dialog_%p {title} {\n"),th); - - sys_vgui(const_cast<char *>("pdtk_flext_dialog $title {\n")); - - // add title - t_text *x = (t_text *)c; - FLEXT_ASSERT(x->te_binbuf); - - int argc = binbuf_getnatom(x->te_binbuf); - t_atom *argv = binbuf_getvec(x->te_binbuf); - - PrintList(argc,argv,buf,sizeof(buf)); - sys_vgui(const_cast<char *>("%s } {\n"),buf); - - AtomListStatic<32> la; - th->ListAttrib(la); - int cnt = la.Count(); - - for(int i = 0; i < cnt; ++i) { - const t_symbol *sym = GetSymbol(la[i]); - - // get attribute - AttrItem *gattr = th->FindAttrib(sym,true); - // get puttable attribute - AttrItem *pattr = gattr?gattr->Counterpart():th->FindAttrib(sym,false); - - // get flags - int sv; - const AtomList *initdata; - const AttrData *a = th->attrdata->find(sym); -// AttrDataCont::iterator it = th->attrdata->find(sym); -// if(it == th->attrdata->end()) - if(!a) - sv = 0,initdata = NULL; - else { -// const AttrData &a = *it.data(); - if(a->IsSaved()) - sv = 2; - else if(a->IsInit()) - sv = 1; - else - sv = 0; - initdata = a->IsInitValue()?&a->GetInitValue():NULL; - } - - // get attribute type - int tp; - bool list; - switch((gattr?gattr:pattr)->argtp) { - case a_int: tp = 0; list = false; break; - case a_float: tp = 1; list = false; break; - case a_bool: tp = 2; list = false; break; - case a_symbol: tp = 3; list = true; break; - case a_list: - case a_LIST: tp = 4; list = true; break; - default: - tp = 5; list = true; - FLEXT_ASSERT(false); - } - - sys_vgui(const_cast<char *>(list?"%s {":"%s "),GetString(sym)); - - AtomListStatic<32> lv; - if(gattr) { // gettable attribute is present - // Retrieve attribute value - th->GetAttrib(sym,gattr,lv); - - char *b = buf; *b = 0; - for(int i = 0; i < lv.Count(); ++i) { - char tmp[100]; - PrintAtom(lv[i],tmp,sizeof tmp); - b += escapeit(b,sizeof(buf)+buf-b,tmp); - if(i < lv.Count()-1) { *(b++) = ' '; *b = 0; } - } - sys_vgui(const_cast<char *>("%s"),buf); - } - else - sys_vgui(const_cast<char *>("{}")); - - sys_vgui(const_cast<char *>(list?"} {":" ")); - - if(pattr) { - // if there is initialization data take this, otherwise take the current data - const AtomList &lp = initdata?*initdata:static_cast<const AtomList &>(lv); - - char *b = buf; *b = 0; - for(int i = 0; i < lp.Count(); ++i) { - char tmp[256]; - PrintAtom(lp[i],tmp,sizeof(tmp)); - b += escapeit(b,sizeof(buf)+buf-b,tmp); - if(i < lp.Count()-1) { *(b++) = ' '; *b = 0; } - } - sys_vgui(const_cast<char *>("%s"),buf); - } - else - sys_vgui(const_cast<char *>("{}")); - - - sys_vgui(const_cast<char *>(list?"} %i %i %i \n":" %i %i %i \n"),tp,sv,pattr?(pattr->BothExist()?2:1):0); - } - - sys_vgui(const_cast<char *>(" } }\n")); // end of proc - - STD::sprintf(buf,"pdtk_flext_dialog_%p %%s\n",th); - gfxstub_new((t_pd *)th->thisHdr(), th->thisHdr(),buf); - - //! \todo delete proc in TCL space -} - -bool flext_base::cb_AttrDialog(flext_base *th,int argc,const t_atom *argv) -{ - for(int i = 0; i < argc; ) { - FLEXT_ASSERT(IsSymbol(argv[i])); - - // get name - const t_symbol *aname = GetSymbol(argv[i]); - i++; - - // get current value - FLEXT_ASSERT(CanbeInt(argv[i])); - int ccnt,coffs; - ccnt = GetAInt(argv[i]); - coffs = ++i; - i += ccnt; - - // get init value - FLEXT_ASSERT(CanbeInt(argv[i])); - int icnt,ioffs; - icnt = GetAInt(argv[i]); - ioffs = ++i; - i += icnt; - - FLEXT_ASSERT(i < argc); - int sv = GetAInt(argv[i]); - ++i; - - // find puttable attribute - AttrItem *attr = th->FindAttrib(aname,false); - if(attr) { - bool ret = th->SetAttrib(aname,attr,ccnt,argv+coffs); - FLEXT_ASSERT(ret); - - AttrData *a = th->attrdata->find(aname); - if(sv >= 1) { - // if data not present create it - if(!a) { - AttrData *old = th->attrdata->insert(aname,a = new AttrData); - FLEXT_ASSERT(!old); - } - - a->SetSave(sv == 2); - a->SetInit(true); - a->SetInitValue(icnt,argv+ioffs); - } - else { - if(a) { - // if data is present reset flags - a->SetSave(false); - a->SetInit(false); - - // let init data as is - } - } - } - else { - post("%s - Attribute %s can't be set",th->thisName(),GetString(aname)); - } - } - return true; -} - -#endif // FLEXT_NOATTREDIT - - -#ifdef FLEXT_ATTRHIDE - -static void BinbufAdd(t_binbuf *b,const t_atom &at,bool transdoll) -{ - if(transdoll && at.a_type == A_DOLLAR) { - char tbuf[MAXPDSTRING]; - sprintf(tbuf, "$%d", at.a_w.w_index); - binbuf_addv(b,"s",flext::MakeSymbol(tbuf)); - } - else if(transdoll && at.a_type == A_DOLLSYM) { - char tbuf[MAXPDSTRING]; - sprintf(tbuf, "$%s", at.a_w.w_symbol->s_name); - binbuf_addv(b,"s",flext::MakeSymbol(tbuf)); - } - else - binbuf_add(b,1,const_cast<t_atom *>(&at)); -} - -void flext_base::BinbufArgs(t_binbuf *b,t_binbuf *args,bool withname,bool transdoll) -{ - int argc = binbuf_getnatom(args); - t_atom *argv = binbuf_getvec(args); - int i,cnt = CheckAttrib(argc,argv); - // process the creation arguments - for(i = withname?0:1; i < cnt; ++i) BinbufAdd(b,argv[i],transdoll); -} - -void flext_base::BinbufAttr(t_binbuf *b,bool transdoll) -{ - // process the attributes - AtomListStatic<32> la,lv; - ListAttrib(la); - int i,cnt = la.Count(); - - for(i = 0; i < cnt; ++i) { - const t_symbol *sym = GetSymbol(la[i]); - const AtomList *lref = NULL; - - AttrData *a = attrdata->find(sym); - if(a) { - if(a->IsInit() && a->IsInitValue()) { - lref = &a->GetInitValue(); - -#if 0 ///////////////////////////////////////////////////////////// - // check for $-parameters - lv = lref->Count(); - for(int j = 0; j < lref->Count(); ++j) { - const char *s = IsSymbol((*lref)[j])?GetString((*lref)[j]):NULL; - if(s && s[0] == '$') { // TODO: More refined checking? - // prepend a "\" - char tmp[256]; *tmp = '\\'; - strcpy(tmp+1,s); - SetString(lv[j],tmp); - } - else - lv[i] = (*lref)[j]; - } - - lref = &lv; -#endif ///////////////////////////////////////////////////////////// - } -// else if(a.IsSaved()) { - else if(a->IsSaved()) { - AttrItem *attr = FindAttrib(sym,true); - - // attribute must be gettable (so that the data can be retrieved) and puttable (so that the data can be inited) - if(attr && attr->BothExist()) { - GetAttrib(sym,attr,lv); - lref = &lv; - } - } - } - - if(lref) { - char attrname[256]; *attrname= '@'; - // store name - strcpy(attrname+1,GetString(sym)); - binbuf_addv(b,"s",MakeSymbol(attrname)); - - // store value - for(int j = 0; j < lref->Count(); ++j) BinbufAdd(b,(*lref)[j],transdoll); - } - } -} - -//! Strip the attributes off the object command line -void flext_base::cb_GfxVis(flext_hdr *c, t_glist *gl, int vis) -{ - if(!gl->gl_isgraph || gl->gl_havewindow) { - // show object if it's not inside a GOP - - flext_base *th = thisObject(c); - t_text *x = (t_text *)c; - FLEXT_ASSERT(x->te_binbuf); - - t_binbuf *b = binbuf_new(); - th->BinbufArgs(b,x->te_binbuf,true,false); - - // delete old object box text - binbuf_free(x->te_binbuf); - // set new one - x->te_binbuf = b; - - t_rtext *rt = glist_findrtext(gl,x); - rtext_retext(rt); - - // now display the changed text with the normal drawing function - #ifdef __FLEXT_CLONEWIDGET - text_widgetbehavior.w_visfn((t_gobj *)c,gl,vis); - #else - ori_vis((t_gobj *)c,gl,vis); - #endif - } - // else don't show -} - -void flext_base::cb_GfxSelect(flext_hdr *c,t_glist *gl,int state) -{ - t_text *x = (t_text *)c; - flext_base *th = thisObject(c); - - if(!gl->gl_isgraph || gl->gl_havewindow) { - if(state || !gl->gl_editor->e_textdirty) { - // change text only on selection - // OR if text has _not_ been changed - // -> since object will not be recreated we have to get rid - // of the attribute text - - FLEXT_ASSERT(x->te_binbuf); - - t_binbuf *b = binbuf_new(); - th->BinbufArgs(b,x->te_binbuf,true,false); - if(state) th->BinbufAttr(b,false); - - // delete old object box text - binbuf_free(x->te_binbuf); - // set new one - x->te_binbuf = b; - - t_rtext *rt = glist_findrtext(gl,x); - rtext_retext(rt); - - // fix lines - canvas_fixlinesfor(gl,x); - } - - // call original function - #ifdef __FLEXT_CLONEWIDGET - text_widgetbehavior.w_selectfn((t_gobj *)c,gl,state); - #else - ori_select((t_gobj *)c,gl,state); - #endif - } -} - -void flext_base::cb_GfxSave(flext_hdr *c, t_binbuf *b) -{ - flext_base *th = thisObject(c); - t_text *t = (t_text *)c; - binbuf_addv(b, "ssiis", gensym("#X"),gensym("obj"), t->te_xpix, t->te_ypix,MakeSymbol(th->thisName())); - - // process the object arguments - th->BinbufArgs(b,t->te_binbuf,false,true); - // process the attributes - th->BinbufAttr(b,true); - // add end sign - binbuf_addv(b, ";"); -} - -#endif // FLEXT_ATTRHIDE - -#endif // FLEXT_SYS_PD - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/flbase.cpp b/externals/grill/trunk/flext/source/flbase.cpp deleted file mode 100644 index 8db95282d..000000000 --- a/externals/grill/trunk/flext/source/flbase.cpp +++ /dev/null @@ -1,213 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3669 $ -$LastChangedDate: 2009-03-05 18:34:39 -0500 (Thu, 05 Mar 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flbase.cpp - \brief Implementation of the internal flext base classes. - - \remark This is all derived from GEM by Mark Danks -*/ - -#include "flext.h" -#include "flinternal.h" -#include <cstring> -#include <cctype> -#include <cstdlib> - -#if FLEXT_SYS == FLEXT_SYS_PD -#ifdef _MSC_VER - #pragma warning (push) - #pragma warning (disable:4091) -#endif -// for canvas_realizedollar (should be non-critical) -#include <g_canvas.h> -#ifdef _MSC_VER - #pragma warning (pop) -#endif -#endif - -#include "flpushns.h" - -///////////////////////////////////////////////////////// -// -// flext_obj -// -///////////////////////////////////////////////////////// - -flext_hdr *flext_obj::m_holder = NULL; -const t_symbol *flext_obj::m_holdname = NULL; -flext_class *flext_obj::m_holdclass = NULL; -int flext_obj::m_holdaargc = 0; -const t_atom *flext_obj::m_holdaargv = NULL; -//bool flext_obj::process_attributes = false; - -bool flext_obj::initing = false; -bool flext_obj::exiting = false; -bool flext_obj::init_ok; - -//void flext_obj::ProcessAttributes(bool attr) { process_attributes = attr; } - -#if FLEXT_SYS == FLEXT_SYS_MAX -static const t_symbol *sym__shP = NULL; -#endif - -///////////////////////////////////////////////////////// -// Constructor -// -///////////////////////////////////////////////////////// -flext_obj :: FLEXT_CLASSDEF(flext_obj)() - : x_obj(m_holder) - , clss(m_holdclass) - , m_name(m_holdname) -{ -#if FLEXT_SYS == FLEXT_SYS_PD - m_canvas = canvas_getcurrent(); -#elif FLEXT_SYS == FLEXT_SYS_MAX - m_canvas = (t_patcher *)sym__shP->s_thing; - x_obj->curinlet = 0; -#endif -} - -///////////////////////////////////////////////////////// -// Destructor -// -///////////////////////////////////////////////////////// -flext_obj :: ~FLEXT_CLASSDEF(flext_obj)() -{ - x_obj = NULL; -} - -void flext_obj::__setup__(t_classid) -{ -#if FLEXT_SYS == FLEXT_SYS_MAX - sym__shP = MakeSymbol("#P"); -#endif - flext::Setup(); -} - -bool flext_obj::Init() { return true; } -bool flext_obj::Finalize() { return true; } -void flext_obj::Exit() {} - -void flext_obj::DefineHelp(t_classid c,const char *ref,const char *dir,bool addtilde) -{ -#if FLEXT_SYS == FLEXT_SYS_PD - char tmp[256]; - if(dir && *dir) { - strcpy(tmp,dir); - char *last = tmp+strlen(tmp)-1; - if(*last != '/') strcat(last,"/"); - strcat(last,ref); - } - else - strcpy(tmp,ref); - if(addtilde) strcat(tmp,"~"); - - ::class_sethelpsymbol(getClass(c),gensym(const_cast<char *>(tmp))); -#else - // no solution for Max/MSP yet -#endif -} - -bool flext_obj::GetParamSym(t_atom &dst,const t_symbol *sym,t_canvas *c) -{ -#if FLEXT_SYS == FLEXT_SYS_PD && defined(PD_MINOR_VERSION) && PD_MINOR_VERSION >= 37 - if(!c) c = canvas_getcurrent(); - - const char *s = GetString(sym); - if((s[0] == '$' || s[0] == '#') && isdigit(s[1])) { - const t_symbol *res; - // patcher parameter detected... get value! - if(s[0] != '$') { - char tmp[MAXPDSTRING]; - strcpy(tmp,s); - tmp[0] = '$'; - res = canvas_realizedollar(c,const_cast<t_symbol *>(MakeSymbol(tmp))); - } - else - res = canvas_realizedollar(c,const_cast<t_symbol *>(sym)); - - // check for number - const char *c = GetString(res); - while(*c && (isdigit(*c) || *c == '.')) ++c; - - if(!*c) - SetFloat(dst,(float)atof(GetString(res))); - else - SetSymbol(dst,res); - return true; - } - else -#else - #pragma message("Not implemented") -#endif - SetSymbol(dst,sym); - return true; -} - - -#if FLEXT_SYS == FLEXT_SYS_PD -// this declaration is missing in m_pd.h (0.37-0 and -1) -// but it is there in 0.37-2 (but how to tell which micro-version?) -extern "C" -#ifdef _MSC_VER -__declspec(dllimport) -#endif -void canvas_getargs(int *argcp, t_atom **argvp); -#endif - - -void flext_obj::GetCanvasArgs(AtomList &args) const -{ -#if FLEXT_SYS == FLEXT_SYS_PD - int argc; - t_atom *argv; - canvas_getargs(&argc,&argv); - args(argc,argv); -#else - #pragma message("Not implemented") - args(0); -#endif -} - - -#if FLEXT_SYS == FLEXT_SYS_MAX -static short patcher_myvol(t_patcher *x) -{ -#ifndef MM_UNIFIED // Max5 check... we don't know what to do yet - t_box *w; - if(x->p_vol) - return x->p_vol; - else if((w = (t_box *)x->p_vnewobj) != NULL) - return patcher_myvol(w->b_patcher); - else -#endif - return 0; -} -#endif - -void flext_obj::GetCanvasDir(char *buf,size_t bufsz) const -{ -#if FLEXT_SYS == FLEXT_SYS_PD - const char *c = GetString(canvas_getdir(thisCanvas())); - strncpy(buf,c,bufsz); -#elif FLEXT_SYS == FLEXT_SYS_MAX - short path = patcher_myvol(thisCanvas()); - // \TODO dangerous!! no check for path length (got to be long enough... like 1024 chars) - path_topathname(path,NULL,buf); -#else -#error Not implemented -#endif -} - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/flbase.h b/externals/grill/trunk/flext/source/flbase.h deleted file mode 100644 index 0c70310b1..000000000 --- a/externals/grill/trunk/flext/source/flbase.h +++ /dev/null @@ -1,599 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3686 $ -$LastChangedDate: 2009-06-10 12:44:55 -0400 (Wed, 10 Jun 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flbase.h - \brief Internal flext base classes - - \remark This uses some ideas of GEM invented by Mark Danks -*/ - -#ifndef __FLEXT_BASE_H -#define __FLEXT_BASE_H - -#include "flstdc.h" -#include "flsupport.h" - -#include "flpushns.h" - -class FLEXT_SHARE FLEXT_CLASSDEF(flext_obj); -typedef class FLEXT_CLASSDEF(flext_obj) flext_obj; - -// ---------------------------------------------------------------------------- -/*! \brief The obligatory PD or Max/MSP object header - \internal - - This is in a separate struct to assure that obj is the very first thing. - If it were the first thing in flext_obj, then there could be problems with - the virtual table of the C++ class. -*/ -// ---------------------------------------------------------------------------- - -struct FLEXT_SHARE flext_hdr -{ - /*! \defgroup FLEXT_OBJHEADER Actual PD or Max/MSP object - \internal - @{ - */ - - /*! \brief The obligatory object header - \note MUST reside at memory offset 0 (no virtual table possible) - */ - t_sigobj obj; - -#if FLEXT_SYS == FLEXT_SYS_PD - //! PD only: float signal holder for pd - float defsig; -#endif - -#if FLEXT_SYS == FLEXT_SYS_MAX - //! Max/MSP only: current inlet used by proxy objects - long curinlet; -#endif - - /*! \brief This points to the actual polymorphic C++ class - */ - FLEXT_CLASSDEF(flext_obj) *data; - - //! @} FLEXT_OBJHEADER -}; - - -class flext_class; - -// ---------------------------------------------------------------------------- -/*! \brief The mother of base classes for all flext external objects - - Each extern which is written in C++ needs to use the #defines at the - end of this header file. - - The define - - FLEXT_HEADER(NEW_CLASS, PARENT_CLASS) - - should be somewhere in your header file. - One of the defines like - - FLEXT_NEW(NEW_CLASS) - or - FLEXT_NEW_2(NEW_CLASS, float, float) - - should be the first thing in your implementation file. - NEW_CLASS is the name of your class and PARENT_CLASS is the - parent of your class. -*/ -// ---------------------------------------------------------------------------- - -class FLEXT_SHARE FLEXT_CLASSDEF(flext_obj): - public flext -{ - public: - -// --- creation ------------------------------------------------------- - - /*! \defgroup FLEXT_OBJ_CREATION Object creation/destruction functionality - @{ - */ - - //! Constructor - FLEXT_CLASSDEF(flext_obj)(); - - //! Destructor - virtual ~FLEXT_CLASSDEF(flext_obj)(); - - /*! \brief Signal a construction problem - \note This should only be used in the constructor. Object creation will be aborted. - */ - static void InitProblem() { init_ok = false; } - - /*! \brief Enable/disable attribute procession (default = false) - \note Use that in the static class setup function (also library setup function) - */ -// static void ProcessAttributes(bool attr); //{ process_attributes = attr; } - - //! Virtual function called at creation time (but after the constructor) - // this also guarantees that there are no instances of flext_obj - virtual bool Init(); - - //! Virtual function called after Init() has succeeded - virtual bool Finalize(); - - //! Virtual function called at destruction (before the destructor) - virtual void Exit(); - - //! @} FLEXT_OBJ_CREATION - -// --- info ------------------------------------------------------- - - /*! \defgroup FLEXT_OBJ_INFO Get various information - @{ - */ - - //! Get the object's canvas - t_canvas *thisCanvas() const { return m_canvas; } - - //! Get the PD or Max/MSP object - t_sigobj *thisHdr() { FLEXT_ASSERT(x_obj); return &x_obj->obj; } - const t_sigobj *thisHdr() const { FLEXT_ASSERT(x_obj); return &x_obj->obj; } - //! Get the class name (as a string) - const char *thisName() const { return GetString(m_name); } - //! Get the class name (as a symbol) - const t_symbol *thisNameSym() const { return m_name; } - //! Get the class pointer - t_class *thisClass() const; - - //! Typedef for unique class identifier - typedef flext_class *t_classid; - - //! Get unique id for object class - t_classid thisClassId() const { return clss; } - - //! Get class pointer from class id - static t_class *getClass(t_classid id); - - static bool HasAttributes(t_classid id); - static bool IsDSP(t_classid id); - static bool HasDSPIn(t_classid id); - static bool IsLib(t_classid id); - - bool HasAttributes() const; - bool IsLib() const; - bool IsDSP() const; - bool HasDSPIn() const; - -#if FLEXT_SYS == FLEXT_SYS_MAX - // under Max/MSP it could be necessary to activate DSP also for message objects - // namely for those coexisting with DSP objects in a library - bool NeedDSP() const; -#endif - - //! @} FLEXT_OBJ_INFO - -// --- help ------------------------------------------------------- - - /*! \defgroup FLEXT_OBJ_HELP Help/assistance functionality - \remark This is still PD only - @{ - */ - - /*! Define the help reference symbol for a class - \internal - */ - static void DefineHelp(t_classid c,const char *ref,const char *dir = NULL,bool addtilde = false); - - //! 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_OBJ_INTERNAL Internal stuff - \internal - @{ - */ - - protected: - - //! backpointer to object header - mutable flext_hdr *x_obj; - - //! pointer to flext class definition - flext_class *clss; - -// static bool process_attributes; - -#if FLEXT_SYS == FLEXT_SYS_MAX - t_critical lock; - void Lock() { critical_enter(lock); } - void Unlock() { critical_exit(lock); } - static void SysLock() { critical_enter(0); } - static void SysUnlock() { critical_exit(0); } -#elif FLEXT_SYS == FLEXT_SYS_PD - void Lock() {} - void Unlock() {} - static void SysLock() {} - static void SysUnlock() {} -#else - #error -#endif - - class Locker - { - public: - Locker(flext_obj *o = NULL): obj(o) { if(obj) obj->Lock(); else SysLock(); } - Locker(flext_hdr *h): obj(h->data) { FLEXT_ASSERT(obj); obj->Lock(); } - ~Locker() { if(obj) obj->Unlock(); else SysUnlock(); } - protected: - flext_obj *obj; - }; - - private: - - //! The canvas (patcher) that the object is in - mutable t_canvas *m_canvas; - - //! Flag for successful object construction - static bool init_ok; - - // flags for init and exit procedure; - static bool initing; - static bool exiting; - - public: - - //! Creation callback - static void __setup__(t_classid); - - /*! \brief This is a temporary holder - \warning don't touch it! - */ - static flext_hdr *m_holder; - //! Hold object's class during construction - static flext_class *m_holdclass; - //! Hold object's name during construction - static const t_symbol *m_holdname; - - //! Holders for attribute procession flag - static int m_holdaargc; - static const t_atom *m_holdaargv; - - /*! The object's name in the patcher - \note objects of the same class can have various alias names! - */ - const t_symbol *m_name; - - /*! Return true if in object initialization phase - true when in constructor or Init, false when in Finalize - */ - static bool Initing() { return initing; } - - //! Return true if in object destruction phase (Exit or destructor) - static bool Exiting() { return exiting; } - - // Definitions for library objects - static void lib_init(const char *name,void setupfun()); - static void obj_add(bool lib,bool dsp,bool noi,bool attr,const char *idname,const char *names,void setupfun(t_classid),FLEXT_CLASSDEF(flext_obj) *(*newfun)(int,t_atom *),void (*freefun)(flext_hdr *),int argtp1,...); -#if FLEXT_SYS == FLEXT_SYS_MAX - static flext_hdr *obj_new(const t_symbol *s,short argc,t_atom *argv); -#else - static flext_hdr *obj_new(const t_symbol *s,int argc,t_atom *argv); -#endif - static void obj_free(flext_hdr *o); - - //! Convert $0 or #0 symbol into appropriate value - static bool GetParamSym(t_atom &dst,const t_symbol *s,t_canvas *c); - - //! Get the canvas arguments - void GetCanvasArgs(AtomList &args) const; - - //! Get the canvas/patcher directory - void GetCanvasDir(char *buf,size_t bufsz) const; - - //! @} FLEXT_OBJ_INTERNAL -}; - - -// max. 4 creation args (see the following macros) -#define FLEXT_MAXNEWARGS 4 - -// max. 5 method args (see the following macros) -#define FLEXT_MAXMETHARGS 5 - -// prefixes for the macro generated handler functions -#define FLEXT_CALL_PRE(F) flext_c_##F -#define FLEXT_THR_PRE(F) flext_t_##F -#define FLEXT_GET_PRE(F) flext_g_##F -#define FLEXT_SET_PRE(F) flext_s_##F - - -#ifndef FLEXT_ATTRIBUTES -/*! \brief Switch for global attribute processing - \note Should be set to 1 or 0 (or not be defined) - \ingroup FLEXT_DEFS -*/ -#define FLEXT_ATTRIBUTES \ -\ -0 - - -#elif FLEXT_ATTRIBUTES != 0 && FLEXT_ATTRIBUTES != 1 -#error "FLEXT_ATTRIBUTES must be 0 or 1" -#endif - -// ---------------------------------------- -// These should be used in the header -// ---------------------------------------- - - -#define FLEXT_REALHDR(NEW_CLASS, PARENT_CLASS) \ -public: \ -typedef NEW_CLASS thisType; \ -typedef PARENT_CLASS thisParent; \ -static FLEXT_CLASSDEF(flext_obj) *__init__(int argc,t_atom *argv); \ -static void __free__(flext_hdr *hdr) { delete hdr->data; } \ -static void __setup__(t_classid classid) { thisParent::__setup__(classid); } - - -#define FLEXT_REALHDR_S(NEW_CLASS, PARENT_CLASS,SETUPFUN) \ -public: \ -typedef NEW_CLASS thisType; \ -typedef PARENT_CLASS thisParent; \ -static FLEXT_CLASSDEF(flext_obj) *__init__(int argc,t_atom *argv); \ -static void __free__(flext_hdr *hdr) { delete hdr->data; } \ -static void __setup__(t_classid classid) { \ - thisParent::__setup__(classid); \ - thisType::SETUPFUN(classid); \ -} - -#define FLEXT_REALHDR_T(NEW_CLASS, PARENT_CLASS) \ -public: \ -typedef NEW_CLASS thisType; \ -typedef PARENT_CLASS thisParent; \ -typedef typename thisParent::t_classid t_classid; \ -static FLEXT_CLASSDEF(flext_obj) *__init__(int argc,t_atom *argv); \ -static void __free__(flext_hdr *hdr) { delete hdr->data; } \ -static void __setup__(t_classid classid) { thisParent::__setup__(classid); } - - -#define FLEXT_REALHDR_TS(NEW_CLASS, PARENT_CLASS,SETUPFUN) \ -public: \ -typedef NEW_CLASS thisType; \ -typedef PARENT_CLASS thisParent; \ -typedef typename thisParent::t_classid t_classid; \ -static FLEXT_CLASSDEF(flext_obj) *__init__(int argc,t_atom *argv); \ -static void __free__(flext_hdr *hdr) { delete hdr->data; } \ -static void __setup__(t_classid classid) { \ - thisParent::__setup__(classid); \ - thisType::SETUPFUN(classid); \ -} - - -// generate name of dsp/non-dsp setup function -#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX - #define FLEXT_STPF_0(NAME) NAME##_setup - #define FLEXT_STPF_1(NAME) NAME##_tilde_setup -#else -#error Platform not supported -#endif - -#define FLEXT_STPF_(DSP) FLEXT_STPF_##DSP -#define FLEXT_STPF(NAME,DSP) FLEXT_STPF_(DSP)(NAME) - - -// -------------------------------------------------------------------------------------- - - -// used in library setup functions to register the individual objects in the library -#define REAL_SETUP(cl,DSP) extern void FLEXT_STPF(cl,DSP)(); FLEXT_STPF(cl,DSP)(); - -#ifdef FLEXT_USE_NAMESPACE - #define _FLEXT_REAL_SETUP_NAME(NAME) ::##NAME##_setup -#else - #define _FLEXT_REAL_SETUP_NAME(NAME) NAME##_setup -#endif - -// specify that to define the library itself -#if FLEXT_SYS == FLEXT_SYS_PD -# define REAL_LIB_SETUP(NAME,SETUPFUN) extern "C" FLEXT_EXT void _FLEXT_REAL_SETUP_NAME(NAME)() { flext_obj::lib_init(#NAME,SETUPFUN); } -#elif FLEXT_SYS == FLEXT_SYS_MAX -# define REAL_LIB_SETUP(NAME,SETUPFUN) extern "C" FLEXT_EXT int main() { flext_obj::lib_init(#NAME,SETUPFUN); return 0; } -#else -# error Platform not supported -#endif - - -// -------------------------------------------------- - - -#define FLEXT_EXP_0 extern "C" FLEXT_EXT -#define FLEXT_EXP_1 -#define FLEXT_EXP(LIB) FLEXT_EXP_##LIB - -#if FLEXT_SYS == FLEXT_SYS_PD -#define FLEXT_OBJ_SETUP_0(NEW_CLASS,DSP) -#elif FLEXT_SYS == FLEXT_SYS_MAX -#define FLEXT_OBJ_SETUP_0(NEW_CLASS,DSP) extern "C" FLEXT_EXT int main() { FLEXT_STPF(NEW_CLASS,DSP)(); return 0; } -#else -#error not implemented -#endif - -#define FLEXT_OBJ_SETUP_1(NEW_CLASS,DSP) - -#define FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB) FLEXT_OBJ_SETUP_##LIB(NEW_CLASS,DSP) - - - -// ---------------------------------------- -// These definitions are used below -// ---------------------------------------- - -#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX - // maybe that's not necessary - #define FLEXTTPN_NULL A_NULL - #if FLEXT_SYS == FLEXT_SYS_PD - #define FLEXTTPN_PTR A_POINTER - #else - #define FLEXTTPN_INT A_INT - #define FLEXTTPN_DEFINT A_DEFINT - #endif - #define FLEXTTPN_FLOAT A_FLOAT - #define FLEXTTPN_DEFFLOAT A_DEFFLOAT - #define FLEXTTPN_SYM A_SYMBOL - #define FLEXTTPN_DEFSYM A_DEFSYMBOL - #define FLEXTTPN_VAR A_GIMME -#else - #define FLEXTTPN_NULL 0 - #define FLEXTTPN_PTR 1 - #define FLEXTTPN_INT 2 - #define FLEXTTPN_FLOAT 3 - #define FLEXTTPN_SYM 4 - #define FLEXTTPN_VAR 5 - #define FLEXTTPN_DEFINT 6 - #define FLEXTTPN_DEFFLOAT 7 - #define FLEXTTPN_DEFSYM 8 -#endif - -// Shortcuts for PD/Max type arguments -#define FLEXTTYPE_void FLEXTTPN_NULL -#define CALLBTYPE_void void -#define FLEXTTYPE_float FLEXTTPN_FLOAT -#define FLEXTTYPE_float0 FLEXTTPN_DEFFLOAT -#define CALLBTYPE_float float -#define FLEXTTYPE_t_float FLEXTTPN_FLOAT -#define CALLBTYPE_t_float t_float - -#if FLEXT_SYS == FLEXT_SYS_PD -#define FLEXTTYPE_int FLEXTTPN_FLOAT -#define FLEXTTYPE_int0 FLEXTTPN_DEFFLOAT -#define CALLBTYPE_int float -#define FLEXTTYPE_bool FLEXTTPN_FLOAT -#define FLEXTTYPE_bool0 FLEXTTPN_DEFFLOAT -#define CALLBTYPE_bool float -#elif FLEXT_SYS == FLEXT_SYS_MAX -#define FLEXTTYPE_int FLEXTTPN_INT -#define FLEXTTYPE_int0 FLEXTTPN_DEFINT -#define CALLBTYPE_int int -#define FLEXTTYPE_bool FLEXTTPN_INT -#define FLEXTTYPE_bool0 FLEXTTPN_DEFINT -#define CALLBTYPE_bool int -#else -#error Platform not supported -#endif - -#define FLEXTTYPE_t_symptr FLEXTTPN_SYM -#define FLEXTTYPE_t_symptr0 FLEXTTPN_DEFSYM -#define CALLBTYPE_t_symptr t_symptr -#define FLEXTTYPE_t_symtype FLEXTTYPE_t_symptr -#define FLEXTTYPE_t_symtype0 FLEXTTYPE_t_symptr0 -#define CALLBTYPE_t_symtype t_symptr -#define FLEXTTYPE_t_ptrtype FLEXTTPN_PTR -#define CALLBTYPE_t_ptrtype t_ptrtype - -#define FLEXTTP(TP) FLEXTTYPE_ ## TP -#define CALLBTP(TP) CALLBTYPE_ ## TP - - -#define ARGMEMBER_bool(a) GetBool(a) -#define ARGMEMBER_bool0(a) ARGMEMBER_bool(a) -#define ARGMEMBER_int(a) GetInt(a) -#define ARGMEMBER_int0(a) ARGMEMBER_int(a) -#define ARGMEMBER_float(a) GetFloat(a) -#define ARGMEMBER_float0(a) ARGMEMBER_float(a) -#define ARGMEMBER_t_symptr(a) GetSymbol(a) -#define ARGMEMBER_t_symptr0(a) ARGMEMBER_t_symptr(a) -#define ARGMEMBER_t_symtype(a) ARGMEMBER_t_symptr(a) -#define ARGMEMBER_t_symtype0(a) ARGMEMBER_t_symptr0(a) -#define ARGCAST(a,tp) ARGMEMBER_##tp(a) - -#define REAL_NEW(NAME,NEW_CLASS,DSP,NOI,LIB) \ -flext_obj *NEW_CLASS::__init__(int ,t_atom *) \ -{ \ - return new NEW_CLASS; \ -} \ -FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ -{ \ - flext_obj::obj_add(LIB,DSP,NOI,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,&NEW_CLASS::__free__,FLEXTTPN_NULL); \ -} \ -FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB) - -#define REAL_NEW_V(NAME,NEW_CLASS,DSP,NOI,LIB) \ -flext_obj *NEW_CLASS::__init__(int argc,t_atom *argv) \ -{ \ - return new NEW_CLASS(argc,argv); \ -} \ -FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ -{ \ - flext_obj::obj_add(LIB,DSP,NOI,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,&NEW_CLASS::__free__,FLEXTTPN_VAR,FLEXTTPN_NULL); \ -} \ -FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB) - -#define REAL_NEW_1(NAME,NEW_CLASS,DSP,NOI,LIB, TYPE1) \ -flext_obj *NEW_CLASS::__init__(int,t_atom *argv) \ -{ \ - return new NEW_CLASS(ARGCAST(argv[0],TYPE1)); \ -} \ -FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ -{ \ - flext_obj::obj_add(LIB,DSP,NOI,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,NEW_CLASS::__free__,FLEXTTP(TYPE1),FLEXTTPN_NULL); \ -} \ -FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB) - -#define REAL_NEW_2(NAME,NEW_CLASS,DSP,NOI,LIB, TYPE1,TYPE2) \ -flext_obj *NEW_CLASS::__init__(int,t_atom *argv) \ -{ \ - return new NEW_CLASS(ARGCAST(argv[0],TYPE1),ARGCAST(argv[1],TYPE2)); \ -} \ -FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ -{ \ - flext_obj::obj_add(LIB,DSP,NOI,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,NEW_CLASS::__free__,FLEXTTP(TYPE1),FLEXTTP(TYPE2),FLEXTTPN_NULL); \ -} \ -FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB) - -#define REAL_NEW_3(NAME,NEW_CLASS,DSP,NOI,LIB, TYPE1, TYPE2, TYPE3) \ -flext_obj *NEW_CLASS::__init__(int,t_atom *argv) \ -{ \ - return new NEW_CLASS(ARGCAST(argv[0],TYPE1),ARGCAST(argv[1],TYPE2),ARGCAST(argv[2],TYPE3)); \ -} \ -FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ -{ \ - flext_obj::obj_add(LIB,DSP,NOI,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,NEW_CLASS::__free__,FLEXTTP(TYPE1),FLEXTTP(TYPE2),FLEXTTP(TYPE3),FLEXTTPN_NULL); \ -} \ -FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB) - -#define REAL_NEW_4(NAME,NEW_CLASS,DSP,NOI,LIB, TYPE1,TYPE2, TYPE3, TYPE4) \ -flext_obj *NEW_CLASS::__init__(int,t_atom *argv) \ -{ \ - return new NEW_CLASS(ARGCAST(argv[0],TYPE1),ARGCAST(argv[1],TYPE2),ARGCAST(argv[2],TYPE3),ARGCAST(argv[3],TYPE4)); \ -} \ -FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ -{ \ - flext_obj::obj_add(LIB,DSP,NOI,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,NEW_CLASS::__free__,FLEXTTP(TYPE1),FLEXTTP(TYPE2),FLEXTTP(TYPE3),FLEXTTP(TYPE4),FLEXTTPN_NULL); \ -} \ -FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB) - - -// Shortcuts for method arguments: -#define FLEXTARG_float a_float -#define FLEXTARG_int a_int -#define FLEXTARG_bool a_int -#define FLEXTARG_t_float a_float -#define FLEXTARG_t_symtype a_symbol -#define FLEXTARG_t_symptr a_symbol -#define FLEXTARG_t_ptrtype a_pointer - -#define FLEXTARG(TP) FLEXTARG_ ## TP - -#include "flpopns.h" - -#endif diff --git a/externals/grill/trunk/flext/source/flbind.cpp b/externals/grill/trunk/flext/source/flbind.cpp deleted file mode 100644 index e8fad4004..000000000 --- a/externals/grill/trunk/flext/source/flbind.cpp +++ /dev/null @@ -1,267 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3692 $ -$LastChangedDate: 2009-06-17 09:46:01 -0400 (Wed, 17 Jun 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flbind.cpp - \brief Functionality for symbol-bound methods. -*/ - -#include "flext.h" -#include "flinternal.h" - -#include "flpushns.h" - -t_class *flext_base::pxbnd_class = NULL; - -#if FLEXT_SYS == FLEXT_SYS_MAX -t_object *px_freelist = NULL; -t_messlist px_messlist[3]; -#endif - -/*! \brief Set up the proxy class for symbol-bound methods -*/ -void flext_base::SetupBindProxy() -{ - // already initialized? - if(!pxbnd_class) { -#if FLEXT_SYS == FLEXT_SYS_PD - pxbnd_class = class_new(gensym(const_cast<char *>("flext_base bind proxy")),NULL,NULL,sizeof(pxbnd_object),CLASS_PD|CLASS_NOINLET, A_NULL); - add_anything(pxbnd_class,pxbnd_object::px_method); // for symbol-bound methods -#elif FLEXT_SYS == FLEXT_SYS_MAX - pxbnd_class = new t_class; - - pxbnd_class->c_sym = const_cast<t_symbol *>(sym__); - pxbnd_class->c_freelist = &px_freelist; - pxbnd_class->c_freefun = NULL; - pxbnd_class->c_size = sizeof(pxbnd_object); - pxbnd_class->c_tiny = 0; - pxbnd_class->c_noinlet = 1; - px_messlist[0].m_sym = (t_symbol *)pxbnd_class; - - px_messlist[1].m_sym = const_cast<t_symbol *>(sym_anything); - px_messlist[1].m_fun = (method)pxbnd_object::px_method; - px_messlist[1].m_type[0] = A_GIMME; - px_messlist[1].m_type[1] = 0; - - px_messlist[2].m_sym = 0; -#else -#pragma warning("Not implemented!") -#endif - } -} - - -flext_base::BindItem::BindItem(bool (*f)(flext_base *,t_symbol *s,int,t_atom *,void *data),pxbnd_object *p): - Item(NULL),fun(f),px(p) -{} - -flext_base::BindItem::~BindItem() -{ - if(px) { - FLEXT_ASSERT(!fun); // check if already unbound - object_free(&px->obj); - } -} - -void flext_base::BindItem::Unbind(const t_symbol *tag) -{ - if(px) { - FLEXT_ASSERT(fun); - -#if FLEXT_SYS == FLEXT_SYS_PD - pd_unbind(&px->obj.ob_pd,const_cast<t_symbol *>(tag)); -#elif FLEXT_SYS == FLEXT_SYS_MAX - if(tag->s_thing == (t_object *)px) - const_cast<t_symbol *>(tag)->s_thing = NULL; - else - error("flext - Binding to symbol %s not found",tag->s_name); -#else -# pragma warning("Not implemented") -#endif - - fun = NULL; - } -} - -#if FLEXT_SYS == FLEXT_SYS_PD - //! Bind object to a symbol - bool flext_base::Bind(const t_symbol *sym) { pd_bind(&thisHdr()->ob_pd,const_cast<t_symbol *>(sym)); return true; } - //! Unbind object from a symbol - bool flext_base::Unbind(const t_symbol *sym) { pd_unbind(&thisHdr()->ob_pd,const_cast<t_symbol *>(sym)); return true; } -#elif FLEXT_SYS == FLEXT_SYS_MAX - //! Bind object to a symbol - bool flext_base::Bind(const t_symbol *sym) { if(sym->s_thing) return false; else { const_cast<t_symbol *>(sym)->s_thing = (t_object *)thisHdr(); return true; } } - //! Unbind object from a symbol - bool flext_base::Unbind(const t_symbol *sym) { if(sym->s_thing != (t_object *)thisHdr()) return false; else { const_cast<t_symbol *>(sym)->s_thing = NULL; return true; } } -#endif - -bool flext_base::BindMethod(const t_symbol *sym,bool (*fun)(flext_base *,t_symbol *s,int argc,t_atom *argv,void *data),void *data) -{ - if(!bindhead) - bindhead = new ItemCont; - else { - // Search for symbol - for(Item *it = bindhead->FindList(sym); it; it = it->nxt) { - BindItem *item = (BindItem *)it; - - // go through all items with matching tag - if(item->fun == fun) { - // function already registered -> bail out! - post("%s - Symbol already bound with this method",thisName()); - return false; - } - } - } - - SetupBindProxy(); - -#if FLEXT_SYS == FLEXT_SYS_PD - pxbnd_object *px = (pxbnd_object *)object_new(pxbnd_class); -#elif FLEXT_SYS == FLEXT_SYS_MAX - pxbnd_object *px = (pxbnd_object *)newobject(px_messlist); -#else -#pragma warning("Not implemented!") -#endif - - if(px) { - BindItem *mi = new BindItem(fun,px); - bindhead->Add(mi,sym); - - px->init(this,mi,data); - -#if FLEXT_SYS == FLEXT_SYS_PD - pd_bind(&px->obj.ob_pd,const_cast<t_symbol *>(sym)); -#elif FLEXT_SYS == FLEXT_SYS_MAX - if(!sym->s_thing) - const_cast<t_symbol *>(sym)->s_thing = (t_object *)px; - else - error("%s - Symbol is already bound",thisName()); -#else -# pragma warning("Not implemented") -#endif - } - else - error("%s - Symbol proxy could not be created",thisName()); - - return true; -} - -bool flext_base::UnbindMethod(const t_symbol *sym,bool (*fun)(flext_base *,t_symbol *s,int argc,t_atom *argv,void *data),void **data) -{ - bool ok = false; - - if(bindhead && bindhead->Contained(0)) { - ItemSet &set = bindhead->GetInlet(); - -/* - ItemSet::iterator it1,it2; - if(sym) { - // specific tag - it1 = it2 = set.find(sym); it2++; - } - else { - // any tag - it1 = set.begin(),it2 = set.end(); - } - - BindItem *it = NULL; - for(ItemSet::iterator si = it1; si != it2 && !it; ++si) { - for(Item *i = si.data(); i; i = i->nxt) { - BindItem *item = (BindItem *)i; - if(!fun || item->fun == fun) - { - it = item; - if(!sym) sym = si.key(); - break; - } - } - } -*/ - BindItem *item = NULL; - if(sym) { - // symbol is given - Item *it = set.find(sym); - if(fun) { - // check if function matches - for(; it && static_cast<BindItem *>(it)->fun != fun; it = it->nxt) {} - } - item = static_cast<BindItem *>(it); - } - else { - // take any entry that matches - for(ItemSet::iterator si(set); si && !item; ++si) { - for(Item *i = si.data(); i; i = i->nxt) { - BindItem *bit = (BindItem *)i; - if(!fun || bit->fun == fun) { - item = bit; - if(!sym) sym = si.key(); - break; - } - } - } - } - - if(item) { - if(data) *data = item->px->data; - ok = bindhead->Remove(item,sym,0,false); - if(ok) { - item->Unbind(sym); - delete item; - } - } - } - return ok; -} - -bool flext_base::GetBoundMethod(const t_symbol *sym,bool (*fun)(flext_base *,t_symbol *s,int argc,t_atom *argv,void *data),void *&data) -{ - if(bindhead) { - // Search for symbol - for(Item *it = bindhead->FindList(sym); it; it = it->nxt) { - BindItem *item = (BindItem *)it; - - // go through all items with matching tag - if(item->fun == fun) { - data = item->px->data; - return true; - } - } - } - return false; -} - -bool flext_base::UnbindAll() -{ - if(bindhead && bindhead->Contained(0)) { - ItemSet &set = bindhead->GetInlet(); -// for(ItemSet::iterator si = set.begin(); si != set.end(); ++si) { - for(ItemSet::iterator si(set); si; ++si) { - Item *lst = si.data(); - while(lst) { - Item *nxt = lst->nxt; - BindItem *it = (BindItem *)lst; - it->Unbind(si.key()); - delete it; - lst = nxt; - } - } - set.clear(); - } - return true; -} - -void flext_base::pxbnd_object::px_method(pxbnd_object *c,const t_symbol *s,int argc,t_atom *argv) -{ - c->item->fun(c->base,(t_symbol *)s,argc,(t_atom *)argv,c->data); -} - -#include "flpopns.h" diff --git a/externals/grill/trunk/flext/source/flbuf.cpp b/externals/grill/trunk/flext/source/flbuf.cpp deleted file mode 100644 index 70764d299..000000000 --- a/externals/grill/trunk/flext/source/flbuf.cpp +++ /dev/null @@ -1,396 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2010 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. - -$LastChangedRevision: 3735 $ -$LastChangedDate: 2010-09-09 17:46:30 -0400 (Thu, 09 Sep 2010) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flbuf.cpp - \brief Implementation of the buffer abstraction class. -*/ - -#include "flext.h" -#include "flfeatures.h" -#include <set> - -#include "flpushns.h" - -#if FLEXT_SYS != FLEXT_SYS_JMAX - -#if FLEXT_SYS == FLEXT_SYS_PD -#define DIRTY_INTERVAL 0 // buffer dirty check in msec -#endif - -#if FLEXT_SYS == FLEXT_SYS_MAX -// defined in flsupport.cpp -extern const t_symbol *sym_buffer,*sym_size; -#endif - -#if FLEXT_SYS == FLEXT_SYS_PD -typedef std::set<flext::buffer *> Buffers; -static Buffers buffers; - -void cb_buffer_dsp(void *c,t_signal **sp) -{ - for(Buffers::iterator it = buffers.begin(); it != buffers.end(); ++it) - (*it)->Set(); -} -#endif - -flext::buffer::buffer(const t_symbol *bn,bool delayed): - sym(NULL),data(NULL), - chns(0),frames(0) -{ -#if FLEXT_SYS == FLEXT_SYS_PD - arr = NULL; - interval = DIRTY_INTERVAL; - isdirty = false; - ticking = false; - - // we probably should make this global... work on the set of registered buffers - tick = clock_new(this,(t_method)cb_tick); -#endif - - if(bn) Set(bn,delayed); - - ClearDirty(); - -#if FLEXT_SYS == FLEXT_SYS_PD - // register buffer - FLEXT_ASSERT(buffers.find(this) == buffers.end()); - buffers.insert(this); -#endif -} - -flext::buffer::~buffer() -{ -#if FLEXT_SYS == FLEXT_SYS_PD - if(tick) clock_free(tick); -#endif - -#if FLEXT_SYS == FLEXT_SYS_PD - // unregister buffer - FLEXT_ASSERT(buffers.find(this) != buffers.end()); - buffers.erase(this); -#endif -} - -int flext::buffer::Set(const t_symbol *s,bool nameonly) -{ - int ret = 0; - bool valid = data != NULL; // valid now? (before change) - - if(s && sym != s) { - ret = 1; - data = NULL; - frames = 0; - chns = 0; - } - - if(s && *GetString(s)) sym = s; - - if(!sym) { - if(valid) ret = -1; - } - else if(!nameonly) { -#if FLEXT_SYS == FLEXT_SYS_PD - arr = (t_garray *)pd_findbyclass(const_cast<t_symbol *>(sym), garray_class); - if(!arr) - { - if (*GetString(sym)) FLEXT_LOG1("buffer: no such array '%s'",GetString(sym)); -// sym = NULL; - if(valid) ret = -1; - } - else { - int frames1; - FLEXT_ARRAYTYPE *data1; - if(!FLEXT_PD_ARRAYGRAB(arr, &frames1, &data1)) - { - error("buffer: bad template '%s'",GetString(sym)); - data = NULL; - frames = 0; - if(valid) ret = -1; - } - else { - ret = 0; - garray_usedindsp(arr); - if(frames != frames1) { frames = frames1; if(!ret) ret = 1; } - Element *data2 = reinterpret_cast<Element *>(data1); - if(data != data2) { data = data2; if(!ret) ret = 1; } - chns = 1; - } - } -#elif FLEXT_SYS == FLEXT_SYS_MAX - if(sym->s_thing) { - const t_buffer *p = (const t_buffer *)sym->s_thing; - - FLEXT_ASSERT(!NOGOOD(p)); - - if(ob_sym(p) != sym_buffer) { - post("buffer: object '%s' not valid (type %s)",GetString(sym),GetString(ob_sym(p))); - if(valid) ret = -2; - } - else { -#ifdef FLEXT_DEBUG -// post("flext: buffer object '%s' - valid:%i samples:%i channels:%i frames:%i",GetString(sym),p->b_valid,p->b_frames,p->b_nchans,p->b_frames); -#endif - Element *data1 = reinterpret_cast<Element *>(p->b_samples); - if(data != data1) { data = data1; if(!ret) ret = 1; } - if(chns != p->b_nchans) { chns = p->b_nchans; if(!ret) ret = 1; } - if(frames != p->b_frames) { frames = p->b_frames; if(!ret) ret = 1; } - } - } - else { - FLEXT_LOG1("buffer: symbol '%s' not defined", GetString(sym)); - /*if(valid)*/ ret = -1; - } -#else -#error not implemented -#endif - } - - return ret; -} - -bool flext::buffer::Update() -{ - FLEXT_ASSERT(sym); - - bool upd = false; - -#if FLEXT_SYS == FLEXT_SYS_PD - if(!arr) return data == NULL; - - int frames1; - FLEXT_ARRAYTYPE *data1; - if(!FLEXT_PD_ARRAYGRAB(arr, &frames1, &data1)) { - data = NULL; - chns = 0; - frames = 0; - upd = true; - } - else { - Element *data2 = reinterpret_cast<Element *>(data1); - if(data != data2 || frames != frames1) { - data = data2; - frames = frames1; - upd = true; - } - } -#elif FLEXT_SYS == FLEXT_SYS_MAX - const t_buffer *p = (const t_buffer *)sym->s_thing; - if(p) { - FLEXT_ASSERT(!NOGOOD(p) && ob_sym(p) == sym_buffer); - - Element *data1 = reinterpret_cast<Element *>(p->b_samples); - if(data != data1 || chns != p->b_nchans || frames != p->b_frames) { - data = data1; - chns = p->b_nchans; - frames = p->b_frames; - upd = true; - } - } - else { - // buffer~ has e.g. been renamed - data = NULL; - chns = 0; - frames = 0; - upd = true; - } -#else -#error not implemented -#endif - return upd; -} - -flext::buffer::lock_t flext::buffer::Lock() -{ - FLEXT_ASSERT(sym); -#if FLEXT_SYS == FLEXT_SYS_PD - FLEXT_ASSERT(arr); -#ifdef _FLEXT_HAVE_PD_GARRAYLOCKS - garray_lock(arr); -#endif - return false; -#elif FLEXT_SYS == FLEXT_SYS_MAX - t_buffer *p = (t_buffer *)sym->s_thing; - FLEXT_ASSERT(p); -#ifdef _FLEXT_HAVE_MAX_INUSEFLAG - long old = p->b_inuse; -#ifdef ATOMIC_INCREMENT - ATOMIC_INCREMENT(&p->b_inuse); -#else - p->b_inuse = 1; -#endif - return old; -#else - return 0; -#endif -#else -#error not implemented -#endif -} - -void flext::buffer::Unlock(flext::buffer::lock_t prv) -{ - FLEXT_ASSERT(sym); -#if FLEXT_SYS == FLEXT_SYS_PD - FLEXT_ASSERT(arr); -#ifdef _FLEXT_HAVE_PD_GARRAYLOCKS - garray_unlock(arr); -#endif -#elif FLEXT_SYS == FLEXT_SYS_MAX - t_buffer *p = (t_buffer *)sym->s_thing; - FLEXT_ASSERT(p); -#ifdef _FLEXT_HAVE_MAX_INUSEFLAG -#ifdef ATOMIC_INCREMENT - ATOMIC_DECREMENT(&p->b_inuse); -#else - p->b_inuse = prv; -#endif -#endif -#else -#error not implemented -#endif -} - -void flext::buffer::Frames(int fr,bool keep,bool zero) -{ - FLEXT_ASSERT(sym); -#if FLEXT_SYS == FLEXT_SYS_PD - // is this function guaranteed to keep memory and set rest to zero? - ::garray_resize(arr,(float)fr); - Update(); -#elif FLEXT_SYS == FLEXT_SYS_MAX - Element *tmp = NULL; - int sz = frames; - if(fr < sz) sz = fr; - - if(keep) { - // copy buffer data to tmp storage - tmp = (Element *)NewAligned(sz*sizeof(Element)); - FLEXT_ASSERT(tmp); - CopySamples(tmp,data,sz); - } - - t_atom msg; - t_buffer *buf = (t_buffer *)sym->s_thing; - // b_msr reflects buffer sample rate... is this what we want? - // Max bug: adding half a sample to prevent roundoff errors.... - float ms = (fr+0.5)/buf->b_msr; - - SetFloat(msg,ms); - ::typedmess((object *)buf,(t_symbol *)sym_size,1,&msg); - - Update(); - - if(tmp) { - // copy data back - CopySamples(data,tmp,sz); - FreeAligned(tmp); - if(zero && sz < fr) ZeroSamples(data+sz,fr-sz); - } - else - if(zero) ZeroSamples(data,fr); -#else -#error -#endif -} - - -#if FLEXT_SYS == FLEXT_SYS_PD -void flext::buffer::SetRefrIntv(float intv) -{ - interval = intv; - if(interval == 0 && ticking) { - clock_unset(tick); - ticking = false; - } -} -#elif FLEXT_SYS == FLEXT_SYS_MAX -void flext::buffer::SetRefrIntv(float) {} -#else -#error -#endif - - -void flext::buffer::Dirty(bool force) -{ - FLEXT_ASSERT(sym); -#if FLEXT_SYS == FLEXT_SYS_PD - if((!ticking) && (interval || force)) { - ticking = true; - cb_tick(this); // immediately redraw - } - else { - if(force) clock_delay(tick,0); - isdirty = true; - } -#elif FLEXT_SYS == FLEXT_SYS_MAX - t_buffer *p = (t_buffer *)sym->s_thing; - FLEXT_ASSERT(p && !NOGOOD(p)); - ::object_method((t_object *)p,(t_symbol *)sym_dirty); -// p->b_modtime = gettime(); -#else -#error Not implemented -#endif -} - -#if FLEXT_SYS == FLEXT_SYS_PD -void flext::buffer::cb_tick(buffer *b) -{ - if(b->arr) garray_redraw(b->arr); -#ifdef FLEXT_DEBUG - else error("buffer: array is NULL"); -#endif - - if(b->isdirty && b->interval) { - b->isdirty = false; - b->ticking = true; - clock_delay(b->tick,b->interval); - } - else - b->ticking = false; -} -#endif - -void flext::buffer::ClearDirty() -{ -#if FLEXT_SYS == FLEXT_SYS_PD - cleantime = clock_getlogicaltime(); -#elif FLEXT_SYS == FLEXT_SYS_MAX - cleantime = gettime(); -#else -#error Not implemented -#endif -} - -bool flext::buffer::IsDirty() const -{ - if(!sym) return false; -#if FLEXT_SYS == FLEXT_SYS_PD - #ifdef _FLEXT_HAVE_PD_GARRAYUPDATETIME - return arr && (isdirty || garray_updatetime(arr) > cleantime); - #else - // Don't know.... (no method in PD judging whether buffer has been changed from outside flext...) - return true; - #endif -#elif FLEXT_SYS == FLEXT_SYS_MAX - t_buffer *p = (t_buffer *)sym->s_thing; - FLEXT_ASSERT(p && !NOGOOD(p)); - return p->b_modtime > cleantime; -#else -#error Not implemented -#endif -} - -#endif // Jmax - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/flclass.h b/externals/grill/trunk/flext/source/flclass.h deleted file mode 100644 index 65e1242a2..000000000 --- a/externals/grill/trunk/flext/source/flclass.h +++ /dev/null @@ -1,1130 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3686 $ -$LastChangedDate: 2009-06-10 12:44:55 -0400 (Wed, 10 Jun 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flclass.h - \brief User accessible flext base classes - -*/ - -#ifndef __FLCLASS_H -#define __FLCLASS_H - -// include the header file declaring the base classes -#include "flbase.h" -#include "flsupport.h" -#include "flmap.h" -#include "flinternal.h" - -#ifdef _MSC_VER -#pragma warning(disable: 4786) -#endif - -#ifdef __BORLANDC__ -#pragma warn -8008 // Condition is always false -#pragma warn -8057 // Parameter is never used -#pragma warn -8066 // Unreachable code -#endif - - -#include "flpushns.h" - -// === flext_base ================================================== - -/*! \brief Flext message only base object - - This is the base class from which typical external objects derive. - DSP objects should use the flext_dsp class which inherits from flext_base and - provides the necessary functionality. - - For a valid external object class you would also need FLEXT_HEADER, also if it's only - a base class without instantiated objects again. - To make an instance of an object class you would typically use FLEXT_NEW or - its companions. - - See the flext_obj class for additional information. -*/ - - -class FLEXT_SHARE FLEXT_CLASSDEF(flext_base); -typedef class FLEXT_SHARE FLEXT_CLASSDEF(flext_base) flext_base; - -class FLEXT_SHARE FLEXT_CLASSDEF(flext_base): - public flext_obj -{ - FLEXT_HEADER_S(FLEXT_CLASSDEF(flext_base),flext_obj,Setup) - - friend class FLEXT_SHARE FLEXT_CLASSDEF(flext_obj); - -public: - -// --- inheritable virtual methods -------------------------------- - - /*! \defgroup FLEXT_C_VIRTUAL Virtual base class functions - - @{ - */ - - //! called on patcher load (not on mere object creation!) - virtual void CbLoadbang(); - virtual void m_loadbang(); - - //! called on (double-)click into object box - virtual void CbClick(); - - /*! \brief Called for every incoming message. - All method handling is done in there - \return True if a handler was found and called - */ - virtual bool CbMethodHandler(int inlet,const t_symbol *s,int argc,const t_atom *argv); - - /*! \brief Called for every unhandled message (by CbMethodHandler) - */ - virtual bool CbMethodResort(int inlet,const t_symbol *s,int argc,const t_atom *argv); - virtual bool m_method_(int inlet,const t_symbol *s,int argc,const t_atom *argv); - - virtual bool CbIdle(); - -//! @} FLEXT_C_VIRTUAL - - -// --- inlet/outlet stuff ----------------------------------------- - - /*! \defgroup FLEXT_C_INOUT Flext in-/outlet functions - \note These must be called in the class' constructor - \note All (also default) inlets must be defined - @{ - */ - - /*! \defgroup FLEXT_C_IO_ADD Announce in-/outlet functions - @{ - */ - - // argument m specifies multiple inlet/outlet count - -// void AddInDef() { AddInlet(xlet_def,1); } - - /*! \brief Add inlet(s) for anythings - \remark That's the one to choose for the left-most (first) inlet unless it's a signal inlet. - */ - void AddInAnything(int m = 1) { AddInlet(xlet_any,m); } - /*! \brief Add inlet(s) for anythings (with description) - \remark That's the one to choose for the left-most (first) inlet unless it's a signal inlet. - */ - void AddInAnything(const char *desc,int m = 1) { AddInlet(xlet_any,m,desc); } - //! Add inlet(s) for floats - void AddInFloat(int m = 1) { AddInlet(xlet_float,m); } - //! Add inlet(s) for floats (with description) - void AddInFloat(const char *desc,int m = 1) { AddInlet(xlet_float,m,desc); } - //! Add inlet(s) for integers - void AddInInt(int m = 1) { AddInlet(xlet_int,m); } - //! Add inlet(s) for integers (with description) - void AddInInt(const char *desc,int m = 1) { AddInlet(xlet_int,m,desc); } - //! Add inlet(s) for symbols - void AddInSymbol(int m = 1) { AddInlet(xlet_sym,m); } - //! Add inlet(s) for symbol (with description) - void AddInSymbol(const char *desc,int m = 1) { AddInlet(xlet_sym,m,desc); } - //! Add inlet(s) for bang - void AddInBang(int m = 1) { AddInlet(xlet_sym,m); } - //! Add inlet(s) for bangs (with description) - void AddInBang(const char *desc,int m = 1) { AddInlet(xlet_sym,m,desc); } - //! Add inlet(s) for lists - void AddInList(int m = 1) { AddInlet(xlet_list,m); } - //! Add inlet(s) for lists (with description) - void AddInList(const char *desc,int m = 1) { AddInlet(xlet_list,m,desc); } - - //! Add outlet(s) for anythings - void AddOutAnything(int m = 1) { AddOutlet(xlet_any,m); } - //! Add outlet(s) for anythings (with description) - void AddOutAnything(const char *desc,int m = 1) { AddOutlet(xlet_any,m,desc); } - //! Add outlet(s) for floats - void AddOutFloat(int m = 1) { AddOutlet(xlet_float,m); } - //! Add outlet(s) for floats (with description) - void AddOutFloat(const char *desc,int m = 1) { AddOutlet(xlet_float,m,desc); } - //! Add outlet(s) for integers - void AddOutInt(int m = 1) { AddOutlet(xlet_int,m); } - //! Add outlet(s) for integers (with description) - void AddOutInt(const char *desc,int m = 1) { AddOutlet(xlet_int,m,desc); } - //! Add outlet(s) for symbols - void AddOutSymbol(int m = 1) { AddOutlet(xlet_sym,m); } - //! Add outlet(s) for symbols (with description) - void AddOutSymbol(const char *desc,int m = 1) { AddOutlet(xlet_sym,m,desc); } - //! Add outlet(s) for bangs - void AddOutBang(int m = 1) { AddOutlet(xlet_sym,m); } - //! Add outlet(s) for bangs (with description) - void AddOutBang(const char *desc,int m = 1) { AddOutlet(xlet_sym,m,desc); } - //! Add outlet(s) for lists - void AddOutList(int m = 1) { AddOutlet(xlet_list,m); } - //! Add outlet(s) for lists (with description) - void AddOutList(const char *desc,int m = 1) { AddOutlet(xlet_list,m,desc); } - - //! \deprecated inlets and outlets are now set up automatically - bool SetupInOut() { return true; } - - //! @} FLEXT_C_IO_ADD - - /*! \defgroup FLEXT_C_IO_MISC Miscellanous in-/outlet functionality - @{ - */ - - //! Get number of inlets - int CntIn() const { return incnt; } - //! Get number of outlets - int CntOut() const { return outcnt; } - //! Get number of signal inlets - int CntInSig() const { return insigs; } - //! Get number of signal outlets - int CntOutSig() const { return outsigs; } - - - //! Retrieve currently processed message tag (NULL if no message processing) - static const t_symbol *thisTag() { return curtag; } - - class outlet; - - //! Get pointer to outlet (not in the constructor!) - outlet *GetOut(int ix) const { return outlets[ix]; } - - int GetOutAttr() const { return HasAttributes()?CntOut():0; } - - //! @} FLEXT_C_IO_MISC - - /*! \defgroup FLEXT_C_IO_OUT Output data to inlets/outlets - @{ - */ - - // output messages - - //! Output bang (index n starts with 0) - void ToOutBang(int n) const; - - //! Output float (index n starts with 0) - void ToOutFloat(int n,float f) const; - - //! Output integer (index n starts with 0) - void ToOutInt(int n,int f) const; - - //! Output boolean (index n starts with 0) - void ToOutBool(int n,bool f) const { ToOutInt(n,f?1:0); } - - //! Output double (index n starts with 0) - void ToOutDouble(int n,double d) const { t_atom dbl[2]; ToOutList(n,2,SetDouble(dbl,d)); } - - //! Output symbol (index n starts with 0) - void ToOutSymbol(int n,const t_symbol *s) const; - //! Output string aka symbol (index n starts with 0) - void ToOutString(int n,const char *s) const { ToOutSymbol(n,MakeSymbol(s)); } - - //! Output atom (index n starts with 0) - void ToOutAtom(int n,const t_atom &at) const; - - //! Output list (index n starts with 0) - void ToOutList(int n,int argc,const t_atom *argv) const; - //! Output list (index n starts with 0) - void ToOutList(int n,const AtomList &list) const { ToOutList(n,list.Count(),list.Atoms()); } - - //! Output anything (index n starts with 0) - void ToOutAnything(int n,const t_symbol *s,int argc,const t_atom *argv) const; - //! Output anything (index n starts with 0) - void ToOutAnything(int n,const AtomAnything &any) const { ToOutAnything(n,any.Header(),any.Count(),any.Atoms()); } - //! Output anything (index n starts with 0) - void ToOutAnything(int n,const t_symbol *s,const AtomList &list) const { ToOutAnything(n,s,list.Count(),list.Atoms()); } - - //! @} FLEXT_C_IO_OUT - - /*! \defgroup FLEXT_C_IO_QUEUE Low-priority output of data to inlets/outlets - @{ - */ - - //! Output low priority bang (index n starts with 0) - void ToQueueBang(int n) const; - - //! Output low priority float (index n starts with 0) - void ToQueueFloat(int n,float f) const; - - //! Output low priority integer (index n starts with 0) - void ToQueueInt(int n,int f) const; - - //! Output low priority boolean (index n starts with 0) - void ToQueueBool(int n,bool f) const { ToQueueInt(n,f?1:0); } - - //! Output double (index n starts with 0) - void ToQueueDouble(int n,double d) const { t_atom dbl[2]; ToQueueList(n,2,SetDouble(dbl,d)); } - - //! Output low priority symbol (index n starts with 0) - void ToQueueSymbol(int n,const t_symbol *s) const; - //! Output low priority string aka symbol (to appointed outlet) - void ToQueueString(int n,const char *s) const { ToQueueSymbol(n,MakeSymbol(s)); } - - //! Output low priority atom (index n starts with 0) - void ToQueueAtom(int n,const t_atom &at) const; - - //! Output low priority list (index n starts with 0) - void ToQueueList(int n,int argc,const t_atom *argv) const; - //! Output low priority list (index n starts with 0) - void ToQueueList(int n,const AtomList &list) const { ToQueueList(n,list.Count(),list.Atoms()); } - - //! Output low priority anything (index n starts with 0) - void ToQueueAnything(int n,const t_symbol *s,int argc,const t_atom *argv) const; - //! Output low priority anything (index n starts with 0) - void ToQueueAnything(int n,const AtomAnything &any) const { ToQueueAnything(n,any.Header(),any.Count(),any.Atoms()); } - - //! @} FLEXT_C_IO_QUEUE - - - /*! \defgroup FLEXT_C_IO_SELF Output of data to inlets/outlets of this object - @{ - */ - - //! Send bang to self (inlet n) - void ToSelfBang(int n) const { ToQueueBang(-1-n); } - - //! Send float to self (inlet n) - void ToSelfFloat(int n,float f) const { ToQueueFloat(-1-n,f); } - - //! Send integer to self (inlet n) - void ToSelfInt(int n,int f) const { ToQueueInt(-1-n,f); } - - //! Send boolean to self (inlet n) - void ToSelfBool(int n,bool f) const { ToSelfInt(n,f?1:0); } - - //! Send double to self (index n starts with 0) - void ToSelfDouble(int n,double d) const { t_atom dbl[2]; ToSelfList(n,2,SetDouble(dbl,d)); } - - //! Send symbol to self (inlet n) - void ToSelfSymbol(int n,const t_symbol *s) const { ToQueueSymbol(-1-n,s); } - //! Send string aka symbol to self (inlet 0) - void ToSelfString(int n,const char *s) const { ToSelfSymbol(n,MakeSymbol(s)); } - - //! Output atom (index n starts with 0) - void ToSelfAtom(int n,const t_atom &at) const { ToQueueAtom(-1-n,at); } - - //! Send list to self (inlet n) - void ToSelfList(int n,int argc,const t_atom *argv) const { ToQueueList(-1-n,argc,argv); } - //! Send list to self (inlet n) - void ToSelfList(int n,const AtomList &list) const { ToSelfList(n,list.Count(),list.Atoms()); } - - //! Send anything to self (inlet n) - void ToSelfAnything(int n,const t_symbol *s,int argc,const t_atom *argv) const { ToQueueAnything(-1-n,s,argc,argv); } - //! Send anything to self (inlet n) - void ToSelfAnything(int n,const AtomAnything &any) const { ToSelfAnything(n,any.Header(),any.Count(),any.Atoms()); } - - //! @} FLEXT_C_IO_SELF - - - /*! \defgroup FLEXT_C_IO_MESSAGEBUNDLE Output of data via message bundles - - These are used to assure the sending of several messages from a second thread to the same logical time - - @{ - */ - - //! Output bang (index n starts with 0) - void MsgAddBang(MsgBundle *mb,int n) const; - - //! Output float (index n starts with 0) - void MsgAddFloat(MsgBundle *mb,int n,float f) const; - - //! Output integer (index n starts with 0) - void MsgAddInt(MsgBundle *mb,int n,int f) const; - - //! Output boolean (index n starts with 0) - void MsgAddBool(MsgBundle *mb,int n,bool f) const { MsgAddInt(mb,n,f?1:0); } - - //! Output double (index n starts with 0) - void MsgAddDouble(MsgBundle *mb,int n,double d) const { t_atom dbl[2]; MsgAddList(mb,n,2,SetDouble(dbl,d)); } - - //! Output symbol (index n starts with 0) - void MsgAddSymbol(MsgBundle *mb,int n,const t_symbol *s) const; - //! Output string aka symbol (to appointed outlet) - void MsgAddString(MsgBundle *mb,int n,const char *s) const { MsgAddSymbol(mb,n,MakeSymbol(s)); } - - //! Output atom (index n starts with 0) - void MsgAddAtom(MsgBundle *mb,int n,const t_atom &at) const; - - //! Output list (index n starts with 0) - void MsgAddList(MsgBundle *mb,int n,int argc,const t_atom *argv) const; - - //! Output list (index n starts with 0) - void MsgAddList(MsgBundle *mb,int n,const AtomList &list) const { MsgAddList(mb,n,list.Count(),list.Atoms()); } - - //! Output anything (index n starts with 0) - void MsgAddAnything(MsgBundle *mb,int n,const t_symbol *s,int argc,const t_atom *argv) const; - //! Output anything (index n starts with 0) - void MsgAddAnything(MsgBundle *mb,int n,const AtomAnything &any) const { MsgAddAnything(mb,n,any.Header(),any.Count(),any.Atoms()); } - - void MsgSelfBang(MsgBundle *mb,int n) const { MsgAddBang(mb,-1-n); } - - //! Send float to self (inlet n) - void MsgSelfFloat(MsgBundle *mb,int n,float f) const { MsgAddFloat(mb,-1-n,f); } - - //! Send integer to self (inlet n) - void MsgSelfInt(MsgBundle *mb,int n,int f) const { MsgAddInt(mb,-1-n,f); } - - //! Send boolean to self (inlet n) - void MsgSelfBool(MsgBundle *mb,int n,bool f) const { MsgSelfInt(mb,n,f?1:0); } - - //! Output double (index n starts with 0) - void MsgSelfDouble(MsgBundle *mb,int n,double d) const { t_atom dbl[2]; MsgSelfList(mb,n,2,SetDouble(dbl,d)); } - - //! Send symbol to self (inlet n) - void MsgSelfSymbol(MsgBundle *mb,int n,const t_symbol *s) const { MsgAddSymbol(mb,-1-n,s); } - //! Send string aka symbol to self (inlet 0) - void MsgSelfString(MsgBundle *mb,int n,const char *s) const { MsgSelfSymbol(mb,n,MakeSymbol(s)); } - - //! Output atom (index n starts with 0) - void MsgSelfAtom(MsgBundle *mb,int n,const t_atom &at) const { MsgAddAtom(mb,-1-n,at); } - - //! Send list to self (inlet n) - void MsgSelfList(MsgBundle *mb,int n,int argc,const t_atom *argv) const { MsgAddList(mb,-1-n,argc,argv); } - //! Send list to self (inlet n) - void MsgSelfList(MsgBundle *mb,int n,const AtomList &list) const { MsgSelfList(mb,n,list.Count(),list.Atoms()); } - - //! Send anything to self (inlet n) - void MsgSelfAnything(MsgBundle *mb,int n,const t_symbol *s,int argc,const t_atom *argv) const { MsgAddAnything(mb,-1-n,s,argc,argv); } - //! Send anything to self (inlet n) - void MsgSelfAnything(MsgBundle *mb,int n,const AtomAnything &any) const { MsgSelfAnything(mb,n,any.Header(),any.Count(),any.Atoms()); } - - //! @} FLEXT_C_IO_MESSAGEBUNDLE - -//! @} FLEXT_C_INOUT - - -// --- message handling ------------------------------------------- - - enum metharg { - a_null = 0, - a_float,a_int,a_bool, - a_symbol,a_pointer, - a_list,a_any, // (t_symbol *) / int / t_atom * - a_LIST,a_ANY // AtomList, AtomAnything - }; - - typedef bool (*methfun)(flext_base *c); - - /*! \defgroup FLEXT_C_ADDMETHOD Method handling (object scope) - \internal - @{ - */ - - void AddMethodDef(int inlet,const t_symbol *tag = NULL) { ThMeths()->Add(new MethItem,tag,inlet); } - void AddMethodDef(int inlet,const char *tag = NULL) { AddMethodDef(inlet,MakeSymbol(tag)); } - - void AddMethod(int inlet,bool (*m)(flext_base *)) { AddMethod(ThMeths(),inlet,sym_bang,(methfun)m,a_null); } - void AddMethod(int inlet,bool (*m)(flext_base *,int,t_atom *)) { AddMethod(ThMeths(),inlet,sym_list,(methfun)m,a_list,a_null); } - void AddMethod(int inlet,bool (*m)(flext_base *,int,const t_atom *)) { AddMethod(ThMeths(),inlet,sym_list,(methfun)m,a_list,a_null); } - void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_null); } // pure method - void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *)) { AddMethod(inlet,MakeSymbol(tag),m); } - void AddMethod(int inlet,bool (*m)(flext_base *,t_symbol *,int,t_atom *)) { AddMethod(ThMeths(),inlet,sym_anything,(methfun)m,a_any,a_null); } // anything - void AddMethod(int inlet,bool (*m)(flext_base *,const t_symbol *,int,const t_atom *)) { AddMethod(ThMeths(),inlet,sym_anything,(methfun)m,a_any,a_null); } // anything - void AddMethod(int inlet,bool (*m)(flext_base *,t_symbol *&)) { AddMethod(ThMeths(),inlet,sym_symbol,(methfun)m,a_symbol,a_null); } // single symbol - void AddMethod(int inlet,bool (*m)(flext_base *,const t_symbol *&)) { AddMethod(ThMeths(),inlet,sym_symbol,(methfun)m,a_symbol,a_null); } // single symbol - void AddMethod(int inlet,bool (*m)(flext_base *,float &)) { AddMethod(ThMeths(),inlet,sym_float,(methfun)m,a_float,a_null); } // single float - void AddMethod(int inlet,bool (*m)(flext_base *,float &,float &)) { AddMethod(ThMeths(),inlet,sym_list,(methfun)m,a_float,a_float,a_null); } // list of 2 floats - void AddMethod(int inlet,bool (*m)(flext_base *,float &,float &,float &)) { AddMethod(ThMeths(),inlet,sym_list,(methfun)m,a_float,a_float,a_float,a_null); } // list of 3 floats -#if FLEXT_SYS == FLEXT_SYS_PD - void AddMethod(int inlet,bool (*m)(flext_base *,int &)) { AddMethod(ThMeths(),inlet,sym_float,(methfun)m,a_int,a_null); } // single float -#else - void AddMethod(int inlet,bool (*m)(flext_base *,int &)) { AddMethod(ThMeths(),inlet,sym_int,(methfun)m,a_int,a_null); } // single float -#endif - void AddMethod(int inlet,bool (*m)(flext_base *,int &,int &)) { AddMethod(ThMeths(),inlet,sym_list,(methfun)m,a_int,a_int,a_null); } // list of 2 floats - void AddMethod(int inlet,bool (*m)(flext_base *,int &,int &,int &)) { AddMethod(ThMeths(),inlet,sym_list,(methfun)m,a_int,a_int,a_int,a_null); } // list of 3 floats - void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *,int,t_atom *)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_list,a_null); } // method+gimme - void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *,int,const t_atom *)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_list,a_null); } // method+gimme - void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *,t_symbol *,int,t_atom *)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_any,a_null); } // method+gimme - void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *,const t_symbol *,int,const t_atom *)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_any,a_null); } // method+gimme - void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *,t_symbol *&)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_symbol,a_null); } // method+symbol - void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *,const t_symbol *&)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_symbol,a_null); } // method+symbol - void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *,float &)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_float,a_null); } // method+float - void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *,int &)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_int,a_null); } // method+int - void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *,int,t_atom *)) { AddMethod(inlet,MakeSymbol(tag),m); } - void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *,int,const t_atom *)) { AddMethod(inlet,MakeSymbol(tag),m); } - void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *,t_symbol *,int,t_atom *)) { AddMethod(inlet,MakeSymbol(tag),m); } - void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *,const t_symbol *,int,const t_atom *)) { AddMethod(inlet,MakeSymbol(tag),m); } - void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *,t_symbol *&)) { AddMethod(inlet,MakeSymbol(tag),m); } - void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *,const t_symbol *&)) { AddMethod(inlet,MakeSymbol(tag),m); } - void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *,float &)) { AddMethod(inlet,MakeSymbol(tag),m); } - void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *,int &)) { AddMethod(inlet,MakeSymbol(tag),m); } - - // Â¥schedule call of the CbIdle method during the next idle cycle - void AddIdle(); - - //! Set Max/MSP style of distributing list elements over (message) inlets - static void SetDist(t_classid c,bool d = true); - //! Query whether lists are distributed - bool DoDist() const; - - -//! @} FLEXT_C_ADDMETHOD - - /*! \defgroup FLEXT_C_CADDMETHOD Method handling (class scope) - \internal - @{ - */ - - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *)) { AddMethod(ClMeths(c),inlet,sym_bang,(methfun)m,a_null); } - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,int,t_atom *)) { AddMethod(ClMeths(c),inlet,sym_list,(methfun)m,a_list,a_null); } - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,int,const t_atom *)) { AddMethod(ClMeths(c),inlet,sym_list,(methfun)m,a_list,a_null); } - static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_null); } // pure method - static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *)) { AddMethod(c,inlet,MakeSymbol(tag),m); } - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,t_symbol *,int,t_atom *)) { AddMethod(ClMeths(c),inlet,sym_anything,(methfun)m,a_any,a_null); } // anything - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,const t_symbol *,int,const t_atom *)) { AddMethod(ClMeths(c),inlet,sym_anything,(methfun)m,a_any,a_null); } // anything - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,t_symbol *&)) { AddMethod(ClMeths(c),inlet,sym_symbol,(methfun)m,a_symbol,a_null); } // single symbol - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,const t_symbol *&)) { AddMethod(ClMeths(c),inlet,sym_symbol,(methfun)m,a_symbol,a_null); } // single symbol - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,float &)) { AddMethod(ClMeths(c),inlet,sym_float,(methfun)m,a_float,a_null); } // single float - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,float &,float &)) { AddMethod(ClMeths(c),inlet,sym_list,(methfun)m,a_float,a_float,a_null); } // list of 2 floats - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,float &,float &,float &)) { AddMethod(ClMeths(c),inlet,sym_list,(methfun)m,a_float,a_float,a_float,a_null); } // list of 3 floats -#if FLEXT_SYS == FLEXT_SYS_PD - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,int &)) { AddMethod(ClMeths(c),inlet,sym_float,(methfun)m,a_int,a_null); } // single integer -#else - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,int &)) { AddMethod(ClMeths(c),inlet,sym_int,(methfun)m,a_int,a_null); } // single integer -#endif - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,int &,int &)) { AddMethod(ClMeths(c),inlet,sym_list,(methfun)m,a_int,a_int,a_null); } // list of 2 floats - static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,int &,int &,int &)) { AddMethod(ClMeths(c),inlet,sym_list,(methfun)m,a_int,a_int,a_int,a_null); } // list of 3 floats - static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *,int,t_atom *)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_list,a_null); } // method+gimme - static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *,int,const t_atom *)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_list,a_null); } // method+gimme - static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *,t_symbol *,int,t_atom *)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_any,a_null); } // method+gimme - static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *,const t_symbol *,int,const t_atom *)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_any,a_null); } // method+gimme - static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *,t_symbol *&)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_symbol,a_null); } // method+symbol - static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *,const t_symbol *&)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_symbol,a_null); } // method+symbol - static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *,float &)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_float,a_null); } // method+float - static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *,int &)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_int,a_null); } // method+int - static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *,int,t_atom *)) { AddMethod(c,inlet,MakeSymbol(tag),m); } - static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *,int,const t_atom *)) { AddMethod(c,inlet,MakeSymbol(tag),m); } - static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *,t_symbol *,int,t_atom *)) { AddMethod(c,inlet,MakeSymbol(tag),m); } - static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *,const t_symbol *,int,const t_atom *)) { AddMethod(c,inlet,MakeSymbol(tag),m); } - static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *,t_symbol *&)) { AddMethod(c,inlet,MakeSymbol(tag),m); } - static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *,const t_symbol *&)) { AddMethod(c,inlet,MakeSymbol(tag),m); } - static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *,float &)) { AddMethod(c,inlet,MakeSymbol(tag),m); } - static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *,int &)) { AddMethod(c,inlet,MakeSymbol(tag),m); } - - // Â¥schedule call of the given idlefun during the next idle cycle - static void AddIdle(bool (*idlefun)(int argc,const t_atom *argv),int argc,const t_atom *argv); - -//! @} FLEXT_C_CADDMETHOD - -// --- bind/unbind --------------------------------------- - - /*! \defgroup FLEXT_C_BIND Methods for binding a flext class to a symbol - - @{ - */ - - //! Bind object to a symbol - bool Bind(const t_symbol *sym); - //! Unbind object from a symbol - bool Unbind(const t_symbol *sym); - - //! Bind object to a symbol (as string) - bool Bind(const char *sym) { return Bind(MakeSymbol(sym)); } - //! Unbind object from a symbol (as string) - bool Unbind(const char *sym) { return Unbind(MakeSymbol(sym)); } - - /*! \brief Bind a method to a symbol - \param sym Symbol to bind to - \param meth Function to bind - \param data User data that is passed to the function - \return true on success - */ - bool BindMethod(const t_symbol *sym,bool (*meth)(flext_base *obj,t_symbol *sym,int argc,t_atom *argv,void *data),void *data = NULL); - /*! \brief Unbind a method from a symbol - \param sym Symbol to unbind from (if NULL... unbind all functions) - \param meth Method to unbind (if NULL ... unbind all functions bound to symbol) - \param data returns data pointer specified with BindMethod - \return true on success - */ - bool UnbindMethod(const t_symbol *sym,bool (*meth)(flext_base *obj,t_symbol *sym,int argc,t_atom *argv,void *data) = NULL,void **data = NULL); - /*! \brief Get data of bound method of a symbol - \param sym Symbol to bind to - \param meth Function to bind - \param data Reference to returned user data - \return true on success (symbol/method combination was found) - */ - bool GetBoundMethod(const t_symbol *sym,bool (*meth)(flext_base *obj,t_symbol *sym,int argc,t_atom *argv,void *data),void *&data); - - //! \brief Bind a method to a symbol (as string) - bool BindMethod(const char *sym,bool (*meth)(flext_base *obj,t_symbol *sym,int argc,t_atom *argv,void *data),void *data = NULL) { return BindMethod(MakeSymbol(sym),meth,data); } - //! \brief Unbind a method from a symbol (as string) - bool UnbindMethod(const char *sym,bool (*meth)(flext_base *obj,t_symbol *sym,int argc,t_atom *argv,void *data) = NULL,void **data = NULL) { return UnbindMethod(MakeSymbol(sym),meth,data); } - //! \brief Get data of bound method of a symbol (as string) - bool GetBoundMethod(const char *sym,bool (*meth)(flext_base *obj,t_symbol *sym,int argc,t_atom *argv,void *data),void *&data) { return GetBoundMethod(MakeSymbol(sym),meth,data); } - - /*! Unbind all symbol bindings - \note Memory associated to data pointers passed by BindMethod will not be freed! - */ - bool UnbindAll(); - -//! @} FLEXT_C_BIND - - // --- thread stuff ----------------------------------------------- - -#ifdef FLEXT_THREADS - /*! \defgroup FLEXT_C_THREAD Thread handling - - @{ - */ - - //! Start a thread for this object - bool StartThread(void (*meth)(thr_params *p),thr_params *p,const char * = NULL) { p->cl = this; return flext::LaunchThread(meth,p); } - - //! Terminate all threads of this object - bool StopThreads(); -#endif // FLEXT_THREADS - -//! @} FLEXT_C_THREAD - -// 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)(); - - /*! \brief Set up inlets and outlets, method and attribute lists - */ - virtual bool Init(); - - /*! \brief Deallocate all kinds of stuff - */ - virtual void Exit(); - - - /*! \defgroup FLEXT_C_ATTR Attribute handling methods (object scope) - @{ - */ - - void AddAttrib(const t_symbol *attr,bool (*get)(flext_base *,float &),bool (*set)(flext_base *,float &)) { AddAttrib(attr,a_float,(methfun)get,(methfun)set); } - void AddAttrib(const t_symbol *attr,bool (*get)(flext_base *,int &),bool (*set)(flext_base *,int &)) { AddAttrib(attr,a_int,(methfun)get,(methfun)set); } - void AddAttrib(const t_symbol *attr,bool (*get)(flext_base *,bool &),bool (*set)(flext_base *,bool &)) { AddAttrib(attr,a_bool,(methfun)get,(methfun)set); } - void AddAttrib(const t_symbol *attr,bool (*get)(flext_base *,const t_symbol *&),bool (*set)(flext_base *,const t_symbol *&)) { AddAttrib(attr,a_symbol,(methfun)get,(methfun)set); } - void AddAttrib(const t_symbol *attr,bool (*get)(flext_base *,t_symptr &),bool (*set)(flext_base *,t_symptr &)) { AddAttrib(attr,a_symbol,(methfun)get,(methfun)set); } - void AddAttrib(const t_symbol *attr,bool (*get)(flext_base *,AtomList *&),bool (*set)(flext_base *,AtomList *&)) { AddAttrib(attr,a_LIST,(methfun)get,(methfun)set); } - void AddAttrib(const t_symbol *attr,bool (*get)(flext_base *,AtomAnything *&),bool (*set)(flext_base *,AtomAnything *&)) { AddAttrib(attr,a_ANY,(methfun)get,(methfun)set); } - void AddAttrib(const char *attr,bool (*get)(flext_base *,float &),bool (*set)(flext_base *,float &)) { AddAttrib(MakeSymbol(attr),get,set); } - void AddAttrib(const char *attr,bool (*get)(flext_base *,int &),bool (*set)(flext_base *,int &)) { AddAttrib(MakeSymbol(attr),get,set); } - void AddAttrib(const char *attr,bool (*get)(flext_base *,bool &),bool (*set)(flext_base *,bool &)) { AddAttrib(MakeSymbol(attr),get,set); } - void AddAttrib(const char *attr,bool (*get)(flext_base *,const t_symbol *&),bool (*set)(flext_base *,const t_symbol *&)) { AddAttrib(MakeSymbol(attr),get,set); } - void AddAttrib(const char *attr,bool (*get)(flext_base *,t_symptr &),bool (*set)(flext_base *,t_symptr &)) { AddAttrib(MakeSymbol(attr),get,set); } - void AddAttrib(const char *attr,bool (*get)(flext_base *,AtomList *&),bool (*set)(flext_base *,AtomList *&)) { AddAttrib(MakeSymbol(attr),get,set); } - void AddAttrib(const char *attr,bool (*get)(flext_base *,AtomAnything *&),bool (*set)(flext_base *,AtomAnything *&)) { AddAttrib(MakeSymbol(attr),get,set); } - -//! @} FLEXT_C_ATTR - - /*! \defgroup FLEXT_C_CATTR Attribute handling methods (class scope) - @{ - */ - - static void AddAttrib(t_classid c,const t_symbol *attr,bool (*get)(flext_base *,float &),bool (*set)(flext_base *,float &)) { AddAttrib(c,attr,a_float,(methfun)get,(methfun)set); } - static void AddAttrib(t_classid c,const t_symbol *attr,bool (*get)(flext_base *,int &),bool (*set)(flext_base *,int &)) { AddAttrib(c,attr,a_int,(methfun)get,(methfun)set); } - static void AddAttrib(t_classid c,const t_symbol *attr,bool (*get)(flext_base *,bool &),bool (*set)(flext_base *,bool &)) { AddAttrib(c,attr,a_bool,(methfun)get,(methfun)set); } - static void AddAttrib(t_classid c,const t_symbol *attr,bool (*get)(flext_base *,const t_symbol *&),bool (*set)(flext_base *,const t_symbol *&)) { AddAttrib(c,attr,a_symbol,(methfun)get,(methfun)set); } - static void AddAttrib(t_classid c,const t_symbol *attr,bool (*get)(flext_base *,t_symptr &),bool (*set)(flext_base *,t_symptr &)) { AddAttrib(c,attr,a_symbol,(methfun)get,(methfun)set); } - static void AddAttrib(t_classid c,const t_symbol *attr,bool (*get)(flext_base *,AtomList *&),bool (*set)(flext_base *,AtomList *&)) { AddAttrib(c,attr,a_LIST,(methfun)get,(methfun)set); } - static void AddAttrib(t_classid c,const t_symbol *attr,bool (*get)(flext_base *,AtomAnything *&),bool (*set)(flext_base *,AtomAnything *&)) { AddAttrib(c,attr,a_ANY,(methfun)get,(methfun)set); } - static void AddAttrib(t_classid c,const char *attr,bool (*get)(flext_base *,float &),bool (*set)(flext_base *,float &)) { AddAttrib(c,MakeSymbol(attr),get,set); } - static void AddAttrib(t_classid c,const char *attr,bool (*get)(flext_base *,int &),bool (*set)(flext_base *,int &)) { AddAttrib(c,MakeSymbol(attr),get,set); } - static void AddAttrib(t_classid c,const char *attr,bool (*get)(flext_base *,bool &),bool (*set)(flext_base *,bool &)) { AddAttrib(c,MakeSymbol(attr),get,set); } - static void AddAttrib(t_classid c,const char *attr,bool (*get)(flext_base *,const t_symbol *&),bool (*set)(flext_base *,const t_symbol *&)) { AddAttrib(c,MakeSymbol(attr),get,set); } - static void AddAttrib(t_classid c,const char *attr,bool (*get)(flext_base *,t_symptr &),bool (*set)(flext_base *,t_symptr &)) { AddAttrib(c,MakeSymbol(attr),get,set); } - static void AddAttrib(t_classid c,const char *attr,bool (*get)(flext_base *,AtomList *&),bool (*set)(flext_base *,AtomList *&)) { AddAttrib(c,MakeSymbol(attr),get,set); } - static void AddAttrib(t_classid c,const char *attr,bool (*get)(flext_base *,AtomAnything *&),bool (*set)(flext_base *,AtomAnything *&)) { AddAttrib(c,MakeSymbol(attr),get,set); } - -//! @} FLEXT_C_CATTR - - //! Dump an attribute to the attribute outlet - bool DumpAttrib(const t_symbol *attr) const; - //! Dump an attribute to the attribute outlet - bool DumpAttrib(const char *attr) const { return DumpAttrib(MakeSymbol(attr)); } - - // check for attribute symbol @ - static int CheckAttrib(int argc,const t_atom *argv); - // check for attribute symbol @ - static int CheckAttrib(const AtomList &args,int offset = 0) { return CheckAttrib(args.Count()-offset,args.Atoms()+offset)+offset; } - - //! List attributes - bool ListAttrib() const; - //! List attributes - void ListAttrib(AtomList &a) const; - //! Get an attribute value - bool GetAttrib(const t_symbol *s,AtomList &a) const; - //! Set an attribute value - bool SetAttrib(const t_symbol *s,int argc,const t_atom *argv); - //! Set an attribute value - bool SetAttrib(const t_symbol *s,const AtomList &a) { return SetAttrib(s,a.Count(),a.Atoms()); } - - // get and set the attribute - bool BangAttrib(const t_symbol *a); - // get and set the attribute - bool BangAttrib(const char *a) { return BangAttrib(MakeSymbol(a)); } - // get and set all (both get- and settables) - bool BangAttribAll(); - // show/hide the attribute - bool ShowAttrib(const t_symbol *a,bool show) const; - // show/hide the attribute - bool ShowAttrib(const char *a,bool show) { return ShowAttrib(MakeSymbol(a),show); } - - //! List methods - void ListMethods(AtomList &a,int inlet = 0) const; - -/*! \addtogroup FLEXT_C_INOUT - @{ -*/ - - //! \brief get a code for a list of inlets or outlets - unsigned long XletCode(xlettype tp = xlet_none,...); // end list with 0 (= tp_none) !! - - /*! \brief Add some inlets by a special code representing the types - \remark use XletCode function to get code value - */ - void AddInlets(unsigned long code); - - //! \brief Add one or more inlet(s) - void AddInlet(xlettype tp,int mult = 1,const char *desc = NULL); - - /*! \brief Add some inlets by a special code representing the types - \remark use XletCode function to get code value - */ - void AddOutlets(unsigned long code); - - //! \brief Add one or more outlet(s) - void AddOutlet(xlettype tp,int mult = 1,const char *desc = NULL); - - //! \brief Set the description of an indexed inlet - void DescInlet(int ix,const char *desc); - - //! \brief Set the description of an indexed outlet - void DescOutlet(int ix,const char *desc); - -//! @} FLEXT_C_INOUT - - -// method handling - - public: - - class AttrItem; - - class Item - { - public: - Item(AttrItem *a): attr(a),nxt(NULL) {} - virtual ~Item(); - - bool IsAttr() const { return attr != NULL; } - - AttrItem *attr; - Item *nxt; - }; - - class ItemSet - :public TablePtrMap<const t_symbol *,Item *,8> - { - public: - virtual ~ItemSet(); - virtual void clear(); - }; - - /*! This class holds hashed item entries - \note not thread-safe! - */ - class FLEXT_SHARE ItemCont - { - public: - ItemCont(); - ~ItemCont(); - - int Min() const { return -1; } - int Max() const { return size-2; } - - bool Contained(int i) const { return i+1 < size; } - - //! Add an entry - void Add(Item *it,const t_symbol *tag,int inlet = 0); - //! Remove an entry - bool Remove(Item *it,const t_symbol *tag,int inlet,bool free); - //! Find an entry list in the Item array - Item *FindList(const t_symbol *tag,int inlet = 0); - - //! Get list for an inlet - ItemSet &GetInlet(int inlet = 0) - { - FLEXT_ASSERT(inlet >= Min() && inlet <= Max()); - return *cont[inlet+1]; - } - - //! Get counter for total members (for index of new item) - int Members() const { return members; } - - protected: - - void Resize(int nsz); - - int members; - int memsize,size; - ItemSet **cont; - }; - - //! \brief This represents an item of the method list - class MethItem: - public Item - { - public: - MethItem(AttrItem *conn = NULL); - virtual ~MethItem(); - - void SetArgs(methfun fun,int argc,metharg *args); - - int index; - int argc; - metharg *args; - methfun fun; - }; - - //! \brief This represents an item of the attribute list - class AttrItem: - public Item - { - public: - AttrItem(const t_symbol *tag,metharg tp,methfun fun,int flags); - - enum { - afl_get = 0x01, afl_set = 0x02, - afl_getset = afl_get|afl_set, - afl_shown = 0x08 - }; - - bool IsGet() const { return (flags&afl_getset) == afl_get; } - bool IsSet() const { return (flags&afl_getset) == afl_set; } - bool IsShown() const { return (flags&afl_shown) != 0; } - bool BothExist() const { return counter != NULL; } - AttrItem *Counterpart() { return counter; } - - int index; - int flags; - metharg argtp; - methfun fun; - AttrItem *counter; - const t_symbol *tag; - }; - - //! Represent a data value of an attribute - class AttrData: - public flext_root - { - public: - AttrData(): flags(0) {} - - enum { afl_save = 0x01,afl_init = 0x02,afl_inited = 0x04 }; - - void SetSave(bool s) { if(s) flags |= afl_save; else flags &= ~afl_save; } - bool IsSaved() const { return (flags&afl_save) != 0; } - void SetInit(bool s) { if(s) flags |= afl_init; else flags &= ~afl_init; } - bool IsInit() const { return (flags&afl_init) != 0; } - void SetInitValue(int argc,const t_atom *argv) { init(argc,argv); flags |= afl_inited; } - void SetInitValue(const AtomList &l) { SetInitValue(l.Count(),l.Atoms()); } - bool IsInitValue() const { return (flags&afl_inited) != 0; } - const AtomList &GetInitValue() const { return init; } - - AtomList init; - int flags; - }; - - class AttrDataCont - :public TablePtrMap<const t_symbol *,AttrData *,8> - { - public: - virtual ~AttrDataCont(); - virtual void clear(); - }; - - // these outlet functions don't check for thread but send directly to the real-time system - void ToSysBang(int n) const { outlet *o = GetOut(n); if(o) { CRITON(); outlet_bang((t_outlet *)o); CRITOFF(); } } - void ToSysFloat(int n,float f) const { outlet *o = GetOut(n); if(o) { CRITON(); outlet_float((t_outlet *)o,f); CRITOFF(); } } - void ToSysInt(int n,int f) const { outlet *o = GetOut(n); if(o) { CRITON(); outlet_flint((t_outlet *)o,f); CRITOFF(); } } - void ToSysSymbol(int n,const t_symbol *s) const { outlet *o = GetOut(n); if(o) { CRITON(); outlet_symbol((t_outlet *)o,const_cast<t_symbol *>(s)); CRITOFF(); } } - void ToSysString(int n,const char *s) const { ToSysSymbol(n,MakeSymbol(s)); } - void ToSysList(int n,int argc,const t_atom *argv) const { outlet *o = GetOut(n); if(o) { CRITON(); outlet_list((t_outlet *)o,const_cast<t_symbol *>(sym_list),argc,(t_atom *)argv); CRITOFF(); } } - void ToSysList(int n,const AtomList &list) const { ToSysList(n,list.Count(),list.Atoms()); } - void ToSysAnything(int n,const t_symbol *s,int argc,const t_atom *argv) const { outlet *o = GetOut(n); if(o) { CRITON(); outlet_anything((t_outlet *)o,const_cast<t_symbol *>(s),argc,(t_atom *)argv); CRITOFF(); } } - void ToSysAnything(int n,const AtomAnything &any) const { ToSysAnything(n,any.Header(),any.Count(),any.Atoms()); } - void ToSysAnything(int n,const t_symbol *s,const AtomList &list) const { ToSysAnything(n,s,list.Count(),list.Atoms()); } - - void ToSysBool(int n,bool f) const { ToSysInt(n,f?1:0); } - void ToSysAtom(int n,const t_atom &at) const; - void ToSysDouble(int n,double d) const { t_atom dbl[2]; ToSysList(n,2,SetDouble(dbl,d)); } - - static void ToSysMsg(MsgBundle *mb); - - // add class method handlers - static void AddMessageMethods(t_class *c,bool dsp,bool dspin); - -private: - class pxbnd_object; -public: - - //! \brief This represents an item of the symbol-bound method list - class BindItem: - public Item - { - public: - BindItem(bool (*f)(flext_base *,t_symbol *s,int,t_atom *,void *),pxbnd_object *px); - virtual ~BindItem(); - - void Unbind(const t_symbol *s); - - bool (*fun)(flext_base *,t_symbol *s,int,t_atom *,void *); - pxbnd_object *px; - }; - - ItemCont *ThMeths() { if(!methhead) methhead = new ItemCont; return methhead; } - static ItemCont *ClMeths(t_classid c); - - //! \brief This is the central function to add message handlers. It is used by all other AddMethod incarnations. - static void AddMethod(ItemCont *ma,int inlet,const t_symbol *tag,methfun fun,metharg tp,...); - - ItemCont *ThAttrs() { return attrhead; } - static ItemCont *ClAttrs(t_classid c); - - static void AddAttrib(ItemCont *aa,ItemCont *ma,const t_symbol *attr,metharg tp,methfun gfun,methfun sfun); - void AddAttrib(const t_symbol *attr,metharg tp,methfun gfun,methfun sfun); - static void AddAttrib(t_classid c,const t_symbol *attr,metharg tp,methfun gfun,methfun sfun); - -private: - - static inline flext_base *thisObject(flext_hdr *c) { return FLEXT_CAST<flext_base *>(c->data); } - - static void Setup(t_classid c); - - //! \brief This represents either an inlet or outlet during construction - class FLEXT_SHARE xlet { - public: - xlet(); - ~xlet(); - - xlettype tp; - char *desc; - - void Desc(const char *c); - }; - - static xlet inlist[]; - static xlet outlist[]; - - //! current message tag - static const t_symbol *curtag; - //! number of message and signal inlets/outlets - unsigned char incnt,outcnt,insigs,outsigs; - - outlet **outlets; - - union t_any { - float ft; - int it; - bool bt; - const t_symbol *st; -#if FLEXT_SYS == FLEXT_SYS_PD - t_gpointer *pt; -#endif - void *vt; - }; - - typedef bool (*methfun_V)(flext_base *c,int argc,t_atom *argv); - typedef bool (*methfun_A)(flext_base *c,const t_symbol *s,int argc,t_atom *argv); - typedef bool (*methfun_0)(flext_base *c); - typedef bool (*methfun_1)(flext_base *c,t_any &); - typedef bool (*methfun_2)(flext_base *c,t_any &,t_any &); - typedef bool (*methfun_3)(flext_base *c,t_any &,t_any &,t_any &); - typedef bool (*methfun_4)(flext_base *c,t_any &,t_any &,t_any &,t_any &); - typedef bool (*methfun_5)(flext_base *c,t_any &,t_any &,t_any &,t_any &,t_any &); - - mutable ItemCont *methhead; - mutable ItemCont *bindhead; - - bool FindMeth(int inlet,const t_symbol *s,int argc,const t_atom *argv); - bool FindMethAny(int inlet,const t_symbol *s,int argc,const t_atom *argv); - bool TryMethTag(Item *lst,const t_symbol *tag,int argc,const t_atom *argv); - bool TryMethSym(Item *lst,const t_symbol *s); - bool TryMethAny(Item *lst,const t_symbol *s,int argc,const t_atom *argv); - - mutable ItemCont *attrhead; - mutable AttrDataCont *attrdata; - - AttrItem *FindAttrib(const t_symbol *tag,bool get,bool msg = false) const; - - bool InitAttrib(int argc,const t_atom *argv); - - bool DumpAttrib(const t_symbol *tag,AttrItem *a) const; - bool GetAttrib(const t_symbol *tag,AttrItem *a,AtomList &l) const; - bool SetAttrib(const t_symbol *tag,AttrItem *a,int argc,const t_atom *argv); - bool SetAttrib(const t_symbol *tag,AttrItem *a,const AtomList &l) { return SetAttrib(tag,a,l.Count(),l.Atoms()); } - // get and set the attribute - bool BangAttrib(const t_symbol *tag,AttrItem *a); - // show/hide the attribute - bool ShowAttrib(AttrItem *a,bool show) const; - - static bool cb_ListMethods(flext_base *c,int argc,const t_atom *argv); - static bool cb_ListAttrib(flext_base *c) { Locker lock(c); return c->ListAttrib(); } - - // queue stuff - - //! Start message queue - static void StartQueue(); -#if FLEXT_QMODE == 2 - //! Queue worker function - static void QWorker(thr_params *); -#endif - //! Flush messages in the queue - static void QFlush(flext_base *th = NULL); - -#if FLEXT_SYS == FLEXT_SYS_PD - - static void SetGfx(t_classid c); - -#ifndef FLEXT_NOATTREDIT - // attribute editor - static bool cb_AttrDialog(flext_base *c,int argc,const t_atom *argv); - static void cb_GfxProperties(flext_hdr *c, t_glist *); -#endif - -#ifdef FLEXT_ATTRHIDE - static void cb_GfxVis(flext_hdr *c, t_glist *gl, int vis); - static void cb_GfxSave(flext_hdr *c, t_binbuf *b); - static void cb_GfxSelect(flext_hdr *x, struct _glist *glist, int state); - - void BinbufArgs(t_binbuf *b,t_binbuf *args,bool withname,bool transdoll); - void BinbufAttr(t_binbuf *b,bool transdoll); -#endif - - static void cb_bang(flext_hdr *c); - static void cb_float(flext_hdr *c,t_float f); - static void cb_symbol(flext_hdr *c,const t_symbol *s); -// static void cb_pointer(fltext_hdr *c,const t_gpointer *p); - static void cb_anything(flext_hdr *c,const t_symbol *s,int argc,t_atom *argv); - - // proxy object (for additional inlets) - static t_class *px_class; - - struct px_object // no virtual table! - { - t_object obj; // MUST reside at memory offset 0 - flext_base *base; - int index; - - void init(flext_base *b,int ix) { base = b; index = ix; } - static void px_bang(px_object *c); - static void px_float(px_object *c,t_float f); - static void px_symbol(px_object *c,const t_symbol *s); -// static void px_pointer(px_object *c,const t_gpointer *p); - static void px_anything(px_object *c,const t_symbol *s,int argc,t_atom *argv); - }; - - static void cb_px_ft1(flext_hdr *c,t_float f); - static void cb_px_ft2(flext_hdr *c,t_float f); - static void cb_px_ft3(flext_hdr *c,t_float f); - static void cb_px_ft4(flext_hdr *c,t_float f); - static void cb_px_ft5(flext_hdr *c,t_float f); - static void cb_px_ft6(flext_hdr *c,t_float f); - static void cb_px_ft7(flext_hdr *c,t_float f); - static void cb_px_ft8(flext_hdr *c,t_float f); - static void cb_px_ft9(flext_hdr *c,t_float f); - -#elif FLEXT_SYS == FLEXT_SYS_MAX - typedef object px_object; - static void cb_bang(flext_hdr *c); - static void cb_float(flext_hdr *c,double f); - static void cb_int(flext_hdr *c,long v); - static void cb_anything(flext_hdr *c,const t_symbol *s,short argc,t_atom *argv); - - static void cb_px_in1(flext_hdr *c,long v); - static void cb_px_in2(flext_hdr *c,long v); - static void cb_px_in3(flext_hdr *c,long v); - static void cb_px_in4(flext_hdr *c,long v); - static void cb_px_in5(flext_hdr *c,long v); - static void cb_px_in6(flext_hdr *c,long v); - static void cb_px_in7(flext_hdr *c,long v); - static void cb_px_in8(flext_hdr *c,long v); - static void cb_px_in9(flext_hdr *c,long v); - - static void cb_px_ft1(flext_hdr *c,double f); - static void cb_px_ft2(flext_hdr *c,double f); - static void cb_px_ft3(flext_hdr *c,double f); - static void cb_px_ft4(flext_hdr *c,double f); - static void cb_px_ft5(flext_hdr *c,double f); - static void cb_px_ft6(flext_hdr *c,double f); - static void cb_px_ft7(flext_hdr *c,double f); - static void cb_px_ft8(flext_hdr *c,double f); - static void cb_px_ft9(flext_hdr *c,double f); -#endif - - px_object **inlets; - - // --------- symbol-bound proxy - - static t_class *pxbnd_class; - - class pxbnd_object: - public flext_root - // no virtual table! - { - public: - t_object obj; // MUST reside at memory offset 0 - flext_base *base; - BindItem *item; - void *data; - - void init(flext_base *b,BindItem *it,void *d) { base = b; item = it; data = d; } - static void px_method(pxbnd_object *c,const t_symbol *s,int argc,t_atom *argv); - }; - - //! create proxy class for symbol binding - static void SetupBindProxy(); - - // --------- - - //! set up inlet proxies - static void SetProxies(t_class *c,bool dsp); - - //! initialize inlets (according to class or object constructor definitions) - bool InitInlets(); - - //! initialize outlets (according to class or object constructor definitions) - bool InitOutlets(); - - // callback functions - - static void cb_loadbang(flext_hdr *c); - -#if FLEXT_SYS == FLEXT_SYS_MAX - char **indesc,**outdesc; - - static void cb_assist(flext_hdr *c,void *b,long msg,long arg,char *s); - static void cb_click (flext_hdr *c, Point pt, short mods); - - static void cb_dsp(flext_hdr *c,t_signal **s,short *count); -#elif FLEXT_SYS == FLEXT_SYS_PD - static void cb_click(flext_hdr *z,t_floatarg xpos,t_floatarg ypos,t_floatarg shift,t_floatarg ctrl,t_floatarg alt); - - static void cb_dsp(flext_hdr *c,t_signal **s); -#endif -}; - -#include "flpopns.h" - -#endif diff --git a/externals/grill/trunk/flext/source/flcontainers.h b/externals/grill/trunk/flext/source/flcontainers.h deleted file mode 100644 index e3ecc9d1b..000000000 --- a/externals/grill/trunk/flext/source/flcontainers.h +++ /dev/null @@ -1,176 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3657 $ -$LastChangedDate: 2009-02-09 17:58:30 -0500 (Mon, 09 Feb 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flcontainers.h - \brief Lock-free container classes -*/ - -#ifndef __FLCONTAINERS_H -#define __FLCONTAINERS_H - -#include "flprefix.h" - -#include "lockfree/stack.hpp" -#include "lockfree/fifo.hpp" - -#include "flpushns.h" - -class LifoCell: public lockfree::stack_node {}; - -class Lifo - : public lockfree::intrusive_stack<LifoCell> -{ -public: - inline void Push(LifoCell *cell) { this->push(cell); } - inline LifoCell *Pop() { return this->pop(); } - inline bool Avail() const { return !this->empty(); } -}; - -template <typename T> -class TypedLifo - : public Lifo -{ -public: - inline void Push(T *c) { Lifo::Push(static_cast<T *>(c)); } - inline T *Pop() { return static_cast<T *>(Lifo::Pop()); } -}; - -template <typename T> -class ValueLifoCell - : public LifoCell -{ -public: - ValueLifoCell(T v): value(v) {} - T value; -}; - -template <typename T> -class ValueLifo - : public TypedLifo<ValueLifoCell<T> > -{ -public: - inline void Push(T v) - { - TypedLifo<ValueLifoCell<T> >::Push(new ValueLifoCell<T>(v)); - } - - inline T Pop() - { - ValueLifoCell<T> *p = TypedLifo<ValueLifoCell<T> >::Pop(); - T v = p->value; - delete p; - return v; - } -}; - -template <typename T,int M = 2,int O = 1> -class PooledLifo - : public TypedLifo<T> -{ -public: - PooledLifo(): sz(0),resz(0) {} - - void Push(T *c) { TypedLifo<T>::Push(c); ++sz; } - T *Pop() { T *r = TypedLifo<T>::Pop(); if(r) --sz; return r; } - - T *New() - { - T *n = reuse.Pop(); - if(n) { - --resz; - return n; - } - else - return new T; - } - - inline void Free(T *p) - { - if(resz < sz*M+O) { reuse.Push(p); ++resz; } - else delete p; - } -private: - TypedLifo<T> reuse; - size_t sz,resz; -}; - - -class FifoCell: public lockfree::fifo_node {}; - -class Fifo - : public lockfree::intrusive_fifo<FifoCell> -{ -public: - inline void Put(FifoCell *cl) { this->enqueue(cl); } - inline FifoCell *Get() { return this->dequeue(); } - inline bool Avail() const { return !this->empty(); } -}; - - -template <typename T> -class TypedFifo - : public Fifo -{ -public: - inline void Put(T *c) { Fifo::Put(static_cast<T *>(c)); } - inline T *Get() { return static_cast<T *>(Fifo::Get()); } -}; - - -template <typename T> -class ValueFifoCell - : public FifoCell -{ -public: - ValueFifoCell(T v): value(v) {} - T value; -}; - -template <typename T> -class ValueFifo - : public TypedFifo<ValueFifoCell<T> > -{ -public: - inline void Put(T v) - { - TypedFifo<ValueFifoCell<T> >::Put(new ValueFifoCell<T>(v)); - } - - inline T Get() - { - ValueFifoCell<T> *p = TypedFifo<ValueFifoCell<T> >::Get(); - T v = p->value; - delete p; - return v; - } -}; - - -template <typename T,int M = 2,int O = 1> -class PooledFifo - : public TypedFifo<T> -{ -public: - ~PooledFifo() { T *n; while((n = reuse.Get()) != NULL) delete n; } - - inline T *New() { T *n = reuse.Get(); return n?n:new T; } - inline void Free(T *p) { if(resz < sz*M+O) reuse.Put(p); else delete p; } -private: - TypedFifo<T> reuse; - size_t sz,resz; -}; - -#include "flpopns.h" - -#endif - diff --git a/externals/grill/trunk/flext/source/flcwmax-thr.h b/externals/grill/trunk/flext/source/flcwmax-thr.h deleted file mode 100644 index 4167be9f1..000000000 --- a/externals/grill/trunk/flext/source/flcwmax-thr.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -*/ - -/*! \file flcwmax-thr.h - \brief Prefix file for CodeWarrior projects - OS 9 threaded version. -*/ - -#ifndef _FLEXT_CW_MAX_THR_H -#define _FLEXT_CW_MAX_THR_H - -#define FLEXT_THREADS - -/* - old CodeWarrior version (<= 6) don't have sigset_t defined which - is needed for pthreads -*/ -#if defined(__MWERKS__) && (__MWERKS__ == 1) // read __MWERKS__ numbering starts with CW7 - typedef unsigned int sigset_t; - #define _CW_NOPRECOMP // no precompiled headers -#endif - -#include "flcwmax.h" - -#endif diff --git a/externals/grill/trunk/flext/source/flcwmax-x-thr.h b/externals/grill/trunk/flext/source/flcwmax-x-thr.h deleted file mode 100644 index 93b782895..000000000 --- a/externals/grill/trunk/flext/source/flcwmax-x-thr.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -*/ - -/*! \file flcwmax-x-thr.h - \brief Prefix file for CodeWarrior projects - OS X threaded version. -*/ - -#ifndef _FLEXT_CW_MAX_X_THR_H -#define _FLEXT_CW_MAX_X_THR_H - -#define FLEXT_THREADS - -/* - old CodeWarrior version (<= 6) don't have sigset_t defined which - is needed for pthreads -*/ -#if defined(__MWERKS__) && (__MWERKS__ == 1) // read __MWERKS__ numbering starts with CW7 - typedef unsigned int sigset_t; - #define _CW_NOPRECOMP // no precompiled headers -#endif - -#include "flcwmax-x.h" - -#endif diff --git a/externals/grill/trunk/flext/source/flcwmax-x.h b/externals/grill/trunk/flext/source/flcwmax-x.h deleted file mode 100644 index e1e340d26..000000000 --- a/externals/grill/trunk/flext/source/flcwmax-x.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -*/ - -/*! \file flcwmax-x.h - \brief Prefix file for CodeWarrior projects - OS X version. -*/ - -#ifndef _FLEXT_CW_MAX_X_H -#define _FLEXT_CW_MAX_X_H - -//#define TARGET_API_MAC_CARBON 1 -#define _POSIX_C_SOURCE -#define _POSIX_SOURCE - -#include "flcwmax.h" - -#endif diff --git a/externals/grill/trunk/flext/source/flcwmax.h b/externals/grill/trunk/flext/source/flcwmax.h deleted file mode 100644 index 4d108e2e8..000000000 --- a/externals/grill/trunk/flext/source/flcwmax.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -*/ - -/*! \file flcwmax.h - \brief Prefix file for CodeWarrior projects - OS 9 version. -*/ - -#ifndef _FLEXT_CW_MAX_H -#define _FLEXT_CW_MAX_H - -#ifndef __MWERKS__ - #error "This header file is for CodeWarrior only." -#endif - -#define FLEXT_SYS 1 -#define FLEXT_USE_SIMD - -#ifndef _CW_NOPRECOMP - #include <MacHeaders.h> -#endif - -#if /*__option(sym) ||*/ !__option(opt_dead_code) - #pragma message("Optimization disabled -> Compiling a debug version (with FLEXT_DEBUG)") - #define FLEXT_DEBUG -#endif - -/* #define _LOG */ - -#endif diff --git a/externals/grill/trunk/flext/source/flcwpd-x-thr.h b/externals/grill/trunk/flext/source/flcwpd-x-thr.h deleted file mode 100644 index d30750691..000000000 --- a/externals/grill/trunk/flext/source/flcwpd-x-thr.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -*/ - -/* This is the prefix file for CodeWarrior projects - OS X version */ - -#ifndef _FLEXT_CW_PD_X_THR_H -#define _FLEXT_CW_PD_X_THR_H - -#define FLEXT_THREADS - -#if 0 -/* - old CodeWarrior version (<= 6) don't have sigset_t defined which - is needed for pthreads -*/ -#if defined(__MWERKS__) && (__MWERKS__ <= 0x6000) - typedef unsigned int sigset_t; - #define _CW_NOPRECOMP // no precompiled headers -#endif -#endif - -#include "flcwpd-x.h" - -#endif diff --git a/externals/grill/trunk/flext/source/flcwpd-x.h b/externals/grill/trunk/flext/source/flcwpd-x.h deleted file mode 100644 index f6b5192ba..000000000 --- a/externals/grill/trunk/flext/source/flcwpd-x.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -*/ - -/* This is the prefix file for CodeWarrior projects - OS X version */ - -#ifndef _FLEXT_CW_PD_X_H -#define _FLEXT_CW_PD_X_H - -#ifndef __MWERKS__ - #error "This header file is for CodeWarrior only." -#endif - -#define FLEXT_SYS 2 -#define FLEXT_USE_SIMD - -#define TARGET_API_MAC_CARBON 1 -#define _POSIX_C_SOURCE - -#ifndef _CW_NOPRECOMP -// #include <MacHeadersMach-O.h> -// #include <MSL MacHeadersMach-O.h> -#endif - -#if __option(sym) || !__option(opt_dead_code) - #define FLEXT_DEBUG -#endif - -/* #define _LOG */ - -#endif diff --git a/externals/grill/trunk/flext/source/fldefs.h b/externals/grill/trunk/flext/source/fldefs.h deleted file mode 100644 index 05a67a279..000000000 --- a/externals/grill/trunk/flext/source/fldefs.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3657 $ -$LastChangedDate: 2009-02-09 17:58:30 -0500 (Mon, 09 Feb 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file fldefs.h - \brief This file includes all the #define header files -*/ - -#ifndef __FLEXT_DEFS_H -#define __FLEXT_DEFS_H - -/*! \defgroup FLEXT_DEFS Definitions for basic flext functionality - @{ -*/ - -/*! \brief Switch for compilation of derived virtual classes - \remark These need dynamic type casts (and RTTI, naturally) - \ingroup FLEXT_GLOBALS -*/ -#ifdef FLEXT_VIRT -#define FLEXT_CAST dynamic_cast -#else -#define FLEXT_CAST static_cast -#endif - -//! @} FLEXT_DEFS - -#include "fldefs_hdr.h" - -#include "fldefs_setup.h" - - -// ==================================================================================== - -/*! \defgroup FLEXT_D_METHOD Declarations for flext methods - @{ -*/ - -#include "fldefs_methcb.h" -#include "fldefs_meththr.h" -#include "fldefs_methadd.h" -#include "fldefs_methbind.h" -#include "fldefs_methcall.h" - -//! @} FLEXT_D_METHOD - - - -#ifdef FLEXT_ATTRIBUTES - -/*! \defgroup FLEXT_D_ATTRIB Attribute definition - \note These have to reside inside the class declaration - @{ -*/ - -#include "fldefs_attrcb.h" -#include "fldefs_attrvar.h" -#include "fldefs_attradd.h" - -//! @} FLEXT_D_ATTRIB - -#endif // FLEXT_ATTRIBUTES - -#endif // __FLEXT_DEFS_H diff --git a/externals/grill/trunk/flext/source/fldefs_attradd.h b/externals/grill/trunk/flext/source/fldefs_attradd.h deleted file mode 100644 index 948e4fb8e..000000000 --- a/externals/grill/trunk/flext/source/fldefs_attradd.h +++ /dev/null @@ -1,124 +0,0 @@ -/* - -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. - -$LastChangedRevision: 1233 $ -$LastChangedDate: 2008-01-17 11:11:19 -0500 (Thu, 17 Jan 2008) $ -$LastChangedBy: thomas $ -*/ - -/*! \file fldefs_attradd.h - \brief This file contains all #defines for actual usage - -*/ - -#ifndef __FLEXT_DEFS_ATTRADD_H -#define __FLEXT_DEFS_ATTRADD_H - - -/*! \defgroup FLEXT_D_CADDATTR Announce object attributes at class scope - \ingroup FLEXT_D_ATTRIB - \note These can only be used at class construction time - @{ -*/ - -//! Add handler for a gettable attribute -#define FLEXT_CADDATTR_GET(CL,NAME,GFUN) \ -\ -AddAttrib(CL,flext::MakeSymbol(NAME),(FLEXT_GET_PRE(GFUN)),NULL) - -//! Add handler for a settable attribute -#define FLEXT_CADDATTR_SET(CL,NAME,SFUN) \ -\ -AddAttrib(CL,flext::MakeSymbol(NAME),NULL,(FLEXT_SET_PRE(SFUN))) - -//! Add handlers for a both get- and settable attribute -#define FLEXT_CADDATTR_VAR(CL,NAME,GFUN,SFUN) \ -\ -AddAttrib(CL,flext::MakeSymbol(NAME),(FLEXT_GET_PRE(GFUN)),(FLEXT_SET_PRE(SFUN))) - -//! Add handlers for a both get- and settable attribute -#define FLEXT_CADDATTR_VAR1(CL,NAME,FUN) \ -\ -AddAttrib(CL,flext::MakeSymbol(NAME),(FLEXT_GET_PRE(FUN)),(FLEXT_SET_PRE(FUN))) - - -//! Add handler for a gettable enum attribute -#define FLEXT_CADDATTR_GET_E(CL,NAME,GFUN) \ -\ -AddAttrib(CL,flext::MakeSymbol(NAME),(bool (*)(flext_base *,int &))(FLEXT_GET_PRE(GFUN)),NULL) - -//! Add handler for a settable enum attribute -#define FLEXT_CADDATTR_SET_E(CL,NAME,SFUN) \ -\ -AddAttrib(CL,flext::MakeSymbol(NAME),NULL,(bool (*)(flext_base *,int &))(FLEXT_SET_PRE(SFUN))) - -//! Add handlers for a both get- and settable enum attribute -#define FLEXT_CADDATTR_VAR_E(CL,NAME,GFUN,SFUN) \ -\ -AddAttrib(CL,flext::MakeSymbol(NAME),(bool (*)(flext_base *,int &))(FLEXT_GET_PRE(GFUN)),(bool (*)(flext_base *,int &))(FLEXT_SET_PRE(SFUN))) - -//! Add handlers for a both get- and settable enum attribute -#define FLEXT_CADDATTR_VAR1_E(CL,NAME,FUN) \ -\ -AddAttrib(CL,flext::MakeSymbol(NAME),(bool (*)(flext_base *,int &))(FLEXT_GET_PRE(FUN)),(bool (*)(flext_base *,int &))(FLEXT_SET_PRE(FUN))) - -//! @} FLEXT_D_CADDATTR - - -/*! \defgroup FLEXT_D_ADDATTR Announce object attributes - \ingroup FLEXT_D_ATTRIB - \note These can only be used at object construction time - \note (in constructor or in Init() function before call to parent's Init()) - @{ -*/ - -//! Add handler for a gettable attribute -#define FLEXT_ADDATTR_GET(NAME,GFUN) \ -\ -AddAttrib(flext::MakeSymbol(NAME),(FLEXT_GET_PRE(GFUN)),NULL) - -//! Add handler for a settable attribute -#define FLEXT_ADDATTR_SET(NAME,SFUN) \ -\ -AddAttrib(flext::MakeSymbol(NAME),NULL,(FLEXT_SET_PRE(SFUN))) - -//! Add handlers for a both get- and settable attribute -#define FLEXT_ADDATTR_VAR(NAME,GFUN,SFUN) \ -\ -AddAttrib(flext::MakeSymbol(NAME),(FLEXT_GET_PRE(GFUN)),(FLEXT_SET_PRE(SFUN))) - -//! Add handlers for a both get- and settable attribute -#define FLEXT_ADDATTR_VAR1(NAME,FUN) \ -\ -AddAttrib(flext::MakeSymbol(NAME),(FLEXT_GET_PRE(FUN)),(FLEXT_SET_PRE(FUN))) - - -//! Add handler for a gettable enum attribute -#define FLEXT_ADDATTR_GET_E(NAME,GFUN) \ -\ -AddAttrib(flext::MakeSymbol(NAME),(bool (*)(flext_base *,int &))(FLEXT_GET_PRE(GFUN)),NULL) - -//! Add handler for a settable enum attribute -#define FLEXT_ADDATTR_SET_E(NAME,SFUN) \ -\ -AddAttrib(flext::MakeSymbol(NAME),NULL,(bool (*)(flext_base *,int &))(FLEXT_SET_PRE(SFUN))) - -//! Add handlers for a both get- and settable enum attribute -#define FLEXT_ADDATTR_VAR_E(NAME,GFUN,SFUN) \ -\ -AddAttrib(flext::MakeSymbol(NAME),(bool (*)(flext_base *,int &))(FLEXT_GET_PRE(GFUN)),(bool (*)(flext_base *,int &))(FLEXT_SET_PRE(SFUN))) - -//! Add handlers for a both get- and settable enum attribute -#define FLEXT_ADDATTR_VAR1_E(NAME,FUN) \ -\ -AddAttrib(flext::MakeSymbol(NAME),(bool (*)(flext_base *,int &))(FLEXT_GET_PRE(FUN)),(bool (*)(flext_base *,int &))(FLEXT_SET_PRE(FUN))) - -//! @} FLEXT_D_ADDATTR - - -#endif diff --git a/externals/grill/trunk/flext/source/fldefs_attrcb.h b/externals/grill/trunk/flext/source/fldefs_attrcb.h deleted file mode 100644 index c42a5d7ed..000000000 --- a/externals/grill/trunk/flext/source/fldefs_attrcb.h +++ /dev/null @@ -1,161 +0,0 @@ -/* - -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. - -$LastChangedRevision: 1233 $ -$LastChangedDate: 2008-01-17 11:11:19 -0500 (Thu, 17 Jan 2008) $ -$LastChangedBy: thomas $ -*/ - -/*! \file fldefs_attrcb.h - \brief This file contains all #defines for actual usage - -*/ - -#ifndef __FLEXT_DEFS_ATTRCB_H -#define __FLEXT_DEFS_ATTRCB_H - - - -/*! \brief Declare a attribute set function - \internal -*/ -#define FLEXT_CALLSET_(FUN,TP) \ -static bool FLEXT_SET_PRE(FUN)(flext_base *c,TP &arg) \ -{ FLEXT_CAST<thisType *>(c)->FUN(arg); return true; } - -/*! \brief Declare a attribute get function - \internal -*/ -#define FLEXT_CALLGET_(FUN,TP) \ -static bool FLEXT_GET_PRE(FUN)(flext_base *c,TP &arg) \ -{ FLEXT_CAST<thisType *>(c)->FUN(arg); return true; } - - - -/*! \defgroup FLEXT_DA_CALLSET Definition of attribute set handlers - \ingroup FLEXT_D_ATTRIB - @{ -*/ - -//! Declare a set function for a float attribute -#define FLEXT_CALLSET_F(SFUN) \ -\ -FLEXT_CALLSET_(SFUN,float) - -//! Declare a set function for an integer attribute -#define FLEXT_CALLSET_I(SFUN) \ -\ -FLEXT_CALLSET_(SFUN,int) - -//! Declare a set function for a boolean attribute -#define FLEXT_CALLSET_B(SFUN) \ -\ -FLEXT_CALLSET_(SFUN,bool) -/* -static bool FLEXT_SET_PRE(FUN)(flext_base *c,int &arg) \ -{ bool b = arg != 0; FLEXT_CAST<thisType *>(c)->FUN(b); return true; } -*/ - -//! Declare a set function for an enum attribute -#define FLEXT_CALLSET_E(SFUN,TP) \ -\ -FLEXT_CALLSET_(SFUN,TP) - -//! Declare a set function for a symbol attribute -#define FLEXT_CALLSET_S(FUN) \ -static bool FLEXT_SET_PRE(FUN)(flext_base *c,const t_symbol *&arg) \ -{ FLEXT_CAST<thisType *>(c)->FUN(arg); return true; } - -//! Declare a set function for a variable list attribute -#define FLEXT_CALLSET_V(FUN) \ -static bool FLEXT_SET_PRE(FUN)(flext_base *c,AtomList *&arg) \ -{ FLEXT_CAST<thisType *>(c)->FUN(*arg); return true; } - -//! @} FLEXT_DA_CALLSET - -/*! \defgroup FLEXT_DA_CALLGET Definition of attribute get handlers - \ingroup FLEXT_D_ATTRIB - @{ -*/ - -//! Declare a get function for a float attribute -#define FLEXT_CALLGET_F(GFUN) \ -\ -FLEXT_CALLGET_(GFUN,float) - -//! Declare a get function for an integer attribute -#define FLEXT_CALLGET_I(GFUN) \ -\ -FLEXT_CALLGET_(GFUN,int) - -//! Declare a get function for a boolean attribute -#define FLEXT_CALLGET_B(GFUN) \ -\ -FLEXT_CALLGET_(GFUN,bool) -/* -static bool FLEXT_GET_PRE(FUN)(flext_base *c,int &arg) \ -{ bool b; FLEXT_CAST<thisType *>(c)->FUN(b); arg = b?1:0; return true; } -*/ - -//! Declare a get function for an enum attribute -#define FLEXT_CALLGET_E(GFUN,TP) \ -\ -FLEXT_CALLGET_(GFUN,TP) - -//! Declare a get function for a symbol attribute -#define FLEXT_CALLGET_S(FUN) \ -static bool FLEXT_GET_PRE(FUN)(flext_base *c,const t_symbol *&arg) \ -{ FLEXT_CAST<thisType *>(c)->FUN(arg); return true; } - -//! Declare a get function for a variable list attribute -#define FLEXT_CALLGET_V(FUN) \ -static bool FLEXT_GET_PRE(FUN)(flext_base *c,AtomList *&arg) \ -{ FLEXT_CAST<thisType *>(c)->FUN(*arg); return true; } - -//! @} FLEXT_DA_CALLGET - - -/*! \defgroup FLEXT_DA_CALLVAR Definition of attribute transfer handlers (both get and set) - \ingroup FLEXT_D_ATTRIB - @{ -*/ - -//! Declare both get and set functions for a float attribute -#define FLEXT_CALLVAR_F(GFUN,SFUN) \ -\ -FLEXT_CALLGET_F(GFUN) FLEXT_CALLSET_F(SFUN) - -//! Declare both get and set functions for an integer attribute -#define FLEXT_CALLVAR_I(GFUN,SFUN) \ -\ -FLEXT_CALLGET_I(GFUN) FLEXT_CALLSET_I(SFUN) - -//! Declare both get and set functions for a symbol attribute -#define FLEXT_CALLVAR_S(GFUN,SFUN) \ -\ -FLEXT_CALLGET_S(GFUN) FLEXT_CALLSET_S(SFUN) - -//! Declare both get and set functions for a boolean attribute -#define FLEXT_CALLVAR_B(GFUN,SFUN) \ -\ -FLEXT_CALLGET_B(GFUN) FLEXT_CALLSET_B(SFUN) - -//! Declare both get and set functions for an enum attribute -#define FLEXT_CALLVAR_E(GFUN,SFUN,TP) \ -\ -FLEXT_CALLGET_E(GFUN,TP) FLEXT_CALLSET_E(SFUN,TP) - -//! Declare both get and set functions for a variable list attribute -#define FLEXT_CALLVAR_V(GFUN,SFUN) \ -\ -FLEXT_CALLGET_V(GFUN) FLEXT_CALLSET_V(SFUN) - -//! @} FLEXT_DA_CALLVAR - - -#endif diff --git a/externals/grill/trunk/flext/source/fldefs_attrvar.h b/externals/grill/trunk/flext/source/fldefs_attrvar.h deleted file mode 100644 index a662184fc..000000000 --- a/externals/grill/trunk/flext/source/fldefs_attrvar.h +++ /dev/null @@ -1,161 +0,0 @@ -/* - -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. - -$LastChangedRevision: 1233 $ -$LastChangedDate: 2008-01-17 11:11:19 -0500 (Thu, 17 Jan 2008) $ -$LastChangedBy: thomas $ -*/ - -/*! \file fldefs_attrvar.h - \brief This file contains all #defines for actual usage - -*/ - -#ifndef __FLEXT_DEFS_ATTRVAR_H -#define __FLEXT_DEFS_ATTRVAR_H - - -/*! \brief Declare an implicit attribute set function - \internal -*/ -#define FLEXT_ATTRSET_(VAR,TP) \ -static bool FLEXT_SET_PRE(VAR)(flext_base *c,TP &arg) \ -{ FLEXT_CAST<thisType *>(c)->VAR = arg; return true; } - -/*! \brief Declare an implicit attribute get function - \internal -*/ -#define FLEXT_ATTRGET_(VAR,TP) \ -static bool FLEXT_GET_PRE(VAR)(flext_base *c,TP &arg) \ -{ arg = (TP)FLEXT_CAST<thisType *>(c)->VAR; return true; } - - - -/*! \defgroup FLEXT_DA_ATTRSET Definition of implicit attribute set handlers - \ingroup FLEXT_D_ATTRIB - @{ -*/ - -//! Declare an implicit set function for a float attribute -#define FLEXT_ATTRSET_F(VAR) \ -\ -FLEXT_ATTRSET_(VAR,float) - -//! Declare an implicit set function for an integer attribute -#define FLEXT_ATTRSET_I(VAR) \ -\ -FLEXT_ATTRSET_(VAR,int) - -//! Declare an implicit set function for a symbol attribute -#define FLEXT_ATTRSET_S(VAR) \ -\ -FLEXT_ATTRSET_(VAR,const t_symbol *) - -//! Declare an implicit set function for a boolean attribute -#define FLEXT_ATTRSET_B(VAR) \ -\ -FLEXT_ATTRSET_(VAR,bool) -/* -static bool FLEXT_SET_PRE(VAR)(flext_base *c,int &arg) \ -{ FLEXT_CAST<thisType *>(c)->VAR = arg != 0; return true; } -*/ - -//! Declare an implicit set function for an enum attribute -#define FLEXT_ATTRSET_E(VAR,TP) \ -\ -FLEXT_ATTRSET_(VAR,TP) - -//! Declare an implicit set function for a variable list attribute -#define FLEXT_ATTRSET_V(VAR) \ -static bool FLEXT_SET_PRE(VAR)(flext_base *c,AtomList *&arg) \ -{ FLEXT_CAST<thisType *>(c)->VAR = *arg; return true; } - -//! @} FLEXT_DA_ATTRSET - -/*! \defgroup FLEXT_DA_ATTRGET Definition of implicit attribute get handlers - \ingroup FLEXT_D_ATTRIB - @{ -*/ - -//! Declare an implicit get function for a float attribute -#define FLEXT_ATTRGET_F(VAR) \ -\ -FLEXT_ATTRGET_(VAR,float) - -//! Declare an implicit get function for an integer attribute -#define FLEXT_ATTRGET_I(VAR) \ -\ -FLEXT_ATTRGET_(VAR,int) - -//! Declare an implicit get function for a symbol attribute -#define FLEXT_ATTRGET_S(VAR) \ -\ -FLEXT_ATTRGET_(VAR,const t_symbol *) - -//! Declare an implicit get function for a boolean attribute -#define FLEXT_ATTRGET_B(VAR) \ -\ -FLEXT_ATTRGET_(VAR,bool) -/* -static bool FLEXT_GET_PRE(VAR)(flext_base *c,int &arg) \ -{ arg = FLEXT_CAST<thisType *>(c)->VAR?1:0; return true; } -*/ - -//! Declare an implicit get function for an enum attribute -#define FLEXT_ATTRGET_E(VAR,TP) \ -\ -FLEXT_ATTRGET_(VAR,TP) - -//! Declare an implicit get function for a variable list attribute -#define FLEXT_ATTRGET_V(VAR) \ -static bool FLEXT_GET_PRE(VAR)(flext_base *c,AtomList *&arg) \ -{ *arg = FLEXT_CAST<thisType *>(c)->VAR; return true; } - -//! @} FLEXT_DA_ATTRGET - - -/*! \defgroup FLEXT_DA_ATTRVAR Definition of implicit attribute transfer handlers (both get and set) - \ingroup FLEXT_D_ATTRIB - @{ -*/ - -//! Declare both implicit get and set functions for a float attribute -#define FLEXT_ATTRVAR_F(VAR) \ -\ -FLEXT_ATTRGET_F(VAR) FLEXT_ATTRSET_F(VAR) - -//! Declare both implicit get and set functions for an integer attribute -#define FLEXT_ATTRVAR_I(VAR) \ -\ -FLEXT_ATTRGET_I(VAR) FLEXT_ATTRSET_I(VAR) - -//! Declare both implicit get and set functions for a symbol attribute -#define FLEXT_ATTRVAR_S(VAR) \ -\ -FLEXT_ATTRGET_S(VAR) FLEXT_ATTRSET_S(VAR) - -//! Declare both implicit get and set functions for a boolean attribute -#define FLEXT_ATTRVAR_B(VAR) \ -\ -FLEXT_ATTRGET_B(VAR) FLEXT_ATTRSET_B(VAR) - -//! Declare both implicit get and set functions for an enum attribute -#define FLEXT_ATTRVAR_E(VAR,TP) \ -\ -FLEXT_ATTRGET_(VAR,TP) FLEXT_ATTRSET_(VAR,TP) - -//! Declare both implicit get and set functions for a variable list attribute -#define FLEXT_ATTRVAR_V(VAR) \ -\ -FLEXT_ATTRGET_V(VAR) FLEXT_ATTRSET_V(VAR) - - -//! @} FLEXT_DA_ATTRVAR - - -#endif diff --git a/externals/grill/trunk/flext/source/fldefs_hdr.h b/externals/grill/trunk/flext/source/fldefs_hdr.h deleted file mode 100644 index 70b99521b..000000000 --- a/externals/grill/trunk/flext/source/fldefs_hdr.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - -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. - -$LastChangedRevision: 1233 $ -$LastChangedDate: 2008-01-17 11:11:19 -0500 (Thu, 17 Jan 2008) $ -$LastChangedBy: thomas $ -*/ - -/*! \file fldefs_hdr.h - \brief This file contains all #defines for actual usage - -*/ - -#ifndef __FLEXT_DEFS_HEADER_H -#define __FLEXT_DEFS_HEADER_H - - -/*! \defgroup FLEXT_D_HEADER Flext class header - \note One (and only one!) of these definitions is compulsory for the class declaration. - \note It has to be placed somewhere in the class definition (not necessarily in a public section). - - @{ -*/ - -/*! \brief Plain flext class header - \param NEW_CLASS name of the current C++ class - \param PARENT_CLASS name of the base C++ class (e.g. flext_base or flext_dsp) -*/ -#define FLEXT_HEADER(NEW_CLASS,PARENT_CLASS) \ -\ -FLEXT_REALHDR(NEW_CLASS, PARENT_CLASS) - -#define FLEXT_HEADER_T(NEW_CLASS,PARENT_CLASS) \ -\ -FLEXT_REALHDR_T(NEW_CLASS, PARENT_CLASS) - -/*! \brief Flext class header with setup function - \param NEW_CLASS name of the current C++ class - \param PARENT_CLASS name of the base C++ class (e.g. flext_base or flext_dsp) - \param SETUPFUN setup function, of type "void (*setupfn)(t_class *)" - - The setup function is called after class creation. It corresponds to the - original PD "[object]_setup" function, apart from the - fact that all necessary class initializations have already been taken care of by flext. - The setup function can e.g. be used for a message to the console upon first creation of an object. -*/ -#define FLEXT_HEADER_S(NEW_CLASS, PARENT_CLASS, SETUPFUN)\ -\ -FLEXT_REALHDR_S(NEW_CLASS, PARENT_CLASS, SETUPFUN) - -#define FLEXT_HEADER_TS(NEW_CLASS, PARENT_CLASS, SETUPFUN)\ -\ -FLEXT_REALHDR_TS(NEW_CLASS, PARENT_CLASS, SETUPFUN) - - -//! @} FLEXT_D_HEADER - - -#endif diff --git a/externals/grill/trunk/flext/source/fldefs_methadd.h b/externals/grill/trunk/flext/source/fldefs_methadd.h deleted file mode 100644 index 2a2243f58..000000000 --- a/externals/grill/trunk/flext/source/fldefs_methadd.h +++ /dev/null @@ -1,235 +0,0 @@ -/* - -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. - -$LastChangedRevision: 1233 $ -$LastChangedDate: 2008-01-17 11:11:19 -0500 (Thu, 17 Jan 2008) $ -$LastChangedBy: thomas $ -*/ - -/*! \file fldefs_methadd.h - \brief This file contains all #defines for actual usage - -*/ - -#ifndef __FLEXT_DEFS_METHADD_H -#define __FLEXT_DEFS_METHADD_H - - -/*! \defgroup FLEXT_D_CADDMETHOD Add flext methods within class scope - \ingroup FLEXT_D_METHOD - \note These can only be used at class construction time - @{ -*/ - -/*! Add a method handler for bang - \note This is for compatibility - better use the method below -*/ -#define FLEXT_CADDBANG(CL,IX,M_FUN) \ -\ -AddMethod(CL,IX,FLEXT_CALL_PRE(M_FUN)) - -//! Add a handler for a method with either no, list or anything arguments -#define FLEXT_CADDMETHOD(CL,IX,M_FUN) \ -\ -AddMethod(CL,IX,FLEXT_CALL_PRE(M_FUN)) - -//! Add a a handler for a method with implicit arguments -#define FLEXT_CADDMETHOD_(CL,IX,M_TAG,M_FUN) \ -\ -AddMethod(CL,IX,flext::MakeSymbol(M_TAG),FLEXT_CALL_PRE(M_FUN)) - -//! Add a handler for a method with 1 enum type argument -#define FLEXT_CADDMETHOD_E(CL,IX,M_TAG,M_FUN) \ -\ -AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),a_int,a_null) - -//! Add a handler for a method with 1 argument -#define FLEXT_CADDMETHOD_1(CL,IX,M_TAG,M_FUN,TP1) \ -\ -AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),a_null) - -//! Add a handler for a method with 2 arguments -#define FLEXT_CADDMETHOD_2(CL,IX,M_TAG,M_FUN,TP1,TP2) \ -\ -AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),a_null) - -//! Add a handler for a method with 3 arguments -#define FLEXT_CADDMETHOD_3(CL,IX,M_TAG,M_FUN,TP1,TP2,TP3) \ -\ -AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),a_null) - -//! Add a handler for a method with 4 arguments -#define FLEXT_CADDMETHOD_4(CL,IX,M_TAG,M_FUN,TP1,TP2,TP3,TP4) \ -\ -AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),FLEXTARG(TP4),a_null) - -//! Add a handler for a method with 5 arguments -#define FLEXT_CADDMETHOD_5(CL,IX,M_TAG,M_FUN,TP1,TP2,TP3,TP4,TP5) \ -\ -AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),FLEXTARG(TP4),FLEXTARG(TP5),a_null) - - -// Shortcuts - -//! Add a handler for a method with a boolean argument -#define FLEXT_CADDMETHOD_B(CL,IX,M_TAG,M_FUN) \ -\ -FLEXT_CADDMETHOD_1(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,bool) - -//! Add a handler for a method with 1 float argument -#define FLEXT_CADDMETHOD_F(CL,IX,M_TAG,M_FUN) \ -\ -FLEXT_CADDMETHOD_1(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,float) - -//! Add a handler for a method with 2 float arguments -#define FLEXT_CADDMETHOD_FF(CL,IX,M_TAG,M_FUN) \ -\ -FLEXT_CADDMETHOD_2(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,float,float) - -//! Add a handler for a method with 3 float arguments -#define FLEXT_CADDMETHOD_FFF(CL,IX,M_TAG,M_FUN) \ -\ -FLEXT_CADDMETHOD_3(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,float,float,float) - -//! Add a handler for a method with 1 integer argument -#define FLEXT_CADDMETHOD_I(CL,IX,M_TAG,M_FUN) \ -\ -FLEXT_CADDMETHOD_1(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,int) - -//! Add a handler for a method with 2 integer arguments -#define FLEXT_CADDMETHOD_II(CL,IX,M_TAG,M_FUN) \ -\ -FLEXT_CADDMETHOD_2(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,int,int) - -//! Add a handler for a method with 3 integer arguments -#define FLEXT_CADDMETHOD_III(CL,IX,M_TAG,M_FUN) \ -\ -FLEXT_CADDMETHOD_3(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,int,int,int) - -//! @} FLEXT_D_CADDMETHOD - - -/*! \defgroup FLEXT_D_ADDMETHOD Add flext methods - \ingroup FLEXT_D_METHOD - \note These can only be used at object construction time - \note (in constructor or in Init() function before call to parent's Init()) - @{ -*/ - -//! Set timer callback -#define FLEXT_ADDTIMER(TMR,M_FUN) \ -\ -TMR.SetCallback(*this,FLEXT_CALL_PRE(M_FUN)) - -//! Enable list element distribution over inlets (if no better handler found) -#define FLEXT_ADDDIST() \ -\ -SetDist(true) - -//! Add a method handler for bang -#define FLEXT_ADDBANG(IX,M_FUN) \ -\ -AddMethod(IX,"bang",FLEXT_CALL_PRE(M_FUN)) - -//! Add a handler for a method with either no, list or anything arguments -#define FLEXT_ADDMETHOD(IX,M_FUN) \ -AddMethod(IX,FLEXT_CALL_PRE(M_FUN)) - -/*! \brief Add a handler for a method with a (variable argument) list - \deprecated This definition obscures that _ indicates the usage of a message tag - use FLEXT_ADDMETHOD instead - \note This is already covered by FLEXT_ADDMETHOD, but here for the sake of clarity -*/ -#define FLEXT_ADDMETHOD_V(IX,M_FUN) \ -\ -AddMethod(IX,FLEXT_CALL_PRE(M_FUN)) - -/*! \brief Add a handler for a method with an anything argument - \deprecated This definition obscures that _ indicates the usage of a message tag - use FLEXT_ADDMETHOD instead - \note This is already covered by FLEXT_ADDMETHOD, but here for the sake of clarity -*/ -#define FLEXT_ADDMETHOD_A(IX,M_FUN) \ -\ -AddMethod(IX,FLEXT_CALL_PRE(M_FUN)) - -//! Add a a handler for a tagged method with implicit arguments -#define FLEXT_ADDMETHOD_(IX,M_TAG,M_FUN) \ -\ -AddMethod(IX,flext::MakeSymbol(M_TAG),FLEXT_CALL_PRE(M_FUN)) - -//! Add a handler for a method with 1 enum type argument -#define FLEXT_ADDMETHOD_E(IX,M_TAG,M_FUN) \ -\ -AddMethod(ThMeths(),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),a_int,a_null) - -//! Add a handler for a method with 1 argument -#define FLEXT_ADDMETHOD_1(IX,M_TAG,M_FUN,TP1) \ -\ -AddMethod(ThMeths(),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),a_null) - -//! Add a handler for a method with 2 arguments -#define FLEXT_ADDMETHOD_2(IX,M_TAG,M_FUN,TP1,TP2) \ -\ -AddMethod(ThMeths(),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),a_null) - -//! Add a handler for a method with 3 arguments -#define FLEXT_ADDMETHOD_3(IX,M_TAG,M_FUN,TP1,TP2,TP3) \ -\ -AddMethod(ThMeths(),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),a_null) - -//! Add a handler for a method with 4 arguments -#define FLEXT_ADDMETHOD_4(IX,M_TAG,M_FUN,TP1,TP2,TP3,TP4) \ -\ -AddMethod(ThMeths(),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),FLEXTARG(TP4),a_null) - -//! Add a handler for a method with 5 arguments -#define FLEXT_ADDMETHOD_5(IX,M_TAG,M_FUN,TP1,TP2,TP3,TP4,TP5) \ -\ -AddMethod(ThMeths(),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),FLEXTARG(TP4),FLEXTARG(TP5),a_null) - - -// Shortcuts - -//! Add a handler for a method with a boolean argument -#define FLEXT_ADDMETHOD_B(IX,M_TAG,M_FUN) \ -\ -FLEXT_ADDMETHOD_1(IX,flext::MakeSymbol(M_TAG),M_FUN,bool) - -//! Add a handler for a method with 1 float argument -#define FLEXT_ADDMETHOD_F(IX,M_TAG,M_FUN) \ -\ -FLEXT_ADDMETHOD_1(IX,flext::MakeSymbol(M_TAG),M_FUN,float) - -//! Add a handler for a method with 2 float arguments -#define FLEXT_ADDMETHOD_FF(IX,M_TAG,M_FUN) \ -\ -FLEXT_ADDMETHOD_2(IX,flext::MakeSymbol(M_TAG),M_FUN,float,float) - -//! Add a handler for a method with 3 float arguments -#define FLEXT_ADDMETHOD_FFF(IX,M_TAG,M_FUN) \ -\ -FLEXT_ADDMETHOD_3(IX,flext::MakeSymbol(M_TAG),M_FUN,float,float,float) - -//! Add a handler for a method with 1 integer argument -#define FLEXT_ADDMETHOD_I(IX,M_TAG,M_FUN) \ -\ -FLEXT_ADDMETHOD_1(IX,flext::MakeSymbol(M_TAG),M_FUN,int) - -//! Add a handler for a method with 2 integer arguments -#define FLEXT_ADDMETHOD_II(IX,M_TAG,M_FUN) \ -\ -FLEXT_ADDMETHOD_2(IX,flext::MakeSymbol(M_TAG),M_FUN,int,int) - -//! Add a handler for a method with 3 integer arguments -#define FLEXT_ADDMETHOD_III(IX,M_TAG,M_FUN) \ -\ -FLEXT_ADDMETHOD_3(IX,flext::MakeSymbol(M_TAG),M_FUN,int,int,int) - - -//! @} FLEXT_D_ADDMETHOD - -#endif diff --git a/externals/grill/trunk/flext/source/fldefs_methbind.h b/externals/grill/trunk/flext/source/fldefs_methbind.h deleted file mode 100644 index a4f696cbc..000000000 --- a/externals/grill/trunk/flext/source/fldefs_methbind.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - -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. - -$LastChangedRevision: 1233 $ -$LastChangedDate: 2008-01-17 11:11:19 -0500 (Thu, 17 Jan 2008) $ -$LastChangedBy: thomas $ -*/ - -/*! \file fldefs_methbind.h - \brief This file contains all #defines for actual usage - -*/ - -#ifndef __FLEXT_DEFS_METHBIND_H -#define __FLEXT_DEFS_METHBIND_H - - -/*! \defgroup FLEXT_D_BINDMETHOD Bind flext methods to symbols - @{ -*/ - -/*! \brief Bind a handler for a method with an anything argument to a symbol -*/ -#define FLEXT_BINDMETHOD(SYM,M_FUN,DATA) \ -\ -BindMethod(SYM,FLEXT_CALL_PRE(M_FUN),DATA) - -/*! \brief Unbind any handler for a method from a symbol - \note Memory associated to the DATA parameter of FLEXT_BINDMETHOD will *not* be freed here. -*/ -#define FLEXT_UNBINDMETHOD(SYM) \ -\ -UnbindMethod(SYM) - -/*! \brief Unbind any handler for a method from a symbol and return user data pointer by DATA - \note Memory associated to the DATA parameter of FLEXT_BINDMETHOD will *not* be freed here. -*/ -#define FLEXT_UNBINDMETHOD_X(SYM,DATA) \ -\ -UnbindMethod(SYM,&DATA) - - -//! @} FLEXT_D_BINDMETHOD - - -#endif diff --git a/externals/grill/trunk/flext/source/fldefs_methcall.h b/externals/grill/trunk/flext/source/fldefs_methcall.h deleted file mode 100644 index 0ca322ba5..000000000 --- a/externals/grill/trunk/flext/source/fldefs_methcall.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - -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. - -$LastChangedRevision: 1233 $ -$LastChangedDate: 2008-01-17 11:11:19 -0500 (Thu, 17 Jan 2008) $ -$LastChangedBy: thomas $ -*/ - -/*! \file fldefs_methbind.h - \brief This file contains all #defines for actual usage - -*/ - -#ifndef __FLEXT_DEFS_METHCALL_H -#define __FLEXT_DEFS_METHCALL_H - - -/*! \defgroup FLEXT_D_CALLMETHOD Call flext methods manually - \ingroup FLEXT_D_METHOD - @{ -*/ - -//! Call a (already defined) method with no arguments -#define FLEXT_CALLMETHOD(M_FUN) \ -\ -FLEXT_CALL_PRE(M_FUN)(this) - -//! Call a (already defined) method with variable list arguments -#define FLEXT_CALLMETHOD_V(M_FUN,ARGC,ARGV) \ -\ -FLEXT_CALL_PRE(M_FUN)(this,ARGC,(t_atom *)(ARGV)) - -//! Call a (already defined) method with anything arguments -#define FLEXT_CALLMETHOD_A(M_FUN,HDR,ARGC,ARGV) \ -\ -FLEXT_CALL_PRE(M_FUN)(this,(t_symbol *)(HDR),ARGC,(t_atom *)(ARGV)) - -//! Call a (already defined) method with a data package (void *) -#define FLEXT_CALLMETHOD_X(M_FUN,DATA) \ -\ -FLEXT_CALL_PRE(M_FUN)(this,DATA) - -//! Call a (already defined) method with 1 enum type argument -#define FLEXT_CALLMETHOD_E(M_FUN,ARG) \ -\ -FLEXT_CALL_PRE(M_FUN)(this,ARG) - -//! Call a (already defined) method with 1 argument -#define FLEXT_CALLMETHOD_1(M_FUN,ARG) \ -\ -FLEXT_CALL_PRE(M_FUN)(this,ARG) - -//! Call a (already defined) method with 2 arguments -#define FLEXT_CALLMETHOD_2(M_FUN,ARG1,ARG2) \ -\ -FLEXT_CALL_PRE(M_FUN)(this,ARG1,ARG2) - -//! Call a (already defined) method with 3 arguments -#define FLEXT_CALLMETHOD_3(M_FUN,ARG1,ARG2,ARG3) \ -\ -FLEXT_CALL_PRE(M_FUN)(this,ARG1,ARG2,ARG3) - -//! Call a (already defined) method with 4 arguments -#define FLEXT_CALLMETHOD_4(M_FUN,ARG1,ARG2,ARG3,ARG4) \ -\ -FLEXT_CALL_PRE(M_FUN)(this,ARG1,ARG2,ARG3,ARG4) - -//! Call a (already defined) method with 5 arguments -#define FLEXT_CALLMETHOD_5(M_FUN,ARG1,ARG2,ARG3,ARG4,ARG5) \ -\ -FLEXT_CALL_PRE(M_FUN)(this,ARG1,ARG2,ARG3,ARG4,ARG5) - -//! @} FLEXT_D_CALLMETHOD - - -#endif diff --git a/externals/grill/trunk/flext/source/fldefs_methcb.h b/externals/grill/trunk/flext/source/fldefs_methcb.h deleted file mode 100644 index d9d31d33f..000000000 --- a/externals/grill/trunk/flext/source/fldefs_methcb.h +++ /dev/null @@ -1,132 +0,0 @@ -/* - -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. - -$LastChangedRevision: 1233 $ -$LastChangedDate: 2008-01-17 11:11:19 -0500 (Thu, 17 Jan 2008) $ -$LastChangedBy: thomas $ -*/ - -/*! \file fldefs_methcb.h - \brief This file contains all #defines for actual usage - -*/ - -#ifndef __FLEXT_DEFS_METHCB_H -#define __FLEXT_DEFS_METHCB_H - - -/*! \defgroup FLEXT_D_CALLBACK Declare callbacks for class methods - \ingroup FLEXT_D_METHOD - @{ -*/ - -//! Set up a method callback with no arguments -#define FLEXT_CALLBACK(M_FUN) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c) \ -{ FLEXT_CAST<thisType *>(c)->M_FUN(); return true; } - -//! Set up a method callback for an anything argument -#define FLEXT_CALLBACK_A(M_FUN) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,t_symbol *s,int argc,t_atom *argv) \ -{ FLEXT_CAST<thisType *>(c)->M_FUN(s,argc,argv); return true; } - -//! Set up a method callback for a variable argument list -#define FLEXT_CALLBACK_V(M_FUN) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,int argc,t_atom *argv) \ -{ FLEXT_CAST<thisType *>(c)->M_FUN(argc,argv); return true; } - -//! Set up a method callback for a data package (void *) argument -#define FLEXT_CALLBACK_X(M_FUN) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,void *data) \ -{ FLEXT_CAST<thisType *>(c)->M_FUN(data); return true; } - -//! Set up a method callback for an anything argument and a data package (e.g. for symbol-bound methods). -#define FLEXT_CALLBACK_AX(M_FUN) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,t_symbol *s,int argc,t_atom *argv,void *data) \ -{ FLEXT_CAST<thisType *>(c)->M_FUN(s,argc,argv,data); return true; } - -//! Set up a timer callback -#define FLEXT_CALLBACK_T(M_FUN) \ -\ -FLEXT_CALLBACK_X(M_FUN) - -//! Set up a method callback for a boolean argument -#define FLEXT_CALLBACK_B(M_FUN) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,int &arg1) \ -{ FLEXT_CAST<thisType *>(c)->M_FUN(arg1 != 0); return true; } - -//! Set up a method callback for 1 argument -#define FLEXT_CALLBACK_1(M_FUN,TP1) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1) \ -{ FLEXT_CAST<thisType *>(c)->M_FUN(arg1); return true; } - -//! Set up a method callback for 2 arguments -#define FLEXT_CALLBACK_2(M_FUN,TP1,TP2) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1,TP2 &arg2) \ -{ FLEXT_CAST<thisType *>(c)->M_FUN(arg1,arg2); return true; } - -//! Set up a method callback for 3 arguments -#define FLEXT_CALLBACK_3(M_FUN,TP1,TP2,TP3) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1,TP2 &arg2,TP3 &arg3) \ -{ FLEXT_CAST<thisType *>(c)->M_FUN(arg1,arg2,arg3); return true; } - -//! Set up a method callback for 4 arguments -#define FLEXT_CALLBACK_4(M_FUN,TP1,TP2,TP3,TP4) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1,TP2 &arg2,TP3 &arg3,TP4 &arg4) \ -{ FLEXT_CAST<thisType *>(c)->M_FUN(arg1,arg2,arg3,arg4); return true; } - -//! Set up a method callback for 5 arguments -#define FLEXT_CALLBACK_5(M_FUN,TP1,TP2,TP3,TP4,TP5) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1,TP2 &arg2,TP3 &arg3,TP4 &arg4,TP5 &arg5) \ -{ FLEXT_CAST<thisType *>(c)->M_FUN(arg1,arg2,arg3,arg4,arg5); return true; } - - -// Shortcuts - -//! Set up a method callback for 1 float argument -#define FLEXT_CALLBACK_F(M_FUN) \ -\ -FLEXT_CALLBACK_1(M_FUN,float) - -//! Set up a method callback for 2 float arguments -#define FLEXT_CALLBACK_FF(M_FUN) \ -\ -FLEXT_CALLBACK_2(M_FUN,float,float) - -//! Set up a method callback for 3 float arguments -#define FLEXT_CALLBACK_FFF(M_FUN) \ -\ -FLEXT_CALLBACK_3(M_FUN,float,float,float) - -//! Set up a method callback for 1 integer argument -#define FLEXT_CALLBACK_I(M_FUN) \ -\ -FLEXT_CALLBACK_1(M_FUN,int) - -//! Set up a method callback for 2 integer arguments -#define FLEXT_CALLBACK_II(M_FUN) \ -\ -FLEXT_CALLBACK_2(M_FUN,int,int) - -//! Set up a method callback for 3 integer arguments -#define FLEXT_CALLBACK_III(M_FUN) \ -\ -FLEXT_CALLBACK_3(M_FUN,int,int,int) - -//! Set up a method callback for 1 symbol argument -#define FLEXT_CALLBACK_S(M_FUN) \ -\ -FLEXT_CALLBACK_1(M_FUN,t_symptr) - - -//! \deprecated -#define FLEXT_CALLBACK_G FLEXT_CALLBACK_V - -//! @} FLEXT_D_CALLBACK - -#endif diff --git a/externals/grill/trunk/flext/source/fldefs_meththr.h b/externals/grill/trunk/flext/source/fldefs_meththr.h deleted file mode 100644 index 538090fa7..000000000 --- a/externals/grill/trunk/flext/source/fldefs_meththr.h +++ /dev/null @@ -1,276 +0,0 @@ -/* - -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. - -$LastChangedRevision: 1233 $ -$LastChangedDate: 2008-01-17 11:11:19 -0500 (Thu, 17 Jan 2008) $ -$LastChangedBy: thomas $ -*/ - -/*! \file fldefs_meththr.h - \brief This file contains all #defines for actual usage - -*/ - -#ifndef __FLEXT_DEFS_METHTHR_H -#define __FLEXT_DEFS_METHTHR_H - - -#ifdef FLEXT_THREADS - - -/*! \defgroup FLEXT_D_THREAD Declare threaded method callbacks - @{ -*/ - -//! Set up a threaded method callback with no arguments -#define FLEXT_THREAD(M_FUN) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c) { \ - thr_params *p = new thr_params; \ - return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \ -} \ -static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \ - thisType *th = FLEXT_CAST<thisType *>(p->cl); \ - bool ok = th->PushThread(); \ - delete p; \ - if(ok) { \ - th->M_FUN(); \ - th->PopThread(); \ - } \ -} - -//! Set up a threaded method callback for an anything argument -#define FLEXT_THREAD_A(M_FUN) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,t_symbol *s,int argc,t_atom *argv) { \ - thr_params *p = new thr_params; p->set_any(s,argc,argv); \ - return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \ -} \ -static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \ - thisType *th = FLEXT_CAST<thisType *>(p->cl); \ - bool ok = th->PushThread(); \ - AtomAnything *args = p->var[0]._any; \ - delete p; \ - if(ok) { \ - th->M_FUN(args->Header(),args->Count(),args->Atoms()); \ - th->PopThread(); \ - } \ - delete args; \ -} - -//! Set up a threaded method callback for a variable argument list -#define FLEXT_THREAD_V(M_FUN) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,int argc,t_atom *argv) { \ - thr_params *p = new thr_params; p->set_list(argc,argv); \ - return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \ -} \ -static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \ - thisType *th = FLEXT_CAST<thisType *>(p->cl); \ - bool ok = th->PushThread(); \ - AtomList *args = p->var[0]._list; \ - delete p; \ - if(ok) { \ - th->M_FUN(args->Count(),args->Atoms()); \ - th->PopThread(); \ - } \ - delete args; \ -} - -/*! \brief Set up a threaded method callback for an arbitrary data struct. - \note Data is pure... no destructor is called upon delete -*/ -#define FLEXT_THREAD_X(M_FUN) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,void *data) { \ - thr_params *p = new thr_params; p->var[0]._ext = data; \ - return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \ -} \ -static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \ - thisType *th = FLEXT_CAST<thisType *>(p->cl); \ - bool ok = th->PushThread(); \ - void *data = p->var[0]._ext; \ - delete p; \ - if(ok) { \ - th->M_FUN(data); \ - th->PopThread(); \ - } \ - /* delete (char *)data; */ \ -} - -//! Set up a threaded method callback for a boolean argument -#define FLEXT_THREAD_B(M_FUN) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,int &arg1) { \ - thr_params *p = new thr_params; p->var[0]._bool = arg1 != 0; \ - return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \ -} \ -static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \ - thisType *th = FLEXT_CAST<thisType *>(p->cl); \ - bool ok = th->PushThread(); \ - bool b = p->var[0]._bool; \ - delete p; \ - if(ok) { \ - th->M_FUN(b); \ - th->PopThread(); \ - } \ -} - -//! Set up a threaded method callback for 1 argument -#define FLEXT_THREAD_1(M_FUN,TP1) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1) { \ - thr_params *p = new thr_params(1); \ - p->var[0]._ ## TP1 = arg1; \ - return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \ -} \ -static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \ - thisType *th = FLEXT_CAST<thisType *>(p->cl); \ - bool ok = th->PushThread(); \ - const TP1 v1 = p->var[0]._ ## TP1; \ - delete p; \ - if(ok) { \ - th->M_FUN(v1); \ - th->PopThread(); \ - } \ -} - -//! Set up a threaded method callback for 2 arguments -#define FLEXT_THREAD_2(M_FUN,TP1,TP2) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1,TP2 &arg2) { \ - thr_params *p = new thr_params(2); \ - p->var[0]._ ## TP1 = arg1; \ - p->var[1]._ ## TP2 = arg2; \ - return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \ -} \ -static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \ - thisType *th = FLEXT_CAST<thisType *>(p->cl); \ - bool ok = th->PushThread(); \ - const TP1 v1 = p->var[0]._ ## TP1; \ - const TP1 v2 = p->var[1]._ ## TP2; \ - delete p; \ - if(ok) { \ - th->M_FUN(v1,v2); \ - th->PopThread(); \ - } \ -} - -//! Set up a threaded method callback for 3 arguments -#define FLEXT_THREAD_3(M_FUN,TP1,TP2,TP3) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1,TP2 &arg2,TP3 &arg3) { \ - thr_params *p = new thr_params(3); \ - p->var[0]._ ## TP1 = arg1; \ - p->var[1]._ ## TP2 = arg2; \ - p->var[2]._ ## TP3 = arg3; \ - return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \ -} \ -static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \ - thisType *th = FLEXT_CAST<thisType *>(p->cl); \ - bool ok = th->PushThread(); \ - const TP1 v1 = p->var[0]._ ## TP1; \ - const TP2 v2 = p->var[1]._ ## TP2; \ - const TP3 v3 = p->var[2]._ ## TP3; \ - delete p; \ - if(ok) { \ - th->M_FUN(v1,v2,v3); \ - th->PopThread(); \ - } \ -} - -//! Set up a threaded method callback for 4 arguments -#define FLEXT_THREAD_4(M_FUN,TP1,TP2,TP3,TP4) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1,TP2 &arg2,TP3 &arg3,TP4 &arg4) { \ - thr_params *p = new thr_params(4); \ - p->var[0]._ ## TP1 = arg1; \ - p->var[1]._ ## TP2 = arg2; \ - p->var[2]._ ## TP3 = arg3; \ - p->var[3]._ ## TP4 = arg4; \ - return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \ -} \ -static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \ - thisType *th = FLEXT_CAST<thisType *>(p->cl); \ - bool ok = th->PushThread(); \ - const TP1 v1 = p->var[0]._ ## TP1; \ - const TP2 v2 = p->var[1]._ ## TP2; \ - const TP3 v3 = p->var[2]._ ## TP3; \ - const TP4 v4 = p->var[3]._ ## TP4; \ - delete p; \ - if(ok) { \ - th->M_FUN(v1,v2,v3,v4); \ - th->PopThread(); \ - } \ -} - -//! Set up a threaded method callback for 5 arguments -#define FLEXT_THREAD_5(M_FUN,TP1,TP2,TP3,TP4,TP5) \ -static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1,TP2 &arg2,TP3 &arg3,TP4 &arg4,TP5 &arg5) { \ - thr_params *p = new thr_params(5); \ - p->var[0]._ ## TP1 = arg1; \ - p->var[1]._ ## TP2 = arg2; \ - p->var[2]._ ## TP3 = arg3; \ - p->var[3]._ ## TP4 = arg4; \ - p->var[4]._ ## TP5 = arg5; \ - return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \ -} \ -static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \ - thisType *th = FLEXT_CAST<thisType *>(p->cl); \ - bool ok = th->PushThread(); \ - const TP1 v1 = p->var[0]._ ## TP1; \ - const TP2 v2 = p->var[1]._ ## TP2; \ - const TP3 v3 = p->var[2]._ ## TP3; \ - const TP4 v4 = p->var[3]._ ## TP4; \ - const TP5 v5 = p->var[4]._ ## TP5; \ - delete p; \ - if(ok) { \ - th->M_FUN(v1,v2,v3,v4,v5); \ - th->PopThread(); \ - } \ -} - - -//! Shortcuts - -//! Set up a threaded method callback for 1 float argument -#define FLEXT_THREAD_F(M_FUN) \ -\ -FLEXT_THREAD_1(M_FUN,float) - -//! Set up a threaded method callback for 2 float arguments -#define FLEXT_THREAD_FF(M_FUN) \ -\ -FLEXT_THREAD_2(M_FUN,float,float) - -//! Set up a threaded method callback for 3 float arguments -#define FLEXT_THREAD_FFF(M_FUN) \ -\ -FLEXT_THREAD_3(M_FUN,float,float,float) - -//! Set up a threaded method callback for 1 integer argument -#define FLEXT_THREAD_I(M_FUN) \ -\ -FLEXT_THREAD_1(M_FUN,int) - -//! Set up a threaded method callback for 2 integer arguments -#define FLEXT_THREAD_II(M_FUN) \ -\ -FLEXT_THREAD_2(M_FUN,int,int) - -//! Set up a threaded method callback for 3 integer arguments -#define FLEXT_THREAD_III(M_FUN) \ -\ -FLEXT_THREAD_3(M_FUN,int,int,int) - -//! Set up a threaded method callback for 1 symbol argument -#define FLEXT_THREAD_S(M_FUN) \ -\ -FLEXT_THREAD_1(M_FUN,t_symptr) - -// deprecated -#define FLEXT_THREAD_G FLEXT_THREAD_V - -//! @} FLEXT_D_THREAD - - -#endif // FLEXT_THREADS - - -#endif diff --git a/externals/grill/trunk/flext/source/fldefs_setup.h b/externals/grill/trunk/flext/source/fldefs_setup.h deleted file mode 100644 index 016f62f16..000000000 --- a/externals/grill/trunk/flext/source/fldefs_setup.h +++ /dev/null @@ -1,340 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3657 $ -$LastChangedDate: 2009-02-09 17:58:30 -0500 (Mon, 09 Feb 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file fldefs_setup.h - \brief This file contains all #defines for actual usage - -*/ - -#ifndef __FLEXT_DEFS_SETUP_H -#define __FLEXT_DEFS_SETUP_H - -// ==================================================================================== - -/*! \defgroup FLEXT_D_INSTANCE Class instantiation - \note For stand-alone externals (not part of a library) the name of your class - \note is of importance! It must be the same as the external (excluded an eventual ~ (tilde)) - - There are additional parameters that can be included in the NAME field of FLEXT_NEW etc.: - - - There may be additional names (aliases) appened, separated by spaces - - There may be a help path prepended, separated by a colon - - This help path doesn't work for Max/MSP. There you'll have to use a object mapping file (Max/MSP version >= 4.2) - - @{ -*/ - - -/*! \defgroup FLEXT_D_NEW Stand-alone class instantiation - Makes an actual instance of a stand-alone class. -*/ - -/*! \defgroup FLEXT_D_NEW_DSP Dsp class instantiation - Makes an actual instance of a dsp (aka "tilde") class (with signal processing). -*/ - -/*! \defgroup FLEXT_D_LIB Library class instantiation - Makes an actual instance of a class which is part of an object library (and not stand-alone). -*/ - -/*! \defgroup FLEXT_D_LIB_DSP Dsp library class instantiation - Makes an actual instance of a dsp (aka "tilde") class with signal processing - which is part of an object library (and not stand-alone). -*/ - -// NO ARGUMENTS -// ---------------------------------------- - -/*! \brief Implementation of a flext class with no arguments - \ingroup FLEXT_D_NEW - \param NAME the object's actual name(s) as a string (like "*", "trigger", "noise~", etc.) - \param NEW_CLASS the object's C++ class name -*/ -#define FLEXT_NEW(NAME,NEW_CLASS) \ -\ -REAL_NEW(NAME,NEW_CLASS,0,0,0) - -/*! \brief Implementation of a flext dsp class with no arguments - \ingroup FLEXT_D_NEW_DSP -*/ -#define FLEXT_NEW_DSP(NAME,NEW_CLASS) \ -\ -REAL_NEW(NAME,NEW_CLASS,1,0,0) - -/*! \brief Implementation of a flext dsp class with no arguments and no dsp inlet - \ingroup FLEXT_D_NEW_DSP -*/ -#define FLEXT_NEW_DSP0(NAME,NEW_CLASS) \ -\ -REAL_NEW(NAME,NEW_CLASS,1,1,0) - -/*! \brief Implementation of a flext class (part of a library) with no arguments - \ingroup FLEXT_D_LIB -*/ -#define FLEXT_LIB(NAME,NEW_CLASS) \ -\ -REAL_NEW(NAME,NEW_CLASS,0,0,1) - -/*! \brief Implementation of a flext dsp class (part of a library) with no arguments - \ingroup FLEXT_D_LIB_DSP -*/ -#define FLEXT_LIB_DSP(NAME,NEW_CLASS) \ -\ -REAL_NEW(NAME,NEW_CLASS,1,0,1) - -/*! \brief Implementation of a flext dsp class (part of a library) with no arguments and no dsp inlet - \ingroup FLEXT_D_LIB_DSP -*/ -#define FLEXT_LIB_DSP0(NAME,NEW_CLASS) \ -\ -REAL_NEW(NAME,NEW_CLASS,1,1,1) - - -// VARIABLE ARGUMENT LIST -// ---------------------------------------- - -/*! \brief Implementation of a flext class with a variable argument list - \ingroup FLEXT_D_NEW -*/ -#define FLEXT_NEW_V(NAME,NEW_CLASS) \ -\ -REAL_NEW_V(NAME,NEW_CLASS,0,0,0) - -/*! \brief Implementation of a flext dsp class with a variable argument list - \ingroup FLEXT_D_NEW_DSP -*/ -#define FLEXT_NEW_DSP_V(NAME,NEW_CLASS) \ -\ -REAL_NEW_V(NAME,NEW_CLASS,1,0,0) - -/*! \brief Implementation of a flext dsp class with a variable argument list and no dsp inlet - \ingroup FLEXT_D_NEW_DSP -*/ -#define FLEXT_NEW_DSP0_V(NAME,NEW_CLASS) \ -\ -REAL_NEW_V(NAME,NEW_CLASS,1,1,0) - -/*! \brief Implementation of a flext class (part of a library) with a variable argument list - \ingroup FLEXT_D_LIB -*/ -#define FLEXT_LIB_V(NAME,NEW_CLASS) \ -\ -REAL_NEW_V(NAME,NEW_CLASS, 0,0,1) - -/*! \brief Implementation of a flext dsp class (part of a library) with a variable argument list - \ingroup FLEXT_D_LIB_DSP -*/ -#define FLEXT_LIB_DSP_V(NAME,NEW_CLASS) \ -\ -REAL_NEW_V(NAME,NEW_CLASS, 1,0,1) - -/*! \brief Implementation of a flext dsp class (part of a library) with a variable argument list and no dsp inlet - \ingroup FLEXT_D_LIB_DSP -*/ -#define FLEXT_LIB_DSP0_V(NAME,NEW_CLASS) \ -\ -REAL_NEW_V(NAME,NEW_CLASS, 1,1,1) - - -// ONE ARGUMENT -// ---------------------------------------- - -/*! \brief Implementation of a flext class with one argument - \ingroup FLEXT_D_NEW -*/ -#define FLEXT_NEW_1(NAME,NEW_CLASS, TYPE) \ -\ -REAL_NEW_1(NAME,NEW_CLASS, 0,0,0, TYPE) - -/*! \brief Implementation of a flext dsp class with one argument - \ingroup FLEXT_D_NEW_DSP -*/ -#define FLEXT_NEW_DSP_1(NAME,NEW_CLASS, TYPE) \ -\ -REAL_NEW_1(NAME,NEW_CLASS, 1,0,0, TYPE) - -/*! \brief Implementation of a flext dsp class with one argument and no dsp inlet - \ingroup FLEXT_D_NEW_DSP -*/ -#define FLEXT_NEW_DSP0_1(NAME,NEW_CLASS, TYPE) \ -\ -REAL_NEW_1(NAME,NEW_CLASS, 1,1,0, TYPE) - -/*! \brief Implementation of a flext class (part of a library) with one argument - \ingroup FLEXT_D_LIB -*/ -#define FLEXT_LIB_1(NAME,NEW_CLASS, TYPE) \ -\ -REAL_NEW_1(NAME,NEW_CLASS, 0,0,1, TYPE) - -/*! \brief Implementation of a flext dsp class (part of a library) with one argument - \ingroup FLEXT_D_LIB_DSP -*/ -#define FLEXT_LIB_DSP_1(NAME,NEW_CLASS, TYPE) \ -\ -REAL_NEW_1(NAME,NEW_CLASS, 1,0,1, TYPE) - -/*! \brief Implementation of a flext dsp class (part of a library) with one argument and no dsp inlet - \ingroup FLEXT_D_LIB_DSP -*/ -#define FLEXT_LIB_DSP0_1(NAME,NEW_CLASS, TYPE) \ -\ -REAL_NEW_1(NAME,NEW_CLASS, 1,1,1, TYPE) - - -// TWO ARGUMENTS -// ---------------------------------------- - -/*! \brief Implementation of a flext class with 2 arguments - \ingroup FLEXT_D_NEW -*/ -#define FLEXT_NEW_2(NAME,NEW_CLASS, TYPE1, TYPE2) \ -\ -REAL_NEW_2(NAME,NEW_CLASS, 0,0,0, TYPE1, TYPE2) - -/*! \brief Implementation of a flext dsp class with 2 arguments - \ingroup FLEXT_D_NEW_DSP -*/ -#define FLEXT_NEW_DSP_2(NAME,NEW_CLASS, TYPE1, TYPE2) \ -\ -REAL_NEW_2(NAME,NEW_CLASS, 1,0,0, TYPE1, TYPE2) - -/*! \brief Implementation of a flext dsp class with 2 arguments and no dsp inlet - \ingroup FLEXT_D_NEW_DSP -*/ -#define FLEXT_NEW_DSP0_2(NAME,NEW_CLASS, TYPE1, TYPE2) \ -\ -REAL_NEW_2(NAME,NEW_CLASS, 1,1,0, TYPE1, TYPE2) - -/*! \brief Implementation of a flext class (part of a library) with 2 arguments - \ingroup FLEXT_D_LIB -*/ -#define FLEXT_LIB_2(NAME,NEW_CLASS, TYPE1, TYPE2) \ -\ -REAL_NEW_2(NAME,NEW_CLASS, 0,0,1, TYPE1, TYPE2) - -/*! \brief Implementation of a flext dsp class (part of a library) with 2 arguments - \ingroup FLEXT_D_LIB_DSP -*/ -#define FLEXT_LIB_DSP_2(NAME,NEW_CLASS, TYPE1, TYPE2) \ -\ -REAL_NEW_2(NAME,NEW_CLASS, 1,0,1, TYPE1, TYPE2) - -/*! \brief Implementation of a flext dsp class (part of a library) with 2 arguments and no dsp inlet - \ingroup FLEXT_D_LIB_DSP -*/ -#define FLEXT_LIB_DSP0_2(NAME,NEW_CLASS, TYPE1, TYPE2) \ -\ -REAL_NEW_2(NAME,NEW_CLASS, 1,1,1, TYPE1, TYPE2) - - -// THREE ARGUMENTS -// ---------------------------------------- - -/*! \brief Implementation of a flext class with 3 arguments - \ingroup FLEXT_D_NEW -*/ -#define FLEXT_NEW_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \ -\ -REAL_NEW_3(NAME,NEW_CLASS, 0,0,0, TYPE1, TYPE2, TYPE3) - -/*! \brief Implementation of a flext dsp class with 3 arguments - \ingroup FLEXT_D_NEW_DSP -*/ -#define FLEXT_NEW_DSP_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \ -\ -REAL_NEW_3(NAME,NEW_CLASS, 1,0,0, TYPE1, TYPE2, TYPE3) - -/*! \brief Implementation of a flext dsp class with 3 arguments and no dsp inlet - \ingroup FLEXT_D_NEW_DSP -*/ -#define FLEXT_NEW_DSP0_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \ -\ -REAL_NEW_3(NAME,NEW_CLASS, 1,1,0, TYPE1, TYPE2, TYPE3) - -/*! \brief Implementation of a flext class (part of a library) with 3 arguments - \ingroup FLEXT_D_LIB -*/ -#define FLEXT_LIB_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \ -\ -REAL_NEW_3(NAME,NEW_CLASS, 0,0,1, TYPE1, TYPE2, TYPE3) - -/*! \brief Implementation of a flext dsp class (part of a library) with 3 arguments - \ingroup FLEXT_D_LIB_DSP -*/ -#define FLEXT_LIB_DSP_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \ -\ -REAL_NEW_3(NAME,NEW_CLASS, 1,0,1, TYPE1, TYPE2, TYPE3) - -/*! \brief Implementation of a flext dsp class (part of a library) with 3 arguments and no dsp inlet - \ingroup FLEXT_D_LIB_DSP -*/ -#define FLEXT_LIB_DSP0_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \ -\ -REAL_NEW_3(NAME,NEW_CLASS, 1,1,1, TYPE1, TYPE2, TYPE3) - - -// deprecated stuff - -/*! \defgroup FLEXT_D_DEPRECATED Deprecated definitions - \deprecated - @{ -*/ - -#define FLEXT_NEW_G FLEXT_NEW_V - -#define FLEXT_NEW_TILDE FLEXT_NEW_DSP -#define FLEXT_NEW_TILDE_G FLEXT_NEW_DSP_V -#define FLEXT_NEW_TILDE_1 FLEXT_NEW_DSP_1 -#define FLEXT_NEW_TILDE_2 FLEXT_NEW_DSP_2 -#define FLEXT_NEW_TILDE_3 FLEXT_NEW_DSP_3 - -#define FLEXT_LIB_G FLEXT_LIB_V - -#define FLEXT_LIB_TILDE FLEXT_LIB_DSP -#define FLEXT_LIB_TILDE_G FLEXT_LIB_DSP_V -#define FLEXT_LIB_TILDE_1 FLEXT_LIB_DSP_1 -#define FLEXT_LIB_TILDE_2 FLEXT_LIB_DSP_2 -#define FLEXT_LIB_TILDE_3 FLEXT_LIB_DSP_3 - -#define FLEXT_TILDE_SETUP FLEXT_DSP_SETUP - -//! @} FLEXT_D_DEPRECATED - - -/*! \defgroup FLEXT_D_LIBRARY Definitions for library objects - @{ -*/ - -/*! \brief Specify that to declare the library itself. - \note If you have a library this is compulsory (to register all the objects of the library) -*/ -#define FLEXT_LIB_SETUP(NAME,SETUPFUN) REAL_LIB_SETUP(NAME,SETUPFUN) - -/*! \brief Register an object in the library. - \note This is used in the library setup function -*/ -#define FLEXT_SETUP(cl) REAL_SETUP(cl,0) - -/*! \brief Register a DSP object in the library. - \note This is used in the library setup function -*/ -#define FLEXT_DSP_SETUP(cl) REAL_SETUP(cl,1) - -//! @} FLEXT_D_LIBRARY - - -//! @} FLEXT_D_INSTANCE - - -#endif diff --git a/externals/grill/trunk/flext/source/fldoxygen.h b/externals/grill/trunk/flext/source/fldoxygen.h deleted file mode 100644 index 96343528c..000000000 --- a/externals/grill/trunk/flext/source/fldoxygen.h +++ /dev/null @@ -1,216 +0,0 @@ -#ifndef __FLEXT_DOXYGEN_H -#define __FLEXT_DOXYGEN_H - -/*! \file fldoxygen.h - \brief Doxygen definitions - \remark There is no code in here, just documentation stuff. -*/ - -/*! - -\mainpage flext - a C++ layer for cross-platform development of PD and Max/MSP objects - -\section INTRO Introduction - -Currently there exist two widely used modular systems for real-time audio that can be -extended by self-written objects (so called "externals"):<br> -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 -concentrating on making use of the advantages of the object orientation of the C++ language. - -Consequently, flext allows to write externals (or libraries of a number of these), that can -be compiled for both systems (with various compilers on a few platforms) without changes to the -source code. -Flext also tries to overcome some limitations of the real-time systems and introduces new features. - -The advantages of flext are: -<ul> -<li>Identical source code for PD and Max/MSP objects on a number of platforms -<li>Better readability of code compared to straight C externals -<li>Faster development, more robust coding -<li>Sharing of common methods and data by using base classes -<li>Transparent use of threads for methods -<li>Libraries of externals in Max/MSP -<li>More than 3 typed creation arguments possible for Max/MSP -<li>Any input to any object's inlet (with the exception of signal streams) -<li>Control of the object state by use of Max/Jitter-like "attributes" -</ul> - -Naturally there are some cons, too: -<ul> -<li>Introduces a small overhead to speed of message handling -<li>Overhead in object size (due to possibly unneeded library code) when statically linked -</ul> - -Currently, flext supports -<ul> -<li>PD on Windows with Microsoft Visual C++, Borland C++ and gcc(cygwin) compilers -<li>PD on Linux with gcc -<li>PD on Mac OSX with gcc (makefile or Xcode) -<li>Max/MSP on Mac OS9 and OSX with Metrowerks CodeWarrior -</ul> - -\section LICENSE License - -Flext is covered by the GPL. - -flext - C++ layer for Max/MSP and pd (pure data) externals<BR> -Copyright (C) 2001-2005 Thomas Grill - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version.<BR> -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details.<BR> -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -In the official flext distribution, the GNU General Public License is -in the file gpl.txt<BR> -Also see the file license.txt for notes on -referenced works and their license texts. - -\section DOWNLOAD Download - -Download the latest flext version from http://grrrr.org/ext/flext .<br> -Alternatively, you can check out the cvs version from http://sourceforge.net/projects/pure-data . - -\section USAGE Usage - -As a developer, you should know the C++ language, how to use a makefile (especially necessary for linux) -and how to steer your compiler.<br> -Flext can be compiled as a static library which has then to be linked to the code of your external. -For most applications you won't have to use any of the native PD or Max/MSP API functions as they are all -encapsulated by flext. - -So let's come to the point... how does a typical flext object look like? - -This is the object "attr1", one of the flext tutorial examples: - -\verbatim -// enable attribute processing -#define FLEXT_ATTRIBUTES 1 - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400) -#error You need at least flext version 0.4.0 -#endif -\endverbatim - -With these lines, all the necessary definitions from the flext package have been included. - -\verbatim -class attr1: - public flext_base -{ - FLEXT_HEADER(attr1,flext_base) -\endverbatim - -A flext class is simply defined by inheriting from the flext_base (see also \ref FLEXT_CLASS) -or flext_dsp (see also \ref FLEXT_DSP) classes. -Additionally some information has to be added using FLEXT_HEADER (see \ref FLEXT_D_HEADER) - -\verbatim -public: - // constructor - attr1(); -\endverbatim - -Normally the constructor takes the creation arguments of an object. Here there are none. - -\verbatim -protected: - void m_trigger(float f); - - // stored argument - float arg; -\endverbatim - -These are methods and data elements for internal class usage. Flext doesn't know about them -as long as they are not registered. - -\verbatim -private: - // callback for method "m_trigger" (with one float argument) - FLEXT_CALLBACK_F(m_trigger); - - // define attribute callbacks for variable "arg" (with GET and SET properties) - FLEXT_ATTRVAR_F(arg); -}; -\endverbatim - -For each method that shall be exposed to the realtime-system (for receiving messages) and -every attribute (for setting and getting values) callbacks have to be set up. -The functions in the groups \ref FLEXT_D_CALLBACK and \ref FLEXT_D_ATTRIB allow for their -convenient definition. - -\verbatim -// instantiate the class -FLEXT_NEW("attr1",attr1) -\endverbatim - -With FLEXT_NEW the class is registered for the real-time system. -The number of creation arguments and their types must be taken into account here. -There are several variants depending on whether a message oriented (see \ref FLEXT_D_NEW) -or a DSP object (see \ref FLEXT_D_NEW_DSP) is created and whether it resides in a object library -(see \ref FLEXT_D_LIB and \ref FLEXT_D_LIB_DSP).<BR> - -\verbatim -attr1::attr1(): - arg(0) // initialize argument -{ - // define inlets - AddInAnything(); // first inlet of type anything (index 0) - - // define outlets - AddOutFloat(); // one float outlet (has index 0) -\endverbatim - -Every inlet and outlet that the object shall have has to be registered. -This is done with the functions in \ref FLEXT_C_IO_ADD. - -\verbatim - // register methods - FLEXT_ADDMETHOD(0,m_trigger); // register method (for floats) "m_trigger" for inlet 0 - - FLEXT_ADDATTR_VAR1("arg",arg); // register attribute "arg" with variable arg -} -\endverbatim - -Likewise, every method (called by a message) (see \ref FLEXT_D_ADDMETHOD) and every -attribute (see \ref FLEXT_D_ADDATTR) exposed to the system has to be registered. -Here the registration at instance creation is shown - there's another way by registering at -class setup level, which is more efficient but can only be used if the methods or attributes -used are known beforehand (see \ref FLEXT_D_CADDMETHOD and \ref FLEXT_D_CADDATTR). - -\verbatim -void attr1::m_trigger(float f) -{ - float res = arg+f; - - // output value to outlet - ToOutFloat(0,res); // (0 stands for the outlet index 0) -} -\endverbatim - -This is a method that is triggered with a message. It does some calculation and then outputs -a value to an outlet. There are numerous functions (see \ref FLEXT_C_IO_OUT) supporting -that functionality. - -Be sure to work through the examples provided with the flext tutorial. These should give you -an overview about the possibilities of flext. -The "modules" link at the top of the page leads to a complete reference -of flext functions and classes. - -*/ - -#endif diff --git a/externals/grill/trunk/flext/source/fldsp.cpp b/externals/grill/trunk/flext/source/fldsp.cpp deleted file mode 100644 index 0f3e9e2bd..000000000 --- a/externals/grill/trunk/flext/source/fldsp.cpp +++ /dev/null @@ -1,127 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3669 $ -$LastChangedDate: 2009-03-05 18:34:39 -0500 (Thu, 05 Mar 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file fldsp.cpp - \brief Implementation of the flext dsp base class. -*/ - -#include "flext.h" -#include "flinternal.h" -#include <cstring> - -#include "flpushns.h" - -// === flext_dsp ============================================== - -void flext_dsp::Setup(t_classid id) -{ -#if FLEXT_SYS == FLEXT_SYS_PD -// add_method1(c,cb_enable,"enable",A_FLOAT); - AddMethod(id,0,MakeSymbol("enable"),&cb_enable); -#endif -} - -flext_dsp::FLEXT_CLASSDEF(flext_dsp)() - : srate(sys_getsr()),blksz(sys_getblksize()) - , vecs(NULL) -#if FLEXT_SYS != FLEXT_SYS_MAX - , dspon(true) -#endif -{} - -void flext_dsp::Exit() -{ - flext_base::Exit(); - - if(vecs) delete[] vecs; -} - - -t_int *flext_dsp::dspmeth(t_int *w) -{ - flext_dsp *obj = (flext_dsp *)(size_t)w[1]; - -#if FLEXT_SYS == FLEXT_SYS_MAX - if(!obj->thisHdr()->z_disabled) -#else - if(LIKELY(obj->dspon)) -#endif - { - flext_base::indsp = true; - obj->CbSignal(); - flext_base::indsp = false; - } - return w+2; -} - -void flext_dsp::SetupDsp(t_signal **sp) -{ - int i; - int in = CntInSig(); - int out = CntOutSig(); -#if FLEXT_SYS == FLEXT_SYS_PD - // min. 1 input channel! (CLASS_MAININLET in pd...) - if(!in) in = 1; -#endif - - // store current dsp parameters - srate = sys_getsr(); // \TODO need not be stored in each object.... - // overlap = sp[0]->s_sr/srate; // currently not used/exposed - blksz = sp[0]->s_n; // is this guaranteed to be the same as sys_getblksize() ? - - // store in and out signal vectors - - if((in+out) && !vecs) - vecs = new t_signalvec[in+out]; - - for(i = 0; i < in; ++i) - vecs[i] = sp[i]->s_vec; - for(i = 0; i < out; ++i) - vecs[in+i] = sp[in+i]->s_vec; - - // with the following call derived classes can do their eventual DSP setup - if(CbDsp()) { - // set the DSP function - dsp_add((t_dspmethod)dspmeth,1,this); - } -} - -void flext_dsp::m_dsp(int /*n*/,t_signalvec const * /*insigs*/,t_signalvec const * /*outsigs*/) {} - -bool flext_dsp::CbDsp() -{ - // invoke legacy method - m_dsp(Blocksize(),InSig(),OutSig()); - return true; -} - -// this function will be overridden anyway - the probably useless default is clearing all outputs -void flext_dsp::m_signal(int n,t_sample *const * /*insigs*/,t_sample *const *outs) -{ - for(int i = 0; i < CntOutSig(); ++i) ZeroSamples(outs[i],n); -} - -void flext_dsp::CbSignal() -{ - // invoke legacy method - m_signal(Blocksize(),InSig(),OutSig()); -} - - -#if FLEXT_SYS == FLEXT_SYS_PD -//void flext_dsp::cb_enable(flext_hdr *c,t_float on) { thisObject(c)->dspon = on != 0; } -bool flext_dsp::cb_enable(flext_base *b,float &on) { static_cast<flext_dsp *>(b)->dspon = on != 0; return true; } -#endif - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/fldsp.h b/externals/grill/trunk/flext/source/fldsp.h deleted file mode 100644 index 68866761a..000000000 --- a/externals/grill/trunk/flext/source/fldsp.h +++ /dev/null @@ -1,190 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3657 $ -$LastChangedDate: 2009-02-09 17:58:30 -0500 (Mon, 09 Feb 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file fldsp.h - \brief Declares the flext dsp class - -*/ - -#ifndef __FLDSP_H -#define __FLDSP_H - -// include the header file declaring the base classes -#include "flext.h" - -#include "flpushns.h" - -// === flext_dsp ================================================== - -class FLEXT_SHARE FLEXT_CLASSDEF(flext_dsp); -typedef class FLEXT_SHARE FLEXT_CLASSDEF(flext_dsp) flext_dsp; - - -/*! \brief Flext dsp enabled base object -*/ -class FLEXT_SHARE FLEXT_CLASSDEF(flext_dsp): - public flext_base -{ - FLEXT_HEADER_S(FLEXT_CLASSDEF(flext_dsp),flext_base,Setup) - - friend class FLEXT_SHARE FLEXT_CLASSDEF(flext_base); - -public: - -/*! \defgroup FLEXT_DSP Flext dsp class - - @{ -*/ - -/*! \defgroup FLEXT_C_DSP Basic dsp functionality - - @{ -*/ - - //! returns current sample rate - float Samplerate() const { return srate; } - - //! returns current block (aka vector) size - int Blocksize() const { return blksz; } - - //! returns array of input vectors (CntInSig() vectors) - t_sample *const *InSig() const { return vecs; } - - //! returns input vector - t_sample *InSig(int i) const { return InSig()[i]; } - - //! returns array of output vectors (CntOutSig() vectors) - // \todo cache that returned pointer - t_sample *const *OutSig() const - { - int i = CntInSig(); - // in PD we have at least one actual dsp in vector -#if FLEXT_SYS == FLEXT_SYS_PD - return vecs+(i?i:1); -#elif FLEXT_SYS == FLEXT_SYS_MAX - return vecs+i; -#else -#error -#endif - } - - //! returns output vector - t_sample *OutSig(int i) const { return OutSig()[i]; } - - //! typedef describing a signal vector - typedef t_sample *t_signalvec; - -//! @} - -// --- inheritable virtual methods -------------------------------- - -/*! \defgroup FLEXT_C_DSP_VIRTUAL Flext virtual dsp functions - - @{ -*/ - /*! \brief Called on every dsp init. - \note Don't expect any valid data in the signal vectors! - flext_dsp::CbDsp should not be called by the derived class - - \return true (default)... use DSP, false, don't use DSP - */ - virtual bool CbDsp(); - - /*! \brief Called with every signal vector - here you do the dsp calculation - flext_dsp::CbSignal fills all output vectors with silence - */ - virtual void CbSignal(); - - - /*! \brief Deprecated method for CbSignal - \deprecated - \param n: frames (aka samples) in one signal vector - \param insigs: array of input vectors (get number with function CntInSig()) - \param outsigs: array of output vectors (get number with function CntOutSig()) - */ - virtual void m_dsp(int n,t_signalvec const *insigs,t_signalvec const *outsigs); - - /*! \brief Deprecated method for CbSignal - \deprecated - \param n: frames (aka samples) in one signal vector - \param insigs: array of input vectors (get number with function CntInSig()) - \param outsigs: array of output vectors (get number with function CntOutSig()) - */ - virtual void m_signal(int n,t_sample *const *insigs,t_sample *const *outsigs); - -//! @} - - -/*! \defgroup FLEXT_C_DSP_INOUT Flext dsp in-/outlet functions - \note These must be called in the class' constructor - - @{ -*/ -// --- inlet/outlet stuff ----------------------------------------- - - /*! \brief Add signal inlet(s) - \param m Number of inlets to add - */ - void AddInSignal(int m = 1) { AddInlet(xlet_sig,m); } - - /*! \brief Add signal inlet (with description) - \param desc Description of inlet - */ - void AddInSignal(const char *desc) { AddInlet(xlet_sig,1,desc); } - - /*! \brief Add signal outlet(s) - \param m Number of inlets to add - */ - void AddOutSignal(int m = 1) { AddOutlet(xlet_sig,m); } - - /*! \brief Add signal outlet (with description) - \param desc Description of outlet - */ - void AddOutSignal(const char *desc) { AddOutlet(xlet_sig,1,desc); } - -//! @} - -//! @} - -protected: - - FLEXT_CLASSDEF(flext_dsp)(); - - virtual void Exit(); - -private: - - // not static, could be different in different patchers.. - float srate; - int blksz; - t_signalvec *vecs; - - // setup function - static void Setup(t_classid c); - -#if FLEXT_SYS == FLEXT_SYS_PD - static bool cb_enable(flext_base *c,float &on); - bool dspon; -#endif - - static inline flext_dsp *thisObject(flext_hdr *c) { return FLEXT_CAST<flext_dsp *>(c->data); } - - void SetupDsp(t_signal **sp); - - // dsp stuff - static t_int *dspmeth(t_int *w); -}; - -#include "flpopns.h" - -#endif diff --git a/externals/grill/trunk/flext/source/flext.cpp b/externals/grill/trunk/flext/source/flext.cpp deleted file mode 100644 index 31c00a715..000000000 --- a/externals/grill/trunk/flext/source/flext.cpp +++ /dev/null @@ -1,279 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3692 $ -$LastChangedDate: 2009-06-17 09:46:01 -0400 (Wed, 17 Jun 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flext.cpp - \brief Implementation of the flext base class. -*/ - -#include "flext.h" -#include "flinternal.h" -#include "fldsp.h" -#include <cstring> - -#include "flpushns.h" - -// === flext_base ============================================ - -const t_symbol *flext_base::curtag = NULL; - -flext_base::FLEXT_CLASSDEF(flext_base)() - : incnt(0),outcnt(0) - , insigs(0),outsigs(0) -#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX - ,outlets(NULL),inlets(NULL) -#endif -#if FLEXT_SYS == FLEXT_SYS_MAX - ,indesc(NULL),outdesc(NULL) -#endif -{ - FLEXT_LOG1("%s - flext logging is on",thisName()); - - methhead = NULL; - bindhead = NULL; - - if(HasAttributes()) { - // initialize when attribute processing is enabled - attrhead = new ItemCont; - attrdata = new AttrDataCont; - } - else { - attrhead = NULL; - attrdata = NULL; - } -} - -/*! This virtual function is called after the object has been created, that is, - after the constructor has been processed. - It creates the inlets and outlets and the message and attribute lists. - \note You can override it in your own class, but be sure to call it, - \note otherwise no inlets/outlets will be created - \note All inlet, outlets, method and attribute declarations must be made before a call to Init! - \remark Creation of inlets/outlets can't be done upon declaration, as Max/MSP needs creation - \remark in reverse. -*/ -bool flext_base::Init() -{ - bool ok = flext_obj::Init(); - - if(ok) ok = InitInlets() && InitOutlets(); - - if(ok) { -#if FLEXT_SYS == FLEXT_SYS_MAX - // according to the Max/MSP SDK this should be prior to any inlet creation, BUT - // that doesn't seem to be true... multiple signal ins and additional inlets don't seem to work then - if(NeedDSP()) dsp_setup(thisHdr(),CntInSig()); // signal inlets -#endif - - if(HasAttributes() && m_holdaargc && m_holdaargv) { - // initialize creation attributes - ok = InitAttrib(m_holdaargc,m_holdaargv); - } - } - - return ok; -} - - -/*! This virtual function is called before the destructor. - We do this because here we can still call virtual methods. -*/ -void flext_base::Exit() -{ -#if FLEXT_SYS == FLEXT_SYS_MAX - // according to David Z. one should do that first... - if(NeedDSP()) dsp_free(thisHdr()); -#endif - -#if FLEXT_SYS == FLEXT_SYS_PD && !defined(FLEXT_NOATTREDIT) - // attribute editor window may still be open -> close it - gfxstub_deleteforkey(thisHdr()); -#endif - -#ifdef FLEXT_THREADS - StopThreads(); -#endif - - // send remaining pending messages for this object - QFlush(this); - - // delete message lists - if(bindhead) delete bindhead; // ATTENTION: the object must free all memory associated to bindings itself - if(methhead) delete methhead; - if(attrhead) delete attrhead; - if(attrdata) delete attrdata; - -#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX - if(outlets) delete[] outlets; - - if(inlets) { - FLEXT_ASSERT(incnt > 1); - for(int ix = 1; ix < incnt; ++ix) - if(inlets[ix-1]) { - // release proxy object -#if FLEXT_SYS == FLEXT_SYS_PD - pd_free(&inlets[ix-1]->obj.ob_pd); -#elif FLEXT_SYS == FLEXT_SYS_MAX - freeobject((object *)inlets[ix-1]); -#endif - } - delete[] inlets; - } -#endif - -#if FLEXT_SYS == FLEXT_SYS_MAX - if(indesc) { - for(int i = 0; i < incnt; ++i) if(indesc[i]) delete[] indesc[i]; - delete[] indesc; - } - if(outdesc) { - for(int i = 0; i < outcnt; ++i) if(outdesc[i]) delete[] outdesc[i]; - delete[] outdesc; - } -#endif - - flext_obj::Exit(); -} - - -void flext_base::AddMessageMethods(t_class *c,bool dsp,bool dspin) -{ - add_loadbang(c,cb_loadbang); - -#if FLEXT_SYS == FLEXT_SYS_PD - class_addmethod(c,(t_method)cb_click,gensym(const_cast<char *>("click")),A_FLOAT,A_FLOAT,A_FLOAT,A_FLOAT,A_FLOAT,A_NULL); -#elif FLEXT_SYS == FLEXT_SYS_MAX - add_assist(c,cb_assist); - add_dblclick(c,cb_click); -#endif - - SetProxies(c,dsp); - StartQueue(); - - if(dsp) { -#if FLEXT_SYS == FLEXT_SYS_MAX - add_dsp(c,cb_dsp); - dsp_initclass(); -#elif FLEXT_SYS == FLEXT_SYS_PD - if(dspin) - CLASS_MAINSIGNALIN(c,flext_hdr,defsig); // float messages going into the left inlet are converted to signal - add_dsp(c,cb_dsp); -#else -#error Platform not supported! -#endif - } -} - - -/*! Set up proxy classes and basic methods at class creation time - This ensures that they are processed before the registered flext messages -*/ -void flext_base::Setup(t_classid id) -{ - t_class *c = getClass(id); - -#if FLEXT_SYS == FLEXT_SYS_MAX - if(!IsLib(id)) -#endif - AddMessageMethods(c,IsDSP(id),HasDSPIn(id)); - - if(HasAttributes(id)) { - AddMethod(id,0,"getattributes",cb_ListAttrib); - AddMethod(id,0,"getmethods",cb_ListMethods); - -#if FLEXT_SYS == FLEXT_SYS_PD && !defined(FLEXT_NOATTREDIT) - AddMethod(id,0,"attributedialog",cb_AttrDialog); -#endif - } - -#if FLEXT_SYS == FLEXT_SYS_PD - SetGfx(id); -#endif -} - -void flext_base::cb_loadbang(flext_hdr *c) -{ - Locker lock(c); - thisObject(c)->CbLoadbang(); -} - -void flext_base::m_loadbang() {} -void flext_base::CbLoadbang() { m_loadbang(); } - -void flext_base::CbClick() {} - -#if FLEXT_SYS == FLEXT_SYS_PD -void flext_base::cb_click(flext_hdr *c,t_floatarg xpos,t_floatarg ypos,t_floatarg shift,t_floatarg ctrl,t_floatarg alt) -{ - if(shift) { - Locker lock(c); - thisObject(c)->CbClick(); - } -} -#endif - -#if FLEXT_SYS == FLEXT_SYS_MAX -void flext_base::cb_click(flext_hdr *c, Point pt, short mods) -{ - Locker lock(c); - thisObject(c)->CbClick(); -} - -void flext_base::cb_assist(flext_hdr *c,void * /*b*/,long msg,long arg,char *s) -{ - Locker lock(c); - flext_base *th = thisObject(c); - - switch(msg) { - case 1: //ASSIST_INLET: - if(arg < th->incnt && th->indesc[arg]) strcpy(s,th->indesc[arg]); - break; - case 2: //ASSIST_OUTLET: - if(arg < th->outcnt) { - if(th->outdesc[arg]) strcpy(s,th->outdesc[arg]); - } - else - if(arg == th->outcnt && th->HasAttributes()) strcpy(s,"Attributes"); - break; - } -} -#endif - -#if FLEXT_SYS == FLEXT_SYS_MAX -void flext_base::cb_dsp(flext_hdr *c,t_signal **sp,short *count) -#else -void flext_base::cb_dsp(flext_hdr *c,t_signal **sp) -#endif -{ - Locker lock(c); - flext_base *bobj = thisObject(c); - -#if FLEXT_SYS == FLEXT_SYS_MAX - // we must extra-check here if it is really a DSP object - // obviously, for objects that are part of a library, one dsp_initclass enables DSP for all - if(!bobj->IsDSP()) return; -#endif - - flext_dsp *obj; -#ifdef FLEXT_DEBUG - obj = dynamic_cast<flext_dsp *>(bobj); -#else - obj = static_cast<flext_dsp *>(bobj); -#endif - - FLEXT_ASSERT(obj); - obj->SetupDsp(sp); -} - -bool flext_base::CbIdle() { return 0; } - -#include "flpopns.h" diff --git a/externals/grill/trunk/flext/source/flext.h b/externals/grill/trunk/flext/source/flext.h deleted file mode 100644 index 52f35c8e4..000000000 --- a/externals/grill/trunk/flext/source/flext.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2010 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. - -$LastChangedRevision: 3715 $ -$LastChangedDate: 2010-01-11 11:04:57 -0500 (Mon, 11 Jan 2010) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flext.h - \brief This is the main flext include file. - - The basic definitions are set here and the necessary header files are included -*/ - -#ifndef __FLEXT_H -#define __FLEXT_H - - -/*! \defgroup FLEXT_GLOBAL Flext global definitions - @{ -*/ - -//! \brief flext version number -#define FLEXT_VERSION 502 - -//! \brief flext version string -#define FLEXT_VERSTR "0.5.2 beta" - -//! @} - -// determine System/OS/CPU -#include "flprefix.h" - -// include headers necessary for multi-threading -#ifdef FLEXT_THREADS - #if FLEXT_THREADS == FLEXT_THR_POSIX - extern "C" { - #include <pthread.h> - #include <sched.h> - } - #elif FLEXT_THREADS == FLEXT_THR_MP - #include <multiprocessing.h> - #elif FLEXT_THREADS == FLEXT_THR_WIN32 - #if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x500 - #include <windows.h> - #include <process.h> - #else - #error "Win32 threading model only supported for Win2000/XP or newer" - #endif - #else - #error "Thread model not supported" - #endif -#endif - - -// include all the flext interface definitions -#include "fldefs.h" - -// include the basic flext object classes -#include "flclass.h" - -// include the flext dsp class -#include "fldsp.h" - -#endif // FLEXT_H diff --git a/externals/grill/trunk/flext/source/flfeatures.h b/externals/grill/trunk/flext/source/flfeatures.h deleted file mode 100644 index 099ec61a3..000000000 --- a/externals/grill/trunk/flext/source/flfeatures.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3657 $ -$LastChangedDate: 2009-02-09 17:58:30 -0500 (Mon, 09 Feb 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flfeatures.h - \brief Detect version-specific features. -*/ - -#ifndef __FLFEATURES_H -#define __FLFEATURES_H - -// check if PD API supports buffer dirty time -#if defined(PD_DEVEL_VERSION) && defined(PD_MAJOR_VERSION) && defined(PD_MINOR_VERSION) -#if PD_MINOR_VERSION >= 36 && PD_MINOR_VERSION <= 38 -// array locks have been removed in devel_0_39 - #define _FLEXT_HAVE_PD_GARRAYLOCKS -#endif -#if PD_MINOR_VERSION >= 36 - #define _FLEXT_HAVE_PD_GARRAYUPDATETIME -#endif -#endif - -#if defined(MAC_VERSION) || defined(WIN_VERSION) - // not for OS9 - #define _FLEXT_HAVE_MAX_INUSEFLAG -#endif - -#endif diff --git a/externals/grill/trunk/flext/source/flinternal.h b/externals/grill/trunk/flext/source/flinternal.h deleted file mode 100644 index 9d9adb52e..000000000 --- a/externals/grill/trunk/flext/source/flinternal.h +++ /dev/null @@ -1,122 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3746 $ -$LastChangedDate: 2011-03-23 17:00:55 -0400 (Wed, 23 Mar 2011) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flinternal.h - \brief Definitions for internal flext usage - \internal - - Here, a few shortcuts for common Max/MSP or PD library calls and type definitions - are declared -*/ - -#ifndef __FLEXT_INTERNALS_H -#define __FLEXT_INTERNALS_H - -#include "flstdc.h" - - -#if FLEXT_SYS == FLEXT_SYS_PD - -#define object_new(clss) pd_new(clss) -#define object_free(obj) pd_free(&(obj)->ob_pd) - - - -#define add_dsp(clss,meth) class_addmethod(clss, (t_method)meth,gensym(const_cast<char *>("dsp")),A_NULL) -#define add_bang(clss,meth) class_addbang(clss, (t_method)meth) -#define add_float(clss,meth) class_addfloat(clss, (t_method)meth) -#define add_floatn(clss,meth,n) class_addmethod(clss, (t_method)meth,gensym(const_cast<char *>("ft" #n)),A_FLOAT,A_NULL) -#define add_flint(clss,meth) class_addfloat(clss, (t_method)meth) -#define add_flintn(clss,meth,n) class_addmethod(clss, (t_method)meth,gensym(const_cast<char *>("ft" #n)),A_FLOAT,A_NULL) -#define add_method(clss,meth,text) class_addmethod(clss, (t_method)meth, gensym(const_cast<char *>(text)), A_NULL) -#define add_methodG(clss,meth,text) class_addmethod(clss, (t_method)meth, gensym(const_cast<char *>(text)), A_GIMME,A_NULL) -#define add_method1(clss,meth,text,a1) class_addmethod(clss, (t_method)meth, gensym(const_cast<char *>(text)), a1,A_NULL) -#define add_method2(clss,meth,text,a1,a2) class_addmethod(clss, (t_method)meth, gensym(const_cast<char *>(text)), a1,a2,A_NULL) -#define add_method3(clss,meth,text,a1,a2,a3) class_addmethod(clss, (t_method)meth, gensym(const_cast<char *>(text)), a1,a2,a3,A_NULL) -#define add_method4(clss,meth,text,a1,a2,a3,a4) class_addmethod(clss, (t_method)meth, gensym(const_cast<char *>(text)), a1,a2,a3,a4,A_NULL) -#define add_method5(clss,meth,text,a1,a2,a3,a5) class_addmethod(clss, (t_method)meth, gensym(const_cast<char *>(text)), a1,a2,a3,a4,a5,A_NULL) -#define add_loadbang(clss,meth) class_addmethod(clss,(t_method)meth, gensym(const_cast<char *>("loadbang")), A_CANT, A_NULL) -#define add_anything(clss,meth) class_addanything(clss,meth) - - -#define newout_signal(clss) outlet_new(clss,const_cast<t_symbol *>(flext::sym_signal)) -#define newout_float(clss) outlet_new(clss,const_cast<t_symbol *>(flext::sym_float)) -#define newout_flint(clss) outlet_new(clss,const_cast<t_symbol *>(flext::sym_float)) -#define newout_list(clss) outlet_new(clss,const_cast<t_symbol *>(flext::sym_list)) -#define newout_symbol(clss) outlet_new(clss,const_cast<t_symbol *>(flext::sym_symbol)) -#define newout_anything(clss) outlet_new(clss,const_cast<t_symbol *>(flext::sym_anything)) - -#define outlet_flint(o,v) outlet_float(o,(float)(v)) - -typedef t_perfroutine t_dspmethod; - -#define qelem_new clock_new -#define qelem_free clock_free -#define qelem_set clock_delay -#define qelem_front clock_delay -#define qelem_unset clock_unset - -#define CRITON() -#define CRITOFF() - - -#elif FLEXT_SYS == FLEXT_SYS_MAX - -typedef void t_outlet; - - -//#define object_new(clss) newobject(clss) -#define object_free(obj) freeobject((object *)(obj)) - -#define add_dsp(clss,meth) addmess((method)meth,"dsp",A_CANT,A_NOTHING) -#define add_bang(clss,meth) addbang((method)meth) -#define add_float(clss,meth) addfloat((method)meth) -#define add_floatn(clss,meth,n) addftx((method)meth,n) -#define add_flint(clss,meth) addint((method)meth) -#define add_flintn(clss,meth,n) addinx((method)meth,n) -#define add_method(clss,meth,text) addmess((method)meth, text, A_NOTHING) -#define add_methodG(clss,meth,text) addmess((method)meth, text, A_GIMME,A_NOTHING) -#define add_method1(clss,meth,text,a1) addmess((method)meth, text, a1,A_NOTHING) -#define add_method2(clss,meth,text,a1,a2) addmess((method)meth, text, a1,a2,A_NOTHING) -#define add_method3(clss,meth,text,a1,a2,a3) addmess((method)meth, text, a1,a2,a3,A_NOTHING) -#define add_method4(clss,meth,text,a1,a2,a3,a4) addmess((method)meth, text, a1,a2,a3,a4,A_NOTHING) -#define add_method5(clss,meth,text,a1,a2,a3,a5) addmess((method)meth, text, a1,a2,a3,a4,a5,A_NOTHING) -#define add_anything(clss,meth) addmess((method)meth, "anything", A_GIMME,A_NOTHING) - -#define add_assist(clss,meth) addmess((method)meth, "assist", A_CANT, A_NULL) -#define add_loadbang(clss,meth) addmess((method)meth, "loadbang", A_CANT, A_NULL) -#define add_dblclick(clss,meth) addmess((method)meth, "dblclick", A_CANT, A_NULL) - -#define newout_signal(clss) outlet_new(clss,"signal") -#define newout_float(clss) outlet_new(clss,"float") -#define newout_flint(clss) outlet_new(clss,"int") -#define newout_list(clss) outlet_new(clss,"list") -#define newout_symbol(clss) outlet_new(clss,"symbol") -#define newout_anything(clss) outlet_new(clss,0) - -#define outlet_flint(o,v) outlet_int(o,(int)(v)) -#define outlet_symbol(o,s) outlet_anything(o,s,0,NULL) - -typedef t_perfroutine t_dspmethod; - -#define CRITON() short state = lockout_set(1) -#define CRITOFF() lockout_set(state) - - -#elif FLEXT_SYS == FLEXT_SYS_JMAX - - -#endif - - -#endif diff --git a/externals/grill/trunk/flext/source/flitem.cpp b/externals/grill/trunk/flext/source/flitem.cpp deleted file mode 100644 index bbd2cf3f6..000000000 --- a/externals/grill/trunk/flext/source/flitem.cpp +++ /dev/null @@ -1,135 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3669 $ -$LastChangedDate: 2009-03-05 18:34:39 -0500 (Thu, 05 Mar 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flitem.cpp - \brief Processing of method and attribute lists. -*/ - -#include "flext.h" -#include <cstring> - -#include "flpushns.h" - -flext_base::ItemSet::~ItemSet() { clear(); } - -void flext_base::ItemSet::clear() -{ - for(iterator it(*this); it; ++it) delete it.data(); - TablePtrMap<const t_symbol *,Item *,8>::clear(); -} - - -flext_base::Item::~Item() -{ - if(nxt) delete nxt; -} - -flext_base::ItemCont::ItemCont(): - members(0),memsize(0),size(0),cont(NULL) -{} - -flext_base::ItemCont::~ItemCont() -{ - if(cont) { - for(int i = 0; i < size; ++i) delete cont[i]; - delete[] cont; - } -} - -void flext_base::ItemCont::Resize(int nsz) -{ - if(nsz > memsize) { - int nmemsz = nsz+10; // increment maximum allocation size - ItemSet **ncont = new ItemSet *[nmemsz]; // make new array - if(cont) { - memcpy(ncont,cont,size*sizeof(*cont)); // copy existing entries - delete[] cont; - } - cont = ncont; // set current array - memsize = nmemsz; // set new allocation size - } - - // make new items - while(size < nsz) cont[size++] = new ItemSet; -} - -void flext_base::ItemCont::Add(Item *item,const t_symbol *tag,int inlet) -{ - FLEXT_ASSERT(tag); - - if(!Contained(inlet)) Resize(inlet+2); - ItemSet &set = GetInlet(inlet); - Item *lst = set.find(tag); - if(!lst) { - Item *old = set.insert(tag,lst = item); - FLEXT_ASSERT(!old); - } - else - for(;;) - if(!lst->nxt) { lst->nxt = item; break; } - else lst = lst->nxt; - members++; -} - -bool flext_base::ItemCont::Remove(Item *item,const t_symbol *tag,int inlet,bool free) -{ - FLEXT_ASSERT(tag); - - if(Contained(inlet)) { - ItemSet &set = GetInlet(inlet); - Item *lit = set.find(tag); - for(Item *prv = NULL; lit; prv = lit,lit = lit->nxt) { - if(lit == item) { - if(prv) prv->nxt = lit->nxt; - else if(lit->nxt) { - Item *old = set.insert(tag,lit->nxt); - FLEXT_ASSERT(!old); - } - else { - Item *l = set.remove(tag); - FLEXT_ASSERT(l == lit); - } - - lit->nxt = NULL; - if(free) delete lit; - return true; - } - } - } - return false; -} - -flext_base::Item *flext_base::ItemCont::FindList(const t_symbol *tag,int inlet) -{ - FLEXT_ASSERT(tag); - return Contained(inlet)?GetInlet(inlet).find(tag):NULL; -} - -// --- class item lists (methods and attributes) ---------------- - -/* -typedef TablePtrMap<flext_base::t_classid,flext_base::ItemCont *,8> ClassMap; - -static ClassMap classarr[2]; - -flext_base::ItemCont *flext_base::GetClassArr(t_classid c,int ix) -{ - ClassMap &map = classarr[ix]; - ItemCont *cont = map.find(c); - if(!cont) map.insert(c,cont = new ItemCont); - return cont; -} -*/ - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/fllib.cpp b/externals/grill/trunk/flext/source/fllib.cpp deleted file mode 100644 index 63cea4596..000000000 --- a/externals/grill/trunk/flext/source/fllib.cpp +++ /dev/null @@ -1,623 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3692 $ -$LastChangedDate: 2009-06-17 09:46:01 -0400 (Wed, 17 Jun 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file fllib.cpp - \brief Code for handling of object (and library) creation functions. -*/ - -#include "flext.h" -#include "flinternal.h" - -#include <cstdarg> -#include <cstring> -#include <cctype> -#include <map> - -#include "flpushns.h" - -#define ALIASDEL ',' - -#define ALIASSLASHES ":/\\" -#if FLEXT_OS == FLEXT_OS_MAC - #define ALIASSLASH ':' -#elif FLEXT_OS == FLEXT_OS_WIN - #if FLEXT_SYS == FLEXT_SYS_PD - #define ALIASSLASH '/' - #elif FLEXT_SYS == FLEXT_SYS_MAX - #define ALIASSLASH '/' - #else - #error "Undefined" - #endif -#else - // default to "/" - #define ALIASSLASH '/' -#endif - -//! Extract space-delimited words from a string -static const char *extract(const char *name,int ix = 0) -{ - char tmp[1024]; - const char *n = name; - - const char *del = strchr(name,ALIASDEL); - - if(del) { -#if 0 - char *t = tmp; - while(n < del && (isspace(*n) || strchr(ALIASSLASHES,*n))) ++n; - while(n < del && !isspace(*n)) { - char c = *(n++); - *(t++) = strchr(ALIASSLASHES,c)?ALIASSLASH:c; - } - while(*t == ALIASSLASH && t > tmp) --t; - *t = 0; -#endif - if(ix < 0) { - // eat white space in front of help definition - ++del; - while(*del && isspace(*del)) ++del; - return del; - } - - strncpy(tmp,name,del-name); - tmp[del-name] = 0; - n = tmp; - } - else if(ix < 0) - return NULL; // no explicit help name - - while(*n && isspace(*n)) ++n; - - for(int i = 0; n && *n; ++i) { - if(i == ix) { - char *t = tmp; - - for(; *n && !isspace(*n); ++t,++n) *t = *n; - *t = 0; - return *tmp?tmp:NULL; - } - else { - while(*n && !isspace(*n)) ++n; - while(*n && isspace(*n)) ++n; - } - } - - return NULL; -} - - -//! Check if object's name ends with a tilde -bool flext::chktilde(const char *objname) -{ -// int stplen = strlen(setupfun); - bool tilde = true; //!strncmp(setupfun,"_tilde",6); - - if((objname[strlen(objname)-1] == '~'?1:0)^(tilde?1:0)) { - if(tilde) - error("flext: %s (no trailing ~) is defined as a tilde object",objname); - else - error("flext::check_tilde: %s is no tilde object",objname); - return true; - } - else - return false; -} - -// this class stands for one library of objects -// there can be more if flext is a shared library -class flext_library -{ -public: - flext_library(const t_symbol *nm) - : name(nm) -#if FLEXT_SYS == FLEXT_SYS_MAX - , clss(NULL),dsp(false) -#endif - {} - - const t_symbol *name; -#if FLEXT_SYS == FLEXT_SYS_MAX - t_class *clss; - bool dsp; -#endif -}; - -// this class stands for one registered object -// it holds the class, type flags, constructor and destructor of the object and the creation arg types -// it will never be destroyed -class flext_class: - public flext_root -{ -public: - flext_class(t_class *&cl,flext_obj *(*newf)(int,t_atom *),void (*freef)(flext_hdr *)); - - t_class *const &clss; - - flext_obj *(*newfun)(int,t_atom *); - void (*freefun)(flext_hdr *c); - - int argc; - int *argv; - - flext_library *lib; - bool dsp:1,noi:1,attr:1,dist:1; - - flext_base::ItemCont meths,attrs; -}; - -flext_class::flext_class(t_class *&cl,flext_obj *(*newf)(int,t_atom *),void (*freef)(flext_hdr *)): - clss(cl), - newfun(newf),freefun(freef), - argc(0),argv(NULL) - , dist(false) -{} - -typedef std::map<const t_symbol *,flext_class *> LibMap; -// static initialization (with constructor) doesn't work for Codewarrior -static LibMap *libnames = NULL; - -//! Store or retrieve registered classes -static flext_class *FindName(const t_symbol *s,flext_class *o = NULL) -{ - if(!libnames) libnames = new LibMap; - LibMap::iterator it = libnames->find(s); - if(it != libnames->end()) - return it->second; - else if(o) { - (*libnames)[s] = o; - return o; - } - else - return NULL; -} - - -t_class *flext_obj::getClass(t_classid cl) { return cl->clss; } -bool flext_obj::HasAttributes(t_classid cl) { return cl->attr; } -bool flext_obj::IsDSP(t_classid cl) { return cl->dsp; } -bool flext_obj::HasDSPIn(t_classid cl) { return !cl->noi; } -bool flext_obj::IsLib(t_classid cl) { return cl->lib != NULL; } - -bool flext_obj::HasAttributes() const { return clss->attr; } -bool flext_obj::IsDSP() const { return clss->dsp; } -bool flext_obj::HasDSPIn() const { return !clss->noi; } -bool flext_obj::IsLib() const { return clss->lib != NULL; } - -#if FLEXT_SYS == FLEXT_SYS_MAX -bool flext_obj::NeedDSP() const { return clss->dsp || (clss->lib && clss->lib->dsp); } -#endif - -static flext_library *curlib = NULL; - -void flext_obj::lib_init(const char *name,void setupfun()) -{ - // make new library instance - curlib = new flext_library(MakeSymbol(name)); - - flext::Setup(); - - // first register all classes - try { - setupfun(); - } - catch(std::exception &x) { - error("%s - %s",name,x.what()); - return; - } - catch(char *txt) { - error("%s - %s",name,txt); - return; - } - catch(...) { - error("%s - Unknown exception at library setup",name); - return; - } - -#if FLEXT_SYS == FLEXT_SYS_MAX - // then see if we got DSP classes - - // for Max/MSP, the library is represented by a special object (class) registered at startup - // all objects in the library are clones of that library object - they share the same class - ::setup( - (t_messlist **)&curlib->clss, - (t_newmethod)obj_new,(t_method)obj_free, - sizeof(flext_hdr),NULL,A_GIMME,A_NULL); - - // for all classes in library add methods - flext_base::AddMessageMethods(curlib->clss,curlib->dsp,true); -#endif - - curlib = NULL; -} - -#if FLEXT_SYS == FLEXT_SYS_PD -t_class *buf_class = NULL; -extern void cb_buffer_dsp(void *c,t_signal **sp); -#endif - -void flext_obj::obj_add(bool lib,bool dsp,bool noi,bool attr,const char *idname,const char *names,void setupfun(t_classid),flext_obj *(*newfun)(int,t_atom *),void (*freefun)(flext_hdr *),int argtp1,...) -{ - Locker lock; - -#if FLEXT_SYS == FLEXT_SYS_PD - // register buffer helper class (if not present already) - if(!buf_class) { - buf_class = ::class_new(gensym(const_cast<char *>(" flext buffer helper ")),NULL,NULL,sizeof(t_object),CLASS_PD|CLASS_NOINLET,A_NULL); - add_dsp(buf_class,cb_buffer_dsp); - // make an instance - void *c = ::pd_new(buf_class); - } -#endif - - // get first possible object name - const t_symbol *nsym = MakeSymbol(extract(names)); - -#ifdef FLEXT_DEBUG - if(dsp) chktilde(GetString(nsym)); -#endif - - if(lib) { - FLEXT_ASSERT(curlib); -#if FLEXT_SYS == FLEXT_SYS_MAX - curlib->dsp |= dsp; -#endif - } - else { - FLEXT_ASSERT(!curlib); -// process_attributes = attr; - } - - // set dynamic class pointer - t_class **cl = -#if FLEXT_SYS == FLEXT_SYS_MAX - lib?&curlib->clss: -#endif - new t_class *; - -#if FLEXT_SYS == FLEXT_SYS_PD - // register object class - *cl = ::class_new( - (t_symbol *)nsym, - (t_newmethod)obj_new,(t_method)obj_free, - sizeof(flext_hdr),CLASS_DEFAULT,A_GIMME,A_NULL); -#elif FLEXT_SYS == FLEXT_SYS_MAX - if(!lib) { - ::setup( - (t_messlist **)cl, - (t_newmethod)obj_new,(t_method)obj_free, - sizeof(flext_hdr),NULL,A_GIMME,A_NULL); - // attention: in Max/MSP the *cl variable is not initialized after that call. - // just the address is stored, the initialization then occurs with the first object instance! - } -#else -#error Platform not implemented -#endif - - // make new dynamic object - flext_class *lo = new flext_class(*cl,newfun,freefun); - lo->lib = curlib; - lo->dsp = dsp; - lo->noi = noi; - lo->attr = attr; - -// post("ADDCLASS %s,%s = %p -> LIBOBJ %p -> %p (lib=%i,dsp=%i)",idname,names,*cl,lo,lo->clss,lib?1:0,dsp?1:0); - - // parse the argument type list and store it with the object - if(argtp1 == FLEXTTPN_VAR) - lo->argc = -1; - else { - int argtp,i; - va_list marker; - - // parse a first time and count only - va_start(marker,argtp1); - for(argtp = argtp1; argtp != FLEXTTPN_NULL; ++lo->argc) argtp = (int)va_arg(marker,int); - va_end(marker); - - lo->argv = new int[lo->argc]; - - // now parse and store - va_start(marker,argtp1); - for(argtp = argtp1,i = 0; i < lo->argc; ++i) { - lo->argv[i] = argtp; - argtp = (int)va_arg(marker,int); - } - va_end(marker); - } - - // get unique class id - t_classid clid = lo; - - // make help reference - const char *helptxt = extract(names,-1); - if(helptxt) { - const char *sl = strchr(helptxt,'/'); - if(sl && !sl[1]) - // helptxt is only the path (path with trailing /) - flext_obj::DefineHelp(clid,idname,helptxt,dsp); - else - // helptxt is path and patch name - flext_obj::DefineHelp(clid,helptxt,NULL,dsp); - } - - for(int ix = 0; ; ++ix) { - // in this loop register all the possible aliases of the object - - const char *c = ix?extract(names,ix):GetString(nsym); - if(!c || !*c) break; - - // add to name list - const t_symbol *lsym = MakeSymbol(c); - FindName(lsym,lo); - -#if FLEXT_SYS == FLEXT_SYS_PD - if(ix > 0) - // in PD the first name is already registered with class creation - ::class_addcreator((t_newmethod)obj_new,(t_symbol *)lsym,A_GIMME,A_NULL); -#elif FLEXT_SYS == FLEXT_SYS_MAX - if(ix > 0 || lib) - // in Max/MSP the first alias gets its name from the name of the object file, - // unless it is a library (then the name can be different) - ::alias(const_cast<char *>(c)); -#else -#error -#endif - } - - try { - // call class setup function - setupfun(clid); - } - catch(std::exception &x) { - error("%s: %s",idname,x.what()); - } - catch(char *txt) { - error("%s: %s",idname,txt); - } - catch(...) { - error("%s - Unknown exception while initializing class",idname); - } -} - - -#define NEWARGS 256 // must be larger than FLEXT_NEWARGS = 5 - -typedef flext_obj *(*libfun)(int,t_atom *); - -#if FLEXT_SYS == FLEXT_SYS_MAX -flext_hdr *flext_obj::obj_new(const t_symbol *s,short _argc_,t_atom *argv) -#else -flext_hdr *flext_obj::obj_new(const t_symbol *s,int _argc_,t_atom *argv) -#endif -{ - Locker lock; - - flext_hdr *obj = NULL; - flext_class *lo = FindName(s); - - if(lo) { -// post("NEWOBJ %s = %p -> %p",GetString(s),lo,lo->clss); - - bool ok = true; - t_atom args[NEWARGS]; - - int argc = _argc_; - if(lo->attr) { - argc = flext_base::CheckAttrib(argc,argv); - } - - if(lo->argc >= 0) { -#ifdef FLEXT_DEBUG - if(lo->argc > FLEXT_MAXNEWARGS) { ERRINTERNAL(); ok = false; } -#endif - - int misnum = 0; - if(argc > lo->argc) { ok = false; misnum = 1; } - - for(int i = 0; ok && i < lo->argc; ++i) { - switch(lo->argv[i]) { -#if FLEXT_SYS != FLEXT_SYS_PD - case FLEXTTPN_INT: - case FLEXTTPN_DEFINT: - if(i >= argc) - if(lo->argv[i] == FLEXTTPN_DEFINT) SetInt(args[i],0); - else { misnum = -1,ok = false; break; } - else if(IsInt(argv[i])) args[i] = argv[i]; - else if(IsFloat(argv[i])) SetInt(args[i],(int)GetFloat(argv[i])); - else ok = false; - break; -#endif - case FLEXTTPN_FLOAT: - case FLEXTTPN_DEFFLOAT: - if(i >= argc) - if(lo->argv[i] == FLEXTTPN_DEFFLOAT) SetFloat(args[i],0); - else { misnum = -1,ok = false; break; } - else if(IsInt(argv[i])) SetFloat(args[i],(float)GetInt(argv[i])); - else if(IsFloat(argv[i])) args[i] = argv[i]; - else ok = false; - break; - case FLEXTTPN_SYM: - case FLEXTTPN_DEFSYM: - // \todo shall we analyze the patcher args????... should already be done! - if(i >= argc) - if(lo->argv[i] == FLEXTTPN_DEFSYM) SetSymbol(args[i],sym__); - else { misnum = -1,ok = false; break; } - else if(IsSymbol(argv[i])) -// SetSymbol(args[i],GetParamSym(GetSymbol(argv[i]),NULL)); - args[i] = argv[i]; - else ok = false; - break; - } - } - - if(!ok) - if(misnum) - error("%s: %s creation arguments",GetString(s),misnum < 0?"Not enough":"Too many"); - else - error("%s: Creation arguments do not match",GetString(s)); - } - - - if(ok) { - flext_obj::initing = true; - - try { -#if FLEXT_SYS == FLEXT_SYS_PD - obj = (flext_hdr *)::pd_new(lo->clss); -#elif FLEXT_SYS == FLEXT_SYS_MAX - obj = (flext_hdr *)::newobject(lo->clss); -#else -#error -#endif - flext_obj::m_holder = obj; - flext_obj::m_holdclass = lo; - flext_obj::m_holdname = s; - flext_obj::init_ok = true; - - // get actual flext object (newfun calls "new flext_obj()") - if(lo->argc >= 0) - obj->data = lo->newfun(lo->argc,args); - else - obj->data = lo->newfun(argc,argv); - - flext_obj::m_holder = NULL; - flext_obj::m_holdclass = NULL; - flext_obj::m_holdname = NULL; - - ok = obj->data && - // check constructor exit flag - flext_obj::init_ok; - - if(ok) { - if(lo->attr) { - // DON'T convert eventual patcher args here... this is done by the actual attribute stuff - // so that the initial $- or #- be preserved! - - // store creation args for attribute initialization (inside flext_base::Init()) - flext_obj::m_holdaargc = _argc_-argc; - flext_obj::m_holdaargv = argv+argc; - } - else { - flext_obj::m_holdaargc = 0; - flext_obj::m_holdaargv = NULL; - } - - // call virtual init function - // here, inlets, outlets, methods and attributes can be set up - ok = obj->data->Init(); - - flext_obj::initing = false; - - // call another virtual init function - if(ok) ok = obj->data->Finalize(); - - flext_obj::m_holdaargc = 0; - flext_obj::m_holdaargv = NULL; - } - - } //try - catch(std::exception &x) { - error("%s - Exception while creating object: %s",GetString(s),x.what()); - ok = false; - } - catch(char *txt) { - error("%s - Exception while creating object: %s",GetString(s),txt); - ok = false; - } - catch(...) { - error("%s - Unknown exception while creating object",GetString(s)); - ok = false; - } - - flext_obj::initing = false; - - if(ok) { -#if FLEXT_SYS == FLEXT_SYS_MAX - // create object-specific thread lock - critical_new(&obj->data->lock); -#endif - } - else { - // there was some init error, free object - lo->freefun(obj); - obj = NULL; - } - } - } -#ifdef FLEXT_DEBUG - else -#if FLEXT_SYS == FLEXT_SYS_MAX - // in Max/MSP an object with the name of the library exists, even if not explicitly declared! -// if(!lo->lib || s != lo->lib->name) -#endif - error("Class %s not found in library!",s->s_name); -#endif - - return obj; -} - -void flext_obj::obj_free(flext_hdr *h) -{ - Locker lock; - - flext_hdr *hdr = (flext_hdr *)h; - const t_symbol *name = hdr->data->thisNameSym(); - flext_class *lcl = FindName(name); - - if(lcl) { - flext_obj::exiting = true; - - try { - // call virtual exit function - hdr->data->Exit(); - -#if FLEXT_SYS == FLEXT_SYS_MAX - // free object-specific thread lock - critical_free(hdr->data->lock); -#endif - - // now call object destructor and deallocate - lcl->freefun(hdr); - } - catch(std::exception &x) { - error("%s - Exception while destroying object: %s",GetString(name),x.what()); - } - catch(char *txt) { - error("%s - Exception while destroying object: %s",GetString(name),txt); - } - catch(...) { - error("%s - Unknown exception while destroying object",GetString(name)); - } - - flext_obj::exiting = false; - } -#ifdef FLEXT_DEBUG - else -#if FLEXT_SYS == FLEXT_SYS_MAX - // in Max/MSP an object with the name of the library exists, even if not explicitly declared! -// if(!lo->lib || s != lo->lib->name) -#endif - error("Class %s not found in library!",name); -#endif -} - - -t_class *flext_obj::thisClass() const { FLEXT_ASSERT(x_obj); return thisClassId()->clss; } - -void flext_base::SetDist(t_classid c,bool d) { c->dist = d; } -bool flext_base::DoDist() const { return thisClassId()->dist; } - -flext_base::ItemCont *flext_base::ClMeths(t_classid c) { return &c->meths; } -flext_base::ItemCont *flext_base::ClAttrs(t_classid c) { return &c->attrs; } - -#include "flpopns.h" diff --git a/externals/grill/trunk/flext/source/flmap.cpp b/externals/grill/trunk/flext/source/flmap.cpp deleted file mode 100644 index 690fb5154..000000000 --- a/externals/grill/trunk/flext/source/flmap.cpp +++ /dev/null @@ -1,257 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3657 $ -$LastChangedDate: 2009-02-09 17:58:30 -0500 (Mon, 09 Feb 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flmap.cpp - \brief flext container classes. -*/ - -#include "flext.h" -#include "flmap.h" - -#include "flpushns.h" - -TableAnyMap::~TableAnyMap() { clear(); } - -void TableAnyMap::clear() -{ - if(left) { _delmap(left); left = NULL; } - if(right) { _delmap(right); right = NULL; } - n = 0; -} - - -void *TableAnyMap::_set(int tsize,size_t k,void *t) -{ - FLEXT_ASSERT(n); - - if(n < tsize) { - // fall through - } - else if(k < data[0].key) - return _toleft(tsize,k,t); - else if(k > data[tsize-1].key) - return _toright(tsize,k,t); - - int ix = _tryix(k); - if(ix >= n) { - FLEXT_ASSERT(ix == n); - // after last entry - data[n++](k,t); - return NULL; - } - - size_t dk = data[ix].key; - if(k == dk) { - // update data in existing slot (same key) - void *a = data[ix].value; - data[ix] = t; - return a; - } - else { - // insert new slot by shifting the higher ones - FLEXT_ASSERT(k < dk); - void *a; - if(n == tsize) - a = _toright(tsize,data[tsize-1]); - else { - ++n; - a = NULL; - } - - Data *tg = data+ix; - for(Data *d = data+n-1; d > tg; d--) d[0] = d[-1]; - (*tg)(k,t); - return a; - } -} - -void *TableAnyMap::_find(int tsize,size_t k) const -{ - FLEXT_ASSERT(n); - if(n < tsize) { - // fall through - } - else if(k < data[0].key) - return left?left->_find(tsize,k):NULL; - else if(k > data[n-1].key) - return right?right->_find(tsize,k):NULL; - - const int ix = _tryix(k); - return ix < n && data[ix].key == k?data[ix].value:NULL; -} - -#ifdef FLEXT_DEBUG -void TableAnyMap::_check(int tsize) -{ - FLEXT_ASSERT(n); - - size_t k = data[0].key; - for(int i = 1; i < n; ++i) { - size_t k2 = data[i].key; - FLEXT_ASSERT(k < k2); - k = k2; - } - - if(left || right) FLEXT_ASSERT(n == tsize); - - if(left) { - FLEXT_ASSERT(flext::MemCheck(left)); - left->_check(tsize); - } - if(right) { - FLEXT_ASSERT(flext::MemCheck(right)); - right->_check(tsize); - } -} -#endif - -void *TableAnyMap::_remove(int tsize,size_t k) -{ - FLEXT_ASSERT(n); - if(n < tsize) { - // fall through - } - else if(k < data[0].key) { - void *r = left?left->_remove(tsize,k):NULL; - if(r) _eraseempty(left); - return r; - } - else if(k > data[n-1].key) { - void *r = right?right->_remove(tsize,k):NULL; - if(r) _eraseempty(right); - return r; - } - - const int ix = _tryix(k); - if(ix >= n || data[ix].key != k) - return NULL; - else { - // found key in this map - void *ret = data[ix].value; - - Data dt; - bool fnd,ins = false; - if(n >= tsize) { - // if this table is full get fill-in elements from branches - if(left) { - // try to get biggest element from left branch - left->_getbig(dt); - _eraseempty(left); - fnd = true,ins = true; - } - else if(right) { - // try to get smallest element from right branch - right->_getsmall(dt); - _eraseempty(right); - fnd = true; - } - else - fnd = false; - } - else fnd = false; - - if(ins) { - // insert smaller element from left - for(int i = ix; i; --i) data[i] = data[i-1]; - data[0] = dt; - } - else { - // shift elements - for(int i = ix+1; i < n; ++i) data[i-1] = data[i]; - // insert bigger element from right or reduce table size - if(fnd) - data[n-1] = dt; - else - --n; - } - - return ret; - } -} - -void TableAnyMap::_getbig(Data &dt) -{ - FLEXT_ASSERT(n); - - if(right) { - right->_getbig(dt); - _eraseempty(right); - } - else { - dt = data[n-1]; - if(left) { - for(int i = n-1; i; --i) data[i] = data[i-1]; - left->_getbig(data[0]); - _eraseempty(left); - } - else - --n; - } -} - -void TableAnyMap::_getsmall(Data &dt) -{ - FLEXT_ASSERT(n); - - if(left) { - left->_getsmall(dt); - _eraseempty(left); - } - else { - dt = data[0]; - for(int i = 1; i < n; ++i) data[i-1] = data[i]; - if(right) { - right->_getsmall(data[n-1]); - _eraseempty(right); - } - else - --n; - } -} - -void TableAnyMap::iterator::forward() -{ - FLEXT_ASSERT(map || ix >= map->n); - - if(++ix >= map->n) { - TableAnyMap *nmap; - - // we reached the end of the slots - if(map->right) { - // climb up one - map = map->right; - leftmost(); - ix = 0; - } - else { - // fall back - for(;;) { - nmap = map->parent; - if(!nmap) break; // no parent - if(nmap->left == map) { - // ok, we are in front of the slots now - ix = 0; - map = nmap; - break; - } - else { - FLEXT_ASSERT(nmap->right == map); - ix = (map = nmap)->n; - } - } - } - } -} - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/flmap.h b/externals/grill/trunk/flext/source/flmap.h deleted file mode 100644 index a42088186..000000000 --- a/externals/grill/trunk/flext/source/flmap.h +++ /dev/null @@ -1,262 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3657 $ -$LastChangedDate: 2009-02-09 17:58:30 -0500 (Mon, 09 Feb 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flmap.h - \brief special map class (faster and less memory-consuming than std::map) -*/ - -#ifndef __FLMAP_H -#define __FLMAP_H - -#include "flprefix.h" - -/*! \defgroup FLEXT_SUPPORT Flext support classes - @{ -*/ - -#include "flpushns.h" - -class FLEXT_SHARE TableAnyMap -{ -public: - - virtual TableAnyMap *_newmap(TableAnyMap *parent) = 0; - virtual void _delmap(TableAnyMap *map) = 0; - - struct Data { - void operator()(size_t k,void *v) { key = k,value = v; } - void operator =(void *v) { value = v; } - - size_t key; - void *value; - }; - -protected: - // constructor and destructor are protected so that they can't be directly instantiated - - TableAnyMap(TableAnyMap *p,Data *dt) - : data(dt) - , parent(p),left(0),right(0) - , n(0) - {} - - virtual ~TableAnyMap(); - -public: - -#if 0 // set 1 for asserting the map structure (very cpu-intensive!) - void check(int tsize) { if(n) _check(tsize); } -#else -// void check(int tsize) {} -#endif - - void *insert(int tsize,size_t k,void *t) - { - void *r; - if(LIKELY(n)) - r = _set(tsize,k,t); - else { - data[n++](k,t); - r = 0; - } -// check(tsize); - return r; - } - - void *find(int tsize,size_t k) const { return LIKELY(n)?_find(tsize,k):0; } - - void *remove(int tsize,size_t k) - { - void *r = LIKELY(n)?_remove(tsize,k):0; -// check(tsize); - return r; - } - - virtual void clear(); - - class FLEXT_SHARE iterator - { - public: - iterator(): map(0) {} - iterator(const TableAnyMap &m): map(&m),ix(0) { leftmost(); } - iterator(const iterator &it): map(it.map),ix(it.ix) {} - - iterator &operator =(const iterator &it) { map = it.map,ix = it.ix; return *this; } - - operator bool() const { return map && ix < map->n; } - - // no checking here! - void *data() const { return map->data[ix].value; } - size_t key() const { return map->data[ix].key; } - - iterator &operator ++() { forward(); return *this; } - - protected: - void leftmost() - { - // search smallest branch (go left as far as possible) - const TableAnyMap *nmap; - while((nmap = map->left) != 0) map = nmap; - } - - void forward(); - - // pointers to map and index within - const TableAnyMap *map; - int ix; - }; - - void _init(size_t k,void *t) { data[0](k,t); n = 1; } - - void *_toleft(int tsize,size_t k,void *t) - { - if(left) - return left->_set(tsize,k,t); - else { - (left = _newmap(this))->_init(k,t); - return 0; - } - } - - void *_toright(int tsize,size_t k,void *t) - { - if(right) - return right->_set(tsize,k,t); - else { - (right = _newmap(this))->_init(k,t); - return 0; - } - } - - void *_toleft(int tsize,Data &v) { return _toleft(tsize,v.key,v.value); } - void *_toright(int tsize,Data &v) { return _toright(tsize,v.key,v.value); } - - void *_set(int tsize,size_t k,void *t); - void *_find(int tsize,size_t k) const; - void *_remove(int tsize,size_t k); - -#ifdef FLEXT_DEBUG - void _check(int tsize); -#endif - - Data *data; - TableAnyMap *parent,*left,*right; - int n; - - //! return index of data item with key <= k - //! \note index can point past the last item! - unsigned int _tryix(size_t k) const - { - unsigned int ix = 0,b = n; - while(ix != b) { - const unsigned int c = (ix+b)>>1; - const size_t dk = data[c].key; - if(k == dk) - return c; - else if(k < dk) - b = c; - else if(ix < c) - ix = c; - else - return b; - } - return ix; - } - - void _eraseempty(TableAnyMap *&b) - { - if(!b->n) { - // remove empty branch - _delmap(b); b = 0; - } - } - - void _getsmall(Data &dt); - void _getbig(Data &dt); - -private: - // hide, so that it can't be used..... - explicit TableAnyMap(const TableAnyMap &): data(NULL) {} - TableAnyMap &operator =(const TableAnyMap &) { return *this; } -}; - -template <typename K,typename T,int N = 8> -class TablePtrMap - : -#if (defined(_MSC_VER) && _MSC_VER < 1300) || defined(__BORLANDC__) || defined(__MWERKS__) - public // necessary for VC6 -#endif - TableAnyMap -{ -public: - TablePtrMap(): TableAnyMap(0,slots),count(0) {} - virtual ~TablePtrMap() { clear(); } - - virtual void clear() { TableAnyMap::clear(); count = 0; } - - inline int size() const { return count; } - - inline T insert(K k,T t) - { - void *d = TableAnyMap::insert(N,*(size_t *)&k,(void *)t); - if(!d) ++count; - return (T)d; - } - - inline T find(K k) const { return (T)TableAnyMap::find(N,*(size_t *)&k); } - - inline T remove(K k) - { - void *d = TableAnyMap::remove(N,*(size_t *)&k); - if(LIKELY(d)) --count; - return (T)d; - } - - - class iterator - : TableAnyMap::iterator - { - public: - iterator() {} - iterator(const TablePtrMap &m): TableAnyMap::iterator(m) {} - iterator(const iterator &it): TableAnyMap::iterator(it) {} - - // this ugly syntax (cast to parent class) is needed for MSVC6 - - inline iterator &operator =(const iterator &it) { ((TableAnyMap::iterator &)*this) = it; return *this; } - - inline operator bool() const { return (bool)((TableAnyMap::iterator &)*this); } - inline T data() const { return (T)(((TableAnyMap::iterator &)*this).data()); } - inline K key() const { return (K)(((TableAnyMap::iterator &)*this).key()); } - - inline iterator &operator ++() { ++((TableAnyMap::iterator &)*this); return *this; } - }; - -protected: - TablePtrMap(TableAnyMap *p): TableAnyMap(p,slots),count(0) {} - - virtual TableAnyMap *_newmap(TableAnyMap *parent) { return new TablePtrMap(parent); } - virtual void _delmap(TableAnyMap *map) { delete (TablePtrMap *)map; } - - int count; - Data slots[N]; - -private: - explicit TablePtrMap(const TableAnyMap &p) {} -}; - -#include "flpopns.h" - -//! @} // FLEXT_SUPPORT - -#endif diff --git a/externals/grill/trunk/flext/source/flmeth.cpp b/externals/grill/trunk/flext/source/flmeth.cpp deleted file mode 100644 index dcb66ce6c..000000000 --- a/externals/grill/trunk/flext/source/flmeth.cpp +++ /dev/null @@ -1,139 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3686 $ -$LastChangedDate: 2009-06-10 12:44:55 -0400 (Wed, 10 Jun 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flmeth.cpp - \brief Method processing of flext base class. -*/ - -#include "flext.h" -#include "flinternal.h" -#include <cstring> -#include <cstdarg> - -#include "flpushns.h" - -flext_base::MethItem::MethItem(AttrItem *conn): - Item(conn),index(0), - argc(0),args(NULL) - ,fun(NULL) -{} - -flext_base::MethItem::~MethItem() -{ - if(args) delete[] args; -} - -void flext_base::MethItem::SetArgs(methfun _fun,int _argc,metharg *_args) -{ - fun = _fun; - if(args) delete[] args; - argc = _argc,args = _args; -} - -/*! \brief Add a method to the queue -*/ -void flext_base::AddMethod(ItemCont *ma,int inlet,const t_symbol *tag,methfun fun,metharg tp,...) -{ -#ifdef FLEXT_LOG_MSGS - post("addmethod %i:%s",inlet,GetString(tag)); -#endif - - va_list marker; - - // at first just count the arg type list (in argc) - int argc = 0; - va_start(marker,tp); - metharg *args = NULL,arg = tp; - for(; arg != a_null; ++argc) arg = (metharg)va_arg(marker,int); //metharg); - va_end(marker); - - if(argc > 0) { - if(argc > FLEXT_MAXMETHARGS) { - error("flext - method %s: only %i arguments are type-checkable: use variable argument list for more",tag?GetString(tag):"?",FLEXT_MAXMETHARGS); - argc = FLEXT_MAXMETHARGS; - } - - args = new metharg[argc]; - - va_start(marker,tp); - metharg a = tp; - for(int ix = 0; ix < argc; ++ix) { -#ifdef FLEXT_DEBUG - if(a == a_list && ix > 0) { - ERRINTERNAL(); - } -#endif -#if FLEXT_SYS == FLEXT_SYS_PD && defined(FLEXT_COMPATIBLE) - if(a == a_pointer) { - post("Pointer arguments are not allowed in compatibility mode"); - } -#endif - args[ix] = a; - a = (metharg)va_arg(marker,int); //metharg); - } - va_end(marker); - } - - MethItem *mi = new MethItem; - mi->index = ma->Members(); - mi->SetArgs(fun,argc,args); - ma->Add(mi,tag,inlet); -} - -void flext_base::ListMethods(AtomList &la,int inlet) const -{ - typedef TablePtrMap<int,const t_symbol *,32> MethList; - MethList list[2]; - ItemCont *clmethhead = ClMeths(thisClassId()); - - int i; - for(i = 0; i <= 1; ++i) { - ItemCont *a = i?methhead:clmethhead; - if(a && a->Contained(inlet)) { - ItemSet &ai = a->GetInlet(inlet); - for(ItemSet::iterator as(ai); as; ++as) { - for(Item *al = as.data(); al; al = al->nxt) { - MethItem *aa = (MethItem *)al; - // check it's not related to an attribute - if(!aa->IsAttr()) { - list[i].insert(aa->index,as.key()); - break; - } - } - } - } - } - - la((int)list[0].size()+(int)list[1].size()); - int ix = 0; - for(i = 0; i <= 1; ++i) - for(MethList::iterator it(list[i]); it; ++it) - SetSymbol(la[ix++],it.data()); -} - -bool flext_base::cb_ListMethods(flext_base *c,int argc,const t_atom *argv) -{ - Locker lock(c); - if(c->HasAttributes() && (argc == 0 || (argc == 1 && CanbeInt(argv[0])))) { - // defined in flsupport.cpp - int inlet = argc?GetAInt(argv[0]):0; - AtomListStatic<32> la; - c->ListMethods(la,inlet); - c->ToOutAnything(c->GetOutAttr(),sym_methods,la.Count(),la.Atoms()); - return true; - } - else - return false; -} - -#include "flpopns.h" diff --git a/externals/grill/trunk/flext/source/flmsg.cpp b/externals/grill/trunk/flext/source/flmsg.cpp deleted file mode 100644 index e4281ec13..000000000 --- a/externals/grill/trunk/flext/source/flmsg.cpp +++ /dev/null @@ -1,307 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3657 $ -$LastChangedDate: 2009-02-09 17:58:30 -0500 (Mon, 09 Feb 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flmsg.cpp - \brief Message processing of flext base class. -*/ - -#include "flext.h" - -#include "flpushns.h" - -bool flext_base::TryMethTag(Item *lst,const t_symbol *tag,int argc,const t_atom *argv) -{ - for(; lst; lst = lst->nxt) { - MethItem *m = (MethItem *)lst; - -// FLEXT_LOG3("found method tag %s: inlet=%i, argc=%i",GetString(tag),m->inlet,argc); - - if(m->attr) { - // attributes are treated differently - - if(m->attr->IsGet()) - return DumpAttrib(tag,m->attr); - else - return SetAttrib(tag,m->attr,argc,argv); - } - else { - if(m->argc == 1) { - if(m->args[0] == a_list) { - // try list - if(((methfun_V)m->fun)(this,argc,const_cast<t_atom *>(argv))) return true; - } - else if(m->args[0] == a_any) { - // try anything - if(((methfun_A)m->fun)(this,tag,argc,const_cast<t_atom *>(argv))) return true; - } - } - - // try matching number of args - if(m->argc == argc) { - int ix; - t_any aargs[FLEXT_MAXMETHARGS]; - bool ok = true; - for(ix = 0; ix < argc && ok; ++ix) { - switch(m->args[ix]) { - case a_float: { - if(IsFloat(argv[ix])) aargs[ix].ft = GetFloat(argv[ix]); - else if(IsInt(argv[ix])) aargs[ix].ft = (float)GetInt(argv[ix]); - else ok = false; - - if(ok) FLEXT_LOG2("int arg %i = %f",ix,aargs[ix].ft); - break; - } - case a_int: { - if(IsFloat(argv[ix])) aargs[ix].it = (int)GetFloat(argv[ix]); - else if(IsInt(argv[ix])) aargs[ix].it = GetInt(argv[ix]); - else ok = false; - - if(ok) FLEXT_LOG2("float arg %i = %i",ix,aargs[ix].it); - break; - } - case a_symbol: { - if(IsSymbol(argv[ix])) aargs[ix].st = GetSymbol(argv[ix]); - else ok = false; - - if(ok) FLEXT_LOG2("symbol arg %i = %s",ix,GetString(aargs[ix].st)); - break; - } -#if FLEXT_SYS == FLEXT_SYS_PD - case a_pointer: { - if(IsPointer(argv[ix])) aargs[ix].pt = (t_gpointer *)GetPointer(argv[ix]); - else ok = false; - break; - } -#endif - default: - error("Argument type illegal"); - ok = false; - } - } - - if(ok && ix == argc) { - switch(argc) { - case 0: return ((methfun_0)m->fun)(this); - case 1: return ((methfun_1)m->fun)(this,aargs[0]); - case 2: return ((methfun_2)m->fun)(this,aargs[0],aargs[1]); - case 3: return ((methfun_3)m->fun)(this,aargs[0],aargs[1],aargs[2]); - case 4: return ((methfun_4)m->fun)(this,aargs[0],aargs[1],aargs[2],aargs[3]); - case 5: return ((methfun_5)m->fun)(this,aargs[0],aargs[1],aargs[2],aargs[3],aargs[4]); - default: - FLEXT_ASSERT(false); - } - } - } - } - } - return false; -} - - -bool flext_base::TryMethAny(Item *lst,const t_symbol *s,int argc,const t_atom *argv) -{ - for(; lst; lst = lst->nxt) { - MethItem *m = (MethItem *)lst; - - if(!m->IsAttr() && m->argc == 1 && m->args[0] == a_any) { -// FLEXT_LOG4("found any method for %s: inlet=%i, symbol=%s, argc=%i",GetString(m->tag),m->inlet,GetString(s),argc); - - if(((methfun_A)m->fun)(this,s,argc,const_cast<t_atom *>(argv))) return true; - } - } - return false; -} - -/*! \brief Find a method item for a specific tag and arguments - \remark All attributes are also stored in the method list and retrieved by a member of the method item -*/ -bool flext_base::FindMeth(int inlet,const t_symbol *s,int argc,const t_atom *argv) -{ - Item *lst; - ItemCont *clmethhead = ClMeths(thisClassId()); - - // search for exactly matching tag - if(UNLIKELY(methhead) && (lst = methhead->FindList(s,inlet)) != NULL && TryMethTag(lst,s,argc,argv)) return true; - if((lst = clmethhead->FindList(s,inlet)) != NULL && TryMethTag(lst,s,argc,argv)) return true; - - // if nothing found try any inlet - if(UNLIKELY(methhead) && (lst = methhead->FindList(s,-1)) != NULL && TryMethTag(lst,s,argc,argv)) return true; - if((lst = clmethhead->FindList(s,-1)) != NULL && TryMethTag(lst,s,argc,argv)) return true; - - return false; -} - -bool flext_base::FindMethAny(int inlet,const t_symbol *s,int argc,const t_atom *argv) -{ - Item *lst; - ItemCont *clmethhead = ClMeths(thisClassId()); - - if(UNLIKELY(methhead) && (lst = methhead->FindList(sym_anything,inlet)) != NULL && TryMethAny(lst,s,argc,argv)) return true; - if((lst = clmethhead->FindList(sym_anything,inlet)) != NULL && TryMethAny(lst,s,argc,argv)) return true; - - // if nothing found try any inlet - if(UNLIKELY(methhead) && (lst = methhead->FindList(sym_anything,-1)) != NULL && TryMethAny(lst,s,argc,argv)) return true; - if((lst = clmethhead->FindList(sym_anything,-1)) != NULL && TryMethAny(lst,s,argc,argv)) return true; - - return false; -} - -/*! \brief All the message processing - The messages of all the inlets go here and are promoted to the registered callback functions -*/ -bool flext_base::CbMethodHandler(int inlet,const t_symbol *s,int argc,const t_atom *argv) -{ - static bool trap = false; - bool ret; - - curtag = s; - -#ifdef FLEXT_LOG_MSGS - post("methodmain inlet:%i args:%i symbol:%s",inlet,argc,s?GetString(s):""); -#endif - - try { - ret = FindMeth(inlet,s,argc,argv); -#ifdef FLEXT_LOG_MSGS - if(ret) post("found %s message in %s,%i",GetString(s),__FILE__,__LINE__); -#endif - if(ret) goto end; - - if(argc == 1) { - if(s == sym_list) { - // for 1-element lists try the single atom (this is the format output by [route]) - if(IsFloat(argv[0])) - ret = FindMeth(inlet,sym_float,1,argv); - else if(IsInt(argv[0])) - ret = FindMeth(inlet,sym_int,1,argv); - else if(IsSymbol(argv[0])) - ret = FindMeth(inlet,sym_symbol,1,argv); - #if FLEXT_SYS == FLEXT_SYS_PD && !defined(FLEXT_COMPATIBLE) - else if(IsPointer(argv[0])) - ret = FindMeth(inlet,sym_pointer,1,argv); - #endif - if(ret) goto end; - } - else { - if(s == sym_float) { - #if FLEXT_SYS == FLEXT_SYS_MAX - t_atom at; - // If float message is not explicitly handled: try int handler instead - SetInt(at,(int)GetFloat(argv[0])); - ret = FindMeth(inlet,sym_int,1,&at); - if(ret) goto end; - #endif - // If not explicitly handled: try list handler instead - ret = FindMeth(inlet,sym_list,1,argv); - if(ret) goto end; - } - #if FLEXT_SYS == FLEXT_SYS_MAX - else if(s == sym_int) { - t_atom at; - // If int message is not explicitly handled: try float handler instead - SetFloat(at,(float)GetInt(argv[0])); - ret = FindMeth(inlet,sym_float,1,&at); - if(ret) goto end; - // If not explicitly handled: try list handler instead - ret = FindMeth(inlet,sym_list,1,argv); - if(ret) goto end; - } - #endif - else if(s == sym_symbol) { - ret = FindMeth(inlet,sym_list,1,argv); - if(ret) goto end; - } - #if FLEXT_SYS == FLEXT_SYS_PD && !defined(FLEXT_COMPATIBLE) - else if(s == sym_pointer) { - ret = FindMeth(inlet,sym_list,1,argv); - if(ret) goto end; - } - #endif - } - } - else if(argc == 0) { - // If symbol message (pure anything without args) is not explicitly handled: try list handler instead - if(s == sym_bang) - // bang is equal to an empty list - ret = FindMeth(inlet,sym_list,0,NULL); - else { - t_atom at; - SetSymbol(at,s); - ret = FindMeth(inlet,sym_list,1,&at); - } -#ifdef FLEXT_LOG_MSGS - if(ret) post("found %s message in %s,%i",GetString(sym_list),__FILE__,__LINE__); -#endif - if(ret) goto end; - } - - // if distmsgs is switched on then distribute list elements over inlets (Max/MSP behavior) - if(DoDist() && inlet == 0 && s == sym_list && insigs <= 1 && !trap) { - int i = incnt; - if(i > argc) i = argc; - for(--i; i >= 0; --i) { // right to left distribution - const t_symbol *sym = NULL; - if(IsFloat(argv[i])) sym = sym_float; - else if(IsInt(argv[i])) sym = sym_int; - else if(IsSymbol(argv[i])) sym = sym_symbol; - #if FLEXT_SYS == FLEXT_SYS_PD && !defined(FLEXT_COMPATIBLE) - else if(IsPointer(argv[i])) sym = sym_pointer; // can pointer atoms occur here? - #endif - - if(sym) { - trap = true; - CbMethodHandler(i,sym,1,argv+i); - trap = false; - } - } - - goto end; - } - - ret = FindMethAny(inlet,s,argc,argv); - - if(!ret) ret = CbMethodResort(inlet,s,argc,argv); - } - catch(std::exception &x) { - error("%s - %s: %s",thisName(),GetString(s),x.what()); - ret = false; - } - catch(const char *txt) { - error("%s - %s: %s",thisName(),GetString(s),txt); - ret = false; - } - catch(...) { - error("%s - %s : Unknown exception while processing method",thisName(),GetString(s)); - ret = false; - } - -end: - curtag = NULL; - - return ret; // true if appropriate handler was found and called -} - -bool flext_base::m_method_(int inlet,const t_symbol *s,int argc,const t_atom *argv) -{ - post("%s: message unhandled - inlet:%i args:%i symbol:%s",thisName(),inlet,argc,s?GetString(s):""); - return false; -} - -bool flext_base::CbMethodResort(int inlet,const t_symbol *s,int argc,const t_atom *argv) -{ - // call deprecated version - return m_method_(inlet,s,argc,argv); -} - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/flmspbuffer.h b/externals/grill/trunk/flext/source/flmspbuffer.h deleted file mode 100644 index 226082949..000000000 --- a/externals/grill/trunk/flext/source/flmspbuffer.h +++ /dev/null @@ -1,85 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3663 $ -$LastChangedDate: 2009-02-18 16:18:58 -0500 (Wed, 18 Feb 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flmspbuffer.h - \brief Definition of the Max/MSP buffer structure - \internal - - This file comes from David Zicarellis inofficial package index.sit - The latter is not easily found so i included the original file buffer.h with flext -*/ - -#if (FLEXT_SYS == FLEXT_SYS_MAX) && !defined(__FLEXT_MSPBUFFER_H) -#define __FLEXT_MSPBUFFER_H - -enum { - MAXCHAN = 4 -}; - -enum { - bi_basefreq = 0, - bi_detune, - bi_lowfreq, - bi_hifreq, - bi_lowvel, - bi_hivel, - bi_gain, - bi_numparams -}; - -typedef struct _buffer -{ - t_object b_obj; // doesn't have any signals so it doesn't need to be pxobject - long b_valid; // flag is off during read replacement or editing operation - float *b_samples; // stored with interleaved channels if multi-channel - long b_frames; // number of sample frames (each one is sizeof(float) * b_nchans bytes) - long b_nchans; // number of channels - long b_size; // size of buffer in floats - float b_sr; // sampling rate of the buffer - float b_1oversr; // 1 / sr - float b_msr; // sr * .001 - // Mac-specific stuff - float *b_memory; // pointer to where memory starts (initial padding for interp) - t_symbol *b_name; - short b_vol; - short b_space; - // looping info (from AIFF file) - long b_susloopstart; // in samples - long b_susloopend; // in samples - long b_relloopstart; // in samples - long b_relloopend; // in samples - // instrument info (from AIFF file) - short b_inst[bi_numparams]; - // window stuff - void *b_wind; - double b_pixperfr; - double b_frperpix; - long b_imagesize; - Point b_scroll; - long b_scrollscale; - long b_selbegin[MAXCHAN]; - long b_selend[MAXCHAN]; - long b_zoom; - long b_zim[11]; - void *b_mouseout; - long b_format; // 'AIFF' or 'Sd2f' - t_symbol *b_filename; // last file read (not written) for readagain message - long b_oldnchans; // used for resizing window in case of # of channels change - void *b_doneout; - long b_outputbytes; // number of bytes used for output sample (1-4) - long b_modtime; // last modified time ("dirty" method) -} t_buffer; - -#define BUFWIND(x) ((t_wind *)(x->b_wind)) - -#endif diff --git a/externals/grill/trunk/flext/source/flout.cpp b/externals/grill/trunk/flext/source/flout.cpp deleted file mode 100644 index e3b670dee..000000000 --- a/externals/grill/trunk/flext/source/flout.cpp +++ /dev/null @@ -1,340 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3669 $ -$LastChangedDate: 2009-03-05 18:34:39 -0500 (Thu, 05 Mar 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flout.cpp - \brief Implementation of the flext outlet functionality. -*/ - -#include "flext.h" -#include "flinternal.h" -#include <cstring> - -#include "flpushns.h" - -#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX -void flext_base::ToSysAtom(int n,const t_atom &at) const -{ - outlet *o = GetOut(n); - if(LIKELY(o)) { - CRITON(); - if(IsSymbol(at)) - outlet_symbol((t_outlet *)o,const_cast<t_symbol *>(GetSymbol(at))); - else if(IsFloat(at)) - outlet_float((t_outlet *)o,GetFloat(at)); -#if FLEXT_SYS == FLEXT_SYS_MAX - else if(IsInt(at)) - outlet_flint((t_outlet *)o,GetInt(at)); -#endif -#if FLEXT_SYS == FLEXT_SYS_PD - else if(IsPointer(at)) - outlet_pointer((t_outlet *)o,GetPointer(at)); -#endif - else - error("Atom type not supported"); - CRITOFF(); - } -} -#else -#error Not implemented -#endif - -#if defined(FLEXT_THREADS) - #if FLEXT_QMODE == 2 - #define CHKTHR() (LIKELY((!IsThreadRegistered() || IsThread(flext::thrmsgid)) && !InDSP())) - #else - #define CHKTHR() (LIKELY(!IsThreadRegistered() && !InDSP())) - #endif -#else - #define CHKTHR() (LIKELY(!InDSP())) -#endif - -void flext_base::ToOutBang(int n) const { if(CHKTHR()) ToSysBang(n); else ToQueueBang(n); } -void flext_base::ToOutFloat(int n,float f) const { if(CHKTHR()) ToSysFloat(n,f); else ToQueueFloat(n,f); } -void flext_base::ToOutInt(int n,int f) const { if(CHKTHR()) ToSysInt(n,f); else ToQueueInt(n,f); } -void flext_base::ToOutSymbol(int n,const t_symbol *s) const { if(CHKTHR()) ToSysSymbol(n,s); else ToQueueSymbol(n,s); } -void flext_base::ToOutAtom(int n,const t_atom &at) const { if(CHKTHR()) ToSysAtom(n,at); else ToQueueAtom(n,at); } -void flext_base::ToOutList(int n,int argc,const t_atom *argv) const { if(CHKTHR()) ToSysList(n,argc,argv); else ToQueueList(n,argc,argv); } -void flext_base::ToOutAnything(int n,const t_symbol *s,int argc,const t_atom *argv) const { if(CHKTHR()) ToSysAnything(n,s,argc,argv); else ToQueueAnything(n,s,argc,argv); } - -void flext::ToOutMsg(MsgBundle *mb) { if(CHKTHR()) ToSysMsg(mb); else ToQueueMsg(mb); } - -bool flext::Forward(const t_symbol *recv,const t_symbol *s,int argc,const t_atom *argv) -{ - return CHKTHR()?SysForward(recv,s,argc,argv):QueueForward(recv,s,argc,argv); -} - - -bool flext_base::InitInlets() -{ - bool ok = true; - - // incnt has number of inlets (any type) - // insigs should be 0 - - FLEXT_ASSERT(!insigs && !inlets); - - // ---------------------------------- - // create inlets - // ---------------------------------- - -#if FLEXT_SYS == FLEXT_SYS_MAX - // copy inlet descriptions - indesc = new char *[incnt]; - for(int i = 0; i < incnt; ++i) { - xlet &x = inlist[i]; - indesc[i] = x.desc; - x.desc = NULL; - } -#endif - -#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX - inlets = incnt > 1?new px_object *[incnt-1]:NULL; -#endif - - // type info is now in list array -#if FLEXT_SYS == FLEXT_SYS_PD - { - int cnt = 0; - if(incnt >= 1) { - xlet &xi = inlist[0]; // points to first inlet - if(xi.tp == xlet_sig) ++insigs; - // else leftmost inlet is already there... - ++cnt; - -#if PD_MINOR_VERSION >= 37 && defined(PD_DEVEL_VERSION) - // set tooltip -// this is on a per-class basis... we cannot really use it here -// if(xi.desc && *xi.desc) class_settip(thisClass(),gensym(xi.desc)); -#endif - } - - for(int ix = 1; ix < incnt; ++ix,++cnt) { - xlet &xi = inlist[ix]; // points to first inlet - t_inlet *in = NULL; - switch(xi.tp) { - case xlet_float: - case xlet_int: { - if(ix > 9) { - // proxy inlet needed - (inlets[ix-1] = (px_object *)pd_new(px_class))->init(this,ix); // proxy for 2nd inlet messages - in = inlet_new(&x_obj->obj,&inlets[ix-1]->obj.ob_pd, (t_symbol *)sym_float, (t_symbol *)sym_float); - } - else { - inlets[ix-1] = NULL; - static char sym[] = " ft ?"; - sym[4] = '0'+ix; - in = inlet_new(&x_obj->obj, &x_obj->obj.ob_pd, (t_symbol *)sym_float, gensym(sym)); - } - break; - } - case xlet_sym: - (inlets[ix-1] = (px_object *)pd_new(px_class))->init(this,ix); // proxy for 2nd inlet messages - in = inlet_new(&x_obj->obj,&inlets[ix-1]->obj.ob_pd, (t_symbol *)sym_symbol, (t_symbol *)sym_symbol); - break; - case xlet_list: - (inlets[ix-1] = (px_object *)pd_new(px_class))->init(this,ix); // proxy for 2nd inlet messages - in = inlet_new(&x_obj->obj,&inlets[ix-1]->obj.ob_pd, (t_symbol *)sym_list, (t_symbol *)sym_list); - break; - case xlet_any: - (inlets[ix-1] = (px_object *)pd_new(px_class))->init(this,ix); // proxy for 2nd inlet messages - in = inlet_new(&x_obj->obj,&inlets[ix-1]->obj.ob_pd, 0, 0); - break; - case xlet_sig: - inlets[ix-1] = NULL; -#ifdef FLEXT_COMPATIBLE - if(inlist[ix-1].tp != xlet_sig) { - post("%s: All signal inlets must be left-aligned in compatibility mode",thisName()); - ok = false; - } - else -#endif - { - // pd is not able to handle signals and messages into the same inlet... - in = inlet_new(&x_obj->obj, &x_obj->obj.ob_pd, (t_symbol *)sym_signal, (t_symbol *)sym_signal); - ++insigs; - } - break; - default: - inlets[ix-1] = NULL; - error("%s: Wrong type for inlet #%i: %i",thisName(),ix,(int)inlist[ix].tp); - ok = false; - } - -#if PD_MINOR_VERSION >= 37 && defined(PD_DEVEL_VERSION) - // set tooltip - if(in && xi.desc && *xi.desc) inlet_settip(in,gensym(xi.desc)); -#endif - } - - incnt = cnt; - } -#elif FLEXT_SYS == FLEXT_SYS_MAX - { - int ix,cnt; - // count leftmost signal inlets - while(insigs < incnt && inlist[insigs].tp == xlet_sig) ++insigs; - - for(cnt = 0,ix = incnt-1; ix >= insigs; --ix,++cnt) { - xlet &xi = inlist[ix]; - if(!ix) { - if(xi.tp != xlet_any) { - error("%s: Leftmost inlet must be of type signal or anything",thisName()); - ok = false; - } - } - else { - FLEXT_ASSERT(inlets); - switch(xi.tp) { - case xlet_sig: - inlets[ix-1] = NULL; - error("%s: All signal inlets must be left-aligned",thisName()); - ok = false; - break; - case xlet_float: { - if(ix < 10) { - inlets[ix-1] = NULL; - floatin(x_obj,ix); - break; - } - else - goto makeproxy; - } - case xlet_int: { - if(ix < 10) { - inlets[ix-1] = NULL; - intin(x_obj,ix); - break; - } - else - goto makeproxy; - } - makeproxy: - case xlet_any: // non-leftmost - case xlet_sym: - case xlet_list: - inlets[ix-1] = (px_object *)proxy_new(x_obj,ix,&((flext_hdr *)x_obj)->curinlet); - break; - default: - inlets[ix-1] = NULL; - error("%s: Wrong type for inlet #%i: %i",thisName(),ix,(int)xi.tp); - ok = false; - } - } - } - - if(inlets) - while(ix >= 0) inlets[ix--] = NULL; - } -#else -#error -#endif - - return ok; -} - -bool flext_base::InitOutlets() -{ - bool ok = true; - int procattr = HasAttributes()?1:0; - - // outcnt has number of inlets (any type) - // outsigs should be 0 - - FLEXT_ASSERT(outsigs == 0); - - // ---------------------------------- - // create outlets - // ---------------------------------- - -#if FLEXT_SYS == FLEXT_SYS_MAX - // for Max/MSP the rightmost outlet has to be created first - outlet *attrtmp = NULL; - if(procattr) - attrtmp = (outlet *)newout_anything(thisHdr()); -#endif - -#if FLEXT_SYS == FLEXT_SYS_MAX - // copy outlet descriptions - outdesc = new char *[outcnt]; - for(int i = 0; i < outcnt; ++i) { - xlet &xi = outlist[i]; - outdesc[i] = xi.desc; - xi.desc = NULL; - } -#endif - -#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX - if(outcnt+procattr) - outlets = new outlet *[outcnt+procattr]; - else - outlets = NULL; - - // type info is now in list array -#if FLEXT_SYS == FLEXT_SYS_PD - for(int ix = 0; ix < outcnt; ++ix) -#elif FLEXT_SYS == FLEXT_SYS_MAX - for(int ix = outcnt-1; ix >= 0; --ix) -#else -#error -#endif - { - switch(outlist[ix].tp) { - case xlet_float: - outlets[ix] = (outlet *)newout_float(&x_obj->obj); - break; - case xlet_int: - outlets[ix] = (outlet *)newout_flint(&x_obj->obj); - break; - case xlet_sig: - outlets[ix] = (outlet *)newout_signal(&x_obj->obj); - ++outsigs; - break; - case xlet_sym: - outlets[ix] = (outlet *)newout_symbol(&x_obj->obj); - break; - case xlet_list: - outlets[ix] = (outlet *)newout_list(&x_obj->obj); - break; - case xlet_any: - outlets[ix] = (outlet *)newout_anything(&x_obj->obj); - break; -#ifdef FLEXT_DEBUG - default: - ERRINTERNAL(); - ok = false; -#endif - } - } -#else -#error -#endif - -#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX - if(procattr) { - // attribute dump outlet is the last one - outlets[outcnt] = -#if FLEXT_SYS == FLEXT_SYS_PD - // attribute dump outlet is the last one - (outlet *)newout_anything(&x_obj->obj); -#elif FLEXT_SYS == FLEXT_SYS_MAX - attrtmp; -#endif - - } -#endif - - return ok; -} - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/flpopns.h b/externals/grill/trunk/flext/source/flpopns.h deleted file mode 100644 index aeb824916..000000000 --- a/externals/grill/trunk/flext/source/flpopns.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3660 $ -$LastChangedDate: 2009-02-10 14:17:03 -0500 (Tue, 10 Feb 2009) $ -$LastChangedBy: thomas $ -*/ - -#ifdef FLEXT_USE_NAMESPACE - -#ifndef _FLEXT_IN_NAMESPACE - #error flext namespace pop is unbalanced -#endif - -#define __FLEXT_IN_NAMESPACE (_FLEXT_IN_NAMESPACE-1) -#undef _FLEXT_IN_NAMESPACE -#define _FLEXT_IN_NAMESPACE __FLEXT_IN_NAMESPACE -#undef __FLEXT_IN_NAMESPACE - -#if _FLEXT_IN_NAMESPACE == 0 - - #if 1 //defined(FLEXT_SHARED) - } // namespace - using namespace flext_ns; - #elif defined(__GNUC__) - } // anonymous namespace (don't export symbols) - #endif - - #undef _FLEXT_IN_NAMESPACE - -#endif - -#endif diff --git a/externals/grill/trunk/flext/source/flprefix.h b/externals/grill/trunk/flext/source/flprefix.h deleted file mode 100644 index 42fd11657..000000000 --- a/externals/grill/trunk/flext/source/flprefix.h +++ /dev/null @@ -1,452 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2008 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. - -$LastChangedRevision: 3746 $ -$LastChangedDate: 2011-03-23 17:00:55 -0400 (Wed, 23 Mar 2011) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flprefix.h - \brief Try to find out the platform. -*/ - -#ifndef __FLEXT_PREFIX_H -#define __FLEXT_PREFIX_H - -// --- definitions for FLEXT_SYS --------------------- -#define FLEXT_SYS_UNKNOWN 0 - -#ifndef FLEXT_SYS_MAX - #define FLEXT_SYS_MAX 1 -#else - // already defined - #undef FLEXT_SYS_MAX - #define FLEXT_SYS_MAX 1 - #define FLEXT_SYS FLEXT_SYS_MAX -#endif - -#ifndef FLEXT_SYS_PD - #define FLEXT_SYS_PD 2 -#else - // already defined - #undef FLEXT_SYS_PD - #define FLEXT_SYS_PD 2 - #define FLEXT_SYS FLEXT_SYS_PD -#endif - -#ifndef FLEXT_SYS_JMAX - #define FLEXT_SYS_JMAX 3 -#else - // already defined - #undef FLEXT_SYS_JMAX - #define FLEXT_SYS_JMAX 3 - #define FLEXT_SYS FLEXT_SYS_JMAX -#endif - -// --- definitions for FLEXT_OS ---------------------- -#define FLEXT_OS_UNKNOWN 0 -#define FLEXT_OS_WIN 1 -#define FLEXT_OS_MAC 2 -#define FLEXT_OS_LINUX 3 -#define FLEXT_OS_IRIX 4 - -// --- definitions for FLEXT_OS_API --------------------- -#define FLEXT_OSAPI_UNKNOWN 0 - -#define FLEXT_OSAPI_UNIX_POSIX 1 - -#define FLEXT_OSAPI_MAC_CLASSIC 2 -#define FLEXT_OSAPI_MAC_CARBON 3 -#define FLEXT_OSAPI_MAC_MACH 4 - -#define FLEXT_OSAPI_WIN_NATIVE 5 // WIN32 Platform -#define FLEXT_OSAPI_WIN_POSIX 6 // POSIX API (e.g. cygwin) - -// --- definitions for FLEXT_CPU --------------------- -#define FLEXT_CPU_UNKNOWN 0 -#define FLEXT_CPU_IA32 1 -#define FLEXT_CPU_PPC 2 -#define FLEXT_CPU_MIPS 3 -#define FLEXT_CPU_ALPHA 4 - -#define FLEXT_CPU_IA64 5 // Itanium -#define FLEXT_CPU_X86_64 6 // AMD-K8, EMT64 -#define FLEXT_CPU_PPC64 7 // G5 in 64 bit mode - -// compatibility -#define FLEXT_CPU_INTEL FLEXT_CPU_IA32 - -// --- definitions for FLEXT_THREADS ----------------- -#define FLEXT_THR_POSIX 1 // pthreads -#define FLEXT_THR_WIN32 2 // Win32 native -#define FLEXT_THR_MP 3 // MacOS MPThreads - -// --------------------------------------------------- -// support old definitions - -#ifndef FLEXT_SYS - #if defined(MAXMSP) - #define FLEXT_SYS FLEXT_SYS_MAX - // #undef MAXMSP - #elif defined(PD) - #define FLEXT_SYS FLEXT_SYS_PD - // #undef PD - // #undef NT - #endif -#endif - -#if defined(_DEBUG) && !defined(FLEXT_DEBUG) - #define FLEXT_DEBUG -#endif - -// --------------------------------------------------- - -// Definition of supported real-time systems -#if FLEXT_SYS == FLEXT_SYS_MAX || FLEXT_SYS == FLEXT_SYS_PD -#else - #error "System must be defined by either FLEXT_SYS_MAX or FLEXT_SYS_PD" -#endif - -// Definition of OS/CPU -#if defined(_MSC_VER) || (defined(__ICC) && (FLEXT_OS == FLEXT_OS_WIN || defined(_WIN32))) - // Microsoft C++ - // and Intel C++ (as guessed) - - #ifndef FLEXT_CPU - #if defined(_M_AMD64) - #define FLEXT_CPU FLEXT_CPU_X86_64 - #elif defined(_M_IA64) - #define FLEXT_CPU FLEXT_CPU_IA64 - #elif defined(_M_IX86) - #define FLEXT_CPU FLEXT_CPU_IA32 - #elif defined(_M_PPC) - #define FLEXT_CPU FLEXT_CPU_PPC - #elif defined(_M_MRX000) - #define FLEXT_CPU FLEXT_CPU_MIPS - #elif defined(_M_ALPHA) - #define FLEXT_CPU FLEXT_CPU_ALPHA - #else - #define FLEXT_CPU FLEXT_CPU_UNKNOWN - #endif - #endif - - #ifndef FLEXT_OS - #if defined(_WIN32) || defined(_WIN64) - #define FLEXT_OS FLEXT_OS_WIN - #define FLEXT_OSAPI FLEXT_OSAPI_WIN_NATIVE - #else - #define FLEXT_OS FLEXT_OS_UNKNOWN - #define FLEXT_OSAPI FLEXT_OSAPI_UNKNOWN - #endif - #endif - - -#elif defined(__BORLANDC__) - // Borland C++ - - #ifndef FLEXT_CPU - #define FLEXT_CPU FLEXT_CPU_INTEL - #endif - #ifndef FLEXT_OS - #define FLEXT_OS FLEXT_OS_WIN - #define FLEXT_OSAPI FLEXT_OSAPI_WIN_NATIVE - #else - #define FLEXT_OSAPI FLEXT_OSAPI_UNKNOWN - #endif - - -#elif defined(__MWERKS__) - // Metrowerks CodeWarrior - - #ifdef __MACH__ - // quick fix for OSX Mach-O - #ifdef __POWERPC__ - #ifdef __LP64__ - #define TARGET_CPU_PPC64 1 - #else - #define TARGET_CPU_PPC 1 - #endif - #else - #ifdef __LP64__ - #define TARGET_CPU_X86_64 1 - #else - #define TARGET_CPU_IA32 1 - #endif - #endif - #define TARGET_OS_MAC 1 - #define TARGET_API_MAC_OSX 1 - #else - #ifndef __CONDITIONALMACROS__ - #include <ConditionalMacros.h> - #endif - #endif - - #ifndef FLEXT_CPU - #if TARGET_CPU_X86_64 - #define FLEXT_CPU FLEXT_CPU_X86_64 - #elif TARGET_CPU_X86 - #define FLEXT_CPU FLEXT_CPU_IA32 - #elif TARGET_CPU_PPC64 - #define FLEXT_CPU FLEXT_CPU_PPC64 - #elif TARGET_CPU_PPC - #define FLEXT_CPU FLEXT_CPU_PPC - #elif TARGET_CPU_MIPS - #define FLEXT_CPU FLEXT_CPU_MIPS - #elif TARGET_CPU_ALPHA - #define FLEXT_CPU FLEXT_CPU_ALPHA - #else - #define FLEXT_CPU FLEXT_CPU_UNKNOWN - #endif - #endif - - #ifndef FLEXT_OS - #if TARGET_OS_MAC - #define FLEXT_OS FLEXT_OS_MAC - #elif TARGET_OS_WIN32 - // assume Windows - #define FLEXT_OS FLEXT_OS_WIN - #else - #define FLEXT_OS FLEXT_OS_UNKNOWN - #endif - #endif - - #ifndef FLEXT_OSAPI - #if TARGET_API_MAC_MACH - // this is for Mach-O - // this has the precedence (MACH also supports Carbon, of course) - #define FLEXT_OSAPI FLEXT_OSAPI_MAC_MACH - #elif TARGET_API_MAC_CARBON - // this is for CFM - #define FLEXT_OSAPI FLEXT_OSAPI_MAC_CARBON - #else - #define FLEXT_OSAPI FLEXT_OSAPI_UNKNOWN - #endif - #endif - - // This is important for method and attribute callbacks - #pragma enumsalwaysint on - // This is important for everything - #pragma bool on - -#elif defined(__GNUG__) || (defined(__ICC) && (FLEXT_OS == FLEXT_OS_LINUX || defined(linux) || defined(__linux__))) - - // GNU C++ - // and Intel (as suggested by Tim Blechmann) - - #ifndef FLEXT_CPU - #if defined(__x86_64__) - #define FLEXT_CPU FLEXT_CPU_X86_64 - #elif defined(_X86_) || defined(__i386__) || defined(__i586__) || defined(__i686__) - #define FLEXT_CPU FLEXT_CPU_IA32 - #elif defined(__ppc64__) - #define FLEXT_CPU FLEXT_CPU_PPC64 - #elif defined(__ppc__) - #define FLEXT_CPU FLEXT_CPU_PPC - #elif defined(__MIPS__) - #define FLEXT_CPU FLEXT_CPU_MIPS - #else - #define FLEXT_CPU FLEXT_CPU_UNKNOWN - #endif - #endif - - #ifndef FLEXT_OS - #if defined(linux) || defined(__linux__) - #define FLEXT_OS FLEXT_OS_LINUX - #elif defined(__CYGWIN__) || defined(__CYGWIN32__) || defined(__MINGW32__) - #define FLEXT_OS FLEXT_OS_WIN - #elif defined(__APPLE__) && defined(__MACH__) - #define FLEXT_OS FLEXT_OS_MAC - // how about IRIX?? - #else - #define FLEXT_OS FLEXT_OS_UNKNOWN - #endif - #endif - - #ifndef FLEXT_OSAPI - #if FLEXT_OS == FLEXT_OS_MAC - #define FLEXT_OSAPI FLEXT_OSAPI_MAC_MACH - #elif FLEXT_OS == FLEXT_OS_WIN - #if defined(__MINGW32__) - #define FLEXT_OSAPI FLEXT_OSAPI_WIN_NATIVE - #else - #define FLEXT_OSAPI FLEXT_OSAPI_WIN_POSIX - #endif - #elif FLEXT_OS == FLEXT_OS_LINUX || FLEXT_OS == FLEXT_OS_IRIX - #define FLEXT_OSAPI FLEXT_OSAPI_UNIX_POSIX - #else - #define FLEXT_OSAPI FLEXT_OSAPI_UNKNOWN - #endif - #endif - -#elif defined(__MRC__) && defined(MPW_CPLUS) - // Apple MPW MrCpp - - #if __MRC__ < 0x500 - #error Apple MPW MrCpp v.5.0.0 or later compiler required - #endif - - #ifndef FLEXT_CPU - #if defined(__POWERPC__) - #define FLEXT_CPU FLEXT_CPU_PPC - #else - #define FLEXT_CPU FLEXT_CPU_UNKNOWN - #endif - #endif - - #ifndef FLEXT_OS - #if defined(macintosh) - #define FLEXT_OS FLEXT_OS_MAC - #else - #define FLEXT_OS FLEXT_OS_UNKNOWN - #endif - #endif - - #ifndef FLEXT_OSAPI - #if FLEXT_OS == FLEXT_OS_MAC - #define FLEXT_OSAPI FLEXT_OSAPI_MAC_CLASSIC - #else - #define FLEXT_OSAPI FLEXT_OSAPI_UNKNOWN - #endif - #endif -#endif - - - -#if FLEXT_OS == FLEXT_OS_WIN -// #pragma message("Compiling for Windows") - - #if FLEXT_SYS == FLEXT_SYS_MAX -// #define WIN_VERSION 1 - #elif FLEXT_SYS == FLEXT_SYS_PD -// #define PD -// #define NT - #endif -#elif FLEXT_OS == FLEXT_OS_LINUX -// #pragma message("Compiling for Linux") - - #if FLEXT_SYS == FLEXT_SYS_PD -// #define PD - #else - #error "Flext SYS/OS combination unknown" - #endif -#elif FLEXT_OS == FLEXT_OS_IRIX -// #pragma message("Compiling for Irix") - - #if FLEXT_SYS == FLEXT_SYS_PD -// #define PD - #else - #error "Flext SYS/OS combination unknown" - #endif -#elif FLEXT_OS == FLEXT_OS_MAC -// #pragma message("Compiling for MacOS") - - #if FLEXT_SYS == FLEXT_SYS_PD -// #define PD - #endif -#else - #error "Operating system could not be determined" -#endif - -#if FLEXT_SYS == FLEXT_SYS_MAX -// #pragma message("Compiling for Max/MSP") -#elif FLEXT_SYS == FLEXT_SYS_PD -// #pragma message("Compiling for PD") -#endif - -// ----- set threading model ----- -// shared builds are always threaded -#ifdef FLEXT_SHARED - #undef FLEXT_THREADS - #define FLEXT_THREADS -#endif - -#ifdef FLEXT_THREADS - #undef FLEXT_THREADS - #if FLEXT_SYS == FLEXT_SYS_MAX && FLEXT_OS == FLEXT_OS_MAC && FLEXT_OSAPI != FLEXT_OSAPI_MAC_MACH - // Max for CFM doesn't like posix threads - #define FLEXT_THREADS FLEXT_THR_MP - #elif FLEXT_SYS == FLEXT_SYS_MAX && FLEXT_OS == FLEXT_OS_WIN - // for wmax use native Windows threads - #define FLEXT_THREADS FLEXT_THR_WIN32 - #else - #define FLEXT_THREADS FLEXT_THR_POSIX - #endif -#endif - -// ----- macros for class names ----- -/* - With linux (flat linker namespace) and more than one flext-based external loaded all calls to static - exported functions refer to the first instance loaded! - Therefore different class names are used so that the correct type of flext function is called. -*/ -#ifdef __DOXYGEN__ - #define FLEXT_CLASSDEF(CL) CL -#elif defined(FLEXT_DEBUG) - #if defined(FLEXT_SHARED) - #define FLEXT_CLASSDEF(CL) CL##_shared_d - #elif defined(FLEXT_THREADS) - #define FLEXT_CLASSDEF(CL) CL##_multi_d - #else - #define FLEXT_CLASSDEF(CL) CL##_single_d - #endif -#else - #if defined(FLEXT_SHARED) - #define FLEXT_CLASSDEF(CL) CL##_shared - #elif defined(FLEXT_THREADS) - #define FLEXT_CLASSDEF(CL) CL##_multi - #else - #define FLEXT_CLASSDEF(CL) CL##_single - #endif -#endif - - -/* Set the right calling convention (and exporting) for the OS */ - -#if defined(_MSC_VER) - #ifdef FLEXT_SHARED - // for compiling a shared flext library FLEXT_EXPORTS must be defined - #ifdef FLEXT_EXPORTS - #define FLEXT_SHARE __declspec(dllexport) - #else - #define FLEXT_SHARE __declspec(dllimport) - #endif - #else - #define FLEXT_SHARE - #endif - #define FLEXT_EXT __declspec(dllexport) -#else // other OS's - #define FLEXT_SHARE - #define FLEXT_EXT -#endif - - -// std namespace -#ifdef __MWERKS__ -# define STD std -#else -# define STD -#endif - -// branching hints -#if __GNUC__ >= 3 -# ifndef LIKELY -# define LIKELY(expression) (__builtin_expect(!!(expression), 1)) -# endif -# ifndef UNLIKELY -# define UNLIKELY(expression) (__builtin_expect(!!(expression), 0)) -# endif -#else -# ifndef LIKELY -# define LIKELY(expression) (expression) -# endif -# ifndef UNLIKELY -# define UNLIKELY(expression) (expression) -# endif -#endif - -#endif // __FLEXT_PREFIX_H diff --git a/externals/grill/trunk/flext/source/flproxy.cpp b/externals/grill/trunk/flext/source/flproxy.cpp deleted file mode 100644 index 29e21aff6..000000000 --- a/externals/grill/trunk/flext/source/flproxy.cpp +++ /dev/null @@ -1,243 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3691 $ -$LastChangedDate: 2009-06-17 06:00:31 -0400 (Wed, 17 Jun 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flproxy.cpp - \brief Proxy classes for the flext base class. -*/ - -#include "flext.h" -#include "flinternal.h" - -#include "flpushns.h" - -// === proxy class for flext_base ============================ - -#if FLEXT_SYS == FLEXT_SYS_PD - -t_class *flext_base::px_class = NULL; - -void flext_base::px_object::px_bang(px_object *obj) -{ - Locker lock(obj->base); - obj->base->CbMethodHandler(obj->index,sym_bang,0,NULL); -} - -void flext_base::px_object::px_float(px_object *obj,t_float f) -{ - t_atom a; SetFloat(a,f); - Locker lock(obj->base); - obj->base->CbMethodHandler(obj->index,sym_float,1,&a); -} - -void flext_base::px_object::px_symbol(px_object *obj,const t_symbol *s) -{ - t_atom a; SetSymbol(a,s); - Locker lock(obj->base); - obj->base->CbMethodHandler(obj->index,sym_symbol,1,&a); -} - -/* -void flext_base::px_object::px_pointer(px_object *obj,const t_gpointer *p) -{ - t_atom a; SetPointer(a,p); - Locker lock(obj->base); - obj->base->CbMethodHandler(obj->index,sym_pointer,1,&a); -} -*/ - -void flext_base::px_object::px_anything(px_object *obj,const t_symbol *s,int argc,t_atom *argv) -{ - Locker lock(obj->base); - obj->base->CbMethodHandler(obj->index,s,argc,argv); -} - -void flext_base::cb_bang(flext_hdr *c) -{ - Locker lock(c); - thisObject(c)->CbMethodHandler(0,sym_bang,0,NULL); -} - -void flext_base::cb_float(flext_hdr *c,t_float f) -{ - t_atom a; SetFloat(a,f); - Locker lock(c); - thisObject(c)->CbMethodHandler(0,sym_float,1,&a); -} - -void flext_base::cb_symbol(flext_hdr *c,const t_symbol *s) -{ - t_atom a; SetSymbol(a,s); - Locker lock(c); - thisObject(c)->CbMethodHandler(0,sym_symbol,1,&a); -} - -/* -void flext_base::cb_pointer(flext_hdr *c,const t_gpointer *p) -{ - t_atom a; SetPointer(a,p); - Locker lock(c); - thisObject(c)->CbMethodHandler(0,sym_pointer,1,&a); -} -*/ - -void flext_base::cb_anything(flext_hdr *c,const t_symbol *s,int argc,t_atom *argv) -{ - Locker lock(c); - if(UNLIKELY(!s)) { - // apparently, this happens only in one case... object is a DSP object, but has no main DSP inlet... - - // interpret tag from args - if(!argc) - s = sym_bang; - else if(argc == 1) { - if(IsFloat(*argv)) - s = sym_float; - else if(IsSymbol(*argv)) - s = sym_symbol; - else if(IsPointer(*argv)) - s = sym_pointer; - else - FLEXT_ASSERT(false); - } - else - s = sym_list; - } - - thisObject(c)->CbMethodHandler(0,s,argc,argv); -} - -#define DEF_PROXYMSG(IX) \ -void flext_base::cb_px_ft ## IX(flext_hdr *c,t_float v) { t_atom atom; SetFloat(atom,v); Locker lock(c); thisObject(c)->CbMethodHandler(IX,sym_float,1,&atom); } - -#define ADD_PROXYMSG(c,IX) \ -add_method1(c,cb_px_ft ## IX," ft " #IX,A_FLOAT) - -//AddMethod(c,0,flext::MakeSymbol("ft" #IX),cb_px_ft ## IX) - - -#elif FLEXT_SYS == FLEXT_SYS_MAX - -void flext_base::cb_anything(flext_hdr *c,const t_symbol *s,short argc,t_atom *argv) -{ - Locker lock(c); - int const ci = proxy_getinlet((t_object *)&c->obj); -// post("%s %i, cb_anything(%i)",__FILE__,__LINE__,ci); - thisObject(c)->CbMethodHandler(ci,s,argc,argv); -} - -void flext_base::cb_int(flext_hdr *c,long v) -{ - t_atom atom; SetInt(atom,v); - Locker lock(c); - int const ci = proxy_getinlet((t_object *)&c->obj); - thisObject(c)->CbMethodHandler(ci,sym_int,1,&atom); -} - -void flext_base::cb_float(flext_hdr *c,double v) -{ - t_atom atom; SetFloat(atom,v); - Locker lock(c); - int const ci = proxy_getinlet((t_object *)&c->obj); - thisObject(c)->CbMethodHandler(ci,sym_float,1,&atom); -} - -void flext_base::cb_bang(flext_hdr *c) -{ - Locker lock(c); - int const ci = proxy_getinlet((t_object *)&c->obj); - thisObject(c)->CbMethodHandler(ci,sym_bang,0,NULL); -} - - -#define DEF_PROXYMSG(IX) \ -void flext_base::cb_px_in ## IX(flext_hdr *c,long v) { t_atom atom; SetInt(atom,v); Locker lock(c); thisObject(c)->CbMethodHandler(IX,sym_int,1,&atom); } \ -void flext_base::cb_px_ft ## IX(flext_hdr *c,double v) { t_atom atom; SetFloat(atom,v); Locker lock(c); thisObject(c)->CbMethodHandler(IX,sym_float,1,&atom); } - -/* -void flext_base::cb_px_in ## IX(flext_hdr *c,long v) { t_atom atom; SetInt(atom,v); Locker lock(c); thisObject(c)->CbMethodHandler(IX,sym_int,1,&atom); } \ -void flext_base::cb_px_ft ## IX(flext_hdr *c,double v) { t_atom atom; SetFloat(atom,v); Locker lock(c); thisObject(c)->CbMethodHandler(IX,sym_float,1,&atom); } -*/ - -#define ADD_PROXYMSG(c,IX) \ -addinx((method)(cb_px_in ## IX),IX); \ -addftx((method)(cb_px_ft ## IX),IX) - -/* -add_method1(c,cb_px_in ## IX,"in" #IX,A_INT); \ -add_method1(c,cb_px_ft ## IX,"ft" #IX,A_FLOAT) - -AddMethod(c,0,flext::MakeSymbol("in" #IX),cb_px_in ## IX); \ -AddMethod(c,0,flext::MakeSymbol("ft" #IX),cb_px_ft ## IX) -*/ - -#endif - -#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX - -DEF_PROXYMSG(1) -DEF_PROXYMSG(2) -DEF_PROXYMSG(3) -DEF_PROXYMSG(4) -DEF_PROXYMSG(5) -DEF_PROXYMSG(6) -DEF_PROXYMSG(7) -DEF_PROXYMSG(8) -DEF_PROXYMSG(9) - - -void flext_base::SetProxies(t_class *c,bool dsp) -{ -#if FLEXT_SYS == FLEXT_SYS_PD - // for leftmost inlet - class_addbang(c,cb_bang); - if(!dsp) class_addfloat(c,cb_float); - class_addsymbol(c,cb_symbol); -// class_addpointer(c,cb_pointer); - class_addlist(c,cb_anything); - class_addanything(c,cb_anything); - - // proxy for extra inlets - if(UNLIKELY(!px_class)) { - // only once - px_class = class_new(gensym(const_cast<char *>(" flext_base proxy ")),NULL,NULL,sizeof(px_object),CLASS_PD|CLASS_NOINLET, A_NULL); - class_addbang(px_class,px_object::px_bang); // for other inlets - class_addfloat(px_class,px_object::px_float); // for other inlets - class_addsymbol(px_class,px_object::px_symbol); // for other inlets -// class_addpointer(px_class,px_object::px_pointer); // for other inlets - class_addlist(px_class,px_object::px_anything); // for other inlets - class_addanything(px_class,px_object::px_anything); // for other inlets - } -#elif FLEXT_SYS == FLEXT_SYS_MAX - addbang((method)cb_bang); - addint((method)cb_int); - addfloat((method)cb_float); - addmess((method)cb_anything,"list",A_GIMME,A_NOTHING); // must be explicitly given, otherwise list elements are distributed over inlets - addmess((method)cb_anything,"anything",A_GIMME,A_NOTHING); -#else -#error Not implemented! -#endif - - // setup non-leftmost ints and floats - ADD_PROXYMSG(c,1); - ADD_PROXYMSG(c,2); - ADD_PROXYMSG(c,3); - ADD_PROXYMSG(c,4); - ADD_PROXYMSG(c,5); - ADD_PROXYMSG(c,6); - ADD_PROXYMSG(c,7); - ADD_PROXYMSG(c,8); - ADD_PROXYMSG(c,9); -} -#endif - -#include "flpopns.h" diff --git a/externals/grill/trunk/flext/source/flpushns.h b/externals/grill/trunk/flext/source/flpushns.h deleted file mode 100644 index fffc7a048..000000000 --- a/externals/grill/trunk/flext/source/flpushns.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3660 $ -$LastChangedDate: 2009-02-10 14:17:03 -0500 (Tue, 10 Feb 2009) $ -$LastChangedBy: thomas $ -*/ - -#ifdef FLEXT_USE_NAMESPACE - -#ifndef _FLEXT_IN_NAMESPACE - #define _FLEXT_IN_NAMESPACE 0 -#endif - -#if _FLEXT_IN_NAMESPACE == 0 - - #if 1 //defined(FLEXT_SHARED) - namespace flext_ns { - #elif defined(__GNUC__) - namespace { // anonymous namespace (don't export symbols) - #endif - -#endif - -#define __FLEXT_IN_NAMESPACE (_FLEXT_IN_NAMESPACE+1) -#undef _FLEXT_IN_NAMESPACE -#define _FLEXT_IN_NAMESPACE __FLEXT_IN_NAMESPACE -#undef __FLEXT_IN_NAMESPACE - -#endif diff --git a/externals/grill/trunk/flext/source/flqueue.cpp b/externals/grill/trunk/flext/source/flqueue.cpp deleted file mode 100644 index 0f839ce90..000000000 --- a/externals/grill/trunk/flext/source/flqueue.cpp +++ /dev/null @@ -1,691 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3711 $ -$LastChangedDate: 2009-08-13 10:35:20 -0400 (Thu, 13 Aug 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flqueue.cpp - \brief Implementation of the flext message queuing functionality. - - \todo Let's see if queuing can be implemented for Max/MSP with defer_low - - if FLEXT_PDLOCK is defined, the new PD thread lock functions are used -*/ - -#include "flext.h" -#include "flinternal.h" -#include "flcontainers.h" -#include <cstring> // for memcpy - -#include "flpushns.h" - -#ifdef FLEXT_THREADS -//! Thread id of message queue thread -flext::thrid_t flext::thrmsgid; -#endif - -static bool qustarted = false; - -#ifdef FLEXT_SHARED -/* - For the shared version it _should_ be possible to have only one queue for all externals. - Yet I don't know how to do this cross-platform -*/ -#define PERMANENTIDLE -#endif - -static void Trigger(); - - -class flext::MsgBundle; - -class QueueFifo - : public PooledFifo<flext::MsgBundle> -{ -public: - ~QueueFifo(); -}; - -class Queue: - public flext, - public QueueFifo -{ -public: - inline bool Empty() const { return !Avail(); } - - inline void Push(MsgBundle *m); // defined after MsgBundle (gcc 3.3. won't take it otherwise...) -}; - -static Queue queue; - - -#define STATSIZE 8 - -class flext::MsgBundle: - public flext, - public FifoCell -{ -public: - static MsgBundle *New() - { - MsgBundle *m = queue.New(); - m->msg.Init(); - return m; - } - - static void Free(MsgBundle *m) - { - for(Msg *mi = m->msg.nxt; mi; ) { - Msg *mn = mi->nxt; - mi->Free(); - delete mi; - mi = mn; - } - m->msg.Free(); - queue.Free(m); - } - - bool BelongsTo(flext_base *t) const - { - return !msg.nxt && msg.BelongsTo(t); - } - - void Idle(flext_base *t) - { - Get()->Idle(t); - } - - void Idle(bool (*idlefun)(int argc,const t_atom *argv),int argc,const t_atom *argv) - { - Get()->Idle(idlefun,argc,argv); - } - - inline MsgBundle &Add(flext_base *t,int o,const t_symbol *s,int ac,const t_atom *av) - { - Get()->Set(t,o,s,ac,av); - return *this; - } - - inline MsgBundle &Add(const t_symbol *r,const t_symbol *s,int ac,const t_atom *av) - { - Get()->Set(r,s,ac,av); - return *this; - } - - inline MsgBundle &Add(flext_base *th,int o) // bang - { - return Add(th,o,sym_bang,0,NULL); - } - - inline MsgBundle &Add(flext_base *th,int o,float dt) - { - t_atom at; - SetFloat(at,dt); - return Add(th,o,sym_float,1,&at); - } - - inline MsgBundle &Add(flext_base *th,int o,int dt) - { - t_atom at; - SetInt(at,dt); - const t_symbol *sym; -#if FLEXT_SYS == FLEXT_SYS_PD - sym = sym_float; -#elif FLEXT_SYS == FLEXT_SYS_MAX - sym = sym_int; -#else -#error Not implemented! -#endif - return Add(th,o,sym,1,&at); - } - - inline MsgBundle &Add(flext_base *th,int o,const t_symbol *dt) - { - t_atom at; - SetSymbol(at,dt); - return Add(th,o,sym_symbol,1,&at); - } - - inline MsgBundle &Add(flext_base *th,int o,const t_atom &a) - { - const t_symbol *sym; - if(IsSymbol(a)) - sym = sym_symbol; - else if(IsFloat(a)) - sym = sym_float; -#if FLEXT_SYS == FLEXT_SYS_MAX - else if(IsInt(a)) - sym = sym_int; -#endif -#if FLEXT_SYS == FLEXT_SYS_PD - else if(IsPointer(a)) - sym = sym_pointer; -#endif - else { - error("atom type not supported"); - return *this; - } - return Add(th,o,sym,1,&a); - } - - inline MsgBundle &Add(flext_base *th,int o,int argc,const t_atom *argv) - { - return Add(th,o,sym_list,argc,argv); - } - - // \note PD sys lock must already be held by caller - inline bool Send() const - { - if(!msg.Ok()) return false; // Empty! - - const Msg *m = &msg; - do { - if(m->Send()) { - // we should re-enqeue the message... it can't be a real bundle then, only a solo message - FLEXT_ASSERT(!m->nxt); - return true; - } - m = m->nxt; - } while(m); - return false; - } - -private: - - class Msg { - public: - inline bool Ok() const { return th || recv; } - - void Init() - { - th = NULL; - recv = NULL; - nxt = NULL; - argc = 0; - } - - void Free() - { - if(argc > STATSIZE) { - FLEXT_ASSERT(argv); - delete[] argv; - } - } - - //! Attention: works only for solo messages, not real bundles!! - bool BelongsTo(flext_base *t) const - { - FLEXT_ASSERT(!nxt); - return th == t; - } - - void Set(flext_base *t,int o,const t_symbol *s,int ac,const t_atom *av) - { - FLEXT_ASSERT(t); - th = t; - out = o; - SetMsg(s,ac,av); - } - - void Set(const t_symbol *r,const t_symbol *s,int ac,const t_atom *av) - { - FLEXT_ASSERT(r); - th = NULL; - recv = r; - SetMsg(s,ac,av); - } - - void Idle(flext_base *t) - { - FLEXT_ASSERT(t); - th = t; - SetMsg(NULL,0,NULL); - } - - void Idle(bool (*idlefun)(int argc,const t_atom *argv),int argc,const t_atom *argv) - { - FLEXT_ASSERT(idlefun); - th = NULL; - fun = idlefun; - SetMsg(NULL,argc,argv); - } - - bool Send() const - { - if(LIKELY(sym)) { - // messages - if(th) { - if(UNLIKELY(out < 0)) - // message to self - th->CbMethodHandler(-1-out,sym,argc,argc > STATSIZE?argv:argl); - else - // message to outlet - th->ToSysAnything(out,sym,argc,argc > STATSIZE?argv:argl); - } - else - flext::SysForward(recv,sym,argc,argc > STATSIZE?argv:argl); - return false; - } - else { - // idle processing - if(th) - // call virtual method - return th->CbIdle(); - else - // call static function - return (*fun)(argc,argc > STATSIZE?argv:argl); - } - } - - Msg *nxt; - - protected: - flext_base *th; - union { - int out; - const t_symbol *recv; - bool (*fun)(int argc,const t_atom *argv); - }; - const t_symbol *sym; - int argc; - union { - t_atom *argv; - t_atom argl[STATSIZE]; - }; - - void SetMsg(const t_symbol *s,int cnt,const t_atom *lst) - { - sym = s; - argc = cnt; - if(UNLIKELY(cnt > STATSIZE)) { - argv = new t_atom[cnt]; - flext::CopyAtoms(cnt,argv,lst); - } - else - flext::CopyAtoms(cnt,argl,lst); - } - - } msg; - - Msg *Get() - { - Msg *m = &msg; - if(LIKELY(m->Ok())) { - for(; m->nxt; m = m->nxt) {} - m = m->nxt = new Msg; - m->Init(); - } - return m; - } -}; - -QueueFifo::~QueueFifo() -{ - flext::MsgBundle *n; - while((n = Get()) != NULL) delete n; -} - -inline void Queue::Push(MsgBundle *m) -{ - if(LIKELY(m)) { - Put(m); - Trigger(); - } -} - -#if FLEXT_QMODE == 2 -static flext::ThrCond qthrcond; -#elif FLEXT_QMODE == 0 -//static t_qelem *qclk = NULL; -static t_clock *qclk = NULL; -#endif - - -#define CHUNK 10 - -#if FLEXT_QMODE == 1 -static bool QWork(bool syslock,flext_base *flushobj = NULL) -{ - // Since qcnt can only be increased from any other function than QWork - // qc will be a minimum guaranteed number of present queue elements. - // On the other hand, if new queue elements are added by the methods called - // in the loop, these will be sent in the next tick to avoid recursion overflow. - flext::MsgBundle *q; - if((q = queue.Get()) == NULL) - return false; - else if(q->Send()) { - if(!flushobj || !q->BelongsTo(flushobj)) - queue.Push(q); // remember messages to be processed again - else - flext::MsgBundle::Free(q); - return true; - } - else { - flext::MsgBundle::Free(q); - return false; - } -} -#else -static bool QWork(bool syslock,flext_base *flushobj = NULL) -{ - Queue newmsgs; - flext::MsgBundle *q; - -#if 0 - static int counter = 0; - fprintf(stderr,"QWORK %i\n",counter++); -#endif - - for(;;) { - // Since qcnt can only be increased from any other function than QWork - // qc will be a minimum guaranteed number of present queue elements. - // On the other hand, if new queue elements are added by the methods called - // in the loop, these will be sent in the next tick to avoid recursion overflow. - if(!queue.Avail()) break; - - #if FLEXT_QMODE == 2 - if(syslock) flext::Lock(); - #endif - - while((q = queue.Get()) != NULL) { - if(q->Send()) - newmsgs.Push(q); // remember messages to be processed again - else - flext::MsgBundle::Free(q); - } - - #if FLEXT_QMODE == 2 - if(syslock) flext::Unlock(); - #endif - - } - - // enqueue messages that have to be processed again - while((q = newmsgs.Get()) != NULL) - if(!flushobj || !q->BelongsTo(flushobj)) - queue.Push(q); - else - flext::MsgBundle::Free(q); - - return queue.Avail(); -} -#endif - -#if FLEXT_QMODE == 0 -#if FLEXT_SYS == FLEXT_SYS_JMAX -static void QTick(fts_object_t *c,int winlet, fts_symbol_t s, int ac, const fts_atom_t *at) -{ -#else -static void QTick(flext_base *c) -{ -#endif - QWork(false); -} - -#elif FLEXT_QMODE == 1 -# ifndef PERMANENTIDLE - static bool qtickactive = false; -# endif -static t_int QTick(t_int *) -{ -#ifndef PERMANENTIDLE - qtickactive = false; -#endif - - if(QWork(false)) - return 1; - else { -# ifdef PERMANENTIDLE - // will be run in the next idle cycle - return 2; -# else - // won't be run again - // for non-shared externals assume that there's rarely a message waiting - // so it's better to delete the callback meanwhile - return 0; -# endif - } -} -#endif - -/* -It would be sufficient to only flush messages belonging to object th -But then the order of sent messages is not as intended -*/ -void flext_base::QFlush(flext_base *th) -{ - FLEXT_ASSERT(!IsThreadRegistered()); - while(!queue.Empty()) QWork(false,th); -} - -static void Trigger() -{ -#if FLEXT_SYS == FLEXT_SYS_PD -# if FLEXT_QMODE == 2 - // wake up worker thread - qthrcond.Signal(); -# elif FLEXT_QMODE == 1 && !defined(PERMANENTIDLE) - if(!qtickactive) { - sys_callback(QTick,NULL,0); - qtickactive = true; - } -# elif FLEXT_QMODE == 0 -# ifdef FLEXT_THREADS - bool sys = flext::IsThread(flext::GetSysThreadId()); -# else - bool sys = true; -# endif - if(!sys) flext::Lock(); - clock_delay(qclk,0); - if(!sys) flext::Unlock(); -# endif -#elif FLEXT_SYS == FLEXT_SYS_MAX -# if FLEXT_QMODE == 0 -// qelem_front(qclk); - clock_delay(qclk,0); -# endif -#else -# error Not implemented -#endif -} - -#if FLEXT_QMODE == 2 -void flext_base::QWorker(thr_params *) -{ - thrmsgid = GetThreadId(); - qustarted = true; - for(;;) { - // we need a timed wait so that idle processing can take place - qthrcond.TimedWait(0.001); - QWork(true); - } -} -#endif - -void flext_base::StartQueue() -{ - if(qustarted) return; -#if FLEXT_QMODE == 1 -# ifdef PERMANENTIDLE - sys_callback(QTick,NULL,0); - qustarted = true; -# endif -#elif FLEXT_QMODE == 2 - LaunchThread(QWorker,NULL); - // very unelegant... but waiting should be ok, since happens only on loading - while(!qustarted) Sleep(0.001); -#elif FLEXT_QMODE == 0 && (FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX) -// qclk = (t_qelem *)(qelem_new(NULL,(t_method)QTick)); - qclk = (t_clock *)(clock_new(NULL,(t_method)QTick)); - qustarted = true; -#else -# error Not implemented! -#endif -} - -flext::MsgBundle *flext::MsgNew() -{ - return MsgBundle::New(); -} - -void flext::MsgFree(MsgBundle *m) -{ - MsgBundle::Free(m); -} - -void flext::ToSysMsg(MsgBundle *m) -{ - m->Send(); - queue.Free(m); -} - -void flext::ToQueueMsg(MsgBundle *m) -{ - queue.Push(m); -} - - - -void flext_base::ToQueueBang(int o) const -{ - MsgBundle *m = MsgBundle::New(); - m->Add(const_cast<flext_base *>(this),o); - queue.Push(m); -} - -void flext_base::ToQueueFloat(int o,float f) const -{ - MsgBundle *m = MsgBundle::New(); - m->Add(const_cast<flext_base *>(this),o,f); - queue.Push(m); -} - -void flext_base::ToQueueInt(int o,int f) const -{ - MsgBundle *m = MsgBundle::New(); - m->Add(const_cast<flext_base *>(this),o,f); - queue.Push(m); -} - -void flext_base::ToQueueSymbol(int o,const t_symbol *s) const -{ - MsgBundle *m = MsgBundle::New(); - m->Add(const_cast<flext_base *>(this),o,s); - queue.Push(m); -} - -void flext_base::ToQueueAtom(int o,const t_atom &at) const -{ - MsgBundle *m = MsgBundle::New(); - m->Add(const_cast<flext_base *>(this),o,at); - queue.Push(m); -} - -void flext_base::ToQueueList(int o,int argc,const t_atom *argv) const -{ - MsgBundle *m = MsgBundle::New(); - m->Add(const_cast<flext_base *>(this),o,argc,argv); - queue.Push(m); -} - -void flext_base::ToQueueAnything(int o,const t_symbol *s,int argc,const t_atom *argv) const -{ - MsgBundle *m = MsgBundle::New(); - m->Add(const_cast<flext_base *>(this),o,s,argc,argv); - queue.Push(m); -} - - -void flext_base::MsgAddBang(MsgBundle *m,int n) const -{ - m->Add(const_cast<flext_base *>(this),n); -} - -void flext_base::MsgAddFloat(MsgBundle *m,int n,float f) const -{ - m->Add(const_cast<flext_base *>(this),n,f); -} - -void flext_base::MsgAddInt(MsgBundle *m,int n,int f) const -{ - m->Add(const_cast<flext_base *>(this),n,f); -} - -void flext_base::MsgAddSymbol(MsgBundle *m,int n,const t_symbol *s) const -{ - m->Add(const_cast<flext_base *>(this),n,s); -} - -void flext_base::MsgAddAtom(MsgBundle *m,int n,const t_atom &at) const -{ - m->Add(const_cast<flext_base *>(this),n,at); -} - -void flext_base::MsgAddList(MsgBundle *m,int n,int argc,const t_atom *argv) const -{ - m->Add(const_cast<flext_base *>(this),n,argc,argv); -} - -void flext_base::MsgAddAnything(MsgBundle *m,int n,const t_symbol *s,int argc,const t_atom *argv) const -{ - m->Add(const_cast<flext_base *>(this),n,s,argc,argv); -} - - - - -bool flext::SysForward(const t_symbol *recv,const t_symbol *s,int argc,const t_atom *argv) -{ - void *cl = recv->s_thing; - if(UNLIKELY(!cl)) return false; - -#if FLEXT_SYS == FLEXT_SYS_PD - pd_typedmess((t_class **)cl,(t_symbol *)s,argc,(t_atom *)argv); -#elif FLEXT_SYS == FLEXT_SYS_MAX - typedmess(recv->s_thing,(t_symbol *)s,argc,(t_atom *)argv); -#else -# error Not implemented -#endif - return true; -} - -bool flext::QueueForward(const t_symbol *recv,const t_symbol *s,int argc,const t_atom *argv) -{ - MsgBundle *m = MsgBundle::New(); - m->Add(recv,s,argc,argv); - // send over queue - queue.Push(m); - return true; -} - -bool flext::MsgForward(MsgBundle *m,const t_symbol *recv,const t_symbol *s,int argc,const t_atom *argv) -{ - m->Add(recv,s,argc,argv); - return true; -} - -void flext_base::AddIdle() -{ - MsgBundle *m = MsgBundle::New(); - m->Idle(const_cast<flext_base *>(this)); - // send over queue - queue.Push(m); -} - -void flext_base::AddIdle(bool (*idlefun)(int argc,const t_atom *argv),int argc,const t_atom *argv) -{ - MsgBundle *m = MsgBundle::New(); - m->Idle(idlefun,argc,argv); - // send over queue - queue.Push(m); -} - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/flsimd.cpp b/externals/grill/trunk/flext/source/flsimd.cpp deleted file mode 100644 index d70e72ef9..000000000 --- a/externals/grill/trunk/flext/source/flsimd.cpp +++ /dev/null @@ -1,2012 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3669 $ -$LastChangedDate: 2009-03-05 18:34:39 -0500 (Thu, 05 Mar 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flsimd.cpp - \brief flext SIMD support functions - - If FLEXT_USE_SIMD is defined at compilation, SIMD instructions are used wherever feasible. - If used with MSVC++ 6 the "Processor Pack" must be installed. - - If FLEXT_USE_IPP is defined the Intel Performance Package is used. -*/ - -#include "flext.h" -#include <cstring> - -#if FLEXT_OS == FLEXT_OS_WIN -#include <windows.h> -#endif - -#ifdef FLEXT_USE_IPP -#include <ipps.h> -#endif - -#ifdef FLEXT_USE_SIMD - #ifdef _MSC_VER - // include MSVC SIMD header files - #include <mmintrin.h> // MMX - #include <xmmintrin.h> // SSE - #include <emmintrin.h> // SSE2 - #include <mm3dnow.h> // 3DNow! - #elif defined(__APPLE__) && defined(__VEC__) - #ifdef __MWERKS__ - #if FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH - #include <sys/sysctl.h> - #include <vDSP.h> - #else - #include <Gestalt.h> - #endif - - #pragma altivec_model on - - #include <altivec.h> - #include <vectorOps.h> - #elif defined(__GNUC__) - #include <sys/sysctl.h> - #include <vecLib/vecLib.h> - #endif - #endif - -#endif // FLEXT_USE_SIMD - -#include "flpushns.h" - -static unsigned long setsimdcaps(); - -/*! \brief Holds SIMD capability flags - \internal -*/ -unsigned long flext::simdcaps = setsimdcaps(); - -unsigned long flext::GetSIMDCapabilities() { return simdcaps; } - - -#ifdef FLEXT_USE_SIMD - -#if FLEXT_CPU == FLEXT_CPU_IA32 || FLEXT_CPU == FLEXT_CPU_X86_64 - -#define _CPU_FEATURE_MMX 0x0001 -#define _CPU_FEATURE_SSE 0x0002 -#define _CPU_FEATURE_SSE2 0x0004 -#define _CPU_FEATURE_3DNOW 0x0008 - -typedef struct _processor_info { - int family; // family of the processor - // e.g. 6 = Pentium-Pro architecture - int model; // model of processor - // e.g. 1 = Pentium-Pro for family = 6 - int stepping; // processor revision number - int feature; // processor feature - // (same as return value from _cpuid) - int os_support; // does OS Support the feature? - int checks; // mask of checked bits in feature - // and os_support fields -} _p_info; - -// These are the bit flags that get set on calling cpuid -// with register eax set to 1 -#define _MMX_FEATURE_BIT 0x00800000 -#define _SSE_FEATURE_BIT 0x02000000 -#define _SSE2_FEATURE_BIT 0x04000000 - -// This bit is set when cpuid is called with -// register set to 80000001h (only applicable to AMD) -#define _3DNOW_FEATURE_BIT 0x80000000 - -#ifdef _MSC_VER -static int IsCPUID() -{ - __try { - _asm { - xor eax, eax - cpuid - } - } - __except (EXCEPTION_EXECUTE_HANDLER) { - return 0; - } - return 1; -} - -static int _os_support(int feature) -{ - __try { - switch (feature) { - case _CPU_FEATURE_SSE: - __asm { - xorps xmm0, xmm0 // executing SSE instruction - } - break; - case _CPU_FEATURE_SSE2: - __asm { - xorpd xmm0, xmm0 // executing SSE2 instruction - } - break; - case _CPU_FEATURE_3DNOW: - __asm { - pfrcp mm0, mm0 // executing 3DNow! instruction - emms - } - break; - case _CPU_FEATURE_MMX: - __asm { - pxor mm0, mm0 // executing MMX instruction - emms - } - break; - } - } - __except (EXCEPTION_EXECUTE_HANDLER) { - if (_exception_code() == STATUS_ILLEGAL_INSTRUCTION) { - return 0; - } - return 0; - } - return 1; -} - -static int _cpuid (_p_info *pinfo) -{ - DWORD dwStandard = 0; - DWORD dwFeature = 0; - DWORD dwMax = 0; - DWORD dwExt = 0; - int feature = 0; - int os_support = 0; - union { - struct { - DWORD dw0; - DWORD dw1; - DWORD dw2; - } s; - } Ident; - - if (!IsCPUID()) { - return 0; - } - - _asm { - push ebx - push ecx - push edx - - // get the vendor string - xor eax, eax - cpuid - mov dwMax, eax - mov Ident.s.dw0, ebx - mov Ident.s.dw1, edx - mov Ident.s.dw2, ecx - - // get the Standard bits - mov eax, 1 - cpuid - mov dwStandard, eax - mov dwFeature, edx - - // get AMD-specials - mov eax, 80000000h - cpuid - cmp eax, 80000000h - jc notamd - mov eax, 80000001h - cpuid - mov dwExt, edx - -notamd: - pop ecx - pop ebx - pop edx - } - - if (dwFeature & _MMX_FEATURE_BIT) { - feature |= _CPU_FEATURE_MMX; - if (_os_support(_CPU_FEATURE_MMX)) - os_support |= _CPU_FEATURE_MMX; - } - if (dwExt & _3DNOW_FEATURE_BIT) { - feature |= _CPU_FEATURE_3DNOW; - if (_os_support(_CPU_FEATURE_3DNOW)) - os_support |= _CPU_FEATURE_3DNOW; - } - if (dwFeature & _SSE_FEATURE_BIT) { - feature |= _CPU_FEATURE_SSE; - if (_os_support(_CPU_FEATURE_SSE)) - os_support |= _CPU_FEATURE_SSE; - } - if (dwFeature & _SSE2_FEATURE_BIT) { - feature |= _CPU_FEATURE_SSE2; - if (_os_support(_CPU_FEATURE_SSE2)) - os_support |= _CPU_FEATURE_SSE2; - } - - if (pinfo) { - memset(pinfo, 0, sizeof(_p_info)); - - pinfo->os_support = os_support; - pinfo->feature = feature; - pinfo->family = (dwStandard >> 8) & 0xF; // retrieve family - if (pinfo->family == 15) { // retrieve extended family - pinfo->family |= (dwStandard >> 16) & 0xFF0; - } - pinfo->model = (dwStandard >> 4) & 0xF; // retrieve model - if (pinfo->model == 15) { // retrieve extended model - pinfo->model |= (dwStandard >> 12) & 0xF; - } - pinfo->stepping = (dwStandard) & 0xF; // retrieve stepping - - pinfo->checks = _CPU_FEATURE_MMX | - _CPU_FEATURE_SSE | - _CPU_FEATURE_SSE2 | - _CPU_FEATURE_3DNOW; - } - - return feature; -} - -inline bool IsVectorAligned(const void *where) -{ - return (reinterpret_cast<size_t>(where)&(__alignof(__m128)-1)) == 0; -} - -inline bool VectorsAligned(const void *v1,const void *v2) -{ - return ( - (reinterpret_cast<size_t>(v1)|reinterpret_cast<size_t>(v2)) - &(__alignof(__m128)-1) - ) == 0; -} - -inline bool VectorsAligned(const void *v1,const void *v2,const void *v3) -{ - return ( - (reinterpret_cast<size_t>(v1)|reinterpret_cast<size_t>(v2)|reinterpret_cast<size_t>(v3)) - &(__alignof(__m128)-1) - ) == 0; -} - -inline bool VectorsAligned(const void *v1,const void *v2,const void *v3,const void *v4) -{ - return ( - (reinterpret_cast<size_t>(v1)|reinterpret_cast<size_t>(v2)|reinterpret_cast<size_t>(v3)|reinterpret_cast<size_t>(v4)) - &(__alignof(__m128)-1) - ) == 0; -} - -#else -// not MSVC -static int _cpuid (_p_info *pinfo) -{ - if(pinfo) memset(pinfo,0,sizeof *pinfo); - return 0; -} -#endif - -#endif - - -/*! \brief Determine SIMD capabilities - \internal -*/ -static unsigned long setsimdcaps() -{ - unsigned long simdflags = flext::simd_none; -#if FLEXT_CPU == FLEXT_CPU_IA32 || FLEXT_CPU == FLEXT_CPU_X86_64 - _p_info cpuinfo; - int feature = _cpuid(&cpuinfo); - if(cpuinfo.os_support&_CPU_FEATURE_MMX) simdflags += flext::simd_mmx; - if(cpuinfo.os_support&_CPU_FEATURE_3DNOW) simdflags += flext::simd_3dnow; - if(cpuinfo.os_support&_CPU_FEATURE_SSE) simdflags += flext::simd_sse; - if(cpuinfo.os_support&_CPU_FEATURE_SSE2) simdflags += flext::simd_sse2; -#elif defined(__APPLE__) && defined(__VEC__) - #if FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH - - int selectors[2] = { CTL_HW, HW_VECTORUNIT }; - int hasVectorUnit = 0; - size_t length = sizeof(hasVectorUnit); - int error = sysctl(selectors, 2, &hasVectorUnit, &length, NULL, 0); - - if(!error && hasVectorUnit != 0) simdflags += flext::simd_altivec; - - #else - - long cpuAttributes; - Boolean hasAltiVec = false; - OSErr err = Gestalt( gestaltPowerPCProcessorFeatures, &cpuAttributes ); - - if( noErr == err ) - if(( 1 << gestaltPowerPCHasVectorInstructions) & cpuAttributes) simdflags += flext::simd_altivec; - - #endif -#endif - return simdflags; -} - - -#if (FLEXT_CPU == FLEXT_CPU_PPC || FLEXT_CPU == FLEXT_CPU_PPC64) && defined(__VEC__) - -/* functions for misaligned vector data - taken from the Altivec tutorial of Ian Ollmann, Ph.D. */ - -//! Load a vector from an unaligned location in memory -inline vector unsigned char LoadUnaligned( vector unsigned char *v ) -{ - vector unsigned char permuteVector = vec_lvsl( 0, (int*) v ); - vector unsigned char low = vec_ld( 0, v ); - vector unsigned char high = vec_ld( 15, v ); - return vec_perm( low, high, permuteVector ); -} - -/* -//! Store a vector to an unaligned location in memory -inline void StoreUnaligned( vector unsigned char v, vector unsigned char *where) -{ - // Load the surrounding area - vector unsigned char low = vec_ld( 0, where ); - vector unsigned char high = vec_ld( 16, where ); - // Prepare the constants that we need - vector unsigned char permuteVector = vec_lvsr( 0, (int*) where ); - - vector unsigned char oxFF = (vector unsigned char)vec_splat_s8( -1 ); - vector unsigned char ox00 = (vector unsigned char)vec_splat_s8( 0 ); - // Make a mask for which parts of the vectors to swap out - vector unsigned char mask = vec_perm( ox00, oxFF, permuteVector ); - // Right rotate our input data - v = vec_perm( v, v, permuteVector ); - // Insert our data into the low and high vectors - low = vec_sel( v, low, mask ); - high = vec_sel( high, v, mask ); - // Store the two aligned result vectors - vec_st( low, 0, where ); - vec_st( high, 16, where ); -} -*/ - -inline vector float LoadUnaligned(const float *v ) -{ - return (vector float)LoadUnaligned((vector unsigned char *)v); -} - -/* -inline void StoreUnaligned( vector float v,float *where) -{ - return StoreUnaligned((vector unsigned char)v,(vector unsigned char *)where); -} -*/ - -inline bool IsVectorAligned(const void *where) -{ - return (reinterpret_cast<size_t>(where)&(sizeof(vector float)-1)) == 0; -} - -inline bool VectorsAligned(const void *v1,const void *v2) -{ - return ( - (reinterpret_cast<size_t>(v1)|reinterpret_cast<size_t>(v2)) - &(sizeof(vector float)-1) - ) == 0; -} - -inline bool VectorsAligned(const void *v1,const void *v2,const void *v3) -{ - return ( - (reinterpret_cast<size_t>(v1)|reinterpret_cast<size_t>(v2)|reinterpret_cast<size_t>(v3)) - &(sizeof(vector float)-1) - ) == 0; -} - -inline bool VectorsAligned(const void *v1,const void *v2,const void *v3,const void *v4) -{ - return ( - (reinterpret_cast<size_t>(v1)|reinterpret_cast<size_t>(v2)|reinterpret_cast<size_t>(v3)|reinterpret_cast<size_t>(v4)) - &(sizeof(vector float)-1) - ) == 0; -} - -inline vector float LoadValue(const float &f) -{ - return vec_splat(IsVectorAligned(&f)?vec_ld(0,(vector float *)&f):LoadUnaligned(&f),0); -} -#endif - - -#else // FLEXT_USE_SIMD -static unsigned long setsimdcaps() { return 0; } -#endif // FLEXT_USE_SIMD - - -void flext::CopySamples(t_sample *dst,const t_sample *src,int cnt) -{ -#ifdef FLEXT_USE_IPP - if(sizeof(t_sample) == 4) - ippsCopy_32f((const float *)src,(float *)dst,cnt); - else if(sizeof(t_sample) == 8) - ippsCopy_64f((const double *)src,(double *)dst,cnt); - else - ERRINTERNAL(); -#else -#ifdef FLEXT_USE_SIMD -#ifdef _MSC_VER - if(GetSIMDCapabilities()&simd_sse) { - // single precision - - int n = cnt>>4; - if(!n) goto zero; - cnt -= n<<4; - - __asm { - mov eax,dword ptr [src] - prefetcht0 [eax+0] - prefetcht0 [eax+32] - } - - if(IsVectorAligned(src)) { - if(IsVectorAligned(dst)) { - // aligned src, aligned dst - __asm { - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ecx,[n] -loopaa: - prefetcht0 [eax+64] - prefetcht0 [eax+96] - movaps xmm0,xmmword ptr[eax] - movaps xmmword ptr[edx],xmm0 - movaps xmm1,xmmword ptr[eax+4*4] - movaps xmmword ptr[edx+4*4],xmm1 - movaps xmm2,xmmword ptr[eax+8*4] - movaps xmmword ptr[edx+8*4],xmm2 - movaps xmm3,xmmword ptr[eax+12*4] - movaps xmmword ptr[edx+12*4],xmm3 - - add eax,16*4 - add edx,16*4 - loop loopaa - } - } - else { - // aligned src, unaligned dst - __asm { - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ecx,[n] -loopau: - prefetcht0 [eax+64] - prefetcht0 [eax+96] - movaps xmm0,xmmword ptr[eax] - movups xmmword ptr[edx],xmm0 - movaps xmm1,xmmword ptr[eax+4*4] - movups xmmword ptr[edx+4*4],xmm1 - movaps xmm2,xmmword ptr[eax+8*4] - movups xmmword ptr[edx+8*4],xmm2 - movaps xmm3,xmmword ptr[eax+12*4] - movups xmmword ptr[edx+12*4],xmm3 - - add eax,16*4 - add edx,16*4 - loop loopau - } - } - } - else { - if(IsVectorAligned(dst)) { - // unaligned src, aligned dst - __asm { - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ecx,[n] -loopua: - prefetcht0 [eax+64] - prefetcht0 [eax+96] - movups xmm0,xmmword ptr[eax] - movaps xmmword ptr[edx],xmm0 - movups xmm1,xmmword ptr[eax+4*4] - movaps xmmword ptr[edx+4*4],xmm1 - movups xmm2,xmmword ptr[eax+8*4] - movaps xmmword ptr[edx+8*4],xmm2 - movups xmm3,xmmword ptr[eax+12*4] - movaps xmmword ptr[edx+12*4],xmm3 - - add eax,16*4 - add edx,16*4 - loop loopua - } - } - else { - // unaligned src, unaligned dst - __asm { - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ecx,[n] -loopuu: - prefetcht0 [eax+64] - prefetcht0 [eax+96] - movups xmm0,xmmword ptr[eax] - movups xmmword ptr[edx],xmm0 - movups xmm1,xmmword ptr[eax+4*4] - movups xmmword ptr[edx+4*4],xmm1 - movups xmm2,xmmword ptr[eax+8*4] - movups xmmword ptr[edx+8*4],xmm2 - movups xmm3,xmmword ptr[eax+12*4] - movups xmmword ptr[edx+12*4],xmm3 - - add eax,16*4 - add edx,16*4 - loop loopuu - } - } - } - - src += n<<4,dst += n<<4; -zero: - while(cnt--) *(dst++) = *(src++); - } - else -#elif (FLEXT_CPU == FLEXT_CPU_PPC || FLEXT_CPU == FLEXT_CPU_PPC64) && defined(__VECTOROPS__) - if(true) { - int n = cnt>>2,n4 = n<<2; - vScopy(n4,(vector float *)src,(vector float *)dst); - cnt -= n4,src += n4,dst += n4; - while(cnt--) *(dst++) = *(src++); - } - else -#endif // _MSC_VER -#endif // FLEXT_USE_SIMD - { - int n = cnt>>3; - cnt -= n<<3; - while(n--) { - dst[0] = src[0]; dst[1] = src[1]; dst[2] = src[2]; dst[3] = src[3]; - dst[4] = src[4]; dst[5] = src[5]; dst[6] = src[6]; dst[7] = src[7]; - src += 8,dst += 8; - } - while(cnt--) *(dst++) = *(src++); - } -#endif -} - -#if defined(FLEXT_USE_SIMD) && (FLEXT_CPU == FLEXT_CPU_PPC || FLEXT_CPU == FLEXT_CPU_PPC64) && defined(__VEC__) -// because of some frame code Altivec stuff should be in seperate functions.... - -static const vector float zero = (vector float)(0); - -static void SetAltivec(t_sample *dst,int cnt,t_sample s) -{ - vector float svec = LoadValue(s); - int n = cnt>>4; - cnt -= n<<4; - - while(n--) { - vec_st(svec,0,dst); - vec_st(svec,16,dst); - vec_st(svec,32,dst); - vec_st(svec,48,dst); - dst += 16; - } - - while(cnt--) *(dst++) = s; -} - -static void MulAltivec(t_sample *dst,const t_sample *src,t_sample op,int cnt) -{ - const vector float arg = LoadValue(op); - int n = cnt>>4; - cnt -= n<<4; - - for(; n--; src += 16,dst += 16) { - vector float a1 = vec_ld( 0,src); - vector float a2 = vec_ld(16,src); - vector float a3 = vec_ld(32,src); - vector float a4 = vec_ld(48,src); - - a1 = vec_madd(a1,arg,zero); - a2 = vec_madd(a2,arg,zero); - a3 = vec_madd(a3,arg,zero); - a4 = vec_madd(a4,arg,zero); - - vec_st(a1, 0,dst); - vec_st(a2,16,dst); - vec_st(a3,32,dst); - vec_st(a4,48,dst); - } - - while(cnt--) *(dst++) = *(src++)*op; -} - -static void MulAltivec(t_sample *dst,const t_sample *src,const t_sample *op,int cnt) -{ - int n = cnt>>4; - cnt -= n<<4; - - for(; n--; src += 16,op += 16,dst += 16) { - vector float a1 = vec_ld( 0,src),b1 = vec_ld( 0,op); - vector float a2 = vec_ld(16,src),b2 = vec_ld(16,op); - vector float a3 = vec_ld(32,src),b3 = vec_ld(32,op); - vector float a4 = vec_ld(48,src),b4 = vec_ld(48,op); - - a1 = vec_madd(a1,b1,zero); - a2 = vec_madd(a2,b2,zero); - a3 = vec_madd(a3,b3,zero); - a4 = vec_madd(a4,b4,zero); - - vec_st(a1, 0,dst); - vec_st(a2,16,dst); - vec_st(a3,32,dst); - vec_st(a4,48,dst); - } - while(cnt--) *(dst++) = *(src++) * *(op++); -} - -static void AddAltivec(t_sample *dst,const t_sample *src,t_sample op,int cnt) -{ - const vector float arg = LoadValue(op); - int n = cnt>>4; - cnt -= n<<4; - - for(; n--; src += 16,dst += 16) { - vector float a1 = vec_ld( 0,src); - vector float a2 = vec_ld(16,src); - vector float a3 = vec_ld(32,src); - vector float a4 = vec_ld(48,src); - - a1 = vec_add(a1,arg); - a2 = vec_add(a2,arg); - a3 = vec_add(a3,arg); - a4 = vec_add(a4,arg); - - vec_st(a1, 0,dst); - vec_st(a2,16,dst); - vec_st(a3,32,dst); - vec_st(a4,48,dst); - } - - while(cnt--) *(dst++) = *(src++)+op; -} - -static void AddAltivec(t_sample *dst,const t_sample *src,const t_sample *op,int cnt) -{ - int n = cnt>>4; - cnt -= n<<4; - - for(; n--; src += 16,op += 16,dst += 16) { - vector float a1 = vec_ld( 0,src),b1 = vec_ld( 0,op); - vector float a2 = vec_ld(16,src),b2 = vec_ld(16,op); - vector float a3 = vec_ld(32,src),b3 = vec_ld(32,op); - vector float a4 = vec_ld(48,src),b4 = vec_ld(48,op); - - a1 = vec_add(a1,b1); - a2 = vec_add(a2,b2); - a3 = vec_add(a3,b3); - a4 = vec_add(a4,b4); - - vec_st(a1, 0,dst); - vec_st(a2,16,dst); - vec_st(a3,32,dst); - vec_st(a4,48,dst); - } - while(cnt--) *(dst++) = *(src++) + *(op++); -} - -static void ScaleAltivec(t_sample *dst,const t_sample *src,t_sample opmul,t_sample opadd,int cnt) -{ - const vector float argmul = LoadValue(opmul); - const vector float argadd = LoadValue(opadd); - int n = cnt>>4; - cnt -= n<<4; - - for(; n--; src += 16,dst += 16) { - vec_st(vec_madd(vec_ld( 0,src),argmul,argadd), 0,dst); - vec_st(vec_madd(vec_ld(16,src),argmul,argadd),16,dst); - vec_st(vec_madd(vec_ld(32,src),argmul,argadd),32,dst); - vec_st(vec_madd(vec_ld(48,src),argmul,argadd),48,dst); - } - - while(cnt--) *(dst++) = *(src++)*opmul+opadd; -} - -static void ScaleAltivec(t_sample *dst,const t_sample *src,t_sample opmul,const t_sample *add,int cnt) -{ - const vector float argmul = LoadValue(opmul); - int n = cnt>>4; - cnt -= n<<4; - - for(; n--; src += 16,dst += 16,add += 16) { - vec_st(vec_madd(vec_ld( 0,src),argmul,vec_ld( 0,add)), 0,dst); - vec_st(vec_madd(vec_ld(16,src),argmul,vec_ld(16,add)),16,dst); - vec_st(vec_madd(vec_ld(32,src),argmul,vec_ld(32,add)),32,dst); - vec_st(vec_madd(vec_ld(48,src),argmul,vec_ld(48,add)),48,dst); - } - - while(cnt--) *(dst++) = *(src++) * opmul + *(add++); -} - -static void ScaleAltivec(t_sample *dst,const t_sample *src,const t_sample *mul,const t_sample *add,int cnt) -{ - int n = cnt>>4; - cnt -= n<<4; - - for(; n--; src += 16,dst += 16,mul += 16,add += 16) { - vec_st(vec_madd(vec_ld( 0,src),vec_ld( 0,mul),vec_ld( 0,add)), 0,dst); - vec_st(vec_madd(vec_ld(16,src),vec_ld(16,mul),vec_ld(16,add)),16,dst); - vec_st(vec_madd(vec_ld(32,src),vec_ld(32,mul),vec_ld(32,add)),32,dst); - vec_st(vec_madd(vec_ld(48,src),vec_ld(48,mul),vec_ld(48,add)),48,dst); - } - - while(cnt--) *(dst++) = *(src++) * *(mul++) + *(add++); -} -#endif - -void flext::SetSamples(t_sample *dst,int cnt,t_sample s) -{ -#ifdef FLEXT_USE_IPP - if(sizeof(t_sample) == 4) - ippsSet_32f((float)s,(float *)dst,cnt); - else if(sizeof(t_sample) == 8) - ippsSet_64f((double)s,(double *)dst,cnt); - else - ERRINTERNAL(); -#else -#ifdef FLEXT_USE_SIMD -#ifdef _MSC_VER - if(GetSIMDCapabilities()&simd_sse) { - // single precision - - int n = cnt>>4; - if(!n) goto zero; - cnt -= n<<4; - - __asm { - movss xmm0,xmmword ptr [s] - shufps xmm0,xmm0,0 - } - - if(IsVectorAligned(dst)) { - // aligned version - __asm { - mov ecx,[n] - mov edx,dword ptr [dst] -loopa: - movaps xmmword ptr[edx],xmm0 - movaps xmmword ptr[edx+4*4],xmm0 - movaps xmmword ptr[edx+8*4],xmm0 - movaps xmmword ptr[edx+12*4],xmm0 - - add edx,16*4 - loop loopa - } - } - else { - // unaligned version - __asm { - mov ecx,[n] - mov edx,dword ptr [dst] -loopu: - movups xmmword ptr[edx],xmm0 - movups xmmword ptr[edx+4*4],xmm0 - movups xmmword ptr[edx+8*4],xmm0 - movups xmmword ptr[edx+12*4],xmm0 - - add edx,16*4 - loop loopu - } - } - - dst += n<<4; -zero: - while(cnt--) *(dst++) = s; - } - else -#elif (FLEXT_CPU == FLEXT_CPU_PPC || FLEXT_CPU == FLEXT_CPU_PPC64) && defined(__VEC__) - if(GetSIMDCapabilities()&simd_altivec && IsVectorAligned(dst)) - SetAltivec(dst,cnt,s); - else -#endif -#endif // FLEXT_USE_SIMD - { - int n = cnt>>3; - cnt -= n<<3; - while(n--) { - dst[0] = dst[1] = dst[2] = dst[3] = dst[4] = dst[5] = dst[6] = dst[7] = s; - dst += 8; - } - - while(cnt--) *(dst++) = s; - } -#endif -} - - -void flext::MulSamples(t_sample *dst,const t_sample *src,t_sample op,int cnt) -{ -#ifdef FLEXT_USE_IPP - if(sizeof(t_sample) == 4) { - ippsMulC_32f((const float *)src,(float)op,(float *)dst,cnt); - } - else if(sizeof(t_sample) == 8) { - ippsMulC_64f((const double *)src,(double)op,(double *)dst,cnt); - } - else - ERRINTERNAL(); -#else -#ifdef FLEXT_USE_SIMD -#ifdef _MSC_VER - if(GetSIMDCapabilities()&simd_sse) { - // single precision - __m128 a = _mm_load1_ps(&op); - - int n = cnt>>4; - if(!n) goto zero; - cnt -= n<<4; - - __asm { - mov eax,dword ptr [src] - prefetcht0 [eax+0] - prefetcht0 [eax+32] - - movss xmm0,xmmword ptr [op] - shufps xmm0,xmm0,0 - } - - if(VectorsAligned(src,dst)) { - // aligned version - __asm { - mov ecx,[n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] -loopa: - prefetcht0 [eax+64] - prefetcht0 [eax+96] - - movaps xmm1,xmmword ptr[eax] - mulps xmm1,xmm0 - movaps xmmword ptr[edx],xmm1 - - movaps xmm2,xmmword ptr[eax+4*4] - mulps xmm2,xmm0 - movaps xmmword ptr[edx+4*4],xmm2 - - movaps xmm3,xmmword ptr[eax+8*4] - mulps xmm3,xmm0 - movaps xmmword ptr[edx+8*4],xmm3 - - movaps xmm4,xmmword ptr[eax+12*4] - mulps xmm4,xmm0 - movaps xmmword ptr[edx+12*4],xmm4 - - add eax,16*4 - add edx,16*4 - loop loopa - } - } - else { - // unaligned version - __asm { - mov ecx,[n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] -loopu: - prefetcht0 [eax+64] - prefetcht0 [eax+96] - - movups xmm1,xmmword ptr[eax] - mulps xmm1,xmm0 - movups xmmword ptr[edx],xmm1 - - movups xmm2,xmmword ptr[eax+4*4] - mulps xmm2,xmm0 - movups xmmword ptr[edx+4*4],xmm2 - - movups xmm3,xmmword ptr[eax+8*4] - mulps xmm3,xmm0 - movups xmmword ptr[edx+8*4],xmm3 - - movups xmm4,xmmword ptr[eax+12*4] - mulps xmm4,xmm0 - movups xmmword ptr[edx+12*4],xmm4 - - add eax,16*4 - add edx,16*4 - loop loopu - } - } - - src += n<<4,dst += n<<4; -zero: - while(cnt--) *(dst++) = *(src++)*op; - } - else -#elif defined(__APPLE__) && defined(__VDSP__) - if(true) { - vDSP_vsmul(src,1,&op,dst,1,cnt); - } - else -#elif (FLEXT_CPU == FLEXT_CPU_PPC || FLEXT_CPU == FLEXT_CPU_PPC64) && defined(__VEC__) - if(GetSIMDCapabilities()&simd_altivec && VectorsAligned(src,dst)) - MulAltivec(dst,src,op,cnt); - else -#endif // _MSC_VER -#endif // FLEXT_USE_SIMD - { - int n = cnt>>3; - cnt -= n<<3; - - if(src == dst) { - while(n--) { - dst[0] *= op; dst[1] *= op; dst[2] *= op; dst[3] *= op; - dst[4] *= op; dst[5] *= op; dst[6] *= op; dst[7] *= op; - dst += 8; - } - while(cnt--) *(dst++) *= op; - } - else { - while(n--) { - dst[0] = src[0]*op; dst[1] = src[1]*op; - dst[2] = src[2]*op; dst[3] = src[3]*op; - dst[4] = src[4]*op; dst[5] = src[5]*op; - dst[6] = src[6]*op; dst[7] = src[7]*op; - src += 8,dst += 8; - } - while(cnt--) *(dst++) = *(src++)*op; - } - } -#endif -} - - -void flext::MulSamples(t_sample *dst,const t_sample *src,const t_sample *op,int cnt) -{ -#ifdef FLEXT_USE_IPP - if(sizeof(t_sample) == 4) { - ippsMul_32f((const float *)src,(const float *)op,(float *)dst,cnt); - } - else if(sizeof(t_sample) == 8) { - ippsMul_32f((const double *)src,(const double *)op,(double *)dst,cnt); - } - else - ERRINTERNAL(); -#else -#ifdef FLEXT_USE_SIMD -#ifdef _MSC_VER - if(GetSIMDCapabilities()&simd_sse) { - // single precision - int n = cnt>>4; - if(!n) goto zero; - cnt -= n<<4; - - __asm { - mov eax,[src] - mov ebx,[op] - prefetcht0 [eax+0] - prefetcht0 [ebx+0] - prefetcht0 [eax+32] - prefetcht0 [ebx+32] - } - - if(VectorsAligned(src,dst)) { - if(IsVectorAligned(op)) { - __asm { - mov ecx,[n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ebx,dword ptr [op] - loopaa: - prefetcht0 [eax+64] - prefetcht0 [ebx+64] - prefetcht0 [eax+96] - prefetcht0 [ebx+96] - - movaps xmm0,xmmword ptr[eax] - movaps xmm1,xmmword ptr[ebx] - mulps xmm0,xmm1 - movaps xmmword ptr[edx],xmm0 - - movaps xmm2,xmmword ptr[eax+4*4] - movaps xmm3,xmmword ptr[ebx+4*4] - mulps xmm2,xmm3 - movaps xmmword ptr[edx+4*4],xmm2 - - movaps xmm4,xmmword ptr[eax+8*4] - movaps xmm5,xmmword ptr[ebx+8*4] - mulps xmm4,xmm5 - movaps xmmword ptr[edx+8*4],xmm4 - - movaps xmm6,xmmword ptr[eax+12*4] - movaps xmm7,xmmword ptr[ebx+12*4] - mulps xmm6,xmm7 - movaps xmmword ptr[edx+12*4],xmm6 - - add eax,16*4 - add ebx,16*4 - add edx,16*4 - loop loopaa - } - } - else { - __asm { - mov ecx,[n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ebx,dword ptr [op] - loopau: - prefetcht0 [eax+64] - prefetcht0 [ebx+64] - prefetcht0 [eax+96] - prefetcht0 [ebx+96] - - movaps xmm0,xmmword ptr[eax] - movups xmm1,xmmword ptr[ebx] - mulps xmm0,xmm1 - movaps xmmword ptr[edx],xmm0 - - movaps xmm2,xmmword ptr[eax+4*4] - movups xmm3,xmmword ptr[ebx+4*4] - mulps xmm2,xmm3 - movaps xmmword ptr[edx+4*4],xmm2 - - movaps xmm4,xmmword ptr[eax+8*4] - movups xmm5,xmmword ptr[ebx+8*4] - mulps xmm4,xmm5 - movaps xmmword ptr[edx+8*4],xmm4 - - movaps xmm6,xmmword ptr[eax+12*4] - movups xmm7,xmmword ptr[ebx+12*4] - mulps xmm6,xmm7 - movaps xmmword ptr[edx+12*4],xmm6 - - add eax,16*4 - add ebx,16*4 - add edx,16*4 - loop loopau - } - } - } - else { - if(IsVectorAligned(op)) { - __asm { - mov ecx,[n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ebx,dword ptr [op] - loopua: - prefetcht0 [eax+64] - prefetcht0 [ebx+64] - prefetcht0 [eax+96] - prefetcht0 [ebx+96] - - movups xmm0,xmmword ptr[eax] - movaps xmm1,xmmword ptr[ebx] - mulps xmm0,xmm1 - movups xmmword ptr[edx],xmm0 - - movups xmm2,xmmword ptr[eax+4*4] - movaps xmm3,xmmword ptr[ebx+4*4] - mulps xmm2,xmm3 - movups xmmword ptr[edx+4*4],xmm2 - - movups xmm4,xmmword ptr[eax+8*4] - movaps xmm5,xmmword ptr[ebx+8*4] - mulps xmm4,xmm5 - movups xmmword ptr[edx+8*4],xmm4 - - movups xmm6,xmmword ptr[eax+12*4] - movaps xmm7,xmmword ptr[ebx+12*4] - mulps xmm6,xmm7 - movups xmmword ptr[edx+12*4],xmm6 - - add eax,16*4 - add ebx,16*4 - add edx,16*4 - loop loopua - } - } - else { - __asm { - mov ecx,[n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ebx,dword ptr [op] -loopuu: - prefetcht0 [eax+64] - prefetcht0 [ebx+64] - prefetcht0 [eax+96] - prefetcht0 [ebx+96] - - movups xmm0,xmmword ptr[eax] - movups xmm1,xmmword ptr[ebx] - mulps xmm0,xmm1 - movups xmmword ptr[edx],xmm0 - - movups xmm2,xmmword ptr[eax+4*4] - movups xmm3,xmmword ptr[ebx+4*4] - mulps xmm2,xmm3 - movups xmmword ptr[edx+4*4],xmm2 - - movups xmm4,xmmword ptr[eax+8*4] - movups xmm5,xmmword ptr[ebx+8*4] - mulps xmm4,xmm5 - movups xmmword ptr[edx+8*4],xmm4 - - movups xmm6,xmmword ptr[eax+12*4] - movups xmm7,xmmword ptr[ebx+12*4] - mulps xmm6,xmm7 - movups xmmword ptr[edx+12*4],xmm6 - - add eax,16*4 - add ebx,16*4 - add edx,16*4 - loop loopuu - } - } - } - - src += n<<4,dst += n<<4,op += n<<4; -zero: - while(cnt--) *(dst++) = *(src++) * *(op++); - } - else -#elif defined(__APPLE__) && defined(__VDSP__) - if(true) { - vDSP_vmul(src,1,op,1,dst,1,cnt); - } - else -#elif (FLEXT_CPU == FLEXT_CPU_PPC || FLEXT_CPU == FLEXT_CPU_PPC64) && defined(__VEC__) - if(GetSIMDCapabilities()&simd_altivec && VectorsAligned(src,op,dst)) - MulAltivec(dst,src,op,cnt); - else -#endif // _MSC_VER -#endif // FLEXT_USE_SIMD - { - int n = cnt>>3; - cnt -= n<<3; - - if(src == dst) { - while(n--) { - dst[0] *= op[0]; dst[1] *= op[1]; - dst[2] *= op[2]; dst[3] *= op[3]; - dst[4] *= op[4]; dst[5] *= op[5]; - dst[6] *= op[6]; dst[7] *= op[7]; - dst += 8,op += 8; - } - while(cnt--) *(dst++) *= *(op++); - } - else { - while(n--) { - dst[0] = src[0]*op[0]; dst[1] = src[1]*op[1]; - dst[2] = src[2]*op[2]; dst[3] = src[3]*op[3]; - dst[4] = src[4]*op[4]; dst[5] = src[5]*op[5]; - dst[6] = src[6]*op[6]; dst[7] = src[7]*op[7]; - src += 8,dst += 8,op += 8; - } - while(cnt--) *(dst++) = *(src++) * *(op++); - } - } -#endif -} - - -void flext::AddSamples(t_sample *dst,const t_sample *src,t_sample op,int cnt) -{ -#ifdef FLEXT_USE_IPP - if(sizeof(t_sample) == 4) { - ippsAddC_32f((const float *)src,(float)op,(float *)dst,cnt); - } - else if(sizeof(t_sample) == 8) { - ippsAddC_64f_I((const double *)src,(double)op,(double *)dst,cnt); - } - else - ERRINTERNAL(); -#else -#ifdef FLEXT_USE_SIMD -#ifdef _MSC_VER - if(GetSIMDCapabilities()&simd_sse) { - // single precision - int n = cnt>>4; - if(!n) goto zero; - cnt -= n<<4; - - __asm { - mov eax,[src] - prefetcht0 [eax+0] - prefetcht0 [eax+32] - - movss xmm0,xmmword ptr [op] - shufps xmm0,xmm0,0 - } - - if(VectorsAligned(src,dst)) { - // aligned version - __asm { - mov ecx,[n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] -loopa: - prefetcht0 [eax+64] - prefetcht0 [eax+96] - - movaps xmm1,xmmword ptr[eax] - addps xmm1,xmm0 - movaps xmmword ptr[edx],xmm1 - - movaps xmm2,xmmword ptr[eax+4*4] - addps xmm2,xmm0 - movaps xmmword ptr[edx+4*4],xmm2 - - movaps xmm3,xmmword ptr[eax+8*4] - addps xmm3,xmm0 - movaps xmmword ptr[edx+8*4],xmm3 - - movaps xmm4,xmmword ptr[eax+12*4] - addps xmm4,xmm0 - movaps xmmword ptr[edx+12*4],xmm4 - - add eax,16*4 - add edx,16*4 - loop loopa - } - } - else { - // unaligned version - __asm { - mov ecx,[n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] -loopu: - prefetcht0 [eax+64] - prefetcht0 [eax+96] - - movups xmm1,xmmword ptr[eax] - addps xmm1,xmm0 - movups xmmword ptr[edx],xmm1 - - movups xmm2,xmmword ptr[eax+4*4] - addps xmm2,xmm0 - movups xmmword ptr[edx+4*4],xmm2 - - movups xmm3,xmmword ptr[eax+8*4] - addps xmm3,xmm0 - movups xmmword ptr[edx+8*4],xmm3 - - movups xmm4,xmmword ptr[eax+12*4] - addps xmm4,xmm0 - movups xmmword ptr[edx+12*4],xmm4 - - add eax,16*4 - add edx,16*4 - loop loopu - } - } - src += n<<4,dst += n<<4,op += n<<4; -zero: - while(cnt--) *(dst++) = *(src++)+op; - } - else -#elif (FLEXT_CPU == FLEXT_CPU_PPC || FLEXT_CPU == FLEXT_CPU_PPC64) && defined(__VEC__) - if(GetSIMDCapabilities()&simd_altivec && VectorsAligned(src,dst)) - AddAltivec(dst,src,op,cnt); - else -#endif // _MSC_VER -#endif // FLEXT_USE_SIMD - { - int n = cnt>>3; - cnt -= n<<3; - - if(src == dst) { - while(n--) { - dst[0] += op; dst[1] += op; dst[2] += op; dst[3] += op; - dst[4] += op; dst[5] += op; dst[6] += op; dst[7] += op; - dst += 8; - } - while(cnt--) *(dst++) += op; - } - else { - while(n--) { - dst[0] = src[0]+op; dst[1] = src[1]+op; - dst[2] = src[2]+op; dst[3] = src[3]+op; - dst[4] = src[4]+op; dst[5] = src[5]+op; - dst[6] = src[6]+op; dst[7] = src[7]+op; - src += 8,dst += 8; - } - while(cnt--) *(dst++) = *(src++)+op; - } - } -#endif -} - - -void flext::AddSamples(t_sample *dst,const t_sample *src,const t_sample *op,int cnt) -{ -#ifdef FLEXT_USE_IPP - if(sizeof(t_sample) == 4) { - ippsAdd_32f((const float *)src,(const float *)op,(float *)dst,cnt); - } - else if(sizeof(t_sample) == 8) { - ippsAdd_64f((const double *)src,(const double *)op,(double *)dst,cnt); - } - else - ERRINTERNAL(); -#else -#ifdef FLEXT_USE_SIMD -#ifdef _MSC_VER - if(GetSIMDCapabilities()&simd_sse) { - // Prefetch cache - __asm { - mov eax,dword ptr [src] - mov ebx,dword ptr [op] - prefetcht0 [eax] - prefetcht0 [ebx] - prefetcht0 [eax+32] - prefetcht0 [ebx+32] - } - - // single precision - int n = cnt>>4; - if(!n) goto zero; - cnt -= n<<4; - - if(VectorsAligned(src,dst)) { - if(IsVectorAligned(op)) { - __asm { - mov ecx,dword ptr [n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ebx,dword ptr [op] - loopaa: - prefetcht0 [eax+64] - prefetcht0 [ebx+64] - prefetcht0 [eax+96] - prefetcht0 [ebx+96] - - movaps xmm0,xmmword ptr[eax] - movaps xmm1,xmmword ptr[ebx] - addps xmm0,xmm1 - movaps xmmword ptr[edx],xmm0 - - movaps xmm2,xmmword ptr[eax+4*4] - movaps xmm3,xmmword ptr[ebx+4*4] - addps xmm2,xmm3 - movaps xmmword ptr[edx+4*4],xmm2 - - movaps xmm4,xmmword ptr[eax+8*4] - movaps xmm5,xmmword ptr[ebx+8*4] - addps xmm4,xmm5 - movaps xmmword ptr[edx+8*4],xmm4 - - movaps xmm6,xmmword ptr[eax+12*4] - movaps xmm7,xmmword ptr[ebx+12*4] - addps xmm6,xmm7 - movaps xmmword ptr[edx+12*4],xmm6 - - add eax,16*4 - add ebx,16*4 - add edx,16*4 - loop loopaa - } - } - else { - __asm { - mov ecx,dword ptr [n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ebx,dword ptr [op] - loopau: - prefetcht0 [eax+64] - prefetcht0 [ebx+64] - prefetcht0 [eax+96] - prefetcht0 [ebx+96] - - movaps xmm0,xmmword ptr[eax] - movups xmm1,xmmword ptr[ebx] - addps xmm0,xmm1 - movaps xmmword ptr[edx],xmm0 - - movaps xmm2,xmmword ptr[eax+4*4] - movups xmm3,xmmword ptr[ebx+4*4] - addps xmm2,xmm3 - movaps xmmword ptr[edx+4*4],xmm2 - - movaps xmm4,xmmword ptr[eax+8*4] - movups xmm5,xmmword ptr[ebx+8*4] - addps xmm4,xmm5 - movaps xmmword ptr[edx+8*4],xmm4 - - movaps xmm6,xmmword ptr[eax+12*4] - movups xmm7,xmmword ptr[ebx+12*4] - addps xmm6,xmm7 - movaps xmmword ptr[edx+12*4],xmm6 - - add eax,16*4 - add ebx,16*4 - add edx,16*4 - loop loopau - } - } - } - else { - if(IsVectorAligned(op)) { - __asm { - mov ecx,dword ptr [n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ebx,dword ptr [op] - loopua: - prefetcht0 [eax+64] - prefetcht0 [ebx+64] - prefetcht0 [eax+96] - prefetcht0 [ebx+96] - - movups xmm0,xmmword ptr[eax] - movaps xmm1,xmmword ptr[ebx] - addps xmm0,xmm1 - movups xmmword ptr[edx],xmm0 - - movups xmm2,xmmword ptr[eax+4*4] - movaps xmm3,xmmword ptr[ebx+4*4] - addps xmm2,xmm3 - movups xmmword ptr[edx+4*4],xmm2 - - movups xmm4,xmmword ptr[eax+8*4] - movaps xmm5,xmmword ptr[ebx+8*4] - addps xmm4,xmm5 - movups xmmword ptr[edx+8*4],xmm4 - - movups xmm6,xmmword ptr[eax+12*4] - movaps xmm7,xmmword ptr[ebx+12*4] - addps xmm6,xmm7 - movups xmmword ptr[edx+12*4],xmm6 - - add eax,16*4 - add ebx,16*4 - add edx,16*4 - loop loopua - } - } - else { - __asm { - mov ecx,dword ptr [n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ebx,dword ptr [op] - loopuu: - prefetcht0 [eax+64] - prefetcht0 [ebx+64] - prefetcht0 [eax+96] - prefetcht0 [ebx+96] - - movups xmm0,xmmword ptr[eax] - movups xmm1,xmmword ptr[ebx] - addps xmm0,xmm1 - movups xmmword ptr[edx],xmm0 - - movups xmm2,xmmword ptr[eax+4*4] - movups xmm3,xmmword ptr[ebx+4*4] - addps xmm2,xmm3 - movups xmmword ptr[edx+4*4],xmm2 - - movups xmm4,xmmword ptr[eax+8*4] - movups xmm5,xmmword ptr[ebx+8*4] - addps xmm4,xmm5 - movups xmmword ptr[edx+8*4],xmm4 - - movups xmm6,xmmword ptr[eax+12*4] - movups xmm7,xmmword ptr[ebx+12*4] - addps xmm6,xmm7 - movups xmmword ptr[edx+12*4],xmm6 - - add eax,16*4 - add ebx,16*4 - add edx,16*4 - loop loopuu - } - } - } - - src += n<<4,dst += n<<4,op += n<<4; -zero: - while(cnt--) *(dst++) = *(src++) + *(op++); - } - else -#elif defined(__APPLE__) && defined(__VDSP__) - if(true) { - vDSP_vadd(src,1,op,1,dst,1,cnt); - } - else -#elif (FLEXT_CPU == FLEXT_CPU_PPC || FLEXT_CPU == FLEXT_CPU_PPC64) && defined(__VEC__) - if(GetSIMDCapabilities()&simd_altivec && VectorsAligned(src,op,dst)) - AddAltivec(dst,src,op,cnt); - else -#endif // _MSC_VER -#endif // FLEXT_USE_SIMD - { - int n = cnt>>3; - cnt -= n<<3; - - if(dst == src) { - while(n--) { - dst[0] += op[0]; dst[1] += op[1]; - dst[2] += op[2]; dst[3] += op[3]; - dst[4] += op[4]; dst[5] += op[5]; - dst[6] += op[6]; dst[7] += op[7]; - dst += 8,op += 8; - } - while(cnt--) *(dst++) += *(op++); - } - else { - while(n--) { - dst[0] = src[0]+op[0]; dst[1] = src[1]+op[1]; - dst[2] = src[2]+op[2]; dst[3] = src[3]+op[3]; - dst[4] = src[4]+op[4]; dst[5] = src[5]+op[5]; - dst[6] = src[6]+op[6]; dst[7] = src[7]+op[7]; - src += 8,dst += 8,op += 8; - } - while(cnt--) *(dst++) = *(src++) + *(op++); - } - } -#endif -} - - -void flext::ScaleSamples(t_sample *dst,const t_sample *src,t_sample opmul,t_sample opadd,int cnt) -{ -#ifdef FLEXT_USE_IPP - if(sizeof(t_sample) == 4) { - ippsMulC_32f((const float *)src,(float)opmul,(float *)dst,cnt); - ippsAddC_32f_I((float)opadd,(float *)dst,cnt); - } - else if(sizeof(t_sample) == 8) { - ippsMulC_64f((const double *)src,(double)opmul,(double *)dst,cnt); - ippsAddC_64f_I((double)opadd,(double *)dst,cnt); - } - else - ERRINTERNAL(); -#else -#ifdef FLEXT_USE_SIMD -#ifdef _MSC_VER - if(GetSIMDCapabilities()&simd_sse) { - // single precision - int n = cnt>>4; - if(!n) goto zero; - cnt -= n<<4; - - __asm { - mov eax,dword ptr [src] - prefetcht0 [eax+0] - prefetcht0 [eax+32] - - movss xmm0,xmmword ptr [opadd] - shufps xmm0,xmm0,0 - movss xmm1,xmmword ptr [opmul] - shufps xmm1,xmm1,0 - } - - if(VectorsAligned(src,dst)) { - // aligned version - __asm { - mov ecx,dword ptr [n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] -loopa: - prefetcht0 [eax+64] - prefetcht0 [eax+96] - - movaps xmm2,xmmword ptr[eax] - mulps xmm2,xmm1 - addps xmm2,xmm0 - movaps xmmword ptr[edx],xmm2 - - movaps xmm3,xmmword ptr[eax+4*4] - mulps xmm3,xmm1 - addps xmm3,xmm0 - movaps xmmword ptr[edx+4*4],xmm3 - - movaps xmm4,xmmword ptr[eax+8*4] - mulps xmm4,xmm1 - addps xmm4,xmm0 - movaps xmmword ptr[edx+8*4],xmm4 - - movaps xmm5,xmmword ptr[eax+12*4] - mulps xmm5,xmm1 - addps xmm5,xmm0 - movaps xmmword ptr[edx+12*4],xmm5 - - add eax,16*4 - add edx,16*4 - loop loopa - } - } - else { - // unaligned version - __asm { - mov ecx,dword ptr [n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] -loopu: - prefetcht0 [eax+64] - prefetcht0 [eax+96] - - movups xmm2,xmmword ptr[eax] - mulps xmm2,xmm1 - addps xmm2,xmm0 - movups xmmword ptr[edx],xmm2 - - movups xmm3,xmmword ptr[eax+4*4] - mulps xmm3,xmm1 - addps xmm3,xmm0 - movups xmmword ptr[edx+4*4],xmm3 - - movups xmm4,xmmword ptr[eax+8*4] - mulps xmm4,xmm1 - addps xmm4,xmm0 - movups xmmword ptr[edx+8*4],xmm4 - - movups xmm5,xmmword ptr[eax+12*4] - mulps xmm5,xmm1 - addps xmm5,xmm0 - movups xmmword ptr[edx+12*4],xmm5 - - add eax,16*4 - add edx,16*4 - loop loopu - } - } - - src += n<<4,dst += n<<4; -zero: - while(cnt--) *(dst++) = *(src++)*opmul+opadd; - } - else -#elif (FLEXT_CPU == FLEXT_CPU_PPC || FLEXT_CPU == FLEXT_CPU_PPC64) && defined(__VEC__) - if(GetSIMDCapabilities()&simd_altivec && VectorsAligned(src,dst)) - ScaleAltivec(dst,src,opmul,opadd,cnt); - else -#endif // _MSC_VER -#endif // FLEXT_USE_SIMD - { - int n = cnt>>3; - cnt -= n<<3; - while(n--) { - dst[0] = src[0]*opmul+opadd; dst[1] = src[1]*opmul+opadd; - dst[2] = src[2]*opmul+opadd; dst[3] = src[3]*opmul+opadd; - dst[4] = src[4]*opmul+opadd; dst[5] = src[5]*opmul+opadd; - dst[6] = src[6]*opmul+opadd; dst[7] = src[7]*opmul+opadd; - src += 8,dst += 8; - } - while(cnt--) *(dst++) = *(src++)*opmul+opadd; - } -#endif -} - -void flext::ScaleSamples(t_sample *dst,const t_sample *src,t_sample opmul,const t_sample *opadd,int cnt) -{ -#ifdef FLEXT_USE_IPP - if(sizeof(t_sample) == 4) { - ippsMulC_32f((const float *)src,(float)opmul,(float *)dst,cnt); - ippsAdd_32f_I((float *)opadd,(float *)dst,cnt); - } - else if(sizeof(t_sample) == 8) { - ippsMulC_64f((const double *)src,(double)opmul,(double *)dst,cnt); - ippsAdd_64f_I((double *)opadd,(double *)dst,cnt); - } - else - ERRINTERNAL(); -#else -#ifdef FLEXT_USE_SIMD -#ifdef _MSC_VER - if(GetSIMDCapabilities()&simd_sse) { - // single precision - int n = cnt>>4; - if(!n) goto zero; - cnt -= n<<4; - - __asm { - mov eax,dword ptr [src] - prefetcht0 [eax+0] - prefetcht0 [eax+32] - - movss xmm0,xmmword ptr [opmul] - shufps xmm0,xmm0,0 - } - - if(VectorsAligned(src,dst,opadd)) { - // aligned version - __asm { - mov ecx,dword ptr [n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ebx,dword ptr [opadd] -loopa: - prefetcht0 [eax+64] - prefetcht0 [ebx+64] - prefetcht0 [eax+96] - prefetcht0 [ebx+96] - - movaps xmm2,xmmword ptr[eax] - movaps xmm1,xmmword ptr[ebx] - mulps xmm2,xmm0 - addps xmm2,xmm1 - movaps xmmword ptr[edx],xmm2 - - movaps xmm3,xmmword ptr[eax+4*4] - movaps xmm1,xmmword ptr[ebx+4*4] - mulps xmm3,xmm0 - addps xmm3,xmm1 - movaps xmmword ptr[edx+4*4],xmm3 - - movaps xmm4,xmmword ptr[eax+8*4] - movaps xmm1,xmmword ptr[ebx+8*4] - mulps xmm4,xmm0 - addps xmm4,xmm1 - movaps xmmword ptr[edx+8*4],xmm4 - - movaps xmm5,xmmword ptr[eax+12*4] - movaps xmm1,xmmword ptr[ebx+12*4] - mulps xmm5,xmm0 - addps xmm5,xmm1 - movaps xmmword ptr[edx+12*4],xmm5 - - add eax,16*4 - add edx,16*4 - add ebx,16*4 - loop loopa - } - } - else { - // unaligned version - __asm { - mov ecx,dword ptr [n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov ebx,dword ptr [opadd] -loopu: - prefetcht0 [eax+64] - prefetcht0 [ebx+64] - prefetcht0 [eax+96] - prefetcht0 [ebx+96] - - movups xmm2,xmmword ptr[eax] - movups xmm1,xmmword ptr[ebx] - mulps xmm2,xmm0 - addps xmm2,xmm1 - movups xmmword ptr[edx],xmm2 - - movups xmm3,xmmword ptr[eax+4*4] - movups xmm1,xmmword ptr[ebx+4*4] - mulps xmm3,xmm0 - addps xmm3,xmm1 - movups xmmword ptr[edx+4*4],xmm3 - - movups xmm4,xmmword ptr[eax+8*4] - movups xmm1,xmmword ptr[ebx+8*4] - mulps xmm4,xmm0 - addps xmm4,xmm1 - movups xmmword ptr[edx+8*4],xmm4 - - movups xmm5,xmmword ptr[eax+12*4] - movups xmm1,xmmword ptr[ebx+12*4] - mulps xmm5,xmm0 - addps xmm5,xmm1 - movups xmmword ptr[edx+12*4],xmm5 - - add eax,16*4 - add edx,16*4 - add ebx,16*4 - loop loopu - } - } - - src += n<<4,dst += n<<4,opadd += n<<4; -zero: - while(cnt--) *(dst++) = *(src++) * opmul + *(opadd++); - } - else -#elif (FLEXT_CPU == FLEXT_CPU_PPC || FLEXT_CPU == FLEXT_CPU_PPC64) && defined(__VEC__) - if(GetSIMDCapabilities()&simd_altivec && VectorsAligned(src,dst,opadd)) - ScaleAltivec(dst,src,opmul,opadd,cnt); - else -#endif // _MSC_VER -#endif // FLEXT_USE_SIMD - { - int n = cnt>>3; - cnt -= n<<3; - if(dst == opadd) { - while(n--) { - dst[0] += src[0]*opmul; dst[1] += src[1]*opmul; - dst[2] += src[2]*opmul; dst[3] += src[3]*opmul; - dst[4] += src[4]*opmul; dst[5] += src[5]*opmul; - dst[6] += src[6]*opmul; dst[7] += src[7]*opmul; - src += 8,dst += 8; - } - while(cnt--) *(dst++) += *(src++)*opmul; - } - else { - while(n--) { - dst[0] = src[0]*opmul+opadd[0]; dst[1] = src[1]*opmul+opadd[1]; - dst[2] = src[2]*opmul+opadd[2]; dst[3] = src[3]*opmul+opadd[3]; - dst[4] = src[4]*opmul+opadd[4]; dst[5] = src[5]*opmul+opadd[5]; - dst[6] = src[6]*opmul+opadd[6]; dst[7] = src[7]*opmul+opadd[7]; - src += 8,dst += 8,opadd += 8; - } - while(cnt--) *(dst++) = *(src++)*opmul+*(opadd++); - } - } -#endif -} - -void flext::ScaleSamples(t_sample *dst,const t_sample *src,const t_sample *opmul,const t_sample *opadd,int cnt) -{ -#ifdef FLEXT_USE_IPP - if(sizeof(t_sample) == 4) { - ippsMul_32f((const float *)src,(const float *)opmul,(float *)dst,cnt); - ippsAdd_32f_I((const float *)opadd,(float *)dst,cnt); - } - else if(sizeof(t_sample) == 8) { - ippsMul_64f((const double *)src,(const double *)opmul,(double *)dst,cnt); - ippsAdd_64f_I((const double *)opadd,(double *)dst,cnt); - } - else - ERRINTERNAL(); -#else -#ifdef FLEXT_USE_SIMD -#ifdef _MSC_VER - if(GetSIMDCapabilities()&simd_sse) { - // single precision - int n = cnt>>4; - if(!n) goto zero; - cnt -= n<<4; - - __asm { - mov eax,dword ptr [src] - prefetcht0 [eax+0] - prefetcht0 [eax+32] - } - - if(VectorsAligned(src,dst,opmul,opadd)) { - // aligned version - __asm { - mov ecx,dword ptr [n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov esi,dword ptr [opmul] - mov ebx,dword ptr [opadd] -loopa: - prefetcht0 [eax+64] - prefetcht0 [ebx+64] - prefetcht0 [esi+64] - prefetcht0 [eax+96] - prefetcht0 [ebx+96] - prefetcht0 [esi+96] - - movaps xmm2,xmmword ptr[eax] - movaps xmm0,xmmword ptr[esi] - movaps xmm1,xmmword ptr[ebx] - mulps xmm2,xmm0 - addps xmm2,xmm1 - movaps xmmword ptr[edx],xmm2 - - movaps xmm3,xmmword ptr[eax+4*4] - movaps xmm0,xmmword ptr[esi+4*4] - movaps xmm1,xmmword ptr[ebx+4*4] - mulps xmm3,xmm0 - addps xmm3,xmm1 - movaps xmmword ptr[edx+4*4],xmm3 - - movaps xmm4,xmmword ptr[eax+8*4] - movaps xmm0,xmmword ptr[esi+8*4] - movaps xmm1,xmmword ptr[ebx+8*4] - mulps xmm4,xmm0 - addps xmm4,xmm1 - movaps xmmword ptr[edx+8*4],xmm4 - - movaps xmm5,xmmword ptr[eax+12*4] - movaps xmm0,xmmword ptr[esi+12*4] - movaps xmm1,xmmword ptr[ebx+12*4] - mulps xmm5,xmm0 - addps xmm5,xmm1 - movaps xmmword ptr[edx+12*4],xmm5 - - add eax,16*4 - add edx,16*4 - add ebx,16*4 - add esi,16*4 - loop loopa - } - } - else { - // unaligned version - __asm { - mov ecx,dword ptr [n] - mov eax,dword ptr [src] - mov edx,dword ptr [dst] - mov esi,dword ptr [opmul] - mov ebx,dword ptr [opadd] -loopu: - prefetcht0 [eax+64] - prefetcht0 [ebx+64] - prefetcht0 [esi+64] - prefetcht0 [eax+96] - prefetcht0 [ebx+96] - prefetcht0 [esi+96] - - movups xmm2,xmmword ptr[eax] - movups xmm0,xmmword ptr[esi] - movups xmm1,xmmword ptr[ebx] - mulps xmm2,xmm0 - addps xmm2,xmm1 - movups xmmword ptr[edx],xmm2 - - movups xmm3,xmmword ptr[eax+4*4] - movups xmm0,xmmword ptr[esi+4*4] - movups xmm1,xmmword ptr[ebx+4*4] - mulps xmm3,xmm0 - addps xmm3,xmm1 - movups xmmword ptr[edx+4*4],xmm3 - - movups xmm4,xmmword ptr[eax+8*4] - movups xmm0,xmmword ptr[esi+8*4] - movups xmm1,xmmword ptr[ebx+8*4] - mulps xmm4,xmm0 - addps xmm4,xmm1 - movups xmmword ptr[edx+8*4],xmm4 - - movups xmm5,xmmword ptr[eax+12*4] - movups xmm0,xmmword ptr[esi+12*4] - movups xmm1,xmmword ptr[ebx+12*4] - mulps xmm5,xmm0 - addps xmm5,xmm1 - movups xmmword ptr[edx+12*4],xmm5 - - add eax,16*4 - add edx,16*4 - add ebx,16*4 - add esi,16*4 - loop loopu - } - } - src += n<<4,dst += n<<4,opmul += n<<4,opadd += n<<4; -zero: - while(cnt--) *(dst++) = *(src++) * *(opmul++) + *(opadd++); - } - else -#elif (FLEXT_CPU == FLEXT_CPU_PPC || FLEXT_CPU == FLEXT_CPU_PPC64) && defined(__VEC__) - if(GetSIMDCapabilities()&simd_altivec && VectorsAligned(src,dst,opmul,opadd)) - ScaleAltivec(dst,src,opmul,opadd,cnt); - else -#endif // _MSC_VER -#endif // FLEXT_USE_SIMD - { - int n = cnt>>3; - cnt -= n<<3; - if(dst == opadd) { - while(n--) { - dst[0] += src[0]*opmul[0]; dst[1] += src[1]*opmul[1]; - dst[2] += src[2]*opmul[2]; dst[3] += src[3]*opmul[3]; - dst[4] += src[4]*opmul[4]; dst[5] += src[5]*opmul[5]; - dst[6] += src[6]*opmul[6]; dst[7] += src[7]*opmul[7]; - src += 8,dst += 8,opmul += 8; - } - while(cnt--) *(dst++) += *(src++) * *(opmul++); - } - else { - while(n--) { - dst[0] = src[0]*opmul[0]+opadd[0]; dst[1] = src[1]*opmul[1]+opadd[1]; - dst[2] = src[2]*opmul[2]+opadd[2]; dst[3] = src[3]*opmul[3]+opadd[3]; - dst[4] = src[4]*opmul[4]+opadd[4]; dst[5] = src[5]*opmul[5]+opadd[5]; - dst[6] = src[6]*opmul[6]+opadd[6]; dst[7] = src[7]*opmul[7]+opadd[7]; - src += 8,dst += 8,opmul += 8,opadd += 8; - } - while(cnt--) *(dst++) = *(src++)* *(opmul++) + *(opadd++); - } - } -#endif -} - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/flsndobj.cpp b/externals/grill/trunk/flext/source/flsndobj.cpp deleted file mode 100644 index b012f805c..000000000 --- a/externals/grill/trunk/flext/source/flsndobj.cpp +++ /dev/null @@ -1,137 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3657 $ -$LastChangedDate: 2009-02-09 17:58:30 -0500 (Mon, 09 Feb 2009) $ -$LastChangedBy: thomas $ -*/ - -#include "flext.h" -#include "flsndobj.h" - -#include "flpushns.h" - -flext_sndobj::flext_sndobj(): - inobjs(0),outobjs(0), - inobj(NULL),tmpobj(NULL),outobj(NULL), - smprt(0),blsz(0) -{} - -bool flext_sndobj::Init() -{ - bool ret = flext_dsp::Init(); - inobjs = CntInSig(); - outobjs = CntOutSig(); - return ret; -} - -void flext_sndobj::Exit() -{ - ClearObjs(); - flext_dsp::Exit(); -} - -void flext_sndobj::ClearObjs() -{ - FreeObjs(); - - if(inobj) { - for(int i = 0; i < inobjs; ++i) delete inobj[i]; - delete[] inobj; inobj = NULL; - } - if(tmpobj) { - for(int i = 0; i < inobjs; ++i) delete tmpobj[i]; - delete[] tmpobj; tmpobj = NULL; - } - if(outobj) { - for(int i = 0; i < outobjs; ++i) delete outobj[i]; - delete[] outobj; outobj = NULL; - } -} - -bool flext_sndobj::CbDsp() -{ - // called on every rebuild of the dsp chain - - int i; - if(Blocksize() != blsz || Samplerate() != smprt) { - // block size or sample rate has changed... rebuild all objects - - ClearObjs(); - - blsz = Blocksize(); - smprt = Samplerate(); - - // set up sndobjs for inlets and outlets - if(inobjs) { - inobj = new Inlet *[inobjs]; - tmpobj = new SndObj *[inobjs]; - for(i = 0; i < inobjs; ++i) { - inobj[i] = new Inlet(InSig(i),blsz,smprt); - tmpobj[i] = new SndObj(NULL,blsz,smprt); - } - } - if(outobjs) { - outobj = new Outlet *[outobjs]; - for(i = 0; i < outobjs; ++i) outobj[i] = new Outlet(OutSig(i),blsz,smprt); - } - - if(!NewObjs()) ClearObjs(); - } - else { - // assign changed input/output vectors - - for(i = 0; i < inobjs; ++i) inobj[i]->SetBuf(InSig(i)); - for(i = 0; i < outobjs; ++i) outobj[i]->SetBuf(OutSig(i)); - } - return true; -} - -void flext_sndobj::CbSignal() -{ - for(int i = 0; i < inobjs; ++i) *tmpobj[i] << *inobj[i]; - ProcessObjs(); -} - - -flext_sndobj::Inlet::Inlet(const t_sample *b,int vecsz,float sr): - SndIO(1,sizeof(t_sample)*8,NULL,vecsz,sr),buf(b) -{} - -short flext_sndobj::Inlet::Read() -{ - if(!m_error) { - for(m_vecpos = 0; m_vecpos < m_samples; m_vecpos++) - m_output[m_vecpos] = buf[m_vecpos]; - return 1; - } - else return 0; -} - -short flext_sndobj::Inlet::Write() { return 0; } - - -flext_sndobj::Outlet::Outlet(t_sample *b,int vecsz,float sr): - SndIO(1,sizeof(t_sample)*8,NULL,vecsz,sr),buf(b) -{} - -short flext_sndobj::Outlet::Read() { return 0; } - -short flext_sndobj::Outlet::Write() -{ - if(!m_error) { - if(m_IOobjs[0]) - for(m_vecpos = 0; m_vecpos < m_samples; m_vecpos++) - buf[m_vecpos] = m_IOobjs[0]->Output(m_vecpos); - return 1; - } - else return 0; -} - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/flsndobj.h b/externals/grill/trunk/flext/source/flsndobj.h deleted file mode 100644 index e61cedb30..000000000 --- a/externals/grill/trunk/flext/source/flsndobj.h +++ /dev/null @@ -1,108 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3674 $ -$LastChangedDate: 2009-03-06 19:04:02 -0500 (Fri, 06 Mar 2009) $ -$LastChangedBy: thomas $ -*/ - -#ifndef __FLSNDOBJ_H -#define __FLSNDOBJ_H - -#include "flext.h" - -// PI is defined in the Max/MSP SDK, but clashes with SndObj.h -#ifdef PI -#undef PI -#endif - -// SndObj needs WIN symbol when compiled under Windows -#if FLEXT_OS == FLEXT_OS_WIN && !defined(WIN) -#define WIN -#endif - -#ifndef FLEXT_THREADS -#define NOPTHREAD -#endif - -#include <SndObj/SndObj.h> -#include <SndObj/SndIO.h> - -#undef NOPTHREAD - -#include "flpushns.h" - -class FLEXT_SHARE flext_sndobj: - public flext_dsp -{ - FLEXT_HEADER(flext_sndobj,flext_dsp) - -public: - flext_sndobj(); - - // these have to be overridden in child classes - virtual bool NewObjs() { return true; } - virtual void FreeObjs() {} - virtual void ProcessObjs() {} - - // inputs and outputs - SndObj &InObj(int i) { return *tmpobj[i]; } - SndIO &OutObj(int i) { return *outobj[i]; } - -protected: - virtual bool Init(); - virtual void Exit(); - -private: - //! SndObj for reading from inlet buffer - class Inlet: - public SndIO - { - public: - Inlet(const t_sample *b,int vecsz,float sr); - virtual short Read(); - virtual short Write(); - - void SetBuf(const t_sample *b) { buf = b; } - - private: - const t_sample *buf; - }; - - //! SndObj for writing to outlet buffer - class Outlet: - public SndIO - { - public: - Outlet(t_sample *b,int vecsz,float sr); - virtual short Read(); - virtual short Write(); - - void SetBuf(t_sample *b) { buf = b; } - - private: - t_sample *buf; - }; - - virtual bool CbDsp(); - virtual void CbSignal(); - - void ClearObjs(); - - int inobjs,outobjs; - SndObj **tmpobj; - Inlet **inobj; - Outlet **outobj; - - float smprt; - int blsz; -}; - -#include "flpopns.h" - -#endif diff --git a/externals/grill/trunk/flext/source/flstdc.h b/externals/grill/trunk/flext/source/flstdc.h deleted file mode 100644 index 733d5bc98..000000000 --- a/externals/grill/trunk/flext/source/flstdc.h +++ /dev/null @@ -1,339 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3682 $ -$LastChangedDate: 2009-03-23 16:41:59 -0400 (Mon, 23 Mar 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flstdc.h - \brief Definitions to unite Max/MSP and PD notions - - This file contains a few definitions to unite a few of the notions that - once drifted apart in Max and PD. It is not elegant but helps. -*/ - -#ifndef __FLEXT_STDC_H -#define __FLEXT_STDC_H - -#if defined(_MSC_VER) && (_MSC_VER < 0x1300) -/* - include math.h here - when included with PD or Max/MSP headers, - C linkage would be used which disturbs MSVC6 -*/ -#include <cmath> -#endif - -#ifdef _MSC_VER -#include <crtdbg.h> -#else -#include <cassert> -#endif - -// PD stuff - -#if FLEXT_SYS == FLEXT_SYS_PD - -/* PD definitions start here */ - -#ifdef _MSC_VER - #pragma warning (push) - #pragma warning (disable:4091 4005) -#endif - -#if FLEXT_OS == FLEXT_OS_WIN && !defined(NT) -#define NT -#endif - -extern "C" { - // Include the relevant PD header files - #ifdef FLEXT_DEBUG - /* PD header file structure has changed with version 0.37 - from then on m_imp.h needs m_pd.h to be included before - on the other hand versions < 0.37 don't like that.... - (they want m_imp.h solely as m_pd.h is included therein) - So better use the m_pd.h here also for the debug version. - Change that if really needed for debugging PD internals... - */ - - #ifndef PD_VERSION - // include only if not already included - #include <m_pd.h> - #endif -// #include <m_imp.h> // for easier debugging - #else - #ifndef PD_VERSION - // include only if not already included - #include <m_pd.h> - #endif - #endif -} - -#ifdef _MSC_VER - #pragma warning (pop) -#endif - -#include "flpushns.h" - -#ifdef cabs -#undef cabs // this is defined in m_pd.h (clashes with math.h in MacOSX) -#endif - -typedef t_object t_sigobj; -typedef t_gpointer *t_ptrtype; - -typedef t_float t_flint; -typedef t_symbol *t_symtype; -typedef t_class **t_thing; - -typedef t_clock t_qelem; - -#define A_NOTHING A_NULL -#define A_FLINT A_FLOAT -#define A_DEFFLINT A_DEFFLOAT -#define A_DEFSYMBOL A_DEFSYM - -#include "flpopns.h" - - -#elif FLEXT_SYS == FLEXT_SYS_MAX - -/* -------------- Max/MSP ------------------- */ - -// 2-byte alignment for Max/MSP structures -#ifdef _MSC_VER -#pragma pack(push,flext_maxsdk) -#pragma pack(2) -#endif - -// Include the relevant Max/MSP header files - -#if FLEXT_OS == FLEXT_OS_MAC - #if FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH - // MachO version - must insert prefix header - #include <Carbon/Carbon.h> - #else - // CFM version - #ifndef __MRC__ - #define powerc - #endif - #define __MOTO__ 0 - - #include <MacTypes.h> - #endif -#elif FLEXT_OS == FLEXT_OS_WIN - #define WIN_VERSION 1 - #define WIN_EXT_VERSION 1 -#endif - -// necessary for the old OS9 SDK -extern "C" { - -#include "ext.h" -#include "ext_user.h" -#if FLEXT_OS != FLEXT_OS_MAC || defined(MAC_VERSION) -// doesn't exist for OS9 -#include "ext_critical.h" -#include "buffer.h" -#else -// for OS9 include "inofficial" header file -#include "flmspbuffer.h" -#endif -#include "z_dsp.h" -#include "ext_obex.h" - -// check for Max5 SDK -#include "commonsyms.h" -#if C74_MAX_SDK_VERSION >= 0x0500 || COMMON_SYMBOLS_VERSION >= 500 - #define _FLEXT_MAX5SDK -#endif - -} // extern "C" - -#include "flpushns.h" - -#undef WIN_VERSION - -typedef t_pxobject t_sigobj; // that's the all-in-one object type of Max/MSP (not very memory-efficent, i guess) -typedef t_patcher t_canvas; - -typedef t_int t_flint; -typedef t_symbol *t_symtype; -typedef t_object *t_thing; - -#ifndef _FLEXT_MAX5SDK - // for the following to work you should have the latest SDK - #if FLEXT_OS == FLEXT_OS_MAC //&& !defined(MAC_VERSION) - typedef struct qelem t_qelem; - #else - typedef void *t_qelem; - #endif -#endif - -typedef method t_method; -typedef method t_newmethod; -typedef int t_atomtype; - -#ifndef _FLEXT_MAX5SDK -typedef struct clock t_clock; // this is defined in the Max5 SDK -#endif - -typedef void t_binbuf; - -#undef clock_free -#define clock_free(tick) freeobject((object *)tick) - -#define A_NULL A_NOTHING -#define A_DEFFLINT A_DEFLONG - -#ifndef A_INT -#define A_INT A_LONG -#endif - -#ifndef A_DEFINT -#define A_DEFINT A_DEFLONG -#endif - -#ifndef A_SYMBOL -#define A_SYMBOL A_SYM -#endif - -#ifndef A_DEFSYMBOL -#define A_DEFSYMBOL A_DEFSYM -#endif - -#if FLEXT_OS == FLEXT_OS_MAC && !defined(MAC_VERSION) -// simulate non-existing functions for OS9 -#define critical_enter(N) -#define critical_exit(N) -#endif - -#ifdef _MSC_VER -#pragma pack(pop,flext_maxsdk) -#endif - -#include "flpopns.h" - -#else -#error Platform not supported -#endif // FLEXT_SYS - - -// general definitions - -#include "flpushns.h" - -typedef t_symbol *t_symptr; - -// ------------------------- - -#ifdef FLEXT_LOGGING -/* If FLEXT_LOGGING is defined implement logging */ - -#ifdef _MSC_VER -#define FLEXT_LOG(s) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s) -#define FLEXT_LOG1(s,v1) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1) -#define FLEXT_LOG2(s,v1,v2) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2) -#define FLEXT_LOG3(s,v1,v2,v3) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3) -#define FLEXT_LOG4(s,v1,v2,v3,v4) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4) -#define FLEXT_LOG5(s,v1,v2,v3,v4,v5) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4,v5) -#define FLEXT_LOG6(s,v1,v2,v3,v4,v5,v6) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4,v5,v6) -#define FLEXT_LOG7(s,v1,v2,v3,v4,v5,v6,v7) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4,v5,v6,v7) -#define FLEXT_LOG8(s,v1,v2,v3,v4,v5,v6,v7,v8) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4,v5,v6,v7,v8) -#define FLEXT_LOG9(s,v1,v2,v3,v4,v5,v6,v7,v8,v9) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4,v5,v6,v7,v8,v9) -#else -#define FLEXT_LOG(s) post(s) -#define FLEXT_LOG1(s,v1) post(s,v1) -#define FLEXT_LOG2(s,v1,v2) post(s,v1,v2) -#define FLEXT_LOG3(s,v1,v2,v3) post(s,v1,v2,v3) -#define FLEXT_LOG4(s,v1,v2,v3,v4) post(s,v1,v2,v3,v4) -#define FLEXT_LOG5(s,v1,v2,v3,v4,v5) post(s,v1,v2,v3,v4,v5) -#define FLEXT_LOG6(s,v1,v2,v3,v4,v5,v6) post(s,v1,v2,v3,v4,v5,v6) -#define FLEXT_LOG7(s,v1,v2,v3,v4,v5,v6,v7) post(s,v1,v2,v3,v4,v5,v6,v7) -#define FLEXT_LOG8(s,v1,v2,v3,v4,v5,v6,v7,v8) post(s,v1,v2,v3,v4,v5,v6,v7,v8) -#define FLEXT_LOG9(s,v1,v2,v3,v4,v5,v6,v7,v8,v9) post(s,v1,v2,v3,v4,v5,v6,v7,v8,v9) -#endif - -#else - -/* If FLEXT_LOGGING is not defined avoid logging */ -#define FLEXT_LOG(s) ((void)0) -#define FLEXT_LOG1(s,v1) ((void)0) -#define FLEXT_LOG2(s,v1,v2) ((void)0) -#define FLEXT_LOG3(s,v1,v2,v3) ((void)0) -#define FLEXT_LOG4(s,v1,v2,v3,v4) ((void)0) -#define FLEXT_LOG5(s,v1,v2,v3,v4,v5) ((void)0) -#define FLEXT_LOG6(s,v1,v2,v3,v4,v5,v6) ((void)0) -#define FLEXT_LOG7(s,v1,v2,v3,v4,v5,v6,v7) ((void)0) -#define FLEXT_LOG8(s,v1,v2,v3,v4,v5,v6,v7,v8) ((void)0) -#define FLEXT_LOG9(s,v1,v2,v3,v4,v5,v6,v7,v8,v9) ((void)0) - -#endif - -#ifdef FLEXT_DEBUG -#ifdef _MSC_VER -#define FLEXT_ASSERT(b) do { if(!(b)) _CrtDbgReport(_CRT_ASSERT,__FILE__,__LINE__,"flext",#b); } while(false) -#define FLEXT_WARN(str) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",NULL) -#define FLEXT_ERROR(str) _CrtDbgReport(_CRT_ERROR,__FILE__,__LINE__,"flext",NULL) -#else -#define FLEXT_ASSERT(b) assert(b) -//#define FLEXT_ASSERT(b) do { if(!(b)) error("Assertion failed: " #b " - in " __FILE__ " line %i",(int)__LINE__); } while(false) -#define FLEXT_WARN(str) error("Warning: in " __FILE__ " line %i",(int)__LINE__) -#define FLEXT_ERROR(str) error("Error: in " __FILE__ " line %i",(int)__LINE__) -#endif -#else -#define FLEXT_ASSERT(b) (1) -#define FLEXT_WARN(str) (1) -#define FLEXT_ERROR(str) error("Error: in " __FILE__ " line %i",(int)__LINE__) -#endif - -#define ERRINTERNAL() error("flext: Internal error in file " __FILE__ ", line %i - please report",(int)__LINE__) - - -// ----- disable attribute editor for PD version < devel_0_36 or 0.37 -#ifndef PD_MAJOR_VERSION -# undef FLEXT_NOATTREDIT -# define FLEXT_NOATTREDIT -#endif - - -// ----- set message queue mode ----- -#if FLEXT_SYS == FLEXT_SYS_PD && PD_MINOR_VERSION >= 37 -// for PD version >= 0.37test10 FLEXT_PDLOCK is standard -# undef FLEXT_PDLOCK -# define FLEXT_PDLOCK -#endif - -#ifndef FLEXT_QMODE -# if FLEXT_SYS == FLEXT_SYS_PD && PD_MINOR_VERSION >= 38 && defined(PD_DEVEL_VERSION) -// use idle callback -# define FLEXT_QMODE 1 -# elif defined(FLEXT_PDLOCK) -// new PD thread locking functionality shall be used -# if FLEXT_SYS == FLEXT_SYS_PD -# ifdef FLEXT_THREADS -// can only be used with PD and threaded build -# define FLEXT_QMODE 2 -# else -# define FLEXT_QMODE 0 -# endif -# else -# error FLEXT_PDLOCK can only be defined with PD -# endif -# else -# define FLEXT_QMODE 0 -# endif -#endif - -#ifndef FLEXT_QMODE -# error Internal error: Queueing mode not defined -#endif - -#include "flpopns.h" - -#endif diff --git a/externals/grill/trunk/flext/source/flstk.cpp b/externals/grill/trunk/flext/source/flstk.cpp deleted file mode 100644 index 3baca4337..000000000 --- a/externals/grill/trunk/flext/source/flstk.cpp +++ /dev/null @@ -1,116 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-20010 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. - -$LastChangedRevision: 3718 $ -$LastChangedDate: 2010-01-11 11:47:33 -0500 (Mon, 11 Jan 2010) $ -$LastChangedBy: thomas $ -*/ - -#include "flext.h" -#include "flstk.h" - -#include "flpushns.h" - -flext_stk::flext_stk(): - inobjs(0),outobjs(0), - inobj(NULL),outobj(NULL), - smprt(0),blsz(0) -{} - -bool flext_stk::Init() -{ - bool ret = flext_dsp::Init(); - inobjs = CntInSig(); - outobjs = CntOutSig(); - return ret; -} - -void flext_stk::Exit() -{ - ClearObjs(); - flext_dsp::Exit(); -} - -void flext_stk::ClearObjs() -{ - FreeObjs(); - - if(inobj) { - for(int i = 0; i < inobjs; ++i) delete inobj[i]; - delete[] inobj; inobj = NULL; - } - if(outobj) { - for(int i = 0; i < outobjs; ++i) delete outobj[i]; - delete[] outobj; outobj = NULL; - } -} - -bool flext_stk::CbDsp() -{ - // called on every rebuild of the dsp chain - - int i; - - if(Blocksize() != blsz || Samplerate() != smprt) { - // block size or sample rate has changed... rebuild all objects - - ClearObjs(); - - smprt = Samplerate(); - blsz = Blocksize(); - Stk::setSampleRate(smprt); - - // set up sndobjs for inlets and outlets - if(inobjs) { - inobj = new Input *[inobjs]; - for(i = 0; i < inobjs; ++i) - inobj[i] = new Input(InSig(i),blsz); - } - if(outobjs) { - outobj = new Output *[outobjs]; - for(i = 0; i < outobjs; ++i) - outobj[i] = new Output(OutSig(i),blsz); - } - - if(!NewObjs()) ClearObjs(); - } - else { - // assign changed input/output vectors - - for(i = 0; i < inobjs; ++i) inobj[i]->SetBuf(InSig(i)); - for(i = 0; i < outobjs; ++i) outobj[i]->SetBuf(OutSig(i)); - } - return true; -} - -void flext_stk::CbSignal() -{ - if(inobjs || outobjs) ProcessObjs(blsz); -} - - -// inlet class - -StkFloat *flext_stk::Input::tick(StkFloat *vector,unsigned int vectorSize) -{ - FLEXT_ASSERT(vectorSize == vecsz); - for(unsigned int i = 0; i < vectorSize; i++) vector[i] = tick(); - return vector; -} - - -// outlet class - -void flext_stk::Output::tick(const StkFloat *vector,unsigned int vectorSize) -{ - FLEXT_ASSERT(vectorSize == vecsz); - for(unsigned int i = 0; i < vectorSize; i++) tick(vector[i]); -} - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/flstk.h b/externals/grill/trunk/flext/source/flstk.h deleted file mode 100644 index c0a71fa3f..000000000 --- a/externals/grill/trunk/flext/source/flstk.h +++ /dev/null @@ -1,134 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2010 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. - -$LastChangedRevision: 3723 $ -$LastChangedDate: 2010-01-29 10:27:10 -0500 (Fri, 29 Jan 2010) $ -$LastChangedBy: thomas $ -*/ - -#ifndef __FLSTK_H -#define __FLSTK_H - -#include "flext.h" - -// PI is defined in the Max/MSP SDK, but clashes with Stk.h -#ifdef PI -#undef PI -#endif - -#include <Stk.h> - -#include "flpushns.h" - -using stk::Stk; -using stk::StkFloat; -using stk::StkFrames; - -class FLEXT_SHARE flext_stk: - public flext_dsp -{ - FLEXT_HEADER(flext_stk,flext_dsp) - -public: - flext_stk(); - - // these have to be overridden in child classes - virtual bool NewObjs() { return true; } - virtual void FreeObjs() {} - virtual void ProcessObjs(int blocksize) {} - -protected: - virtual bool Init(); - virtual void Exit(); - - //! STK object for reading from inlet buffer - class Input: - public Stk - { - public: - Input(const t_sample *b,int v): - buf(b),vecsz(v), - index(v-1) - {} - - inline StkFloat lastOut() const { return (StkFloat)buf[index]; } - - inline StkFloat tick() - { - if(++index >= vecsz) index = 0; - return lastOut(); - } - - StkFloat *tick(StkFloat *vector,unsigned int vectorSize); - - inline StkFrames &tick(StkFrames &vector) - { - FLEXT_ASSERT(vector.channels() == 1); - tick(&vector[0],vector.frames()); - return vector; - } - - inline void SetBuf(const t_sample *b) { buf = b; } - - private: - const t_sample *buf; - int vecsz,index; - }; - - //! STK object for writing to outlet buffer - class Output: - public Stk - { - public: - Output(t_sample *b,int v): - buf(b),vecsz(v), - index(0) - {} - - inline void tick(StkFloat s) - { - buf[index] = (t_sample)s; - if(++index >= vecsz) index = 0; - } - - void tick(const StkFloat *vector,unsigned int vectorSize); - - inline void tick(const StkFrames &vector) - { - FLEXT_ASSERT(vector.channels() == 1); - // dirty casting due to bug in STK api... operator[] _should_ return const StkFloat & - tick(&const_cast<StkFrames &>(vector)[0],vector.frames()); - } - - inline void SetBuf(t_sample *b) { buf = b; } - - private: - t_sample *buf; - int vecsz,index; - }; - - Input &Inlet(int ix) { return *inobj[ix]; } - Output &Outlet(int ix) { return *outobj[ix]; } - -private: - virtual bool CbDsp(); - virtual void CbSignal(); - - void ClearObjs(); - - int inobjs,outobjs; - Input **inobj; - Output **outobj; - - float smprt; - int blsz; -}; - -#include "flpopns.h" - -#endif diff --git a/externals/grill/trunk/flext/source/flsupport.cpp b/externals/grill/trunk/flext/source/flsupport.cpp deleted file mode 100644 index b1779ae26..000000000 --- a/externals/grill/trunk/flext/source/flsupport.cpp +++ /dev/null @@ -1,313 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3692 $ -$LastChangedDate: 2009-06-17 09:46:01 -0400 (Wed, 17 Jun 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flsupport.cpp - \brief flext support functions and classes. -*/ - -#include "flext.h" - -#include <cstdio> -#include <cstdarg> -#include <cstdlib> -#include <cstring> -#include <new> - -#include "flpushns.h" - -#ifdef _MSC_VER -#define vsnprintf _vsnprintf -#define snprintf _snprintf -#endif - -const t_symbol *flext::sym__ = NULL; -const t_symbol *flext::sym_float = NULL; -const t_symbol *flext::sym_symbol = NULL; -const t_symbol *flext::sym_bang = NULL; -const t_symbol *flext::sym_list = NULL; -const t_symbol *flext::sym_pointer = NULL; -const t_symbol *flext::sym_int = NULL; -const t_symbol *flext::sym_signal = NULL; - -const t_symbol *flext::sym_anything = NULL; - -#if FLEXT_SYS == FLEXT_SYS_MAX -const t_symbol *flext::sym_buffer = NULL; -const t_symbol *flext::sym_size = NULL; -const t_symbol *flext::sym_dirty = NULL; -#endif - -const t_symbol *flext::sym_attributes = NULL; -const t_symbol *flext::sym_methods = NULL; - -bool flext::indsp = false; - - -int flext::Version() { return FLEXT_VERSION; } -const char *flext::VersionStr() { return FLEXT_VERSTR; } - -void flext::Setup() -{ - if(sym__) return; - -#if FLEXT_SYS == FLEXT_SYS_PD - sym__ = &s_; - sym_anything = &s_anything; - sym_pointer = &s_pointer; - sym_float = &s_float; - sym_symbol = &s_symbol; - sym_bang = &s_bang; - sym_list = &s_list; - sym_signal = &s_signal; - sym_int = flext::MakeSymbol("int"); -#elif FLEXT_SYS == FLEXT_SYS_MAX - sym__ = flext::MakeSymbol(""); - sym_int = flext::MakeSymbol("int"); - sym_float = flext::MakeSymbol("float"); - sym_symbol = flext::MakeSymbol("symbol"); - sym_bang = flext::MakeSymbol("bang"); - sym_list = flext::MakeSymbol("list"); - sym_anything = flext::MakeSymbol("anything"); - sym_signal = flext::MakeSymbol("signal"); - - sym_buffer = flext::MakeSymbol("buffer~"); - sym_size = flext::MakeSymbol("size"); - sym_dirty = flext::MakeSymbol("dirty"); -#endif - - sym_attributes = flext::MakeSymbol("attributes"); - sym_methods = flext::MakeSymbol("methods"); - -#ifdef FLEXT_THREADS - thrid = GetThreadId(); - StartHelper(); -#endif -} - - -#if FLEXT_SYS == FLEXT_SYS_PD && defined(FLEXT_THREADED) && defined(FLEXT_PDLOCK) -#define SYSLOCK() sys_lock() -#define SYSUNLOCK() sys_unlock() -#else -#define SYSLOCK() (void)0 -#define SYSUNLOCK() (void)0 -#endif - - -///////////////////////////////////////////////////////// -// overloaded new/delete memory allocation methods -// -///////////////////////////////////////////////////////// - -#define LARGEALLOC 32000 - -#ifndef FLEXT_USE_CMEM - -#ifdef FLEXT_DEBUGMEM -static const size_t memtest = 0x12345678L; -#endif - -void *flext_root::operator new(size_t bytes) -{ - bytes += sizeof(size_t); -#ifdef FLEXT_DEBUGMEM - bytes += sizeof(memtest)*2; -#endif - char *blk; - if(UNLIKELY(bytes >= LARGEALLOC)) { -#if FLEXT_SYS == FLEXT_SYS_MAX && defined(_SYSMEM_H_) - blk = (char *)sysmem_newptr(bytes); -#else - // use C library function for large memory blocks - blk = (char *)malloc(bytes); -#endif - } - else { - //! We need system locking here for secondary threads! - SYSLOCK(); - blk = (char *)getbytes(bytes); - SYSUNLOCK(); - } - - FLEXT_ASSERT(blk); - - *(size_t *)blk = bytes; -#ifdef FLEXT_DEBUGMEM - *(size_t *)(blk+sizeof(size_t)) = memtest; - *(size_t *)(blk+bytes-sizeof(memtest)) = memtest; - return blk+sizeof(size_t)+sizeof(memtest); -#else - return blk+sizeof(size_t); -#endif -} - -void flext_root::operator delete(void *blk) -{ - if(!blk) return; - - FLEXT_ASSERT(MemCheck(blk)); - -#ifdef FLEXT_DEBUGMEM - char *ori = (char *)blk-sizeof(size_t)-sizeof(memtest); -#else - char *ori = (char *)blk-sizeof(size_t); -#endif - size_t bytes = *(size_t *)ori; - - if(UNLIKELY(bytes >= LARGEALLOC)) { -#if FLEXT_SYS == FLEXT_SYS_MAX && defined(_SYSMEM_H_) - sysmem_freeptr(ori); -#else - // use C library function for large memory blocks - free(ori); -#endif - } - else { - //! We need system locking here for secondary threads! - SYSLOCK(); - freebytes(ori,bytes); - SYSUNLOCK(); - } -} - -#ifdef FLEXT_DEBUGMEM -bool flext_root::MemCheck(void *blk) -{ - char *ori = (char *)blk-sizeof(size_t)-sizeof(memtest); - size_t bytes = *(size_t *)ori; - - return - *(size_t *)((char *)ori+sizeof(size_t)) == memtest && - *(size_t *)((char *)ori+bytes-sizeof(memtest)) == memtest; -} -#endif - -#endif - -void *flext_root::NewAligned(size_t bytes,int bitalign) -{ - const size_t ovh = sizeof(size_t)+sizeof(char *); - const size_t alignovh = bitalign/8-1; - bytes += ovh+alignovh; - - char *blk; - if(UNLIKELY(bytes >= LARGEALLOC)) { -#if FLEXT_SYS == FLEXT_SYS_MAX && defined(_SYSMEM_H_) - blk = (char *)sysmem_newptr(bytes); -#else - // use C library function for large memory blocks - blk = (char *)malloc(bytes); -#endif - } - else { - //! We need system locking here for secondary threads! - SYSLOCK(); - -#if defined(FLEXT_USE_CMEM) - blk = (char *)malloc(bytes); -#else - blk = (char *)getbytes(bytes); -#endif - SYSUNLOCK(); - } - FLEXT_ASSERT(blk); - - char *ablk = reinterpret_cast<char *>((reinterpret_cast<size_t>(blk)+ovh+alignovh) & ~alignovh); - *(char **)(ablk-sizeof(size_t)-sizeof(char *)) = blk; - *(size_t *)(ablk-sizeof(size_t)) = bytes; - return ablk; -} - -void flext_root::FreeAligned(void *blk) -{ - FLEXT_ASSERT(blk); - - char *ori = *(char **)((char *)blk-sizeof(size_t)-sizeof(char *)); - size_t bytes = *(size_t *)((char *)blk-sizeof(size_t)); - - if(UNLIKELY(bytes >= LARGEALLOC)) { -#if FLEXT_SYS == FLEXT_SYS_MAX && defined(_SYSMEM_H_) - sysmem_freeptr(ori); -#else - // use C library function for large memory blocks - free(ori); -#endif - } - else { - //! We need system locking here for secondary threads! - SYSLOCK(); - -#if defined(FLEXT_USE_CMEM) - free(ori); -#else - freebytes(ori,bytes); -#endif - SYSUNLOCK(); - } -} - -// ------------------------------------------ - -/*! \todo there is probably also a shortcut for Max and jMax - \todo size checking -*/ -void flext::GetAString(const t_atom &a,char *buf,size_t szbuf) -{ -#if FLEXT_SYS == FLEXT_SYS_PD - atom_string(const_cast<t_atom *>(&a),buf,(int)szbuf); -#else - if(IsSymbol(a)) STD::strncpy(buf,GetString(a),szbuf); - else if(IsFloat(a)) STD::snprintf(buf,szbuf,"%f",GetFloat(a)); - else if(IsInt(a)) STD::snprintf(buf,szbuf,"%i",GetInt(a)); - else *buf = 0; -#endif -} - -unsigned long flext::AtomHash(const t_atom &a) -{ -#if FLEXT_SYS == FLEXT_SYS_MAX || FLEXT_SYS == FLEXT_SYS_PD - return ((unsigned long)a.a_type<<28)^*(unsigned long *)&a.a_w; -#else -#error Not implemented -#endif -} - -void flext_root::post(const char *fmt, ...) -{ - va_list ap; - va_start(ap, fmt); - - char buf[1024]; - vsnprintf(buf,sizeof buf,fmt, ap); - buf[sizeof buf-1] = 0; // in case of full buffer - ::post(buf); - - va_end(ap); -} - -void flext_root::error(const char *fmt,...) -{ - va_list ap; - va_start(ap, fmt); - - char buf[1024]; - STD::strcpy(buf,"error: "); - vsnprintf(buf+7,sizeof buf-7,fmt, ap); - buf[sizeof buf-1] = 0; // in case of full buffer - ::post(buf); - - va_end(ap); -} - -#include "flpopns.h" - diff --git a/externals/grill/trunk/flext/source/flsupport.h b/externals/grill/trunk/flext/source/flsupport.h deleted file mode 100644 index 4712d4fc8..000000000 --- a/externals/grill/trunk/flext/source/flsupport.h +++ /dev/null @@ -1,1400 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2010 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. - -$LastChangedRevision: 3750 $ -$LastChangedDate: 2011-10-03 07:06:25 -0400 (Mon, 03 Oct 2011) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flsupport.h - \brief flext support functions and classes -*/ - -#ifndef __FLSUPPORT_H -#define __FLSUPPORT_H - -#include "flstdc.h" -#include <new> -#include <cstring> - - -#include "flpushns.h" - -/*! \defgroup FLEXT_SUPPORT Flext support classes - @{ -*/ - -class FLEXT_SHARE FLEXT_CLASSDEF(flext_root); -typedef class FLEXT_CLASSDEF(flext_root) flext_root; - -/*! \brief Flext root support class - - Moved memory functions and console output here so that all the classes - contained in flext can use them -*/ -class FLEXT_SHARE FLEXT_CLASSDEF(flext_root) { -public: -// --- console output ----------------------------------------------- - - //! post message to console, with line feed (limited to 1k chars!) - static void post(const char *fmt,...); - //! post error message to console (limited to 1k chars!) - static void error(const char *fmt,...); - -// --- memory ------------------------------------------------------- - - /*! \defgroup FLEXT_S_MEMORY Memory allocation functions - @{ - */ - -#ifdef FLEXT_NOGLOBALNEW -#error FLEXT_NOGLOBALNEW is deprecated, define FLEXT_USE_CMEM instead -#define FLEXT_USE_CMEM -#endif - -#ifdef FLEXT_USE_CMEM - inline void *operator new(size_t bytes) { return ::operator new(bytes); } - inline void operator delete(void *blk) { ::operator delete(blk); } - - inline void *operator new[](size_t bytes) { return ::operator new[](bytes); } - inline void operator delete[](void *blk) { ::operator delete[](blk); } - - static bool MemCheck(void *) { return true; } -#else - /*! Overloaded new memory allocation method - \note this uses a fast allocation method of the real-time system - \warning Max/MSP (or MacOS) allows only 32K in overdrive mode! - */ - void *operator new(size_t bytes); - //! Overloaded delete method - void operator delete(void *blk); - -#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); } -#endif - -#ifdef FLEXT_DEBUGMEM - static bool MemCheck(void *blk); -#else - static bool MemCheck(void *) { return true; } -#endif - -#endif // USECMEM - -#ifndef __BORLANDC__ - inline void *operator new(size_t,void *p) { return p; } - inline void operator delete(void *,void *) {} -#ifndef __MRC__ - inline void *operator new[](size_t,void *p) { return p; } - inline void operator delete[](void *,void *) {} -#endif -#endif - - //! Get an aligned memory block - static void *NewAligned(size_t bytes,int bitalign = 128); - // same with templated type - template<typename T> - static T *NewAligned(size_t times,int bitalign = 128) { return static_cast<T *>(NewAligned(times*sizeof(T),bitalign)); } - //! Free an aligned memory block - static void FreeAligned(void *blk); - //! Test for alignment - static bool IsAligned(void *ptr,int bitalign = 128) { - return (reinterpret_cast<size_t>(ptr)&(bitalign-1)) == 0; - } - //! @} FLEXT_S_MEMORY -}; - -#ifndef FLEXT_USE_CMEM -/************************************************************************/ -// MFC doesn't like global overloading of allocators -// anyway, who likes MFC - -#if !defined(_MSC_VER) && !defined(__BORLANDC__) -#define NEWTHROW throw(std::bad_alloc) -#define DELTHROW throw() -#else -#define NEWTHROW -#define DELTHROW -#endif - -// define global new/delete operators -inline void *operator new(size_t bytes) NEWTHROW { return flext_root::operator new(bytes); } -inline void operator delete(void *blk) DELTHROW { flext_root::operator delete(blk); } -#ifndef __MRC__ // doesn't allow new[] overloading?! -inline void *operator new[](size_t bytes) NEWTHROW { return flext_root::operator new[](bytes); } -inline void operator delete[](void *blk) DELTHROW { flext_root::operator delete[](blk); } -#endif - -#endif // FLEXT_USE_CMEM - -/************************************************************************/ - -class FLEXT_SHARE FLEXT_CLASSDEF(flext); -typedef class FLEXT_CLASSDEF(flext) flext; - -class FLEXT_SHARE FLEXT_CLASSDEF(flext_base); - -/*! \brief Flext support class - - A number of methods (most are static functions) are defined here for convenience. - This class doesn't define any data members, hence it can be inherited to all - classes (not only PD objects) to profit from the cross-platform functionality. - Examples are the overloaded memory allocation, atom and atom list functions, - thread functions and classes, the sample buffer class and others. - - This class can also be used for a non-object class (not representing an external object) - and won't give any extra burden to it. -*/ - -class FLEXT_SHARE FLEXT_CLASSDEF(flext): - public flext_root -{ - /*! \defgroup FLEXT_SUPPORT Flext support class - @{ - */ -public: - -// --- version ----------------------------------------------- - - /*! \brief Flext version number - - Return the version number of the flext library. - For statically linked flext this is identical to the header definition FLEXT_VERSION, - otherwise it reflects the version number of the shared flext library. - */ - static int Version(); - - //! Flext version string - static const char *VersionStr(); - -// --- special typedefs --------------------------------------------- - -// later! -#if 0 - typedef t_float Float; - typedef t_int Int; - typedef t_sample Sample; - typedef const t_symbol *Symbol; - typedef t_atom Atom; -#endif - -// --- buffer/array stuff ----------------------------------------- - - /*! \defgroup FLEXT_S_BUFFER Buffer handling - @{ - */ - - //! Class for platform independent buffer handling - class FLEXT_SHARE buffer: - public flext_root - { - public: - -#if FLEXT_SYS == FLEXT_SYS_PD - typedef bool lock_t; -#elif FLEXT_SYS == FLEXT_SYS_MAX - typedef long lock_t; -#else -#error Not implemented -#endif - - -// PD 64-bit buffer handling macros -#if FLEXT_SYS == FLEXT_SYS_PD -# if PD_MINOR_VERSION >= 41 - /* use new garray support that is 64-bit safe */ -# define FLEXT_PD_ARRAYGRAB garray_getfloatwords -# define FLEXT_ARRAYTYPE t_word -# define FLEXT_GETSAMPLE(x) ((x).w_float) - -# else - /* use old garray support, not 64-bit safe */ -# define FLEXT_PD_ARRAYGRAB garray_getfloatarray -# define FLEXT_ARRAYTYPE t_sample -# define FLEXT_GETSAMPLE(x) (x) -# endif - -#elif FLEXT_SYS == FLEXT_SYS_MAX -# define FLEXT_ARRAYTYPE t_sample -# define FLEXT_GETSAMPLE(x) (x) -#endif - - class Element { - public: - Element() {} - Element(t_sample s) { FLEXT_GETSAMPLE(el) = s; } - operator t_sample &() { return FLEXT_GETSAMPLE(el); } - operator t_sample () const { return FLEXT_GETSAMPLE(el); } - protected: - FLEXT_ARRAYTYPE el; - }; - - /*! \brief Construct buffer. - \param s: symbol name, can be NULL - \param delayed = true: only sets name, needs another Set(NULL) to really initialize the buffer - \remark As externals can be created prior to the buffer objects they are pointing to, initialization should be done at loadbang! - */ - buffer(const t_symbol *s = NULL,bool delayed = false); - - //! Destroy buffer - ~buffer(); - - /*! \brief Check if the buffer is valid for use - \note This must be true to use any of the other functions except set - */ - bool Ok() const - { - return sym -#if FLEXT_SYS == FLEXT_SYS_PD - && arr -#endif - && data; - } - - /*! \brief Check if buffer content is valid (not in state of content change) - \note buffer must be Ok() - */ - bool Valid() const - { - FLEXT_ASSERT(sym); -#if FLEXT_SYS == FLEXT_SYS_PD - return true; -#elif FLEXT_SYS == FLEXT_SYS_MAX - const t_buffer *p = (const t_buffer *)sym->s_thing; - return p && p->b_valid; -#else -#error not implemented -#endif - } - - /*! \brief Check and update if the buffer has been changed (e.g. resized) - \note buffer must be Ok() - */ - bool Update(); - - /*! \brief Lock buffer - \return previous state (needed for Unlock) - \note buffer must be Ok() - */ - lock_t Lock(); - - /*! \brief Unlock buffer - \param prv: Previous state is returned by Lock() - \note buffer must be Ok() - */ - void Unlock(lock_t prv); - - /*! \brief Set to specified buffer. - \param nameonly: if true sets name only, but doesn't look at buffer actually - \return -1 on failure, 0 on success, 1 if parameters (length, data ptr, channels) have changed - */ - int Set(const t_symbol *s = NULL,bool nameonly = false); - - /*! \brief Declare buffer content as dirty. - \param refr: if true forces immediate graphics refresh - */ - void Dirty(bool refr = false); - - //! Clear the dirty flag. - void ClearDirty(); - - /*! Query whether the buffer content has been changed since the last ClearDirty() - \note With mainstream versions of PD this will always return true, since the dirtiness can't be judged - */ - bool IsDirty() const; - - //! Get symbol of buffer - const t_symbol *Symbol() const { return sym; } - - //! Get literal name of buffer - const char *Name() const { return sym?GetString(sym):""; } - - /*! \brief Get pointer to buffer, channel and frame count. - \remark Channels are interleaved - */ - Element *Data() { return data; } - - const Element *Data() const { return data; } - - //! Get channel count - int Channels() const { return chns; } - //! Get frame count - int Frames() const { return frames; } - //! Set frame count - void Frames(int fr,bool keep = false,bool zero = true); - - //! Get data value in a platform-independent way - inline t_sample operator [](int index) const { return data[index]; } - - //! Reference data value in a platform-independent way - inline t_sample &operator [](int index) { return data[index]; } - - //! Graphic auto refresh interval - void SetRefrIntv(float intv); - - //! Buffer locking class - class Locker - { - public: - Locker(buffer &b): buf(b),lock(b.Lock()) {} - ~Locker() { buf.Unlock(lock); } - private: - buffer &buf; - lock_t lock; - }; - - protected: - //! buffer name - const t_symbol *sym; - //! array holding audio data - Element *data; - //! number of audio channels - int chns; - //! number of frames (multiplied by chns for the number of samples) - int frames; -#if FLEXT_SYS == FLEXT_SYS_PD - //! pointer to the PD array structure - t_garray *arr; - //! update interval - float interval; - //! flag signaling that the data has been changed - bool isdirty; - //! flag showing that the update clock is active - bool ticking; - //! update clock - t_clock *tick; - //! last time the dirty flag was cleared (using the clock_getlogicaltime function) - double cleantime; - - private: - //! update clock callback - static void cb_tick(buffer *b); -#elif FLEXT_SYS == FLEXT_SYS_MAX - //! last time the dirty flag was cleared (using the gettime function) - long cleantime; -#endif - }; - - -//! @} FLEXT_S_BUFFER - -// --- utilities -------------------------------------------------- - - /*! \defgroup FLEXT_S_UTIL Utility functions - @{ - */ - - //! Copy an atom - static void CopyAtom(t_atom *dst,const t_atom *src) { *dst = *src; } - - //! Copy atoms - static void CopyAtoms(int cnt,t_atom *dst,const t_atom *src); - - //! Print an atom - static bool PrintAtom(const t_atom &a,char *buf,size_t bufsz); - - /*! Scan an atom until whitespace - \return next token position, or NULL on failure - */ - static const char *ScanAtom(t_atom &a,const char *buf); - - //! Copy a list of atoms - static t_atom *CopyList(int argc,const t_atom *argv); - - //! Print an atom list - static bool PrintList(int argc,const t_atom *argv,char *buf,size_t bufsz); - - /*! Scan an atom list - \param argc ... maximum amount of atoms scanned - \param argv ... array of atoms - \param buf ... char buffer - */ - static int ScanList(int argc,t_atom *argv,const char *buf); - - //! Copy a memory region - static void CopyMem(void *dst,const void *src,int bytes); - //! Copy a sample array - static void CopySamples(t_sample *dst,const t_sample *src,int cnt); - static void CopySamples(buffer::Element *dst,const buffer::Element *src,int cnt) { CopyMem(dst,src,sizeof(*src)*cnt); } - //! Set a memory region - static void ZeroMem(void *dst,int bytes); - //! Set a sample array to a fixed value - static void SetSamples(t_sample *dst,int cnt,t_sample s); - static void SetSamples(buffer::Element *dst,int cnt,t_sample s) { for(int i = 0; i < cnt; ++i) dst[i] = s; } - //! Set a sample array to 0 - static void ZeroSamples(t_sample *dst,int cnt) { SetSamples(dst,cnt,0); } - static void ZeroSamples(buffer::Element *dst,int cnt) { ZeroMem(dst,sizeof(*dst)*cnt); } - - - //! Get a 32 bit hash value from an atom - static unsigned long AtomHash(const t_atom &a); - -//! @} FLEXT_S_UTIL - -// --- various symbols -------------------------------------------- - - /*! \defgroup FLEXT_S_ATOM Atom/list handling - @{ - */ - - //! Symbol constant for "" - static const t_symbol *sym__; - //! Symbol constant for "float" - static const t_symbol *sym_float; - //! Symbol constant for "symbol" - static const t_symbol *sym_symbol; - //! Symbol constant for "bang" - static const t_symbol *sym_bang; - //! Symbol constant for "list" - static const t_symbol *sym_list; - //! Symbol constant for "anything" - static const t_symbol *sym_anything; - - /*! \brief Symbol constant for "int" - \note Only the Max/MSP system has this defined as an internal type - */ - static const t_symbol *sym_int; - - /*! Symbol constant for "pointer" - \note Only PD has this defined as an internal type - */ - static const t_symbol *sym_pointer; - - //! Symbol constant for "signal" - static const t_symbol *sym_signal; - - //! \note This is used in macros where the type of the arg is not clear - static const t_symbol *MakeSymbol(const t_symbol *s) { return s; } - - //! Make a symbol from a string - static const t_symbol *MakeSymbol(const char *s) { return ::gensym(const_cast<char *>(s)); } - //! Get symbol string - static const char *GetString(const t_symbol *s) { return s->s_name; } - //! Check for symbol and get string - static const char *GetAString(const t_symbol *s,const char *def = NULL) { return s?GetString(s):def; } - -// --- atom stuff ---------------------------------------- - - //! Set atom from another atom - static void SetAtom(t_atom &a,const t_atom &b) { CopyAtom(&a,&b); } - //! Compare two atoms - static int CmpAtom(const t_atom &a,const t_atom &b); - - // there are some more comparison functions for t_atom types outside the class - - //! Set atom from another atom - static int GetType(const t_atom &a) { return a.a_type; } - - //! Check whether the atom is nothing - static bool IsNothing(const t_atom &a) { return a.a_type == A_NULL; } - //! Set the atom to represent nothing - static void SetNothing(t_atom &a) { a.a_type = A_NULL; } - - //! Check whether the atom is a float - static bool IsFloat(const t_atom &a) { return a.a_type == A_FLOAT; } - - //! Check whether the atom can be represented as a float - static bool CanbeFloat(const t_atom &a) { return IsFloat(a) || IsInt(a); } - - //! Access the float value (without type check) - static float GetFloat(const t_atom &a) { return a.a_w.w_float; } - //! Set the atom to represent a float - static void SetFloat(t_atom &a,float v) { a.a_type = A_FLOAT; a.a_w.w_float = v; } - - //! Check whether the atom is a symbol - static bool IsSymbol(const t_atom &a) { return a.a_type == A_SYMBOL; } - -#if FLEXT_SYS == FLEXT_SYS_PD - //! Access the symbol value (without type check) - static const t_symbol *GetSymbol(const t_atom &a) { return const_cast<const t_symbol *>(a.a_w.w_symbol); } - //! Set the atom to represent a symbol - static void SetSymbol(t_atom &a,const t_symbol *s) { a.a_type = A_SYMBOL; a.a_w.w_symbol = const_cast<t_symbol *>(s); } -#elif FLEXT_SYS == FLEXT_SYS_MAX - //! Access the symbol value (without type check) - static const t_symbol *GetSymbol(const t_atom &a) { return const_cast<const t_symbol *>(a.a_w.w_sym); } - //! Set the atom to represent a symbol - static void SetSymbol(t_atom &a,const t_symbol *s) { a.a_type = A_SYMBOL; a.a_w.w_sym = const_cast<t_symbol *>(s); } -#else -#error -#endif - //! Check for a symbol and get its value - static const t_symbol *GetASymbol(const t_atom &a,const t_symbol *def = NULL) { return IsSymbol(a)?GetSymbol(a):def; } // NULL or empty symbol? - - //! Check whether the atom is a string - static bool IsString(const t_atom &a) { return IsSymbol(a); } - //! Access the string value (without type check) - static const char *GetString(const t_atom &a) { const t_symbol *s = GetSymbol(a); return s?GetString(s):NULL; } - //! Check for a string and get its value - static const char *GetAString(const t_atom &a,const char *def = NULL) { return IsSymbol(a)?GetAString(GetSymbol(a),def):def; } - //! Check for a string and get its value - static void GetAString(const t_atom &a,char *buf,size_t szbuf); - //! Set the atom to represent a string - static void SetString(t_atom &a,const char *c) { SetSymbol(a,MakeSymbol(c)); } - - //! Check whether the atom can be represented as an integer - static bool CanbeInt(const t_atom &a) { return IsFloat(a) || IsInt(a); } - -#if FLEXT_SYS == FLEXT_SYS_PD - //! Check for a float and get its value - static float GetAFloat(const t_atom &a,float def = 0) { return IsFloat(a)?GetFloat(a):def; } - - //! Check whether the atom is an integer - static bool IsInt(const t_atom &) { return false; } - //! Access the integer value (without type check) - static int GetInt(const t_atom &a) { return (int)GetFloat(a); } - //! Check for an integer and get its value - static int GetAInt(const t_atom &a,int def = 0) { return (int)GetAFloat(a,(float)def); } - //! Set the atom to represent a integer (depending on the system) - static void SetInt(t_atom &a,int v) { a.a_type = A_FLOAT; a.a_w.w_float = (float)v; } - -#ifndef FLEXT_COMPATIBLE - //! Check whether the atom strictly is a pointer - static bool IsPointer(const t_atom &a) { return a.a_type == A_POINTER; } - //! Check whether the atom can be a pointer - static bool CanbePointer(const t_atom &a) { return IsPointer(a); } - //! Access the pointer value (without type check) - static t_gpointer *GetPointer(const t_atom &a) { return a.a_w.w_gpointer; } - //! Check for a pointer and get its value - static t_gpointer *GetAPointer(const t_atom &a,t_gpointer *def = NULL) { return IsPointer(a)?GetPointer(a):def; } - //! Set the atom to represent a pointer - static void SetPointer(t_atom &a,t_gpointer *p) { a.a_type = A_POINTER; a.a_w.w_gpointer = (t_gpointer *)p; } -#endif - -#elif FLEXT_SYS == FLEXT_SYS_MAX - //! Check for a float and get its value - static float GetAFloat(const t_atom &a,float def = 0) { return IsFloat(a)?GetFloat(a):(IsInt(a)?GetInt(a):def); } - - //! Check whether the atom is an int - static bool IsInt(const t_atom &a) { return a.a_type == A_INT; } - //! Access the integer value (without type check) - static int GetInt(const t_atom &a) { return a.a_w.w_long; } - //! Check for an integer and get its value - static int GetAInt(const t_atom &a,int def = 0) { return IsInt(a)?GetInt(a):(IsFloat(a)?(int)GetFloat(a):def); } - //! Set the atom to represent an integer - static void SetInt(t_atom &a,int v) { a.a_type = A_INT; a.a_w.w_long = v; } -#else -#error "Platform not supported" -#endif - - // bool type - based on int - - //! Set the atom to represent a boolean - static void SetBool(t_atom &a,bool v) { SetInt(a,v?1:0); } - //! Check whether the atom can be represented as a boolean - static bool CanbeBool(const t_atom &a) { return CanbeInt(a); } - //! Check for an boolean and get its value - static bool GetABool(const t_atom &a) { return GetAInt(a) != 0; } - //! Check for an boolean and get its value - static bool GetBool(const t_atom &a) { return GetInt(a) != 0; } - -// --- atom list stuff ------------------------------------------- - - //! Class representing a list of atoms - class FLEXT_SHARE AtomList - : public flext_root - { - public: - //! Construct list - AtomList(): cnt(0),lst(NULL) {} - //! Construct list - explicit AtomList(int argc,const t_atom *argv = NULL): cnt(0),lst(NULL) { operator()(argc,argv); } - //! Construct list - AtomList(const AtomList &a): cnt(0),lst(NULL) { operator =(a); } - //! Destroy list - virtual ~AtomList(); - - //! Clear list - AtomList &Clear() { return operator()(); } - - //! Set list - AtomList &Set(int argc,const t_atom *argv,int offs = 0,bool resize = false); - //! Get list - int Get(t_atom *argv,int mxsz = -1) const; - - //! Set list - AtomList &operator()(int argc = 0,const t_atom *argv = NULL) { return Set(argc,argv,0,true); } - //! Set list by another AtomList - AtomList &operator =(const AtomList &a) { return operator()(a.Count(),a.Atoms()); } - - //! Compare list to another AtomList ( -1..< , 0..==, 1...> ) - int Compare(const AtomList &a) const; - - bool operator <(const AtomList &a) const { return Compare(a) < 0; } - bool operator <=(const AtomList &a) const { return Compare(a) <= 0; } - bool operator >(const AtomList &a) const { return Compare(a) > 0; } - bool operator >=(const AtomList &a) const { return Compare(a) >= 0; } - bool operator ==(const AtomList &a) const { return Compare(a) == 0; } - bool operator !=(const AtomList &a) const { return Compare(a) != 0; } - - //! Get number of atoms in the list - int Count() const { return cnt; } - //! Get a reference to an indexed atom - t_atom &operator [](int ix) { return lst[ix]; } - //! Get a reference to an indexed atom - const t_atom &operator [](int ix) const { return lst[ix]; } - - //! Get a pointer to the list of atoms - t_atom *Atoms() { return lst; } - //! Get a pointer to the list of atoms - const t_atom *Atoms() const { return lst; } - - //! Append an atom list to the list - AtomList &Append(int argc,const t_atom *argv = NULL) - { - int c = Count(); - Alloc(c+argc,0,c); - Set(argc,argv,c); - return *this; - } - - //! Prepend an atom list to the list - AtomList &Prepend(int argc,const t_atom *argv = NULL) - { - int c = Count(); - Alloc(c+argc,0,c,argc); - Set(argc,argv); - return *this; - } - - //! Append an atom to the list - AtomList &Append(const t_atom &a) { return Append(1,&a); } - //! Append an atom list to the list - AtomList &Append(const AtomList &a) { return Append(a.Count(),a.Atoms()); } - //! Prepend an atom to the list - AtomList &Prepend(const t_atom &a) { return Prepend(1,&a); } - //! Prepend an atom list to the list - AtomList &Prepend(const AtomList &a) { return Prepend(a.Count(),a.Atoms()); } - - //! Get a part of the list - void GetPart(int offs,int len,AtomList &ret) const; - //! Set to a part of the list - AtomList &Part(int offs,int len) { GetPart(offs,len,*this); return *this; } - - //! Represent as a string - bool Print(char *buffer,int buflen) const { return flext::PrintList(Count(),Atoms(),buffer,buflen); } - - /*! Read from string - \note: doesn't clear or reallocate the list - */ - int Scan(const char *buffer) { return flext::ScanList(Count(),Atoms(),buffer); } - - protected: - virtual void Alloc(int sz,int keepix = -1,int keeplen = -1,int keepto = 0); - virtual void Free(); - - int cnt; - t_atom *lst; - }; - - class FLEXT_SHARE AtomListStaticBase - : public AtomList - { - protected: - explicit AtomListStaticBase(int pc,t_atom *dt): precnt(pc),predata(dt) {} - virtual ~AtomListStaticBase(); - virtual void Alloc(int sz,int keepix = -1,int keeplen = -1,int keepto = 0); - virtual void Free(); - - AtomListStaticBase &operator =(const AtomList &a) { AtomList::operator =(a); return *this; } - AtomListStaticBase &operator =(const AtomListStaticBase &a) { AtomList::operator =(a); return *this; } - - const int precnt; - t_atom *const predata; - }; - - template<int PRE> - class AtomListStatic - : public AtomListStaticBase - { - public: - //! Construct list - explicit AtomListStatic(): AtomListStaticBase(PRE,pre) {} - //! Construct list - explicit AtomListStatic(int argc,const t_atom *argv = NULL): AtomListStaticBase(PRE,pre) { operator()(argc,argv); } - //! Construct list - explicit AtomListStatic(const AtomList &a): AtomListStaticBase(PRE,pre) { operator =(a); } - - //! Set list by another AtomList - AtomListStatic &operator =(const AtomList &a) { AtomListStaticBase::operator =(a); return *this; } - AtomListStatic &operator =(const AtomListStatic &a) { AtomListStaticBase::operator =(a); return *this; } - protected: - t_atom pre[PRE]; - }; - - //! Class representing an "anything" - class FLEXT_SHARE AtomAnything: - public AtomList - { - public: - explicit AtomAnything(): hdr(NULL) {} - - //! Construct anything - explicit AtomAnything(const t_symbol *h,int argc = 0,const t_atom *argv = NULL) - : AtomList(argc,argv),hdr(h?h:sym__) - {} - - //! Construct anything - explicit AtomAnything(const char *h,int argc = 0,const t_atom *argv = NULL) - : AtomList(argc,argv),hdr(MakeSymbol(h)) - {} - - //! Construct anything - AtomAnything(const AtomAnything &a) - : AtomList(a),hdr(a.hdr) - {} - - //! Clear anything - AtomAnything &Clear() { return operator()(); } - - //! Get header symbol of anything - const t_symbol *Header() const { return hdr; } - - //! Set header symbol of anything - void Header(const t_symbol *h) { hdr = h; } - - //! Set anything - AtomAnything &operator()(const t_symbol *h = NULL,int argc = 0,const t_atom *argv = NULL) - { - hdr = h; AtomList::operator()(argc,argv); - return *this; - } - - //! Set list by another AtomAnything - AtomAnything &operator =(const AtomAnything &a) { return operator()(a.Header(),a.Count(),a.Atoms()); } - - protected: - const t_symbol *hdr; - }; - - - // double type - based on two floats - -#ifdef _MSC_VER -#pragma optimize("p",off) // improve floating point precision consistency -#endif - static t_atom *SetDouble(t_atom *dbl,double d) - { - float f = static_cast<float>(d); - float r = static_cast<float>(d-f); - SetFloat(dbl[0],f); - SetFloat(dbl[1],r); - return dbl; - } -#ifdef _MSC_VER -#pragma optimize("p",on) -#endif - - static double GetDouble(int argc,const t_atom *argv) - { - double d = argc >= 1?GetAFloat(argv[0]):0; - return argc >= 2?d+GetAFloat(argv[1]):d; - } - - static AtomList &SetDouble(AtomList &l,double d) { SetDouble(l(2).Atoms(),d); return l; } - - static double GetDouble(const AtomList &l) { return GetDouble(l.Count(),l.Atoms()); } - - //! @} FLEXT_S_ATOM - - -// --- messages ------------------------------------------------------- - - /*! \defgroup FLEXT_S_MSGBUNDLE Flext message handling - @{ - */ - - class MsgBundle; - - //! Make new message bundle - static MsgBundle *MsgNew(); - - //! Destroy message bundle - static void MsgFree(MsgBundle *mb); - - //! Send (and destroy) message bundle - static void ToSysMsg(MsgBundle *mb); - - //! Send (and destroy) message bundle - static void ToOutMsg(MsgBundle *mb); - - //! Send low priority (and destroy) message bundle - static void ToQueueMsg(MsgBundle *mb); - - //! @} FLEXT_S_MSGBUNDLE - - - /*! \defgroup FLEXT_S_MSG Flext message handling - @{ - */ - - static bool Forward(const t_symbol *sym,const t_symbol *s,int argc,const t_atom *argv); - static bool Forward(const t_symbol *sym,const AtomAnything &args) { return Forward(sym,args.Header(),args.Count(),args.Atoms()); } - static bool Forward(const char *sym,const AtomAnything &args) { return Forward(MakeSymbol(sym),args.Header(),args.Count(),args.Atoms()); } - static bool Forward(const t_symbol *sym,int argc,const t_atom *argv) { return Forward(sym,sym_list,argc,argv); } - static bool Forward(const t_symbol *sym,const AtomList &args) { return Forward(sym,args.Count(),args.Atoms()); } - static bool Forward(const char *sym,const AtomList &args) { return Forward(MakeSymbol(sym),args.Count(),args.Atoms()); } - - static bool SysForward(const t_symbol *sym,const t_symbol *s,int argc,const t_atom *argv); - static bool SysForward(const t_symbol *sym,const AtomAnything &args) { return SysForward(sym,args.Header(),args.Count(),args.Atoms()); } - static bool SysForward(const char *sym,const AtomAnything &args) { return SysForward(MakeSymbol(sym),args.Header(),args.Count(),args.Atoms()); } - static bool SysForward(const t_symbol *sym,int argc,const t_atom *argv) { return SysForward(sym,sym_list,argc,argv); } - static bool SysForward(const t_symbol *sym,const AtomList &args) { return SysForward(sym,args.Count(),args.Atoms()); } - static bool SysForward(const char *sym,const AtomList &args) { return SysForward(MakeSymbol(sym),args.Count(),args.Atoms()); } - - static bool QueueForward(const t_symbol *sym,const t_symbol *s,int argc,const t_atom *argv); - static bool QueueForward(const t_symbol *sym,const AtomAnything &args) { return QueueForward(sym,args.Header(),args.Count(),args.Atoms()); } - static bool QueueForward(const char *sym,const AtomAnything &args) { return QueueForward(MakeSymbol(sym),args.Header(),args.Count(),args.Atoms()); } - static bool QueueForward(const t_symbol *sym,int argc,const t_atom *argv) { return QueueForward(sym,sym_list,argc,argv); } - static bool QueueForward(const t_symbol *sym,const AtomList &args) { return QueueForward(sym,args.Count(),args.Atoms()); } - static bool QueueForward(const char *sym,const AtomList &args) { return QueueForward(MakeSymbol(sym),args.Count(),args.Atoms()); } - - static bool MsgForward(MsgBundle *mb,const t_symbol *sym,const t_symbol *s,int argc,const t_atom *argv); - static bool MsgForward(MsgBundle *mb,const t_symbol *sym,const AtomAnything &args) { return MsgForward(mb,sym,args.Header(),args.Count(),args.Atoms()); } - static bool MsgForward(MsgBundle *mb,const char *sym,const AtomAnything &args) { return MsgForward(mb,MakeSymbol(sym),args.Header(),args.Count(),args.Atoms()); } - static bool MsgForward(MsgBundle *mb,const t_symbol *sym,int argc,const t_atom *argv) { return MsgForward(mb,sym,sym_list,argc,argv); } - static bool MsgForward(MsgBundle *mb,const t_symbol *sym,const AtomList &args) { return MsgForward(mb,sym,args.Count(),args.Atoms()); } - static bool MsgForward(MsgBundle *mb,const char *sym,const AtomList &args) { return MsgForward(mb,MakeSymbol(sym),args.Count(),args.Atoms()); } - - //! @} FLEXT_S_MSG - - - -// --- thread stuff ----------------------------------------------- - - /*! \defgroup FLEXT_S_LOCK Global system locking - @{ - */ - -#if FLEXT_SYS == FLEXT_SYS_PD - #if PD_MINOR_VERSION >= 38 || (PD_MINOR_VERSION >= 37 && defined(PD_DEVEL_VERSION)) - static void Lock() { sys_lock(); } - static void Unlock() { sys_unlock(); } - #else - // no system locking for old PD versions - static void Lock() {} - static void Unlock() {} - #endif -#elif FLEXT_SYS == FLEXT_SYS_MAX - // Max 4.2 upwards! - static void Lock() { critical_enter(0); } - static void Unlock() { critical_exit(0); } -#else -#error -#endif - -//! @} FLEXT_S_LOCK - - /*! \defgroup FLEXT_S_THREAD Flext thread handling - @{ - */ - - //! Check if current thread is registered to be a secondary thread -#ifdef FLEXT_THREADS - static bool IsThreadRegistered(); -#else - static bool IsThreadRegistered() { return false; } -#endif - -#ifdef FLEXT_THREADS - - //! thread type -# if FLEXT_THREADS == FLEXT_THR_MP - typedef MPTaskID thrid_t; -# elif FLEXT_THREADS == FLEXT_THR_POSIX - typedef pthread_t thrid_t; -# elif FLEXT_THREADS == FLEXT_THR_WIN32 - typedef DWORD thrid_t; -# else -# error Threading model not supported -# endif - - /*! \brief Get current thread id - */ - static thrid_t GetThreadId() { -#if FLEXT_THREADS == FLEXT_THR_POSIX - return pthread_self(); -#elif FLEXT_THREADS == FLEXT_THR_MP - return MPCurrentTaskID(); -#elif FLEXT_THREADS == FLEXT_THR_WIN32 - return GetCurrentThreadId(); -#else -#error -#endif - } - - /*! \brief Get system thread id - */ - static thrid_t GetSysThreadId() { return thrid; } - - //! Check if current thread should terminate - static bool ShouldExit(); - - //! Check if current thread is the realtime system's thread - static bool IsThread(thrid_t t,thrid_t ref = GetThreadId()) { -#if FLEXT_THREADS == FLEXT_THR_POSIX - return pthread_equal(ref,t) != 0; -#else - return ref == t; -#endif - } - - - /*! \brief Thread parameters - \internal - */ - class FLEXT_SHARE thr_params: - public flext_root - { - public: - thr_params(int n = 1); - ~thr_params(); - - void set_any(const t_symbol *s,int argc,const t_atom *argv); - void set_list(int argc,const t_atom *argv); - - FLEXT_CLASSDEF(flext_base) *cl; - union _data { - bool _bool; - float _float; - int _int; - t_symptr _t_symptr; - AtomAnything *_any; - AtomList *_list; - void *_ext; - } *var; - }; - -protected: - - static thrid_t thrhelpid; - static thrid_t thrmsgid; - static void ThrHelper(void *); - - //! the system's thread id - static thrid_t thrid; // the system thread - -private: - static bool StartHelper(); // used in flext::Setup() - -public: - - /*! \brief Yield to other threads - \remark A call to this is only needed for systems with cooperative multitasking like MacOS<=9 - */ - static void ThrYield() { -#if FLEXT_THREADS == FLEXT_THR_POSIX - // for a preemptive system this should do nothing - sched_yield(); -#elif FLEXT_THREADS == FLEXT_THR_MP - MPYield(); -#elif FLEXT_THREADS == FLEXT_THR_WIN32 - SwitchToThread(); -#else -#error -#endif - } - - /*! \brief Query whether task is preemptive - */ - static bool IsThreadPreemptive(thrid_t t = GetThreadId()) { -#if FLEXT_THREADS == FLEXT_THR_POSIX || FLEXT_THREADS == FLEXT_THR_WIN32 - return true; -#elif FLEXT_THREADS == FLEXT_THR_MP - return MPTaskIsPreemptive(t); -#else -#error -#endif - } - - - /*! \brief Increase/Decrease priority of a thread - */ - static bool RelPriority(int dp,thrid_t ref = GetSysThreadId(),thrid_t thr = GetThreadId()); - - /*! \brief Get priority of a thread - */ - static int GetPriority(thrid_t thr = GetThreadId()); - - /*! \brief Set priority of a thread - */ - static bool SetPriority(int p,thrid_t thr = GetThreadId()); - - /*! \brief Thread mutex - \sa pthreads documentation - */ - class FLEXT_SHARE ThrMutex: - public flext_root -#if FLEXT_THREADS == FLEXT_THR_POSIX - { - public: - //! Construct thread mutex - ThrMutex() { pthread_mutex_init(&mutex,NULL); } - //! Destroy thread mutex - ~ThrMutex() { pthread_mutex_destroy(&mutex); } - - //! Lock thread mutex - bool Lock() { return pthread_mutex_lock(&mutex) == 0; } - /*! Wait to lock thread mutex. - \todo Implement! - */ -// bool WaitForLock(double tm) { return pthread_mutex_lock(&mutex) == 0; } - //! Try to lock, but don't wait - bool TryLock() { return pthread_mutex_trylock(&mutex) == 0; } - //! Unlock thread mutex - bool Unlock() { return pthread_mutex_unlock(&mutex) == 0; } - - protected: - pthread_mutex_t mutex; -// int cnt; - }; -#elif FLEXT_THREADS == FLEXT_THR_WIN32 - { - public: - //! Construct thread mutex - ThrMutex() { ::InitializeCriticalSection(&mutex); } - //! Destroy thread mutex - ~ThrMutex() { ::DeleteCriticalSection(&mutex); } - - //! Lock thread mutex - bool Lock() { ::EnterCriticalSection(&mutex); return true; } - /*! Wait to lock thread mutex. - \todo Implement! - */ -// bool WaitForLock(double tm) { return pthread_mutex_lock(&mutex) == 0; } - //! Try to lock, but don't wait - bool TryLock() { return ::TryEnterCriticalSection(&mutex) != 0; } - //! Unlock thread mutex - bool Unlock() { ::LeaveCriticalSection(&mutex); return true; } - - protected: - CRITICAL_SECTION mutex; - }; -#elif FLEXT_THREADS == FLEXT_THR_MP - { - public: - //! Construct thread mutex - ThrMutex() { MPCreateCriticalRegion(&crit); } - //! Destroy thread mutex - ~ThrMutex() { MPDeleteCriticalRegion(crit); } - - //! Lock thread mutex - bool Lock() { return MPEnterCriticalRegion(crit,kDurationForever) == noErr; } - //! Wait to lock thread mutex -// bool WaitForLock(double tm) { return MPEnterCriticalRegion(crit,tm*kDurationMicrosecond*1.e6) == noErr; } - //! Try to lock, but don't wait - bool TryLock() { return MPEnterCriticalRegion(crit,kDurationImmediate) == noErr; } - //! Unlock thread mutex - bool Unlock() { return MPExitCriticalRegion(crit) == noErr; } - - protected: - MPCriticalRegionID crit; - }; -#else -#error "Not implemented" -#endif - - /*! \brief Thread conditional - \sa pthreads documentation - */ - class FLEXT_SHARE ThrCond -#if FLEXT_THREADS == FLEXT_THR_POSIX - :public ThrMutex - { - public: - //! Construct thread conditional - ThrCond() { pthread_cond_init(&cond,NULL); } - //! Destroy thread conditional - ~ThrCond() { pthread_cond_destroy(&cond); } - - //! Wait for condition - bool Wait(); - - /*! Wait for condition (for a certain time). - \param ftime Wait time in seconds - \ret true = signalled, false = timed out - \remark If ftime = 0 this may suck away your cpu if used in a signalled loop. - \remark The time resolution of the implementation is required to be at least ms. - */ - bool TimedWait(double ftime); - - //! Signal condition - bool Signal() { return pthread_cond_signal(&cond) == 0; } - - protected: - pthread_cond_t cond; - }; -#elif FLEXT_THREADS == FLEXT_THR_WIN32 - { - public: - //! Construct thread conditional - ThrCond() { cond = CreateEvent(NULL,FALSE,FALSE,NULL); } - //! Destroy thread conditional - ~ThrCond() { CloseHandle(cond); } - - //! Wait for condition - bool Wait() { return WaitForSingleObject(cond,INFINITE) == WAIT_OBJECT_0; } - - /*! Wait for condition (for a certain time). - \param ftime Wait time in seconds - \ret true = signalled, false = timed out - \remark If ftime = 0 this may suck away your cpu if used in a signalled loop. - \remark The time resolution of the implementation is required to be at least ms. - */ - bool TimedWait(double ftime) { return WaitForSingleObject(cond,(LONG)(ftime*1000)) == WAIT_OBJECT_0; } - - //! Signal condition - bool Signal() { return SetEvent(cond) != 0; } - - protected: - HANDLE cond; - }; -#elif FLEXT_THREADS == FLEXT_THR_MP - { - public: - //! Construct thread conditional - ThrCond() { MPCreateEvent(&ev); } - //! Destroy thread conditional - ~ThrCond() { MPDeleteEvent(ev); } - - //! Wait for condition - bool Wait() { return MPWaitForEvent(ev,NULL,kDurationForever) == noErr; } - - /*! \brief Wait for condition (for a certain time). - \param time Wait time in seconds - */ - bool TimedWait(double tm) { return MPWaitForEvent(ev,NULL,tm*kDurationMicrosecond*1.e6) == noErr; } - - //! Signal condition - bool Signal() { return MPSetEvent(ev,1) == noErr; } // one bit needs to be set at least - - protected: - MPEventID ev; - }; -#else -#error "Not implemented" -#endif - - protected: - /*! \brief Add current thread to list of active threads. - \note Calls RegisterThread automatically - \return true on success - \internal - */ - static bool PushThread(); - - /*! \brief Remove current thread from list of active threads. - \note Calls UnregisterThread automatically - \internal - */ - static void PopThread(); - - public: - /*! \brief Launch a thread. - \param meth Thread function - \param params Parameters to pass to the thread, may be NULL if not needed. - \return Thread id on success, NULL on failure - */ - static bool LaunchThread(void (*meth)(thr_params *p),thr_params *params = NULL); - - /*! \brief Terminate a thread. - \param meth Thread function - \param params Parameters to pass to the thread, may be NULL if not needed. - \return True if at least one matching thread has been found. - \remark Terminates all running threads with matching meth and params. - \note Function doesn NOT wait for termination - */ - static bool StopThread(void (*meth)(thr_params *p),thr_params *params = NULL,bool wait = false); - - - //! \brief Register current thread to be allowed to execute flext functions. - static void RegisterThread(thrid_t id = GetThreadId()); - - //! \brief Unregister current thread - static void UnregisterThread(thrid_t id = GetThreadId()); - -#endif // FLEXT_THREADS - -//! @} FLEXT_S_THREAD - - - public: -// --- timer stuff ----------------------------------------------- - -/*! \defgroup FLEXT_S_TIMER Flext timer handling - @{ - - \remark The clock of the real-time system is used for most of these functions. - \remark Since this clock can be synchronized to an external clock (or e.g. the audio card) - \remark it may differ from the clock of the operating system -*/ - - /*! \brief Get time since real-time system startup. - \note This is not the time of the operating system but of the real-time system. - \note It may depend on the time source the system is synchronized to (e.g. audio sample rate). - */ - static double GetTime() - { - #if FLEXT_SYS == FLEXT_SYS_PD - return clock_gettimesince(0)*0.001; - #elif FLEXT_SYS == FLEXT_SYS_MAX - double tm; - clock_getftime(&tm); - return tm*0.001; - #else - #error Not implemented - #endif - } - - /*! \brief Get time granularity of the GetTime function. - \note This can be zero if not determined. - */ - static double GetTimeGrain() - { - #if FLEXT_SYS == FLEXT_SYS_PD - return 0; - #elif FLEXT_SYS == FLEXT_SYS_MAX - return 0.001; - #else - #error Not implemented - #endif - } - - /*! \brief Get operating system time since flext startup. - */ - static double GetOSTime(); - - /*! \brief Sleep for an amount of time. - \remark The OS clock is used for that. - \note Clearly in a real-time system this should only be used in a detached thread. - */ - static void Sleep(double s); - - /*! \brief Class encapsulating a timer with callback functionality. - This class can either be used with FLEXT_ADDTIMER or used as a base class with an overloaded virtual Work function. - */ - class FLEXT_SHARE Timer: - public flext_root - { - public: - Timer(bool queued = false); - virtual ~Timer(); - - //! Set timer callback function. - void SetCallback(void (*cb)(void *data)) { clss = NULL,cback = cb; } - //! Set timer callback function (with class pointer). - void SetCallback(FLEXT_CLASSDEF(flext_base) &th,bool (*cb)(FLEXT_CLASSDEF(flext_base) *th,void *data)) { clss = &th,cback = (void (*)(void *))cb; } - - //! Clear timer. - bool Reset(); - //! Trigger a one shot at an absolute time. - bool At(double time,void *data = NULL,bool dopast = true); - //! Trigger a one shot interval. - bool Delay(double time,void *data = NULL); - //! Trigger a periodic interval. - bool Periodic(double time,void *data = NULL); - //! Trigger immediately. - bool Now(void *data = NULL) { return Delay(0,data); } - - //! Worker function, called on every timer event. - virtual void Work(); - - protected: - static void callback(Timer *tmr); - -#if FLEXT_SYS == FLEXT_SYS_PD - t_clock *clk; -#elif FLEXT_SYS == FLEXT_SYS_MAX - static void queuefun(Timer *tmr); - t_clock *clk; - t_qelem *qelem; -#else -#error Not implemented -#endif - - const bool queued; - void (*cback)(void *data); - FLEXT_CLASSDEF(flext_base) *clss; - void *userdata; - double period; - }; - -//! @} FLEXT_S_TIMER - - //! Check if we are in DSP time - static bool InDSP() { return indsp; } - -// --- SIMD functionality ----------------------------------------------- - -/*! \defgroup FLEXT_S_SIMD Cross platform SIMD support for modern CPUs - @{ -*/ - enum simd_type { - simd_none = 0, - simd_mmx = 0x01, - simd_3dnow = 0x02, - simd_sse = 0x04, - simd_sse2 = 0x08, - simd_altivec = 0x10 - }; - - /*! Check for SIMD capabilities of the CPU */ - static unsigned long GetSIMDCapabilities(); - - - static void MulSamples(t_sample *dst,const t_sample *src,t_sample mul,int cnt); - static void MulSamples(t_sample *dst,const t_sample *src,const t_sample *mul,int cnt); - static void AddSamples(t_sample *dst,const t_sample *src,t_sample add,int cnt); - static void AddSamples(t_sample *dst,const t_sample *src,const t_sample *add,int cnt); - static void ScaleSamples(t_sample *dst,const t_sample *src,t_sample mul,t_sample add,int cnt); - static void ScaleSamples(t_sample *dst,const t_sample *src,t_sample mul,const t_sample *add,int cnt); - static void ScaleSamples(t_sample *dst,const t_sample *src,const t_sample *mul,const t_sample *add,int cnt); - -//! @} FLEXT_S_SIMD - - -//! @} FLEXT_SUPPORT - -protected: -#ifdef __MRC__ - friend class flext_obj; -#endif - - static void Setup(); - - static bool chktilde(const char *objname); - - static unsigned long simdcaps; - - static const t_symbol *sym_attributes; - static const t_symbol *sym_methods; - -#if FLEXT_SYS == FLEXT_SYS_MAX - static const t_symbol *sym_buffer; - static const t_symbol *sym_size; - static const t_symbol *sym_dirty; -#endif - - //! flag if we are within DSP - static bool indsp; -}; - - -// gcc doesn't like these to be included into the flext class (even if static) -inline bool operator ==(const t_atom &a,const t_atom &b) { return flext::CmpAtom(a,b) == 0; } -inline bool operator !=(const t_atom &a,const t_atom &b) { return flext::CmpAtom(a,b) != 0; } -inline bool operator <(const t_atom &a,const t_atom &b) { return flext::CmpAtom(a,b) < 0; } -inline bool operator <=(const t_atom &a,const t_atom &b) { return flext::CmpAtom(a,b) <= 0; } -inline bool operator >(const t_atom &a,const t_atom &b) { return flext::CmpAtom(a,b) > 0; } -inline bool operator >=(const t_atom &a,const t_atom &b) { return flext::CmpAtom(a,b) >= 0; } - -//! @} // FLEXT_SUPPORT - -#include "flpopns.h" - -#endif diff --git a/externals/grill/trunk/flext/source/flthr.cpp b/externals/grill/trunk/flext/source/flthr.cpp deleted file mode 100644 index 41a20ee08..000000000 --- a/externals/grill/trunk/flext/source/flthr.cpp +++ /dev/null @@ -1,746 +0,0 @@ -/* -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3669 $ -$LastChangedDate: 2009-03-05 18:34:39 -0500 (Thu, 05 Mar 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flthr.cpp - \brief Implementation of the flext thread functionality. -*/ - -#include "flext.h" - -#ifdef FLEXT_THREADS - -// maximum wait time for threads to finish (in ms) -#define MAXIMUMWAIT 100 - - -#include "flinternal.h" -#include "flcontainers.h" -#include <set> -#include <ctime> - -#if FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH || FLEXT_OSAPI == FLEXT_OSAPI_UNIX_POSIX || FLEXT_OSAPI == FLEXT_OSAPI_WIN_POSIX -#include <sys/time.h> -#include <unistd.h> -#elif FLEXT_OS == FLEXT_OS_WIN -#include <sys/timeb.h> -#endif - -#if FLEXT_THREADS == FLEXT_THR_WIN32 && WINVER < 0x0500 -#error WIN32 threads need Windows SDK version >= 0x500 -#endif - -#include <cerrno> - -#include "flpushns.h" - -//! Thread id of system thread - will be initialized in flext::Setup -flext::thrid_t flext::thrid; - -//! Thread id of helper thread - will be initialized in flext::Setup -flext::thrid_t flext::thrhelpid; - - -//! \brief This represents an entry to the list of active method threads -class thr_entry - : public flext - , public LifoCell -{ -public: - void Set(void (*m)(thr_params *),thr_params *p,thrid_t id = GetThreadId()) - { - th = p?p->cl:NULL; - meth = m,params = p,thrid = id; - shouldexit = false; -#if FLEXT_THREADS == FLEXT_THR_MP - weight = 100; // MP default weight -#endif - } - - //! \brief Check if this class represents the current thread - bool Is(thrid_t id = GetThreadId()) const { return IsThread(thrid,id); } - - FLEXT_CLASSDEF(flext_base) *This() const { return th; } - thrid_t Id() const { return thrid; } - - FLEXT_CLASSDEF(flext_base) *th; - void (*meth)(thr_params *); - thr_params *params; - thrid_t thrid; - bool shouldexit; -#if FLEXT_THREADS == FLEXT_THR_MP - int weight; -#endif -}; - -template<class T> -class ThrFinder: - public T -{ -public: - ~ThrFinder() { thr_entry *e; while((e = Pop()) != NULL) delete e; } - - void Push(thr_entry *e) { T::Push(e); } - thr_entry *Pop() { return T::Pop(); } - - thr_entry *Find(flext::thrid_t id,bool pop = false) - { - TypedLifo<thr_entry> qutmp; - thr_entry *fnd; - while((fnd = Pop()) && !fnd->Is(id)) qutmp.Push(fnd); - // put back entries - for(thr_entry *ti; (ti = qutmp.Pop()) != NULL; ) Push(ti); - if(fnd && !pop) Push(fnd); - return fnd; - } -}; - -static ThrFinder< PooledLifo<thr_entry,1,10> > thrpending; -static ThrFinder< TypedLifo<thr_entry> > thractive,thrstopped; - -class ThrId - : public flext -{ -public: - ThrId(const thrid_t &_id): id(_id) {} - thrid_t id; - - bool operator <(const ThrId &tid) const - { - if(sizeof(id) == sizeof(unsigned)) - return (unsigned *)&id < (unsigned *)&tid; - else - return memcmp(&id,&tid,sizeof(id)) < 0; - } -}; - -#if 0 -class ThrIdCell - : public LifoCell - , public ThrId -{ -public: - ThrIdCell(const thrid_t &_id): ThrId(_id) {} -}; - -class RegQueue - : public TypedLifo<ThrIdCell> -{ -public: - ~RegQueue() { ThrIdCell *pid; while((pid = Pop()) != NULL) delete pid; } -}; - -static RegQueue regqueue,unregqueue; -#endif - -// this should _definitely_ be a hashmap.... -// \TODO above all it should be populated immediately, otherwise it could easily happen -// that the passing on to the set happens too late! We need that lockfree set! -static std::set<ThrId> regthreads; - -//! Registry lock -static flext::ThrMutex *thrregmtx = NULL; - -//! Helper thread conditional -static flext::ThrCond *thrhelpcond = NULL; - -static void LaunchHelper(thr_entry *e) -{ - e->thrid = flext::GetThreadId(); - flext::RegisterThread(e->thrid); - e->meth(e->params); - flext::UnregisterThread(e->thrid); -} - -bool initialized = false; - -//! Start helper thread -bool flext::StartHelper() -{ - bool ok = false; - initialized = false; - - thrregmtx = new ThrMutex; - -#if FLEXT_THREADS == FLEXT_THR_POSIX - pthread_attr_t attr; - pthread_attr_init(&attr); - pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED); - - pthread_t tmp; - ok = pthread_create (&tmp,&attr,(void *(*)(void *))ThrHelper,NULL) == 0; -#elif FLEXT_THREADS == FLEXT_THR_MP - if(!MPLibraryIsLoaded()) - error("Thread library is not loaded"); - else { - MPTaskID tmp; - OSStatus ret = MPCreateTask((TaskProc)ThrHelper,NULL,0,0,0,0,0,&tmp); - ok = ret == noErr; - } -#elif FLEXT_THREADS == FLEXT_THR_WIN32 - ok = _beginthread(ThrHelper,0,NULL) >= 0; -#else -#error -#endif - if(!ok) - error("flext - Could not launch helper thread!"); - else { - // now we have to wait for thread helper to initialize - while(!initialized) Sleep(0.001); - - // we are ready for threading now! - } - -#if FLEXT_THREADS == FLEXT_THR_POSIX - pthread_attr_destroy(&attr); -#endif - return ok; -} - -//! Static helper thread function -void flext::ThrHelper(void *) -{ - thrhelpid = GetThreadId(); - -#if FLEXT_THREADS == FLEXT_THR_POSIX - // set prototype thread attributes - pthread_attr_t attr; - pthread_attr_init(&attr); - pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED); -#endif - - // set thread priority one point below normal - // so thread construction won't disturb real-time audio - RelPriority(-1); - - thrhelpcond = new ThrCond; - - initialized = true; - - // helper loop - for(;;) { - thrhelpcond->Wait(); - - // start all inactive threads - thr_entry *ti; - while((ti = thrpending.Pop()) != NULL) { - bool ok; - - #if FLEXT_THREADS == FLEXT_THR_POSIX - thrid_t dummy; - ok = pthread_create (&dummy,&attr,(void *(*)(void *))LaunchHelper,ti) == 0; - #elif FLEXT_THREADS == FLEXT_THR_MP - thrid_t dummy; - ok = MPCreateTask((TaskProc)LaunchHelper,ti,0,0,0,0,0,&dummy) == noErr; - #elif FLEXT_THREADS == FLEXT_THR_WIN32 - ok = _beginthread((void (*)(void *))LaunchHelper,0,ti) >= 0; - #else - #error - #endif - if(!ok) { - error("flext - Could not launch thread!"); - thrpending.Free(ti); ti = NULL; - } - else - // insert into queue of active threads - thractive.Push(ti); - } - } - - FLEXT_ASSERT(false); -/* - // Never reached! - - delete thrhelpcond; - thrhelpcond = NULL; - -#if FLEXT_THREADS == FLEXT_THR_POSIX - pthread_attr_destroy(&attr); -#endif -*/ -} - - -bool flext::LaunchThread(void (*meth)(thr_params *p),thr_params *p) -{ - FLEXT_ASSERT(thrhelpcond); - - // make an entry into thread list - thr_entry *e = thrpending.New(); - e->Set(meth,p); - thrpending.Push(e); - // signal thread helper - thrhelpcond->Signal(); - - return true; -} - -static bool waitforstopped(TypedLifo<thr_entry> &qufnd,float wait = 0) -{ - TypedLifo<thr_entry> qutmp; - - double until; - if(wait) until = flext::GetOSTime()+wait; - - for(;;) { - thr_entry *fnd = qufnd.Pop(); - if(!fnd) break; // no more entries -> done! - - thr_entry *ti; - // search for entry - while((ti = thrstopped.Pop()) != NULL && ti != fnd) qutmp.Push(ti); - // put back entries - while((ti = qutmp.Pop()) != NULL) thrstopped.Push(ti); - - if(ti) { - // still in thrstopped queue - qufnd.Push(fnd); - // yield to other threads - flext::ThrYield(); - - if(wait && flext::GetOSTime() > until) - // not successful -> remaining thread are still in qufnd queue - return false; - } - } - return true; -} - -bool flext::StopThread(void (*meth)(thr_params *p),thr_params *p,bool wait) -{ - FLEXT_ASSERT(thrhelpcond); - - TypedLifo<thr_entry> qutmp; - thr_entry *ti; - - // first search pending queue - // -------------------------- - - { - bool found = false; - while((ti = thrpending.Pop()) != NULL) - if(ti->meth == meth && ti->params == p) { - // found -> thread hasn't started -> just delete - thrpending.Free(ti); - found = true; - } - else - qutmp.Push(ti); - - // put back into pending queue (order doesn't matter) - while((ti = qutmp.Pop()) != NULL) thrpending.Push(ti); - - if(found) return true; - } - - // now search active queue - // ----------------------- - - TypedLifo<thr_entry> qufnd; - - while((ti = thractive.Pop()) != NULL) - if(ti->meth == meth && ti->params == p) { - thrstopped.Push(ti); - thrhelpcond->Signal(); - qufnd.Push(ti); - } - else - qutmp.Push(ti); - - // put back into pending queue (order doesn't matter) - while((ti = qutmp.Pop()) != NULL) thractive.Push(ti); - - // wakeup helper thread - thrhelpcond->Signal(); - - // now wait for entries in qufnd to have vanished from thrstopped - if(wait) - return waitforstopped(qufnd); - else - return !qufnd.Avail(); -} - -bool flext::ShouldExit() -{ - return thrstopped.Find(GetThreadId()) != NULL; -} - -bool flext::PushThread() -{ - // set priority of newly created thread one point below the system thread's - RelPriority(-1); - RegisterThread(); - return true; -} - -void flext::PopThread() -{ - thrid_t id = GetThreadId(); - UnregisterThread(id); - thr_entry *fnd = thrstopped.Find(id,true); - if(!fnd) fnd = thractive.Find(id,true); - - if(fnd) - thrpending.Free(fnd); -#ifdef FLEXT_DEBUG - else - post("flext - INTERNAL ERROR: Thread not found!"); -#endif -} - -void flext::RegisterThread(thrid_t id) -{ -#if 1 - FLEXT_ASSERT(thrregmtx); - thrregmtx->Lock(); - regthreads.insert(id); - thrregmtx->Unlock(); -#else - regqueue.Push(new ThrIdCell(id)); -#endif -} - -void flext::UnregisterThread(thrid_t id) -{ -#if 1 - FLEXT_ASSERT(thrregmtx); - thrregmtx->Lock(); - regthreads.erase(id); - thrregmtx->Unlock(); -#else - unregqueue.Push(new ThrIdCell(id)); -#endif -} - -#if 0 -void flext::ThreadRegistryWorker() -{ - ThrIdCell *pid; - while((pid = regqueue.Pop()) != NULL) { regthreads.insert(pid->id); delete pid; } - while((pid = unregqueue.Pop()) != NULL) { regthreads.erase(pid->id); delete pid; } -} -#endif - -bool flext::IsThreadRegistered() -{ - FLEXT_ASSERT(thrregmtx); - thrregmtx->Lock(); - bool fnd = regthreads.find(GetThreadId()) != regthreads.end(); - thrregmtx->Unlock(); - return fnd; -} - -//! Terminate all object threads -bool flext_base::StopThreads() -{ - FLEXT_ASSERT(thrhelpcond); - - TypedLifo<thr_entry> qutmp; - thr_entry *ti; - - // first search pending queue - // -------------------------- - - while((ti = thrpending.Pop()) != NULL) - if(ti->This() == this) - // found -> thread hasn't started -> just delete - thrpending.Free(ti); - else - qutmp.Push(ti); - - // put back into pending queue (order doesn't matter) - while((ti = qutmp.Pop()) != NULL) thrpending.Push(ti); - - // now search active queue - // ----------------------- - - TypedLifo<thr_entry> qufnd; - - while((ti = thractive.Pop()) != NULL) - if(ti->This() == this) { - thrstopped.Push(ti); - thrhelpcond->Signal(); - qufnd.Push(ti); - } - else - qutmp.Push(ti); - - // put back into pending queue (order doesn't matter) - while((ti = qutmp.Pop()) != NULL) thractive.Push(ti); - - // wakeup helper thread - thrhelpcond->Signal(); - - // now wait for entries in qufnd to have vanished from thrstopped - if(!waitforstopped(qufnd,MAXIMUMWAIT*0.001f)) { -#ifdef FLEXT_DEBUG - post("flext - doing hard thread termination"); -#endif - - // timeout -> hard termination - while((ti = qufnd.Pop()) != NULL) { -#if FLEXT_THREADS == FLEXT_THR_POSIX - if(pthread_cancel(ti->thrid)) - post("%s - Thread could not be terminated!",thisName()); -#elif FLEXT_THREADS == FLEXT_THR_MP - MPTerminateTask(ti->thrid,0); - // here, we should use a task queue to check whether the task has really terminated!! -#elif FLEXT_THREADS == FLEXT_THR_WIN32 - // can't use the c library function _endthread.. memory leaks will occur - HANDLE hnd = OpenThread(THREAD_ALL_ACCESS,TRUE,ti->thrid); - TerminateThread(hnd,0); -#else -#error Not implemented -#endif - thrpending.Free(ti); - } - return false; - } - else - return true; -} - -bool flext::RelPriority(int dp,thrid_t ref,thrid_t id) -{ -#if FLEXT_THREADS == FLEXT_THR_POSIX - sched_param parm; - int policy; - if(pthread_getschedparam(ref,&policy,&parm) < 0) { -#ifdef FLEXT_DEBUG - post("flext - failed to get thread priority"); -#endif - return false; - } - else { - parm.sched_priority += dp; - - // MSVC++ 6 produces wrong code with the following lines!!! -// int schmin = sched_get_priority_min(policy); -// int schmax = sched_get_priority_max(policy); - - if(parm.sched_priority < sched_get_priority_min(policy)) { -#ifdef FLEXT_DEBUG - post("flext - minimum thread priority reached"); -#endif - parm.sched_priority = sched_get_priority_min(policy); - } - else if(parm.sched_priority > sched_get_priority_max(policy)) { -#ifdef FLEXT_DEBUG - post("flext - maximum thread priority reached"); -#endif - parm.sched_priority = sched_get_priority_max(policy); - } - - if(pthread_setschedparam(id,policy,&parm) < 0) { -#ifdef FLEXT_DEBUG - post("flext - failed to change thread priority"); -#endif - return false; - } - } - return true; - -#elif FLEXT_THREADS == FLEXT_THR_WIN32 - HANDLE href = OpenThread(THREAD_ALL_ACCESS,TRUE,ref); - HANDLE hid = OpenThread(THREAD_ALL_ACCESS,TRUE,id); - int pr = GetThreadPriority(href); - - if(pr == THREAD_PRIORITY_ERROR_RETURN) { -#ifdef FLEXT_DEBUG - post("flext - failed to get thread priority"); -#endif - return false; - } - - pr += dp; - if(pr < THREAD_PRIORITY_IDLE) { -#ifdef FLEXT_DEBUG - post("flext - minimum thread priority reached"); -#endif - pr = THREAD_PRIORITY_IDLE; - } - else if(pr > THREAD_PRIORITY_TIME_CRITICAL) { -#ifdef FLEXT_DEBUG - post("flext - maximum thread priority reached"); -#endif - pr = THREAD_PRIORITY_TIME_CRITICAL; - } - - if(SetThreadPriority(hid,pr) == 0) { -#ifdef FLEXT_DEBUG - post("flext - failed to change thread priority"); -#endif - return false; - } - return true; - -#elif FLEXT_THREADS == FLEXT_THR_MP - thr_entry *ti = thrpending.Find(id); - if(!ti) ti = thractive.Find(id); - if(ti) { - // thread found in list - int w = GetPriority(id); - if(dp < 0) w /= 1<<(-dp); - else w *= 1<<dp; - if(w < 1) { - #ifdef FLEXT_DEBUG - post("flext - minimum thread priority reached"); - #endif - w = 1; - } - else if(w > 10000) { - #ifdef FLEXT_DEBUG - post("flext - maximum thread priority reached"); - #endif - w = 10000; - } - ti->weight = w; - return MPSetTaskWeight(id,w) == noErr; - } - else return false; -#else -#error -#endif -} - - -int flext::GetPriority(thrid_t id) -{ -#if FLEXT_THREADS == FLEXT_THR_POSIX - sched_param parm; - int policy; - if(pthread_getschedparam(id,&policy,&parm) < 0) { -#ifdef FLEXT_DEBUG - post("flext - failed to get parms"); -#endif - return -1; - } - return parm.sched_priority; - -#elif FLEXT_THREADS == FLEXT_THR_WIN32 - HANDLE hid = OpenThread(THREAD_ALL_ACCESS,TRUE,id); - int pr = GetThreadPriority(hid); - - if(pr == THREAD_PRIORITY_ERROR_RETURN) { -#ifdef FLEXT_DEBUG - post("flext - failed to get thread priority"); -#endif - return -1; - } - return pr; - -#elif FLEXT_THREADS == FLEXT_THR_MP - thr_entry *ti = thrpending.Find(id); - if(!ti) ti = thractive.Find(id); - return ti?ti->weight:-1; -#else -#error -#endif -} - - -bool flext::SetPriority(int p,thrid_t id) -{ -#if FLEXT_THREADS == FLEXT_THR_POSIX - sched_param parm; - int policy; - if(pthread_getschedparam(id,&policy,&parm) < 0) { -#ifdef FLEXT_DEBUG - post("flext - failed to get parms"); -#endif - return false; - } - else { - parm.sched_priority = p; - if(pthread_setschedparam(id,policy,&parm) < 0) { -#ifdef FLEXT_DEBUG - post("flext - failed to change priority"); -#endif - return false; - } - } - return true; - -#elif FLEXT_THREADS == FLEXT_THR_WIN32 - HANDLE hid = OpenThread(THREAD_ALL_ACCESS,TRUE,id); - if(SetThreadPriority(hid,p) == 0) { -#ifdef FLEXT_DEBUG - post("flext - failed to change thread priority"); -#endif - return false; - } - return true; - -#elif FLEXT_THREADS == FLEXT_THR_MP - thr_entry *ti = thrpending.Find(id); - if(!ti) ti = thractive.Find(id); - return ti && MPSetTaskWeight(id,ti->weight = p) == noErr; -#else -#error -#endif -} - - -flext_base::thr_params::thr_params(int n): cl(NULL),var(new _data[n]) {} -flext_base::thr_params::~thr_params() { if(var) delete[] var; } - -void flext_base::thr_params::set_any(const t_symbol *s,int argc,const t_atom *argv) { var[0]._any = new AtomAnything(s,argc,argv); } -void flext_base::thr_params::set_list(int argc,const t_atom *argv) { var[0]._list = new AtomList(argc,argv); } - - -#if FLEXT_THREADS == FLEXT_THR_POSIX -bool flext::ThrCond::Wait() { - Lock(); - bool ret = pthread_cond_wait(&cond,&mutex) == 0; - Unlock(); - return ret; -} - -bool flext::ThrCond::TimedWait(double ftm) -{ - timespec tm; -#if FLEXT_OS == FLEXT_OS_WIN && FLEXT_OSAPI == FLEXT_OSAPI_WIN_NATIVE -#ifdef _MSC_VER - _timeb tmb; - _ftime(&tmb); -#else - timeb tmb; - ftime(&tmb); -#endif - tm.tv_nsec = tmb.millitm*1000000; - tm.tv_sec = (long)tmb.time; -#else // POSIX -#if 0 // find out when the following is defined - clock_gettime(CLOCK_REALTIME,tm); -#else - struct timeval tp; - gettimeofday(&tp, NULL); - tm.tv_nsec = tp.tv_usec*1000; - tm.tv_sec = tp.tv_sec; -#endif -#endif - - tm.tv_nsec += (long)((ftm-(long)ftm)*1.e9); - long nns = tm.tv_nsec%1000000000; - tm.tv_sec += (long)ftm+(tm.tv_nsec-nns)/1000000000; - tm.tv_nsec = nns; - - Lock(); - bool ret = pthread_cond_timedwait(&cond,&mutex,&tm) == 0; - Unlock(); - return ret; -} -#endif - -#include "flpopns.h" - -#endif // FLEXT_THREADS - diff --git a/externals/grill/trunk/flext/source/fltimer.cpp b/externals/grill/trunk/flext/source/fltimer.cpp deleted file mode 100644 index f269018fd..000000000 --- a/externals/grill/trunk/flext/source/fltimer.cpp +++ /dev/null @@ -1,280 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3657 $ -$LastChangedDate: 2009-02-09 17:58:30 -0500 (Mon, 09 Feb 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file fltimer.cpp - \brief flext timer functions and classes -*/ - -#include "flext.h" - -#if FLEXT_OS == FLEXT_OS_WIN -#include <windows.h> -#elif FLEXT_OS == FLEXT_OS_LINUX || FLEXT_OS == FLEXT_OS_IRIX || FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH -#include <unistd.h> -#include <sys/time.h> -#elif FLEXT_OS == FLEXT_OS_MAC -#include <Timer.h> -#include <Threads.h> -#endif - -#include "flpushns.h" - -#if FLEXT_OS == FLEXT_OS_WIN -static double perffrq = 0; -#endif - -static double getstarttime(); -static double starttime = getstarttime(); - -static double getstarttime() -{ -#if FLEXT_OS == FLEXT_OS_WIN - LARGE_INTEGER frq; - if(QueryPerformanceFrequency(&frq)) perffrq = (double)frq.QuadPart; -#endif - - starttime = 0; - return flext::GetOSTime(); -} - -double flext::GetOSTime() -{ - double tm; - -#if FLEXT_OS == FLEXT_OS_WIN - LARGE_INTEGER cnt; - if(perffrq && QueryPerformanceCounter(&cnt)) - tm = cnt.QuadPart/perffrq; - else { - SYSTEMTIME systm; - FILETIME fltm; - GetSystemTime(&systm); - SystemTimeToFileTime(&systm,&fltm); - tm = ((LARGE_INTEGER *)&fltm)->QuadPart*1.e-7; - } -#elif FLEXT_OS == FLEXT_OS_LINUX || FLEXT_OS == FLEXT_OS_IRIX || FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH // POSIX - timeval tmv; - gettimeofday(&tmv,NULL); - tm = tmv.tv_sec+tmv.tv_usec*1.e-6; -#elif FLEXT_OS == FLEXT_OS_MAC // that's just for OS9 & Carbon! - UnsignedWide tick; - Microseconds(&tick); - tm = (tick.hi*((double)(1L<<((sizeof tick.lo)*4))*(double)(1L<<((sizeof tick.lo)*4)))+tick.lo)*1.e-6; -#else - #error Not implemented -#endif - return tm-starttime; -} - -void flext::Sleep(double s) -{ - if(s <= 0) return; -#if FLEXT_OS == FLEXT_OS_WIN -#if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x400 -#if 0 - LARGE_INTEGER liDueTime; - liDueTime.QuadPart = (LONGLONG)(-1.e7*s); - - // Create a waitable timer. - HANDLE hTimer = CreateWaitableTimer(NULL,TRUE,NULL); - if(hTimer) { - if(SetWaitableTimer(hTimer,&liDueTime,0,NULL,NULL,0)) - // Wait for the timer. - WaitForSingleObject(hTimer,INFINITE); // != WAIT_OBJECT_0) - else - ::Sleep((long)(s*1000.)); - CloseHandle(hTimer); - } - else -#else - LARGE_INTEGER cnt; - if(perffrq && QueryPerformanceCounter(&cnt)) { - LONGLONG dst = (LONGLONG)(cnt.QuadPart+perffrq*s); - for(;;) { - SwitchToThread(); // while waiting switch to another thread - QueryPerformanceCounter(&cnt); - if(cnt.QuadPart > dst) break; - } - } - else -#endif -#endif - // last resort.... - ::Sleep((long)(s*1000.)); -#elif FLEXT_OS == FLEXT_OS_LINUX || FLEXT_OS == FLEXT_OS_IRIX || FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH // POSIX - usleep((long)(s*1000000.)); -#elif FLEXT_OS == FLEXT_OS_MAC // that's just for OS9 & Carbon! - UnsignedWide tick; - Microseconds(&tick); - double target = tick.hi*((double)(1L<<((sizeof tick.lo)*4))*(double)(1L<<((sizeof tick.lo)*4)))+tick.lo+s*1.e6; - for(;;) { - // this is just a loop running until the time has passed - stone age (but we yield at least) - Microseconds(&tick); - if(target <= tick.hi*((double)(1L<<((sizeof tick.lo)*4))*(double)(1L<<((sizeof tick.lo)*4)))+tick.lo) break; - YieldToAnyThread(); // yielding surely reduces the timing precision (but we're civilized) - } -#else - #error Not implemented -#endif -} - -/* \param qu determines whether timed messages should be queued (low priority - only when supported by the system). -*/ -flext::Timer::Timer(bool qu): - queued(qu), - clss(NULL),userdata(NULL), - period(0) -{ -#if FLEXT_SYS == FLEXT_SYS_PD - clk = (t_clock *)clock_new(this,(t_method)callback); -#elif FLEXT_SYS == FLEXT_SYS_MAX - clk = (t_clock *)clock_new(this,(t_method)callback); - if(queued) qelem = (t_qelem *)qelem_new(this,(method)queuefun); -#else - #error Not implemented -#endif -} - -flext::Timer::~Timer() -{ -#if FLEXT_SYS == FLEXT_SYS_PD - clock_free(clk); -#elif FLEXT_SYS == FLEXT_SYS_MAX - clock_free(clk); - if(queued) ::qelem_free(qelem); -#else - #error Not implemented -#endif -} - -bool flext::Timer::Reset() -{ -#if FLEXT_SYS == FLEXT_SYS_PD - clock_unset(clk); -#elif FLEXT_SYS == FLEXT_SYS_MAX - clock_unset(clk); - if(queued) ::qelem_unset(qelem); -#else - #error Not implemented -#endif - return true; -} - -/*! \param tm absolute time (in seconds) - \param data user data - \param dopast if set events with times lying in the past will be triggered immediately, if not set they are ignored - \return true on success -*/ -bool flext::Timer::At(double tm,void *data,bool dopast) -{ - userdata = data; - period = 0; -#if FLEXT_SYS == FLEXT_SYS_PD - const double systm = clock_gettimesince(0); - double df = tm*1000.-systm; - if(dopast && df < 0) df = 0; - if(df >= 0) - clock_delay(clk,df); -#elif FLEXT_SYS == FLEXT_SYS_MAX - const double ms = tm*1000.; - double cur; - clock_getftime(&cur); - if(cur <= ms) - clock_fdelay(clk,ms-cur); - else if(dopast) // trigger timer is past - clock_fdelay(clk,0); -#else - #error Not implemented -#endif - return true; -} - -/*! \param tm relative time (in seconds) - \param data user data - \return true on success -*/ -bool flext::Timer::Delay(double tm,void *data) -{ - userdata = data; - period = 0; -#if FLEXT_SYS == FLEXT_SYS_PD - clock_delay(clk,tm*1000); -#elif FLEXT_SYS == FLEXT_SYS_MAX - clock_fdelay(clk,tm*1000.); -#else - #error Not implemented -#endif - return true; -} - -/*! \param tm relative time between periodic events (in seconds) - \param data user data - \return true on success - \note the first event will be delayed by tm -*/ -bool flext::Timer::Periodic(double tm,void *data) -{ - userdata = data; - period = tm; -#if FLEXT_SYS == FLEXT_SYS_PD - clock_delay(clk,tm*1000.); -#elif FLEXT_SYS == FLEXT_SYS_MAX - clock_fdelay(clk,tm*1000.); -#else - #error Not implemented -#endif - return true; -} - -//! \brief Callback function for system clock. -void flext::Timer::callback(Timer *tmr) -{ -#if FLEXT_SYS == FLEXT_SYS_MAX - if(tmr->queued) - qelem_set(tmr->qelem); - else -#endif - tmr->Work(); - - if(tmr->period) { - // reschedule -#if FLEXT_SYS == FLEXT_SYS_PD - clock_delay(tmr->clk,tmr->period*1000.); -#elif FLEXT_SYS == FLEXT_SYS_MAX - clock_fdelay(tmr->clk,tmr->period*1000.); -#else - #error Not implemented -#endif - } -} - -#if FLEXT_SYS == FLEXT_SYS_MAX -/*! \brief Callback function for low priority clock (for queued messages). -*/ -void flext::Timer::queuefun(Timer *tmr) { tmr->Work(); } -#endif - -/*! \brief Virtual worker function - by default it calls the user callback function. - \remark The respective callback parameter format is chosen depending on whether clss is defined or not. -*/ -void flext::Timer::Work() -{ - if(cback) { - if(clss) - ((bool (*)(flext_base *,void *))cback)(clss,userdata); - else - cback(userdata); - } -} - -#include "flpopns.h" diff --git a/externals/grill/trunk/flext/source/flutil.cpp b/externals/grill/trunk/flext/source/flutil.cpp deleted file mode 100644 index 3d1ae708b..000000000 --- a/externals/grill/trunk/flext/source/flutil.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3669 $ -$LastChangedDate: 2009-03-05 18:34:39 -0500 (Thu, 05 Mar 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flutil.cpp - \brief Implementation of the various utility functions. -*/ - -#include "flext.h" -#include <cstring> - -#if FLEXT_OS == FLEXT_OS_WIN -#include <windows.h> -#elif FLEXT_OS == FLEXT_OS_MAC - #if FLEXT_OSAPI != FLEXT_OSAPI_MAC_MACH - #include <MacMemory.h> - #else - #include <Carbon/Carbon.h> - #endif -#endif - -#include "flpushns.h" - -void flext::CopyMem(void *dst,const void *src,int bytes) -{ -#if FLEXT_OS == FLEXT_OS_WIN - MoveMemory(dst,src,bytes); -#elif FLEXT_OS == FLEXT_OS_MAC && !defined(__LP64__) - BlockMoveData(src,dst,bytes); // not available for 64 bits -#else - memmove(dst,src,bytes); -#endif -} - -void flext::ZeroMem(void *dst,int bytes) -{ -#if FLEXT_OS == FLEXT_OS_WIN - ZeroMemory(dst,bytes); -#elif FLEXT_OS == FLEXT_OS_MAC -# ifdef __LP64__ // 64 bits compilation - bzero(dst,bytes); -# else - BlockZero(dst,bytes); -# endif -#else - memset(dst,0,bytes); -#endif -} - -#include "flpopns.h" - - diff --git a/externals/grill/trunk/flext/source/flxlet.cpp b/externals/grill/trunk/flext/source/flxlet.cpp deleted file mode 100644 index cf378809c..000000000 --- a/externals/grill/trunk/flext/source/flxlet.cpp +++ /dev/null @@ -1,118 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2009 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. - -$LastChangedRevision: 3669 $ -$LastChangedDate: 2009-03-05 18:34:39 -0500 (Thu, 05 Mar 2009) $ -$LastChangedBy: thomas $ -*/ - -/*! \file flxlet.cpp - \brief Implementation of the variable inlet/outlet functionality. -*/ - -#include "flext.h" -#include "flinternal.h" -#include <cstring> -#include <cstdarg> - -#include "flpushns.h" - -#define MAXLETS 256 - -flext_base::xlet flext_base::inlist[MAXLETS],flext_base::outlist[MAXLETS]; - -flext_base::xlet::xlet(): tp(xlet_none),desc(NULL) {} -flext_base::xlet::~xlet() { if(desc) delete[] desc; } - -void flext_base::xlet::Desc(const char *c) -{ - if(desc) delete[] desc; - if(c) { - size_t l = strlen(c); - desc = new char[l+1]; - memcpy(desc,c,l+1); - } - else - desc = NULL; -} - -void flext_base::AddInlet(xlettype tp,int mult,const char *desc) -{ - if(UNLIKELY(incnt+mult >= MAXLETS)) - post("%s - too many inlets",thisName()); - else - for(int i = 0; i < mult; ++i) { - xlet &x = inlist[incnt++]; - x.tp = tp; - x.Desc(desc); - } -} - -void flext_base::AddOutlet(xlettype tp,int mult,const char *desc) -{ - if(UNLIKELY(outcnt+mult >= MAXLETS)) - post("%s - too many outlets",thisName()); - else - for(int i = 0; i < mult; ++i) { - xlet &x = outlist[outcnt++]; - x.tp = tp; - x.Desc(desc); - } -} - -void flext_base::DescInlet(int ix,const char *d) -{ - if(UNLIKELY(ix >= incnt)) - post("%s - inlet %i not found",thisName(),ix); - else - inlist[ix].Desc(d); -} - -void flext_base::DescOutlet(int ix,const char *d) -{ - if(UNLIKELY(ix >= incnt)) - post("%s - outlet %i not found",thisName(),ix); - else - outlist[ix].Desc(d); -} - -unsigned long flext_base::XletCode(xlettype tp,...) -{ - unsigned long code = 0; - - va_list marker; - va_start(marker,tp); - int cnt = 0; - xlettype arg = tp; - for(; arg; ++cnt) { -#ifdef FLEXT_DEBUG - if(cnt > 9) { - error("%s - Too many in/outlets defined - truncated to 9",thisName()); - break; - } -#endif - - code = code*10+(int)arg; - arg = (xlettype)va_arg(marker,int); - } - va_end(marker); - - return code; -} - -void flext_base::AddInlets(unsigned long code) -{ - for(; code; code /= 10) AddInlet((xlettype)(code%10)); -} - -void flext_base::AddOutlets(unsigned long code) -{ - for(; code; code /= 10) AddOutlet((xlettype)(code%10)); -} - -#include "flpopns.h" diff --git a/externals/grill/trunk/flext/source/lockfree/.svn/all-wcprops b/externals/grill/trunk/flext/source/lockfree/.svn/all-wcprops deleted file mode 100644 index e86a4dab8..000000000 --- a/externals/grill/trunk/flext/source/lockfree/.svn/all-wcprops +++ /dev/null @@ -1,47 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 46 -/ext/!svn/ver/3747/trunk/flext/source/lockfree -END -atomic_ptr.hpp -K 25 -svn:wc:ra_dav:version-url -V 61 -/ext/!svn/ver/1247/trunk/flext/source/lockfree/atomic_ptr.hpp -END -branch_hints.hpp -K 25 -svn:wc:ra_dav:version-url -V 63 -/ext/!svn/ver/1247/trunk/flext/source/lockfree/branch_hints.hpp -END -fifo.hpp -K 25 -svn:wc:ra_dav:version-url -V 55 -/ext/!svn/ver/1247/trunk/flext/source/lockfree/fifo.hpp -END -stack.hpp -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/source/lockfree/stack.hpp -END -atomic_int.hpp -K 25 -svn:wc:ra_dav:version-url -V 61 -/ext/!svn/ver/3666/trunk/flext/source/lockfree/atomic_int.hpp -END -cas.hpp -K 25 -svn:wc:ra_dav:version-url -V 54 -/ext/!svn/ver/3666/trunk/flext/source/lockfree/cas.hpp -END -prefix.hpp -K 25 -svn:wc:ra_dav:version-url -V 57 -/ext/!svn/ver/3747/trunk/flext/source/lockfree/prefix.hpp -END diff --git a/externals/grill/trunk/flext/source/lockfree/.svn/entries b/externals/grill/trunk/flext/source/lockfree/.svn/entries deleted file mode 100644 index 7a5ccd2fe..000000000 --- a/externals/grill/trunk/flext/source/lockfree/.svn/entries +++ /dev/null @@ -1,266 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/source/lockfree -https://svn.grrrr.org/ext - - - -2011-03-23T21:07:00.905105Z -3747 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -branch_hints.hpp -file - - - - -2012-05-13T23:08:36.275556Z -138f6b58d6985ed30926fe884e744768 -2008-01-17T16:12:12.457959Z -1234 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1564 - -fifo.hpp -file - - - - -2012-05-13T23:08:36.276556Z -2df51264ecefe161f5d4299113d6dddc -2008-01-05T22:02:14.025935Z -1218 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -6562 - -stack.hpp -file - - - - -2012-05-13T23:08:36.277556Z -cee99225078c93feba87d609aa1c1290 -2008-01-05T22:02:14.025935Z -1218 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4160 - -atomic_int.hpp -file - - - - -2012-05-13T23:08:36.278556Z -8b25d258b9f1409a95298936afbcc1ea -2009-03-04T23:00:05.387892Z -3666 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4498 - -cas.hpp -file - - - - -2012-05-13T23:08:36.279556Z -79bba0eb88e1096f4a9ebfecffaf7690 -2009-03-04T23:00:05.387892Z -3666 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -7826 - -prefix.hpp -file - - - - -2012-05-13T23:08:36.273556Z -9a12cce8e642d3300539c956eb1428ff -2011-03-23T21:07:00.905105Z -3747 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1855 - -atomic_ptr.hpp -file - - - - -2012-05-13T23:08:36.274556Z -c86414b84d1ee3bea4809e4797d2b5d8 -2008-01-07T10:37:04.359060Z -1219 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -2912 - diff --git a/externals/grill/trunk/flext/source/lockfree/.svn/prop-base/atomic_int.hpp.svn-base b/externals/grill/trunk/flext/source/lockfree/.svn/prop-base/atomic_int.hpp.svn-base deleted file mode 100644 index 5f75400ea..000000000 --- a/externals/grill/trunk/flext/source/lockfree/.svn/prop-base/atomic_int.hpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 61 -Id Revision LastChangedRevision LastChangedDate LastChangedBy -END diff --git a/externals/grill/trunk/flext/source/lockfree/.svn/prop-base/atomic_ptr.hpp.svn-base b/externals/grill/trunk/flext/source/lockfree/.svn/prop-base/atomic_ptr.hpp.svn-base deleted file mode 100644 index 5f75400ea..000000000 --- a/externals/grill/trunk/flext/source/lockfree/.svn/prop-base/atomic_ptr.hpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 61 -Id Revision LastChangedRevision LastChangedDate LastChangedBy -END diff --git a/externals/grill/trunk/flext/source/lockfree/.svn/prop-base/branch_hints.hpp.svn-base b/externals/grill/trunk/flext/source/lockfree/.svn/prop-base/branch_hints.hpp.svn-base deleted file mode 100644 index 5f75400ea..000000000 --- a/externals/grill/trunk/flext/source/lockfree/.svn/prop-base/branch_hints.hpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 61 -Id Revision LastChangedRevision LastChangedDate LastChangedBy -END diff --git a/externals/grill/trunk/flext/source/lockfree/.svn/prop-base/cas.hpp.svn-base b/externals/grill/trunk/flext/source/lockfree/.svn/prop-base/cas.hpp.svn-base deleted file mode 100644 index 5f75400ea..000000000 --- a/externals/grill/trunk/flext/source/lockfree/.svn/prop-base/cas.hpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 61 -Id Revision LastChangedRevision LastChangedDate LastChangedBy -END diff --git a/externals/grill/trunk/flext/source/lockfree/.svn/prop-base/fifo.hpp.svn-base b/externals/grill/trunk/flext/source/lockfree/.svn/prop-base/fifo.hpp.svn-base deleted file mode 100644 index 5f75400ea..000000000 --- a/externals/grill/trunk/flext/source/lockfree/.svn/prop-base/fifo.hpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 61 -Id Revision LastChangedRevision LastChangedDate LastChangedBy -END diff --git a/externals/grill/trunk/flext/source/lockfree/.svn/prop-base/prefix.hpp.svn-base b/externals/grill/trunk/flext/source/lockfree/.svn/prop-base/prefix.hpp.svn-base deleted file mode 100644 index 5f75400ea..000000000 --- a/externals/grill/trunk/flext/source/lockfree/.svn/prop-base/prefix.hpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 61 -Id Revision LastChangedRevision LastChangedDate LastChangedBy -END diff --git a/externals/grill/trunk/flext/source/lockfree/.svn/prop-base/stack.hpp.svn-base b/externals/grill/trunk/flext/source/lockfree/.svn/prop-base/stack.hpp.svn-base deleted file mode 100644 index 5f75400ea..000000000 --- a/externals/grill/trunk/flext/source/lockfree/.svn/prop-base/stack.hpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 61 -Id Revision LastChangedRevision LastChangedDate LastChangedBy -END diff --git a/externals/grill/trunk/flext/source/lockfree/.svn/text-base/atomic_int.hpp.svn-base b/externals/grill/trunk/flext/source/lockfree/.svn/text-base/atomic_int.hpp.svn-base deleted file mode 100644 index 18832ebb8..000000000 --- a/externals/grill/trunk/flext/source/lockfree/.svn/text-base/atomic_int.hpp.svn-base +++ /dev/null @@ -1,238 +0,0 @@ -// $Id$ -// -// Copyright (C) 2007 Tim Blechmann & Thomas Grill -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; see the file COPYING. If not, write to -// the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -// Boston, MA 02111-1307, USA. - -// $Revision$ -// $LastChangedRevision$ -// $LastChangedDate$ -// $LastChangedBy$ - -#ifndef __LOCKFREE_ATOMIC_INT_HPP -#define __LOCKFREE_ATOMIC_INT_HPP - -#include "prefix.hpp" - -namespace lockfree -{ - -#if defined(__GNUC__) && ( (__GNUC__ > 4) || ((__GNUC__ >= 4) && (__GNUC_MINOR__ >= 1)) ) - -template <typename T> -class atomic_int -{ -public: - explicit atomic_int(T v = 0): - value(v) - { - } - - operator T(void) const - { - return __sync_fetch_and_add(&value, 0); - } - - void operator =(T v) - { - value = v; - __sync_synchronize(); - } - - T operator +=(T v) - { - return __sync_add_and_fetch(&value, v); - } - - T operator -=(T v) - { - return __sync_sub_and_fetch(&value, v); - } - - /* prefix operator */ - T operator ++(void) - { - return __sync_add_and_fetch(&value, 1); - } - - /* prefix operator */ - T operator --(void) - { - return __sync_sub_and_fetch(&value, 1); - } - - /* postfix operator */ - T operator ++(int) - { - return __sync_fetch_and_add(&value, 1); - } - - /* postfix operator */ - T operator --(int) - { - return __sync_fetch_and_sub(&value, 1); - } - -private: - mutable T value; -}; - -#elif defined(__GLIBCPP__) || defined(__GLIBCXX__) - -template <typename T> -class atomic_int -{ -public: - explicit atomic_int(T v = 0): - value(v) - { - } - - operator T(void) const - { - return __gnu_cxx::__exchange_and_add(&value, 0); - } - - void operator =(T v) - { - value = v; - } - - T operator +=(T v) - { - return __gnu_cxx::__exchange_and_add(&value, v) + v; - } - - T operator -=(T v) - { - return __gnu_cxx::__exchange_and_add(&value, -v) - v; - } - - /* prefix operator */ - T operator ++(void) - { - return operator+=(1); - } - - /* prefix operator */ - T operator --(void) - { - return operator-=(1); - } - - /* postfix operator */ - T operator ++(int) - { - return __gnu_cxx::__exchange_and_add(&value, 1); - } - - /* postfix operator */ - T operator --(int) - { - return __gnu_cxx::__exchange_and_add(&value, -1); - } - -private: - mutable _Atomic_word value; -}; - -#else /* emulate via CAS */ - -template <typename T> -class atomic_int -{ -public: - explicit atomic_int(T v = 0) - { - *this = v; - } - - operator T(void) const - { - memory_barrier(); - return value; - } - - void operator =(T v) - { - value = v; - memory_barrier(); - } - - /* prefix operator */ - T operator ++() - { - return *this += 1; - } - - /* prefix operator */ - T operator --() - { - return *this -= 1; - } - - T operator +=(T v) - { - for(;;) - { - T newv = value+v; - if(likely(CAS(&value,value,newv))) - return newv; - } - } - - T operator -=(T v) - { - for(;;) - { - T newv = value-v; - if(likely(CAS(&value,value,newv))) - return newv; - } - } - - /* postfix operator */ - T operator ++(int) - { - for(;;) - { - T oldv = value; - if(likely(CAS(&value,oldv,oldv+1))) - return oldv; - } - } - - /* postfix operator */ - T operator --(int) - { - for(;;) - { - T oldv = value; - if(likely(CAS(&value,oldv,oldv-1))) - return oldv; - } - } - -private: - T value; -}; - - -#endif - -} // namespace lockfree - -#endif /* __LOCKFREE_ATOMIC_INT_HPP */ diff --git a/externals/grill/trunk/flext/source/lockfree/.svn/text-base/atomic_ptr.hpp.svn-base b/externals/grill/trunk/flext/source/lockfree/.svn/text-base/atomic_ptr.hpp.svn-base deleted file mode 100644 index 688dd78aa..000000000 --- a/externals/grill/trunk/flext/source/lockfree/.svn/text-base/atomic_ptr.hpp.svn-base +++ /dev/null @@ -1,104 +0,0 @@ -// $Id$ -// -// Copyright (C) 2007 Tim Blechmann & Thomas Grill -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; see the file COPYING. If not, write to -// the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -// Boston, MA 02111-1307, USA. - -// $Revision$ -// $LastChangedRevision$ -// $LastChangedDate$ -// $LastChangedBy$ - -#ifndef __LOCKFREE_ATOMIC_PTR_HPP -#define __LOCKFREE_ATOMIC_PTR_HPP - -#include "cas.hpp" -#include "branch_hints.hpp" - -#include <cstddef> - -namespace lockfree -{ - using std::size_t; - - template <class T> - class atomic_ptr - { - public: - atomic_ptr() {} - - atomic_ptr(const atomic_ptr &p): ptr(p.ptr),tag(p.tag) {} - - atomic_ptr(T *p,size_t t = 0): ptr(p),tag(t) {} - - /** atomic set operation */ - inline atomic_ptr &operator =(const atomic_ptr &p) - { - for (;;) - { - atomic_ptr current(ptr, tag); - - if(likely(CAS(current, p))) - return *this; - } - } - - inline atomic_ptr &operator()(T *p,size_t t) - { - return operator=(atomic_ptr(p, t) ); - } - - - inline bool operator ==(const atomic_ptr &p) const { return ptr == p.ptr && tag == p.tag; } - - inline bool operator !=(const atomic_ptr &p) const { return !operator ==(p); } - - - inline T * getPtr() const { return ptr; } - - inline void setPtr(T * p) { ptr = p; } - - - inline size_t getTag() const { return tag; } - - inline void setTag(size_t t) { tag = t; } - - inline size_t incTag() { return ++tag; } - - - inline bool CAS(const atomic_ptr &oldval,const atomic_ptr &newval) - { - return lockfree::CAS2(this,oldval.ptr,oldval.tag,newval.ptr,newval.tag); - } - - inline bool CAS(const atomic_ptr &oldval,T *newptr) - { - return lockfree::CAS2(this,oldval.ptr,oldval.tag,newptr,oldval.tag+1); - } - - inline bool CAS(const T *oldptr,size_t oldtag,T *newptr) - { - return lockfree::CAS2(this,oldptr,oldtag,newptr,oldtag+1); - } - - protected: - T * volatile ptr; - size_t volatile tag; - }; - -} // namespace - -#endif /* __LOCKFREE_ATOMIC_PTR_HPP */ diff --git a/externals/grill/trunk/flext/source/lockfree/.svn/text-base/branch_hints.hpp.svn-base b/externals/grill/trunk/flext/source/lockfree/.svn/text-base/branch_hints.hpp.svn-base deleted file mode 100644 index d5a117f9d..000000000 --- a/externals/grill/trunk/flext/source/lockfree/.svn/text-base/branch_hints.hpp.svn-base +++ /dev/null @@ -1,53 +0,0 @@ -// $Id$ -// -// branch hints -// Copyright (C) 2007 Tim Blechmann -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; see the file COPYING. If not, write to -// the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -// Boston, MA 02111-1307, USA. - -// $Revision$ -// $LastChangedRevision$ -// $LastChangedDate$ -// $LastChangedBy$ - -#ifndef __LOCKFREE_BRANCH_HINTS_HPP -#define __LOCKFREE_BRANCH_HINTS_HPP - -namespace lockfree -{ - /** \brief hint for the branch prediction */ - inline bool likely(bool expr) - { -#ifdef __GNUC__ - return __builtin_expect(expr, true); -#else - return expr; -#endif - } - - /** \brief hint for the branch prediction */ - inline bool unlikely(bool expr) - { -#ifdef __GNUC__ - return __builtin_expect(expr, false); -#else - return expr; -#endif - } - -} // namespace - -#endif /* __LOCKFREE_BRANCH_HINTS_HPP */ diff --git a/externals/grill/trunk/flext/source/lockfree/.svn/text-base/cas.hpp.svn-base b/externals/grill/trunk/flext/source/lockfree/.svn/text-base/cas.hpp.svn-base deleted file mode 100644 index 8451f77b6..000000000 --- a/externals/grill/trunk/flext/source/lockfree/.svn/text-base/cas.hpp.svn-base +++ /dev/null @@ -1,252 +0,0 @@ -// $Id$ -// -// Copyright (C) 2007-2008 Tim Blechmann & Thomas Grill -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; see the file COPYING. If not, write to -// the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -// Boston, MA 02111-1307, USA. - -// $Revision$ -// $LastChangedRevision$ -// $LastChangedDate$ -// $LastChangedBy$ - -#ifndef __LOCKFREE_CAS_H -#define __LOCKFREE_CAS_H - -#include "prefix.hpp" - -#ifndef _WIN32 -// pthreads are not available under Windows by default and we should not need them there -# include <pthread.h> -#endif - -namespace lockfree -{ - inline void memory_barrier() - { -#if defined(__GNUC__) && ( (__GNUC__ > 4) || ((__GNUC__ >= 4) && (__GNUC_MINOR__ >= 1)) ) - __sync_synchronize(); -#elif defined(__GNUC__) && (defined(__i386__) || defined(__i686__)) - asm("" : : : "memory"); -#elif defined(_MSC_VER) && (_MSC_VER >= 1300) - _ReadWriteBarrier(); -#elif defined(__APPLE__) && (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4) - OSMemoryBarrier(); -#elif defined(AO_HAVE_nop_full) - AO_nop_full(); -#else -# error no memory barrier implemented for this platform -#endif - } - - template <class C, class D> - inline bool CAS(volatile C * addr,D old,D nw) - { -#if defined(__GNUC__) && ( (__GNUC__ > 4) || ((__GNUC__ >= 4) && (__GNUC_MINOR__ >= 1)) ) - return __sync_bool_compare_and_swap(addr, old, nw); -#elif defined(_MSC_VER) - assert((size_t(addr)&3) == 0); // a runtime check only for debug mode is somehow insufficient.... - return _InterlockedCompareExchange(addr,nw,old) == old; -#elif defined(_WIN32) || defined(_WIN64) - assert((size_t(addr)&3) == 0); // a runtime check only for debug mode is somehow insufficient.... - return InterlockedCompareExchange(addr,nw,old) == old; -#elif defined(__APPLE__) && (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4) - if(sizeof(D) == 4) - return OSAtomicCompareAndSwap32(old,nw,addr); - else if(sizeof(D) == 8) - return OSAtomicCompareAndSwap64(old,nw,addr); - else - assert(false); -#elif defined(AO_HAVE_compare_and_swap_full) - return AO_compare_and_swap_full(reinterpret_cast<volatile AO_t*>(addr), - reinterpret_cast<AO_t>(old), - reinterpret_cast<AO_t>(nw)); -#else - -# ifdef __GNUC__ -# warning blocking CAS emulation -# else -# pragma message("blocking CAS emulation") -# endif - - pthread_mutex_t guard = PTHREAD_MUTEX_INITIALIZER; - int status = pthread_mutex_lock(&guard); - assert(!status); - - bool ret; - - if (*addr == old) - { - *addr = nw; - ret = true; - } - else - ret = false; - int status2 = pthread_mutex_unlock(&guard); - assert(!status2); - return ret; -#endif - - } - - - template <class C, class D, class E> - inline bool CAS2(C * addr,D old1,E old2,D new1,E new2) - { -#if defined(__GNUC__) && ((__GNUC__ > 4) || ( (__GNUC__ >= 4) && (__GNUC_MINOR__ >= 2) ) ) && (defined(__i686__) || defined(__pentiumpro__) || defined(__nocona__) || defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8)) - struct packed_c - { - D d; - E e; - }; - - union cu - { - packed_c c; - long long l; - }; - - cu old; - old.c.d = old1; - old.c.e = old2; - - cu nw; - nw.c.d = new1; - nw.c.e = new2; - - return __sync_bool_compare_and_swap_8(reinterpret_cast<volatile long long*>(addr), - old.l, - nw.l); -#elif defined(__GNUC__) && ((__GNUC__ > 4) || ( (__GNUC__ >= 4) && (__GNUC_MINOR__ >= 2) ) ) && (defined(__x86_64__) || defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16)) - struct packed_c - { - D d; - E e; - }; - - union cu - { - packed_c c; - long long l; - }; - - cu old; - old.c.d = old1; - old.c.e = old2; - - cu nw; - nw.c.d = new1; - nw.c.e = new2; - - return __sync_bool_compare_and_swap_16(reinterpret_cast<volatile long long*>(addr), - old.l, - nw.l); -#elif defined(_MSC_VER) - bool ok; - __asm { -# ifdef _WIN32 - mov eax,[old1] - mov edx,[old2] - mov ebx,[new1] - mov ecx,[new2] - mov edi,[addr] - lock cmpxchg8b [edi] -# else - mov rax,[old1] - mov rdx,[old2] - mov rbx,[new1] - mov rcx,[new2] - mov rdi,[addr] - lock cmpxchg16b [rdi] -# endif - setz [ok] - } - return ok; -#elif defined(__GNUC__) && (defined(__i386__) || defined(__i686__) || defined(__x86_64__)) - char result; - if(sizeof(D) == 4 && sizeof(E) == 4) { - #ifndef __PIC__ - __asm__ __volatile__("lock; cmpxchg8b %0; setz %1" - : "=m"(*addr), "=q"(result) - : "m"(*addr), "a" (old1), "d" (old2), - "b" (new1), "c" (new2) : "memory"); - #else - __asm__ __volatile__("push %%ebx; movl %5,%%ebx; lock; cmpxchg8b %0; setz %1; pop %%ebx" - : "=m"(*addr), "=q"(result) - : "m"(*addr), "a" (old1), "d" (old2), - "m" (new1), "c" (new2) : "memory"); - #endif - } - else if(sizeof(D) == 8 && sizeof(E) == 8) { - __asm__ __volatile__("lock; cmpxchg16b %0; setz %1" - : "=m"(*addr), "=q"(result) - : "m"(*addr), "a" (old1), "d" (old2), - "b" (new1), "c" (new2) : "memory"); - } - else - assert(false); - return result != 0; -#elif defined(AO_HAVE_double_compare_and_swap_full) - if (sizeof(D) != sizeof(AO_t) || sizeof(E) != sizeof(AO_t)) { - assert(false); - return false; - } - - return AO_compare_double_and_swap_double_full( - reinterpret_cast<volatile AO_double_t*>(addr), - static_cast<AO_t>(old2), - reinterpret_cast<AO_t>(old1), - static_cast<AO_t>(new2), - reinterpret_cast<AO_t>(new1) - ); -#else - -# ifdef __GNUC__ -# warning blocking CAS2 emulation -# else -# pragma message("blocking CAS2 emulation") -# endif - struct packed_c - { - D d; - E e; - }; - - volatile packed_c * packed_addr = reinterpret_cast<volatile packed_c*>(addr); - - pthread_mutex_t guard = PTHREAD_MUTEX_INITIALIZER; - int status = pthread_mutex_lock(&guard); - assert(!status); - - bool ret; - - if (packed_addr->d == old1 && - packed_addr->e == old2) - { - packed_addr->d = new1; - packed_addr->e = new2; - ret = true; - } - else - ret = false; - int status2 = pthread_mutex_unlock(&guard); - assert(!status2); - return ret; -#endif - } - -} // namespace - -#endif /* __LOCKFREE_CAS_H */ diff --git a/externals/grill/trunk/flext/source/lockfree/.svn/text-base/fifo.hpp.svn-base b/externals/grill/trunk/flext/source/lockfree/.svn/text-base/fifo.hpp.svn-base deleted file mode 100644 index d906bb806..000000000 --- a/externals/grill/trunk/flext/source/lockfree/.svn/text-base/fifo.hpp.svn-base +++ /dev/null @@ -1,250 +0,0 @@ -// $Id$ -// -// lock-free fifo queue from -// Michael, M. M. and Scott, M. L., -// "simple, fast and practical non-blocking and blocking concurrent queue algorithms" -// -// intrusive implementation for c++ -// -// Copyright (C) 2007 Tim Blechmann & Thomas Grill -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; see the file COPYING. If not, write to -// the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -// Boston, MA 02111-1307, USA. - -// $Revision$ -// $LastChangedRevision$ -// $LastChangedDate$ -// $LastChangedBy$ - -#ifndef __LOCKFREE_FIFO_HPP -#define __LOCKFREE_FIFO_HPP - -#include "cas.hpp" -#include "atomic_ptr.hpp" -#include "branch_hints.hpp" - -#ifdef HAVE_BOOST -# include <boost/type_traits.hpp> -# include <boost/static_assert.hpp> -#else /* HAVE_BOOST */ -# ifdef BOOST_STATIC_ASSERT -# undef BOOST_STATIC_ASSERT -# endif -# define BOOST_STATIC_ASSERT(x) -#endif /* HAVE_BOOST */ - -#include <memory> - -namespace lockfree -{ - struct intrusive_fifo_node; - - typedef atomic_ptr<intrusive_fifo_node> intrusive_fifo_ptr_t; - - struct intrusive_fifo_node - { - intrusive_fifo_ptr_t next; - struct fifo_node * data; - }; - - struct fifo_node - { - intrusive_fifo_node *volatile node; - - protected: - fifo_node(void) - { - node = new intrusive_fifo_node(); - } - - ~fifo_node(void) - { - delete node; - } - - template <class T> friend class intrusive_fifo; - }; - - template <typename T> - class intrusive_fifo - { - BOOST_STATIC_ASSERT((boost::is_base_of<fifo_node,T>::value)); - - public: - intrusive_fifo(void) - { - /* dummy pointer for head/tail */ - intrusive_fifo_node * dummy = new intrusive_fifo_node(); - dummy->next(NULL,0); - head_(dummy,0); - tail_(dummy,0); - } - - ~intrusive_fifo(void) - { - /* client must have freed all members already */ - assert (empty()); - delete head_.getPtr(); - } - - bool empty() const - { - return head_.getPtr() == tail_.getPtr() || (!tail_.getPtr()); - } - - void enqueue(T * instance) - { - /* volatile */ intrusive_fifo_node * node = static_cast<fifo_node*>(instance)->node; - node->next.setPtr(NULL); - node->data = static_cast<fifo_node*>(instance); - - for (;;) - { - intrusive_fifo_ptr_t tail(tail_); - memory_barrier(); - - intrusive_fifo_ptr_t next(tail.getPtr()->next); - memory_barrier(); - - if (likely(tail == tail_)) - { - if (next.getPtr() == 0) - { - if (tail.getPtr()->next.CAS(next,node)) - { - tail_.CAS(tail,node); - return; - } - } - else - tail_.CAS(tail,next); - } - } - } - - T* dequeue (void) - { - T * ret; - for (;;) - { - intrusive_fifo_ptr_t head(head_); - memory_barrier(); - - intrusive_fifo_ptr_t tail(tail_); - /* volatile */ intrusive_fifo_node * next = head.getPtr()->next.getPtr(); - memory_barrier(); - - if (likely(head == head_)) - { - if (head.getPtr() == tail.getPtr()) - { - if (next == 0) - return 0; - tail_.CAS(tail,next); - } - else - { - ret = static_cast<T*>(next->data); - if (head_.CAS(head,next)) - { - ret->node = head.getPtr(); - return ret; - } - } - } - } - } - - private: - intrusive_fifo_ptr_t head_,tail_; - }; - - template <typename T> - class fifo_value_node: - public fifo_node - { - public: - fifo_value_node(T const & v): value(v) {} - - T value; - }; - - template <typename T, class Alloc = std::allocator<T> > - class fifo - : intrusive_fifo<fifo_value_node<T> > - { - public: - ~fifo() - { - fifo_value_node<T> * node; - while((node = intrusive_fifo<fifo_value_node<T> >::dequeue()) != NULL) - free(node); - } - - void enqueue(T const & v) - { - intrusive_fifo<fifo_value_node<T> >::enqueue(alloc(v)); - } - - bool dequeue (T & v) - { - fifo_value_node<T> * node = intrusive_fifo<fifo_value_node<T> >::dequeue(); - if(!node) - return false; - - v = node->value; - free(node); - return true; - } - - private: - -#if 0 - inline fifo_value_node<T> *alloc(const T &k) - { - fifo_value_node<T> *node = allocator.allocate(1); - allocator.construct(node,k); - return node; - } - - inline void free(fifo_value_node<T> *n) - { - assert(n); - allocator.destroy(n); - allocator.deallocate(n,1); - } -#else - // hmmm... static keyword brings 10% speedup... - - static inline fifo_value_node<T> *alloc(const T &k) - { - return new fifo_value_node<T>(k); - } - - static inline void free(fifo_value_node<T> *n) - { - assert(n); - delete n; - } -#endif - - typename Alloc::template rebind<fifo_value_node<T> >::other allocator; - }; -} - -#endif /* __LOCKFREE_FIFO_HPP */ - - - diff --git a/externals/grill/trunk/flext/source/lockfree/.svn/text-base/prefix.hpp.svn-base b/externals/grill/trunk/flext/source/lockfree/.svn/text-base/prefix.hpp.svn-base deleted file mode 100644 index 78059573a..000000000 --- a/externals/grill/trunk/flext/source/lockfree/.svn/text-base/prefix.hpp.svn-base +++ /dev/null @@ -1,64 +0,0 @@ -// $Id$ -// -// Copyright (C) 2007 Tim Blechmann & Thomas Grill -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; see the file COPYING. If not, write to -// the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -// Boston, MA 02111-1307, USA. - -// $Revision$ -// $LastChangedRevision$ -// $LastChangedDate$ -// $LastChangedBy$ - - -#ifndef __LOCKFREE_PREFIX_H -#define __LOCKFREE_PREFIX_H - -#include <cassert> - -#ifdef USE_ATOMIC_OPS - #define AO_REQUIRE_CAS - #define AO_USE_PENTIUM4_INSTRS - - extern "C" { - #include <atomic_ops.h> - } -#endif - -#ifdef _WIN32 - #include <windows.h> -#endif - -#ifdef __APPLE__ - #include <libkern/OSAtomic.h> -#endif - -#if defined(__GLIBCPP__) || defined(__GLIBCXX__) - #if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 2)) - #include <ext/atomicity.h> - #else - #include <bits/atomicity.h> - #endif -#endif - -#if defined(_MSC_VER) -// \note: Must use /Oi option for VC++ to enable intrinsics - extern "C" { - void __cdecl _ReadWriteBarrier(); - LONG __cdecl _InterlockedCompareExchange(LONG volatile* Dest,LONG Exchange, LONG Comp); - } -#endif - -#endif /* __LOCKFREE_PREFIX_H */ diff --git a/externals/grill/trunk/flext/source/lockfree/.svn/text-base/stack.hpp.svn-base b/externals/grill/trunk/flext/source/lockfree/.svn/text-base/stack.hpp.svn-base deleted file mode 100644 index c8781b828..000000000 --- a/externals/grill/trunk/flext/source/lockfree/.svn/text-base/stack.hpp.svn-base +++ /dev/null @@ -1,157 +0,0 @@ -// $Id$ -// -// lock-free stack -// -// Copyright (C) 2007 Tim Blechmann & Thomas Grill -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; see the file COPYING. If not, write to -// the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -// Boston, MA 02111-1307, USA. - -// $Revision$ -// $LastChangedRevision$ -// $LastChangedDate$ -// $LastChangedBy$ - -#ifndef __LOCKFREE_STACK_HPP -#define __LOCKFREE_STACK_HPP - -#include "cas.hpp" -#include "atomic_ptr.hpp" -#include "branch_hints.hpp" - -#include <memory> // for std::allocator - -#if HAVE_BOOST -# include <boost/type_traits.hpp> -# include <boost/static_assert.hpp> -#else -# define BOOST_STATIC_ASSERT(x) -#endif - -namespace lockfree -{ - //! nodes for the intrusive_stack must be derived from that - class stack_node - { - template <class T> friend class intrusive_stack; - - public: - stack_node(): next(NULL) {} - - private: - atomic_ptr<stack_node> next; - }; - - //! intrusive lock-free stack implementation with T being the node type (inherited from stack_node) - template <typename T> - class intrusive_stack - { - BOOST_STATIC_ASSERT((boost::is_base_of<stack_node,T>::value)); - - public: - intrusive_stack(): head(NULL) {} - - ~intrusive_stack() - { - assert(empty()); - } - - bool empty() const { return !head.getPtr(); } - - void push(T *node) - { - assert(!node->next.getPtr()); - while(unlikely(!head.CAS(node->next = head,node))); - } - - T *pop() - { - for(;;) { - atomic_ptr<stack_node> current(head); - T *node = static_cast<T *>(current.getPtr()); - if(!node || likely(head.CAS(current,node->next.getPtr()))) { - if(node) node->next.setPtr(NULL); - return node; - } - } - } - - private: - atomic_ptr<stack_node> head; - }; - - - //! node type used by non-intrusive stack - template <typename T> - class stack_value_node - : public stack_node - { - public: - stack_value_node(T const &v): value(v) {} - T value; - }; - - - //! non-intrusive lock-free stack - template <typename T,class Alloc = std::allocator<T> > - class stack - : intrusive_stack<stack_value_node<T> > - { - public: - ~stack() - { - // delete remaining elements - stack_value_node<T> * node; - while((node = intrusive_stack<stack_value_node<T> >::pop()) != NULL) - free(node); - } - - void push(T const &v) - { - intrusive_stack<stack_value_node<T> >::push(alloc(v)); - } - - bool pop(T &v) - { - stack_value_node<T> *node = intrusive_stack<stack_value_node<T> >::pop(); - if(!node) - return false; - v = node->value; - free(node); - return true; - } - - private: - - inline stack_value_node<T> *alloc(const T &k) - { - stack_value_node<T> *node = allocator.allocate(1); - allocator.construct(node,k); - return node; - } - - inline void free(stack_value_node<T> *n) - { - assert(n); - allocator.destroy(n); - allocator.deallocate(n,1); - } - - typename Alloc::template rebind<stack_value_node<T> >::other allocator; - }; - -} // namespace - -#endif diff --git a/externals/grill/trunk/flext/source/lockfree/atomic_int.hpp b/externals/grill/trunk/flext/source/lockfree/atomic_int.hpp deleted file mode 100644 index f4f0dd211..000000000 --- a/externals/grill/trunk/flext/source/lockfree/atomic_int.hpp +++ /dev/null @@ -1,238 +0,0 @@ -// $Id: atomic_int.hpp 3666 2009-03-04 23:00:05Z thomas $ -// -// Copyright (C) 2007 Tim Blechmann & Thomas Grill -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; see the file COPYING. If not, write to -// the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -// Boston, MA 02111-1307, USA. - -// $Revision: 3666 $ -// $LastChangedRevision: 3666 $ -// $LastChangedDate: 2009-03-04 18:00:05 -0500 (Wed, 04 Mar 2009) $ -// $LastChangedBy: thomas $ - -#ifndef __LOCKFREE_ATOMIC_INT_HPP -#define __LOCKFREE_ATOMIC_INT_HPP - -#include "prefix.hpp" - -namespace lockfree -{ - -#if defined(__GNUC__) && ( (__GNUC__ > 4) || ((__GNUC__ >= 4) && (__GNUC_MINOR__ >= 1)) ) - -template <typename T> -class atomic_int -{ -public: - explicit atomic_int(T v = 0): - value(v) - { - } - - operator T(void) const - { - return __sync_fetch_and_add(&value, 0); - } - - void operator =(T v) - { - value = v; - __sync_synchronize(); - } - - T operator +=(T v) - { - return __sync_add_and_fetch(&value, v); - } - - T operator -=(T v) - { - return __sync_sub_and_fetch(&value, v); - } - - /* prefix operator */ - T operator ++(void) - { - return __sync_add_and_fetch(&value, 1); - } - - /* prefix operator */ - T operator --(void) - { - return __sync_sub_and_fetch(&value, 1); - } - - /* postfix operator */ - T operator ++(int) - { - return __sync_fetch_and_add(&value, 1); - } - - /* postfix operator */ - T operator --(int) - { - return __sync_fetch_and_sub(&value, 1); - } - -private: - mutable T value; -}; - -#elif defined(__GLIBCPP__) || defined(__GLIBCXX__) - -template <typename T> -class atomic_int -{ -public: - explicit atomic_int(T v = 0): - value(v) - { - } - - operator T(void) const - { - return __gnu_cxx::__exchange_and_add(&value, 0); - } - - void operator =(T v) - { - value = v; - } - - T operator +=(T v) - { - return __gnu_cxx::__exchange_and_add(&value, v) + v; - } - - T operator -=(T v) - { - return __gnu_cxx::__exchange_and_add(&value, -v) - v; - } - - /* prefix operator */ - T operator ++(void) - { - return operator+=(1); - } - - /* prefix operator */ - T operator --(void) - { - return operator-=(1); - } - - /* postfix operator */ - T operator ++(int) - { - return __gnu_cxx::__exchange_and_add(&value, 1); - } - - /* postfix operator */ - T operator --(int) - { - return __gnu_cxx::__exchange_and_add(&value, -1); - } - -private: - mutable _Atomic_word value; -}; - -#else /* emulate via CAS */ - -template <typename T> -class atomic_int -{ -public: - explicit atomic_int(T v = 0) - { - *this = v; - } - - operator T(void) const - { - memory_barrier(); - return value; - } - - void operator =(T v) - { - value = v; - memory_barrier(); - } - - /* prefix operator */ - T operator ++() - { - return *this += 1; - } - - /* prefix operator */ - T operator --() - { - return *this -= 1; - } - - T operator +=(T v) - { - for(;;) - { - T newv = value+v; - if(likely(CAS(&value,value,newv))) - return newv; - } - } - - T operator -=(T v) - { - for(;;) - { - T newv = value-v; - if(likely(CAS(&value,value,newv))) - return newv; - } - } - - /* postfix operator */ - T operator ++(int) - { - for(;;) - { - T oldv = value; - if(likely(CAS(&value,oldv,oldv+1))) - return oldv; - } - } - - /* postfix operator */ - T operator --(int) - { - for(;;) - { - T oldv = value; - if(likely(CAS(&value,oldv,oldv-1))) - return oldv; - } - } - -private: - T value; -}; - - -#endif - -} // namespace lockfree - -#endif /* __LOCKFREE_ATOMIC_INT_HPP */ diff --git a/externals/grill/trunk/flext/source/lockfree/atomic_ptr.hpp b/externals/grill/trunk/flext/source/lockfree/atomic_ptr.hpp deleted file mode 100644 index 2db367933..000000000 --- a/externals/grill/trunk/flext/source/lockfree/atomic_ptr.hpp +++ /dev/null @@ -1,104 +0,0 @@ -// $Id: atomic_ptr.hpp 1219 2008-01-07 10:37:04Z thomas $ -// -// Copyright (C) 2007 Tim Blechmann & Thomas Grill -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; see the file COPYING. If not, write to -// the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -// Boston, MA 02111-1307, USA. - -// $Revision: 1219 $ -// $LastChangedRevision: 1219 $ -// $LastChangedDate: 2008-01-07 05:37:04 -0500 (Mon, 07 Jan 2008) $ -// $LastChangedBy: thomas $ - -#ifndef __LOCKFREE_ATOMIC_PTR_HPP -#define __LOCKFREE_ATOMIC_PTR_HPP - -#include "cas.hpp" -#include "branch_hints.hpp" - -#include <cstddef> - -namespace lockfree -{ - using std::size_t; - - template <class T> - class atomic_ptr - { - public: - atomic_ptr() {} - - atomic_ptr(const atomic_ptr &p): ptr(p.ptr),tag(p.tag) {} - - atomic_ptr(T *p,size_t t = 0): ptr(p),tag(t) {} - - /** atomic set operation */ - inline atomic_ptr &operator =(const atomic_ptr &p) - { - for (;;) - { - atomic_ptr current(ptr, tag); - - if(likely(CAS(current, p))) - return *this; - } - } - - inline atomic_ptr &operator()(T *p,size_t t) - { - return operator=(atomic_ptr(p, t) ); - } - - - inline bool operator ==(const atomic_ptr &p) const { return ptr == p.ptr && tag == p.tag; } - - inline bool operator !=(const atomic_ptr &p) const { return !operator ==(p); } - - - inline T * getPtr() const { return ptr; } - - inline void setPtr(T * p) { ptr = p; } - - - inline size_t getTag() const { return tag; } - - inline void setTag(size_t t) { tag = t; } - - inline size_t incTag() { return ++tag; } - - - inline bool CAS(const atomic_ptr &oldval,const atomic_ptr &newval) - { - return lockfree::CAS2(this,oldval.ptr,oldval.tag,newval.ptr,newval.tag); - } - - inline bool CAS(const atomic_ptr &oldval,T *newptr) - { - return lockfree::CAS2(this,oldval.ptr,oldval.tag,newptr,oldval.tag+1); - } - - inline bool CAS(const T *oldptr,size_t oldtag,T *newptr) - { - return lockfree::CAS2(this,oldptr,oldtag,newptr,oldtag+1); - } - - protected: - T * volatile ptr; - size_t volatile tag; - }; - -} // namespace - -#endif /* __LOCKFREE_ATOMIC_PTR_HPP */ diff --git a/externals/grill/trunk/flext/source/lockfree/branch_hints.hpp b/externals/grill/trunk/flext/source/lockfree/branch_hints.hpp deleted file mode 100644 index afcabd401..000000000 --- a/externals/grill/trunk/flext/source/lockfree/branch_hints.hpp +++ /dev/null @@ -1,53 +0,0 @@ -// $Id: branch_hints.hpp 1234 2008-01-17 16:12:12Z thomas $ -// -// branch hints -// Copyright (C) 2007 Tim Blechmann -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; see the file COPYING. If not, write to -// the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -// Boston, MA 02111-1307, USA. - -// $Revision: 1234 $ -// $LastChangedRevision: 1234 $ -// $LastChangedDate: 2008-01-17 11:12:12 -0500 (Thu, 17 Jan 2008) $ -// $LastChangedBy: thomas $ - -#ifndef __LOCKFREE_BRANCH_HINTS_HPP -#define __LOCKFREE_BRANCH_HINTS_HPP - -namespace lockfree -{ - /** \brief hint for the branch prediction */ - inline bool likely(bool expr) - { -#ifdef __GNUC__ - return __builtin_expect(expr, true); -#else - return expr; -#endif - } - - /** \brief hint for the branch prediction */ - inline bool unlikely(bool expr) - { -#ifdef __GNUC__ - return __builtin_expect(expr, false); -#else - return expr; -#endif - } - -} // namespace - -#endif /* __LOCKFREE_BRANCH_HINTS_HPP */ diff --git a/externals/grill/trunk/flext/source/lockfree/cas.hpp b/externals/grill/trunk/flext/source/lockfree/cas.hpp deleted file mode 100644 index 9c08e5695..000000000 --- a/externals/grill/trunk/flext/source/lockfree/cas.hpp +++ /dev/null @@ -1,252 +0,0 @@ -// $Id: cas.hpp 3666 2009-03-04 23:00:05Z thomas $ -// -// Copyright (C) 2007-2008 Tim Blechmann & Thomas Grill -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; see the file COPYING. If not, write to -// the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -// Boston, MA 02111-1307, USA. - -// $Revision: 3666 $ -// $LastChangedRevision: 3666 $ -// $LastChangedDate: 2009-03-04 18:00:05 -0500 (Wed, 04 Mar 2009) $ -// $LastChangedBy: thomas $ - -#ifndef __LOCKFREE_CAS_H -#define __LOCKFREE_CAS_H - -#include "prefix.hpp" - -#ifndef _WIN32 -// pthreads are not available under Windows by default and we should not need them there -# include <pthread.h> -#endif - -namespace lockfree -{ - inline void memory_barrier() - { -#if defined(__GNUC__) && ( (__GNUC__ > 4) || ((__GNUC__ >= 4) && (__GNUC_MINOR__ >= 1)) ) - __sync_synchronize(); -#elif defined(__GNUC__) && (defined(__i386__) || defined(__i686__)) - asm("" : : : "memory"); -#elif defined(_MSC_VER) && (_MSC_VER >= 1300) - _ReadWriteBarrier(); -#elif defined(__APPLE__) && (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4) - OSMemoryBarrier(); -#elif defined(AO_HAVE_nop_full) - AO_nop_full(); -#else -# error no memory barrier implemented for this platform -#endif - } - - template <class C, class D> - inline bool CAS(volatile C * addr,D old,D nw) - { -#if defined(__GNUC__) && ( (__GNUC__ > 4) || ((__GNUC__ >= 4) && (__GNUC_MINOR__ >= 1)) ) - return __sync_bool_compare_and_swap(addr, old, nw); -#elif defined(_MSC_VER) - assert((size_t(addr)&3) == 0); // a runtime check only for debug mode is somehow insufficient.... - return _InterlockedCompareExchange(addr,nw,old) == old; -#elif defined(_WIN32) || defined(_WIN64) - assert((size_t(addr)&3) == 0); // a runtime check only for debug mode is somehow insufficient.... - return InterlockedCompareExchange(addr,nw,old) == old; -#elif defined(__APPLE__) && (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4) - if(sizeof(D) == 4) - return OSAtomicCompareAndSwap32(old,nw,addr); - else if(sizeof(D) == 8) - return OSAtomicCompareAndSwap64(old,nw,addr); - else - assert(false); -#elif defined(AO_HAVE_compare_and_swap_full) - return AO_compare_and_swap_full(reinterpret_cast<volatile AO_t*>(addr), - reinterpret_cast<AO_t>(old), - reinterpret_cast<AO_t>(nw)); -#else - -# ifdef __GNUC__ -# warning blocking CAS emulation -# else -# pragma message("blocking CAS emulation") -# endif - - pthread_mutex_t guard = PTHREAD_MUTEX_INITIALIZER; - int status = pthread_mutex_lock(&guard); - assert(!status); - - bool ret; - - if (*addr == old) - { - *addr = nw; - ret = true; - } - else - ret = false; - int status2 = pthread_mutex_unlock(&guard); - assert(!status2); - return ret; -#endif - - } - - - template <class C, class D, class E> - inline bool CAS2(C * addr,D old1,E old2,D new1,E new2) - { -#if defined(__GNUC__) && ((__GNUC__ > 4) || ( (__GNUC__ >= 4) && (__GNUC_MINOR__ >= 2) ) ) && (defined(__i686__) || defined(__pentiumpro__) || defined(__nocona__) || defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8)) - struct packed_c - { - D d; - E e; - }; - - union cu - { - packed_c c; - long long l; - }; - - cu old; - old.c.d = old1; - old.c.e = old2; - - cu nw; - nw.c.d = new1; - nw.c.e = new2; - - return __sync_bool_compare_and_swap_8(reinterpret_cast<volatile long long*>(addr), - old.l, - nw.l); -#elif defined(__GNUC__) && ((__GNUC__ > 4) || ( (__GNUC__ >= 4) && (__GNUC_MINOR__ >= 2) ) ) && (defined(__x86_64__) || defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16)) - struct packed_c - { - D d; - E e; - }; - - union cu - { - packed_c c; - long long l; - }; - - cu old; - old.c.d = old1; - old.c.e = old2; - - cu nw; - nw.c.d = new1; - nw.c.e = new2; - - return __sync_bool_compare_and_swap_16(reinterpret_cast<volatile long long*>(addr), - old.l, - nw.l); -#elif defined(_MSC_VER) - bool ok; - __asm { -# ifdef _WIN32 - mov eax,[old1] - mov edx,[old2] - mov ebx,[new1] - mov ecx,[new2] - mov edi,[addr] - lock cmpxchg8b [edi] -# else - mov rax,[old1] - mov rdx,[old2] - mov rbx,[new1] - mov rcx,[new2] - mov rdi,[addr] - lock cmpxchg16b [rdi] -# endif - setz [ok] - } - return ok; -#elif defined(__GNUC__) && (defined(__i386__) || defined(__i686__) || defined(__x86_64__)) - char result; - if(sizeof(D) == 4 && sizeof(E) == 4) { - #ifndef __PIC__ - __asm__ __volatile__("lock; cmpxchg8b %0; setz %1" - : "=m"(*addr), "=q"(result) - : "m"(*addr), "a" (old1), "d" (old2), - "b" (new1), "c" (new2) : "memory"); - #else - __asm__ __volatile__("push %%ebx; movl %5,%%ebx; lock; cmpxchg8b %0; setz %1; pop %%ebx" - : "=m"(*addr), "=q"(result) - : "m"(*addr), "a" (old1), "d" (old2), - "m" (new1), "c" (new2) : "memory"); - #endif - } - else if(sizeof(D) == 8 && sizeof(E) == 8) { - __asm__ __volatile__("lock; cmpxchg16b %0; setz %1" - : "=m"(*addr), "=q"(result) - : "m"(*addr), "a" (old1), "d" (old2), - "b" (new1), "c" (new2) : "memory"); - } - else - assert(false); - return result != 0; -#elif defined(AO_HAVE_double_compare_and_swap_full) - if (sizeof(D) != sizeof(AO_t) || sizeof(E) != sizeof(AO_t)) { - assert(false); - return false; - } - - return AO_compare_double_and_swap_double_full( - reinterpret_cast<volatile AO_double_t*>(addr), - static_cast<AO_t>(old2), - reinterpret_cast<AO_t>(old1), - static_cast<AO_t>(new2), - reinterpret_cast<AO_t>(new1) - ); -#else - -# ifdef __GNUC__ -# warning blocking CAS2 emulation -# else -# pragma message("blocking CAS2 emulation") -# endif - struct packed_c - { - D d; - E e; - }; - - volatile packed_c * packed_addr = reinterpret_cast<volatile packed_c*>(addr); - - pthread_mutex_t guard = PTHREAD_MUTEX_INITIALIZER; - int status = pthread_mutex_lock(&guard); - assert(!status); - - bool ret; - - if (packed_addr->d == old1 && - packed_addr->e == old2) - { - packed_addr->d = new1; - packed_addr->e = new2; - ret = true; - } - else - ret = false; - int status2 = pthread_mutex_unlock(&guard); - assert(!status2); - return ret; -#endif - } - -} // namespace - -#endif /* __LOCKFREE_CAS_H */ diff --git a/externals/grill/trunk/flext/source/lockfree/fifo.hpp b/externals/grill/trunk/flext/source/lockfree/fifo.hpp deleted file mode 100644 index b39ebfdfb..000000000 --- a/externals/grill/trunk/flext/source/lockfree/fifo.hpp +++ /dev/null @@ -1,250 +0,0 @@ -// $Id: fifo.hpp 1218 2008-01-05 22:02:14Z thomas $ -// -// lock-free fifo queue from -// Michael, M. M. and Scott, M. L., -// "simple, fast and practical non-blocking and blocking concurrent queue algorithms" -// -// intrusive implementation for c++ -// -// Copyright (C) 2007 Tim Blechmann & Thomas Grill -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; see the file COPYING. If not, write to -// the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -// Boston, MA 02111-1307, USA. - -// $Revision: 1218 $ -// $LastChangedRevision: 1218 $ -// $LastChangedDate: 2008-01-05 17:02:14 -0500 (Sat, 05 Jan 2008) $ -// $LastChangedBy: thomas $ - -#ifndef __LOCKFREE_FIFO_HPP -#define __LOCKFREE_FIFO_HPP - -#include "cas.hpp" -#include "atomic_ptr.hpp" -#include "branch_hints.hpp" - -#ifdef HAVE_BOOST -# include <boost/type_traits.hpp> -# include <boost/static_assert.hpp> -#else /* HAVE_BOOST */ -# ifdef BOOST_STATIC_ASSERT -# undef BOOST_STATIC_ASSERT -# endif -# define BOOST_STATIC_ASSERT(x) -#endif /* HAVE_BOOST */ - -#include <memory> - -namespace lockfree -{ - struct intrusive_fifo_node; - - typedef atomic_ptr<intrusive_fifo_node> intrusive_fifo_ptr_t; - - struct intrusive_fifo_node - { - intrusive_fifo_ptr_t next; - struct fifo_node * data; - }; - - struct fifo_node - { - intrusive_fifo_node *volatile node; - - protected: - fifo_node(void) - { - node = new intrusive_fifo_node(); - } - - ~fifo_node(void) - { - delete node; - } - - template <class T> friend class intrusive_fifo; - }; - - template <typename T> - class intrusive_fifo - { - BOOST_STATIC_ASSERT((boost::is_base_of<fifo_node,T>::value)); - - public: - intrusive_fifo(void) - { - /* dummy pointer for head/tail */ - intrusive_fifo_node * dummy = new intrusive_fifo_node(); - dummy->next(NULL,0); - head_(dummy,0); - tail_(dummy,0); - } - - ~intrusive_fifo(void) - { - /* client must have freed all members already */ - assert (empty()); - delete head_.getPtr(); - } - - bool empty() const - { - return head_.getPtr() == tail_.getPtr() || (!tail_.getPtr()); - } - - void enqueue(T * instance) - { - /* volatile */ intrusive_fifo_node * node = static_cast<fifo_node*>(instance)->node; - node->next.setPtr(NULL); - node->data = static_cast<fifo_node*>(instance); - - for (;;) - { - intrusive_fifo_ptr_t tail(tail_); - memory_barrier(); - - intrusive_fifo_ptr_t next(tail.getPtr()->next); - memory_barrier(); - - if (likely(tail == tail_)) - { - if (next.getPtr() == 0) - { - if (tail.getPtr()->next.CAS(next,node)) - { - tail_.CAS(tail,node); - return; - } - } - else - tail_.CAS(tail,next); - } - } - } - - T* dequeue (void) - { - T * ret; - for (;;) - { - intrusive_fifo_ptr_t head(head_); - memory_barrier(); - - intrusive_fifo_ptr_t tail(tail_); - /* volatile */ intrusive_fifo_node * next = head.getPtr()->next.getPtr(); - memory_barrier(); - - if (likely(head == head_)) - { - if (head.getPtr() == tail.getPtr()) - { - if (next == 0) - return 0; - tail_.CAS(tail,next); - } - else - { - ret = static_cast<T*>(next->data); - if (head_.CAS(head,next)) - { - ret->node = head.getPtr(); - return ret; - } - } - } - } - } - - private: - intrusive_fifo_ptr_t head_,tail_; - }; - - template <typename T> - class fifo_value_node: - public fifo_node - { - public: - fifo_value_node(T const & v): value(v) {} - - T value; - }; - - template <typename T, class Alloc = std::allocator<T> > - class fifo - : intrusive_fifo<fifo_value_node<T> > - { - public: - ~fifo() - { - fifo_value_node<T> * node; - while((node = intrusive_fifo<fifo_value_node<T> >::dequeue()) != NULL) - free(node); - } - - void enqueue(T const & v) - { - intrusive_fifo<fifo_value_node<T> >::enqueue(alloc(v)); - } - - bool dequeue (T & v) - { - fifo_value_node<T> * node = intrusive_fifo<fifo_value_node<T> >::dequeue(); - if(!node) - return false; - - v = node->value; - free(node); - return true; - } - - private: - -#if 0 - inline fifo_value_node<T> *alloc(const T &k) - { - fifo_value_node<T> *node = allocator.allocate(1); - allocator.construct(node,k); - return node; - } - - inline void free(fifo_value_node<T> *n) - { - assert(n); - allocator.destroy(n); - allocator.deallocate(n,1); - } -#else - // hmmm... static keyword brings 10% speedup... - - static inline fifo_value_node<T> *alloc(const T &k) - { - return new fifo_value_node<T>(k); - } - - static inline void free(fifo_value_node<T> *n) - { - assert(n); - delete n; - } -#endif - - typename Alloc::template rebind<fifo_value_node<T> >::other allocator; - }; -} - -#endif /* __LOCKFREE_FIFO_HPP */ - - - diff --git a/externals/grill/trunk/flext/source/lockfree/prefix.hpp b/externals/grill/trunk/flext/source/lockfree/prefix.hpp deleted file mode 100644 index 8f887d618..000000000 --- a/externals/grill/trunk/flext/source/lockfree/prefix.hpp +++ /dev/null @@ -1,64 +0,0 @@ -// $Id: prefix.hpp 3747 2011-03-23 21:07:00Z thomas $ -// -// Copyright (C) 2007 Tim Blechmann & Thomas Grill -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; see the file COPYING. If not, write to -// the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -// Boston, MA 02111-1307, USA. - -// $Revision: 3747 $ -// $LastChangedRevision: 3747 $ -// $LastChangedDate: 2011-03-23 17:07:00 -0400 (Wed, 23 Mar 2011) $ -// $LastChangedBy: thomas $ - - -#ifndef __LOCKFREE_PREFIX_H -#define __LOCKFREE_PREFIX_H - -#include <cassert> - -#ifdef USE_ATOMIC_OPS - #define AO_REQUIRE_CAS - #define AO_USE_PENTIUM4_INSTRS - - extern "C" { - #include <atomic_ops.h> - } -#endif - -#ifdef _WIN32 - #include <windows.h> -#endif - -#ifdef __APPLE__ - #include <libkern/OSAtomic.h> -#endif - -#if defined(__GLIBCPP__) || defined(__GLIBCXX__) - #if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 2)) - #include <ext/atomicity.h> - #else - #include <bits/atomicity.h> - #endif -#endif - -#if defined(_MSC_VER) -// \note: Must use /Oi option for VC++ to enable intrinsics - extern "C" { - void __cdecl _ReadWriteBarrier(); - LONG __cdecl _InterlockedCompareExchange(LONG volatile* Dest,LONG Exchange, LONG Comp); - } -#endif - -#endif /* __LOCKFREE_PREFIX_H */ diff --git a/externals/grill/trunk/flext/source/lockfree/stack.hpp b/externals/grill/trunk/flext/source/lockfree/stack.hpp deleted file mode 100644 index a29deee55..000000000 --- a/externals/grill/trunk/flext/source/lockfree/stack.hpp +++ /dev/null @@ -1,157 +0,0 @@ -// $Id: stack.hpp 1218 2008-01-05 22:02:14Z thomas $ -// -// lock-free stack -// -// Copyright (C) 2007 Tim Blechmann & Thomas Grill -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; see the file COPYING. If not, write to -// the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -// Boston, MA 02111-1307, USA. - -// $Revision: 1218 $ -// $LastChangedRevision: 1218 $ -// $LastChangedDate: 2008-01-05 17:02:14 -0500 (Sat, 05 Jan 2008) $ -// $LastChangedBy: thomas $ - -#ifndef __LOCKFREE_STACK_HPP -#define __LOCKFREE_STACK_HPP - -#include "cas.hpp" -#include "atomic_ptr.hpp" -#include "branch_hints.hpp" - -#include <memory> // for std::allocator - -#if HAVE_BOOST -# include <boost/type_traits.hpp> -# include <boost/static_assert.hpp> -#else -# define BOOST_STATIC_ASSERT(x) -#endif - -namespace lockfree -{ - //! nodes for the intrusive_stack must be derived from that - class stack_node - { - template <class T> friend class intrusive_stack; - - public: - stack_node(): next(NULL) {} - - private: - atomic_ptr<stack_node> next; - }; - - //! intrusive lock-free stack implementation with T being the node type (inherited from stack_node) - template <typename T> - class intrusive_stack - { - BOOST_STATIC_ASSERT((boost::is_base_of<stack_node,T>::value)); - - public: - intrusive_stack(): head(NULL) {} - - ~intrusive_stack() - { - assert(empty()); - } - - bool empty() const { return !head.getPtr(); } - - void push(T *node) - { - assert(!node->next.getPtr()); - while(unlikely(!head.CAS(node->next = head,node))); - } - - T *pop() - { - for(;;) { - atomic_ptr<stack_node> current(head); - T *node = static_cast<T *>(current.getPtr()); - if(!node || likely(head.CAS(current,node->next.getPtr()))) { - if(node) node->next.setPtr(NULL); - return node; - } - } - } - - private: - atomic_ptr<stack_node> head; - }; - - - //! node type used by non-intrusive stack - template <typename T> - class stack_value_node - : public stack_node - { - public: - stack_value_node(T const &v): value(v) {} - T value; - }; - - - //! non-intrusive lock-free stack - template <typename T,class Alloc = std::allocator<T> > - class stack - : intrusive_stack<stack_value_node<T> > - { - public: - ~stack() - { - // delete remaining elements - stack_value_node<T> * node; - while((node = intrusive_stack<stack_value_node<T> >::pop()) != NULL) - free(node); - } - - void push(T const &v) - { - intrusive_stack<stack_value_node<T> >::push(alloc(v)); - } - - bool pop(T &v) - { - stack_value_node<T> *node = intrusive_stack<stack_value_node<T> >::pop(); - if(!node) - return false; - v = node->value; - free(node); - return true; - } - - private: - - inline stack_value_node<T> *alloc(const T &k) - { - stack_value_node<T> *node = allocator.allocate(1); - allocator.construct(node,k); - return node; - } - - inline void free(stack_value_node<T> *n) - { - assert(n); - allocator.destroy(n); - allocator.deallocate(n,1); - } - - typename Alloc::template rebind<stack_value_node<T> >::other allocator; - }; - -} // namespace - -#endif diff --git a/externals/grill/trunk/flext/tutorial/.svn/all-wcprops b/externals/grill/trunk/flext/tutorial/.svn/all-wcprops deleted file mode 100644 index d01eabf07..000000000 --- a/externals/grill/trunk/flext/tutorial/.svn/all-wcprops +++ /dev/null @@ -1,47 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 39 -/ext/!svn/ver/3723/trunk/flext/tutorial -END -tutorial.sln -K 25 -svn:wc:ra_dav:version-url -V 52 -/ext/!svn/ver/1247/trunk/flext/tutorial/tutorial.sln -END -license.txt -K 25 -svn:wc:ra_dav:version-url -V 51 -/ext/!svn/ver/1247/trunk/flext/tutorial/license.txt -END -gpl.txt -K 25 -svn:wc:ra_dav:version-url -V 47 -/ext/!svn/ver/1247/trunk/flext/tutorial/gpl.txt -END -build.bat -K 25 -svn:wc:ra_dav:version-url -V 49 -/ext/!svn/ver/1247/trunk/flext/tutorial/build.bat -END -build.sh -K 25 -svn:wc:ra_dav:version-url -V 48 -/ext/!svn/ver/1247/trunk/flext/tutorial/build.sh -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 51 -/ext/!svn/ver/1247/trunk/flext/tutorial/Makefile.am -END -readme.txt -K 25 -svn:wc:ra_dav:version-url -V 50 -/ext/!svn/ver/1247/trunk/flext/tutorial/readme.txt -END diff --git a/externals/grill/trunk/flext/tutorial/.svn/entries b/externals/grill/trunk/flext/tutorial/.svn/entries deleted file mode 100644 index 1a93994bb..000000000 --- a/externals/grill/trunk/flext/tutorial/.svn/entries +++ /dev/null @@ -1,332 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/tutorial -https://svn.grrrr.org/ext - - - -2010-01-29T15:27:10.761428Z -3723 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -simple1 -dir - -simple2 -dir - -readme.txt -file - - - - -2012-05-13T23:08:37.305556Z -4fc400f77166810467669834b4ba814c -2006-02-01T14:32:50.049530Z -1151 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -2537 - -simple3 -dir - -stk1 -dir - -stk2 -dir - -lib1 -dir - -thread1 -dir - -thread2 -dir - -buffer1 -dir - -attr1 -dir - -adv1 -dir - -attr2 -dir - -adv2 -dir - -bind1 -dir - -attr3 -dir - -adv3 -dir - -signal1 -dir - -tutorial.sln -file - - - - -2012-05-13T23:08:37.300556Z -78a3b1f83b99f0c74a990c9c6ae616fa -2003-11-12T01:58:35.000000Z -727 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -29540 - -signal2 -dir - -sndobj1 -dir - -license.txt -file - - - - -2012-05-13T23:08:37.301556Z -b741f7a5125db872aa72cc8a96e82cde -2006-02-01T14:32:50.049530Z -1151 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -2008 - -gpl.txt -file - - - - -2012-05-13T23:08:37.302556Z -7c3ee8498d3cf614fce78d97054708f9 -2002-07-31T17:45:28.000000Z -189 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -18009 - -timer1 -dir - -pd -dir - -build.bat -file - - - - -2012-05-13T23:08:37.303556Z -eae2706398481f04b09aa7eb6b9d0e4b -2005-04-10T22:18:02.113362Z -1056 -thomas - - - - - - - - - - - - - - - - - - - - - -692 - -maxmsp -dir - -build.sh -file - - - - -2012-05-13T23:08:37.304556Z -7c03566a51f93e402ce175e7fb2c1c7b -2005-04-10T22:17:02.334182Z -1055 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -605 - -Makefile.am -file - - - - -2012-05-13T23:08:37.304556Z -a421e9a54764ca30ec032d97b0cc3291 -2005-01-05T15:32:14.875555Z -961 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -531 - diff --git a/externals/grill/trunk/flext/tutorial/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/tutorial/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/tutorial/.svn/prop-base/build.sh.svn-base b/externals/grill/trunk/flext/tutorial/.svn/prop-base/build.sh.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/tutorial/.svn/prop-base/build.sh.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/tutorial/.svn/prop-base/gpl.txt.svn-base b/externals/grill/trunk/flext/tutorial/.svn/prop-base/gpl.txt.svn-base deleted file mode 100644 index fe7d6daf7..000000000 --- a/externals/grill/trunk/flext/tutorial/.svn/prop-base/gpl.txt.svn-base +++ /dev/null @@ -1,13 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 14 -svn:executable -V 1 -* -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/.svn/prop-base/license.txt.svn-base b/externals/grill/trunk/flext/tutorial/.svn/prop-base/license.txt.svn-base deleted file mode 100644 index fe7d6daf7..000000000 --- a/externals/grill/trunk/flext/tutorial/.svn/prop-base/license.txt.svn-base +++ /dev/null @@ -1,13 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 14 -svn:executable -V 1 -* -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/.svn/prop-base/readme.txt.svn-base b/externals/grill/trunk/flext/tutorial/.svn/prop-base/readme.txt.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/.svn/prop-base/readme.txt.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/.svn/prop-base/tutorial.sln.svn-base b/externals/grill/trunk/flext/tutorial/.svn/prop-base/tutorial.sln.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/.svn/prop-base/tutorial.sln.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index f3247e814..000000000 --- a/externals/grill/trunk/flext/tutorial/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,55 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -SUBDIRS = \ - adv1 \ - adv2 \ - adv3 \ - attr1 \ - attr2 \ - attr3 \ - bind1 \ - buffer1 \ - lib1 \ - signal1 \ - signal2 \ - simple1 \ - simple2 \ - simple3 \ - sndobj1 \ - stk1 \ - stk2 \ - thread1 \ - thread2 \ - timer1 - - -EXTRA_DIST = \ - readme.txt \ - gpl.txt \ - tutorial.sln - -DIST_SUBDIRS = pd \ - maxmsp \ - adv1 \ - adv2 \ - adv3 \ - attr1 \ - attr2 \ - attr3 \ - bind1 \ - buffer1 \ - lib1 \ - signal1 \ - signal2 \ - simple1 \ - simple2 \ - simple3 \ - sndobj1 \ - stk1 \ - stk2 \ - thread1 \ - thread2 \ - timer1 diff --git a/externals/grill/trunk/flext/tutorial/.svn/text-base/build.bat.svn-base b/externals/grill/trunk/flext/tutorial/.svn/text-base/build.bat.svn-base deleted file mode 100644 index 431454d4b..000000000 --- a/externals/grill/trunk/flext/tutorial/.svn/text-base/build.bat.svn-base +++ /dev/null @@ -1,32 +0,0 @@ -@echo off - -if "%1"=="" goto syntax -if "%2"=="" goto syntax - -rem first check configuration -call ..\build.bat %1 %2 config "PKGINFO=" "NAME=tutorial" "SRCS=." -if errorlevel 1 goto end - -for /D %%i in (*) do ( - pushd %%i - if exist package.txt ( - call ..\..\build.bat %1 %2 - ) - popd -) - -goto end - -rem ----------------------------------------- -:syntax - -echo . -echo SYNTAX: build [system] [compiler] -echo system ... pd / max -echo compiler ... msvc / gcc / mingw / cygwin / bcc / icc -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 . - -:end diff --git a/externals/grill/trunk/flext/tutorial/.svn/text-base/build.sh.svn-base b/externals/grill/trunk/flext/tutorial/.svn/text-base/build.sh.svn-base deleted file mode 100644 index 6ea19cb19..000000000 --- a/externals/grill/trunk/flext/tutorial/.svn/text-base/build.sh.svn-base +++ /dev/null @@ -1,27 +0,0 @@ -#! /bin/bash - -if - [ -n "$1" -a -n "$2" ] -then - # make config first - if - bash ../build.sh $1 $2 config "PKGINFO=" "NAME=tutorial" "SRCS=\"\"" - then - for i in * ; do - if [ -e $i/package.txt ] ; then - pushd $i - bash ../../build.sh $1 $2 - popd - fi - done - fi -else - echo - echo SYNTAX: build.sh [platform] [system] [compiler] - echo system ..... pd / max - echo compiler ... msvc / gcc / mingw / cygwin / bcc / icc - 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 -fi diff --git a/externals/grill/trunk/flext/tutorial/.svn/text-base/gpl.txt.svn-base b/externals/grill/trunk/flext/tutorial/.svn/text-base/gpl.txt.svn-base deleted file mode 100644 index 5ea29a7df..000000000 --- a/externals/grill/trunk/flext/tutorial/.svn/text-base/gpl.txt.svn-base +++ /dev/null @@ -1,346 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) 19yy <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19yy name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. - diff --git a/externals/grill/trunk/flext/tutorial/.svn/text-base/license.txt.svn-base b/externals/grill/trunk/flext/tutorial/.svn/text-base/license.txt.svn-base deleted file mode 100644 index d48095bd7..000000000 --- a/externals/grill/trunk/flext/tutorial/.svn/text-base/license.txt.svn-base +++ /dev/null @@ -1,50 +0,0 @@ -flext - C++ layer for Max/MSP and pd (pure data) externals -Copyright (C) 2001-2006 Thomas Grill - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -In the official flext distribution, the GNU General Public License is -in the file gpl.txt - ---------------------------------------------------------- - - OTHER COPYRIGHT NOTICES - ---------------------------------------------------------- -This package uses a lot of code from GEM by Mark Danks - -See the license text below: - ---- GEM -------------------------------------- -GEM - Graphics Environment for Multimedia -Copyright (C) 1997-2000 Mark Danks - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -In the official GEM distribution, the GNU General Public License is -in the file GnuGPL.LICENSE - diff --git a/externals/grill/trunk/flext/tutorial/.svn/text-base/readme.txt.svn-base b/externals/grill/trunk/flext/tutorial/.svn/text-base/readme.txt.svn-base deleted file mode 100644 index beecb20e7..000000000 --- a/externals/grill/trunk/flext/tutorial/.svn/text-base/readme.txt.svn-base +++ /dev/null @@ -1,77 +0,0 @@ -flext - C++ layer for Max/MSP and pd (pure data) externals -tutorial examples - -Copyright (c) 2001-2006 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. - ----------------------------------------------------------------------------- - -These are a few examples to demonstrate some flext features. -Contribution of examples to the package is higly appreciated! - ----------------------------------------------------------------------------- - -The recommended order to go through the tutorial examples is the following: - -1) simple* -2) adv* -3) attr* -4) timer* -5) signal* -6) lib* -7) thread* - -and, if needed -8) sndobj* and/or stk* - -if you choose to compile with SndObj support you will need the respective library -download from: http://www.may.ie/academic/music/musictec/SndObj/main.html - -if you choose to compile with STK support you will need the respective package and build a library -download from: http://ccrma-www.stanford.edu/software/stk/ -Under linux you can create such a library from the STK directory with: -"g++ -c -pipe -I include -D __LINUX_OSS__ src/*.cpp && ar r libstk.a *.o && rm -f *.o" - - ----------------------------------------------------------------------------- - -The package should at least compile (and is tested) with the following compilers: - -pd - Windows: -------------- -o Microsoft Visual C++ 6: edit "config-pd-msvc.txt" & run "build-pd-msvc.bat" - -o Borland C++ 5.5 (free): edit "config-pd-bcc.txt" & run "build-pd-bcc.bat" - (no threading support for that compiler!) - -o Cygwin: edit "config-pd-cygwin.txt" & run "sh build-pd-cygwin.sh" - (no threading support for that compiler!) - -pd - linux: ------------ -o GCC: edit "config-pd-linux.txt" & run "sh build-pd-linux.sh" - -pd - MacOSX: ------------ -o GCC: edit "config-pd-darwin.txt" & run "sh build-pd-darwin.sh" - - -Max/MSP - MacOS 9: ------------------- -o Metrowerks CodeWarrior V6: edit & use the several ".cw" project files - -You must have the following "Source Trees" defined: -"flext" - Pointing to the flext main directory -"Cycling74" - Pointing to the Cycling 74 SDK - -Max/MSP - MacOSX: ------------------- -o Metrowerks CodeWarrior V6: edit & use the several ".cw" project files - -You must have the following "Source Trees" defined: -"OS X Volume" - Pointing to your OSX boot drive -"flext" - Pointing to the flext main directory -"Cycling74 OSX" - Pointing to the Cycling 74 SDK for xmax -"MP SDK" - Pointing to the Multiprocessing SDK (for threading support) - diff --git a/externals/grill/trunk/flext/tutorial/.svn/text-base/tutorial.sln.svn-base b/externals/grill/trunk/flext/tutorial/.svn/text-base/tutorial.sln.svn-base deleted file mode 100644 index 7d3ab1e85..000000000 --- a/externals/grill/trunk/flext/tutorial/.svn/text-base/tutorial.sln.svn-base +++ /dev/null @@ -1,473 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 8.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "adv1", "adv1\adv1.vcproj", "{A90E248D-52FD-458F-90A5-F20F7ED1D564}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "adv2", "adv2\adv2.vcproj", "{B0C13353-9F2E-4714-A85C-6904B75B4345}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "adv3", "adv3\adv3.vcproj", "{3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "attr1", "attr1\attr1.vcproj", "{9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "attr2", "attr2\attr2.vcproj", "{D891041F-303E-4E99-868F-11FF58E0C779}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "attr3", "attr3\attr3.vcproj", "{EA839AFE-95F0-47CF-9A78-72EF51CB9940}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bind1", "bind1\bind1.vcproj", "{C568D327-EA97-49C8-AF05-5FD7D35B6191}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "buffer1", "buffer1\buffer1.vcproj", "{723071BA-FE33-4C29-AB7B-6AB30B6057F7}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flext", "..\flext.vcproj", "{A0882797-7925-4AA3-93EA-7241487CECC5}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib1", "lib1\lib1.vcproj", "{4560EF26-304A-424F-B882-1F65A1F4DC67}" - ProjectSection(ProjectDependencies) = postProject - {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "signal1", "signal1\signal1.vcproj", "{5F58157D-ABB1-4066-A143-C14515A3D7F9}" - ProjectSection(ProjectDependencies) = postProject - {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "signal2", "signal2\signal2.vcproj", "{B6D40688-2D3E-4DAA-8004-706FAA731F18}" - ProjectSection(ProjectDependencies) = postProject - {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple1", "simple1\simple1.vcproj", "{CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}" - ProjectSection(ProjectDependencies) = postProject - {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple2", "simple2\simple2.vcproj", "{4880ABD9-1598-4D5E-B4D3-558E8648405D}" - ProjectSection(ProjectDependencies) = postProject - {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple3", "simple3\simple3.vcproj", "{325D0FC7-AED9-487E-9FE5-4DEC305C2799}" - ProjectSection(ProjectDependencies) = postProject - {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sndobj1", "sndobj1\sndobj1.vcproj", "{A9B22491-39A4-4010-ABDF-5C8EF80432D7}" - ProjectSection(ProjectDependencies) = postProject - {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stk1", "stk1\stk1.vcproj", "{AD7C94F9-BB76-4588-BF89-491D7C6D40EC}" - ProjectSection(ProjectDependencies) = postProject - {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stk2", "stk2\stk2.vcproj", "{18A3D222-AC98-4CFF-82C0-E5421AB39981}" - ProjectSection(ProjectDependencies) = postProject - {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "thread1", "thread1\thread1.vcproj", "{702908EB-47A9-45D0-BCC5-3448C98C73E6}" - ProjectSection(ProjectDependencies) = postProject - {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "thread2", "thread2\thread2.vcproj", "{4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}" - ProjectSection(ProjectDependencies) = postProject - {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "timer1", "timer1\timer1.vcproj", "{EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}" - ProjectSection(ProjectDependencies) = postProject - {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5} - EndProjectSection -EndProject -Global - GlobalSection(SourceCodeControl) = preSolution - SccNumberOfProjects = 21 - SccProjectUniqueName0 = adv1\\adv1.vcproj - SccProjectName0 = adv1 - SccLocalPath0 = adv1 - SccProvider0 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName1 = adv2\\adv2.vcproj - SccProjectName1 = adv2 - SccLocalPath1 = adv2 - SccProvider1 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName2 = adv3\\adv3.vcproj - SccProjectName2 = adv3 - SccLocalPath2 = adv3 - SccProvider2 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName3 = attr1\\attr1.vcproj - SccProjectName3 = attr1 - SccLocalPath3 = attr1 - SccProvider3 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName4 = attr2\\attr2.vcproj - SccProjectName4 = attr2 - SccLocalPath4 = attr2 - SccProvider4 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName5 = attr3\\attr3.vcproj - SccProjectName5 = attr3 - SccLocalPath5 = attr3 - SccProvider5 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName6 = bind1\\bind1.vcproj - SccProjectName6 = max/flext/tutorial/bind1 - SccLocalPath6 = bind1 - SccProvider6 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName7 = buffer1\\buffer1.vcproj - SccProjectName7 = max/flext/tutorial/buffer1 - SccLocalPath7 = buffer1 - SccProvider7 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName8 = ..\\flext.vcproj - SccProjectName8 = max/flext - SccLocalPath8 = .. - SccProvider8 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName9 = lib1\\lib1.vcproj - SccProjectName9 = lib1 - SccLocalPath9 = lib1 - SccProvider9 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName10 = signal1\\signal1.vcproj - SccProjectName10 = max/flext/tutorial/signal1 - SccLocalPath10 = signal1 - SccProvider10 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName11 = signal2\\signal2.vcproj - SccProjectName11 = max/flext/tutorial/signal2 - SccLocalPath11 = signal2 - SccProvider11 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName12 = simple1\\simple1.vcproj - SccProjectName12 = simple1 - SccLocalPath12 = simple1 - SccProvider12 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName13 = simple2\\simple2.vcproj - SccProjectName13 = simple2 - SccLocalPath13 = simple2 - SccProvider13 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName14 = simple3\\simple3.vcproj - SccProjectName14 = simple3 - SccLocalPath14 = simple3 - SccProvider14 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName15 = sndobj1\\sndobj1.vcproj - SccProjectName15 = sndobj1 - SccLocalPath15 = sndobj1 - SccProvider15 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName16 = stk1\\stk1.vcproj - SccProjectName16 = stk1 - SccLocalPath16 = stk1 - SccProvider16 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName17 = stk2\\stk2.vcproj - SccProjectName17 = stk2 - SccLocalPath17 = stk2 - SccProvider17 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName18 = thread1\\thread1.vcproj - SccProjectName18 = thread1 - SccLocalPath18 = thread1 - SccProvider18 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName19 = thread2\\thread2.vcproj - SccProjectName19 = max/flext/tutorial/thread2 - SccLocalPath19 = thread2 - SccProvider19 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName20 = timer1\\timer1.vcproj - SccProjectName20 = timer1 - SccLocalPath20 = timer1 - SccProvider20 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - EndGlobalSection - GlobalSection(SolutionConfiguration) = preSolution - Debug = Debug - Release = Release - Threads Debug = Threads Debug - Threads DLL Debug = Threads DLL Debug - Threads DLL Release = Threads DLL Release - Threads Release = Threads Release - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Debug.ActiveCfg = Debug|Win32 - {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Debug.Build.0 = Debug|Win32 - {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Release.ActiveCfg = Release|Win32 - {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Release.Build.0 = Release|Win32 - {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Threads Debug.ActiveCfg = Debug|Win32 - {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Threads Debug.Build.0 = Debug|Win32 - {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Threads DLL Debug.Build.0 = Debug|Win32 - {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Threads DLL Release.ActiveCfg = Release|Win32 - {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Threads DLL Release.Build.0 = Release|Win32 - {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Threads Release.ActiveCfg = Release|Win32 - {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Threads Release.Build.0 = Release|Win32 - {B0C13353-9F2E-4714-A85C-6904B75B4345}.Debug.ActiveCfg = Debug|Win32 - {B0C13353-9F2E-4714-A85C-6904B75B4345}.Debug.Build.0 = Debug|Win32 - {B0C13353-9F2E-4714-A85C-6904B75B4345}.Release.ActiveCfg = Release|Win32 - {B0C13353-9F2E-4714-A85C-6904B75B4345}.Release.Build.0 = Release|Win32 - {B0C13353-9F2E-4714-A85C-6904B75B4345}.Threads Debug.ActiveCfg = Debug|Win32 - {B0C13353-9F2E-4714-A85C-6904B75B4345}.Threads Debug.Build.0 = Debug|Win32 - {B0C13353-9F2E-4714-A85C-6904B75B4345}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {B0C13353-9F2E-4714-A85C-6904B75B4345}.Threads DLL Debug.Build.0 = Debug|Win32 - {B0C13353-9F2E-4714-A85C-6904B75B4345}.Threads DLL Release.ActiveCfg = Release|Win32 - {B0C13353-9F2E-4714-A85C-6904B75B4345}.Threads DLL Release.Build.0 = Release|Win32 - {B0C13353-9F2E-4714-A85C-6904B75B4345}.Threads Release.ActiveCfg = Release|Win32 - {B0C13353-9F2E-4714-A85C-6904B75B4345}.Threads Release.Build.0 = Release|Win32 - {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Debug.ActiveCfg = Debug|Win32 - {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Debug.Build.0 = Debug|Win32 - {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Release.ActiveCfg = Release|Win32 - {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Release.Build.0 = Release|Win32 - {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Threads Debug.ActiveCfg = Debug|Win32 - {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Threads Debug.Build.0 = Debug|Win32 - {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Threads DLL Debug.Build.0 = Debug|Win32 - {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Threads DLL Release.ActiveCfg = Release|Win32 - {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Threads DLL Release.Build.0 = Release|Win32 - {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Threads Release.ActiveCfg = Release|Win32 - {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Threads Release.Build.0 = Release|Win32 - {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Debug.ActiveCfg = Debug|Win32 - {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Debug.Build.0 = Debug|Win32 - {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Release.ActiveCfg = Release|Win32 - {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Release.Build.0 = Release|Win32 - {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Threads Debug.ActiveCfg = Debug|Win32 - {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Threads Debug.Build.0 = Debug|Win32 - {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Threads DLL Debug.Build.0 = Debug|Win32 - {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Threads DLL Release.ActiveCfg = Release|Win32 - {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Threads DLL Release.Build.0 = Release|Win32 - {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Threads Release.ActiveCfg = Release|Win32 - {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Threads Release.Build.0 = Release|Win32 - {D891041F-303E-4E99-868F-11FF58E0C779}.Debug.ActiveCfg = Debug|Win32 - {D891041F-303E-4E99-868F-11FF58E0C779}.Debug.Build.0 = Debug|Win32 - {D891041F-303E-4E99-868F-11FF58E0C779}.Release.ActiveCfg = Release|Win32 - {D891041F-303E-4E99-868F-11FF58E0C779}.Release.Build.0 = Release|Win32 - {D891041F-303E-4E99-868F-11FF58E0C779}.Threads Debug.ActiveCfg = Debug|Win32 - {D891041F-303E-4E99-868F-11FF58E0C779}.Threads Debug.Build.0 = Debug|Win32 - {D891041F-303E-4E99-868F-11FF58E0C779}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {D891041F-303E-4E99-868F-11FF58E0C779}.Threads DLL Debug.Build.0 = Debug|Win32 - {D891041F-303E-4E99-868F-11FF58E0C779}.Threads DLL Release.ActiveCfg = Release|Win32 - {D891041F-303E-4E99-868F-11FF58E0C779}.Threads DLL Release.Build.0 = Release|Win32 - {D891041F-303E-4E99-868F-11FF58E0C779}.Threads Release.ActiveCfg = Release|Win32 - {D891041F-303E-4E99-868F-11FF58E0C779}.Threads Release.Build.0 = Release|Win32 - {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Debug.ActiveCfg = Debug|Win32 - {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Debug.Build.0 = Debug|Win32 - {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Release.ActiveCfg = Release|Win32 - {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Release.Build.0 = Release|Win32 - {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Threads Debug.ActiveCfg = Debug|Win32 - {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Threads Debug.Build.0 = Debug|Win32 - {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Threads DLL Debug.Build.0 = Debug|Win32 - {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Threads DLL Release.ActiveCfg = Release|Win32 - {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Threads DLL Release.Build.0 = Release|Win32 - {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Threads Release.ActiveCfg = Release|Win32 - {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Threads Release.Build.0 = Release|Win32 - {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Debug.ActiveCfg = Debug|Win32 - {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Debug.Build.0 = Debug|Win32 - {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Release.ActiveCfg = Release|Win32 - {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Release.Build.0 = Release|Win32 - {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Threads Debug.ActiveCfg = Debug|Win32 - {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Threads Debug.Build.0 = Debug|Win32 - {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Threads DLL Debug.Build.0 = Debug|Win32 - {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Threads DLL Release.ActiveCfg = Release|Win32 - {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Threads DLL Release.Build.0 = Release|Win32 - {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Threads Release.ActiveCfg = Release|Win32 - {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Threads Release.Build.0 = Release|Win32 - {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Debug.ActiveCfg = Debug|Win32 - {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Debug.Build.0 = Debug|Win32 - {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Release.ActiveCfg = Release|Win32 - {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Release.Build.0 = Release|Win32 - {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Threads Debug.ActiveCfg = Debug|Win32 - {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Threads Debug.Build.0 = Debug|Win32 - {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Threads DLL Debug.Build.0 = Debug|Win32 - {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Threads DLL Release.ActiveCfg = Release|Win32 - {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Threads DLL Release.Build.0 = Release|Win32 - {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Threads Release.ActiveCfg = Release|Win32 - {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Threads Release.Build.0 = Release|Win32 - {A0882797-7925-4AA3-93EA-7241487CECC5}.Debug.ActiveCfg = Debug|Win32 - {A0882797-7925-4AA3-93EA-7241487CECC5}.Debug.Build.0 = Debug|Win32 - {A0882797-7925-4AA3-93EA-7241487CECC5}.Release.ActiveCfg = Release|Win32 - {A0882797-7925-4AA3-93EA-7241487CECC5}.Release.Build.0 = Release|Win32 - {A0882797-7925-4AA3-93EA-7241487CECC5}.Threads Debug.ActiveCfg = Threads Debug|Win32 - {A0882797-7925-4AA3-93EA-7241487CECC5}.Threads Debug.Build.0 = Threads Debug|Win32 - {A0882797-7925-4AA3-93EA-7241487CECC5}.Threads DLL Debug.ActiveCfg = Threads DLL Debug|Win32 - {A0882797-7925-4AA3-93EA-7241487CECC5}.Threads DLL Debug.Build.0 = Threads DLL Debug|Win32 - {A0882797-7925-4AA3-93EA-7241487CECC5}.Threads DLL Release.ActiveCfg = Threads DLL Release|Win32 - {A0882797-7925-4AA3-93EA-7241487CECC5}.Threads DLL Release.Build.0 = Threads DLL Release|Win32 - {A0882797-7925-4AA3-93EA-7241487CECC5}.Threads Release.ActiveCfg = Threads Release|Win32 - {A0882797-7925-4AA3-93EA-7241487CECC5}.Threads Release.Build.0 = Threads Release|Win32 - {4560EF26-304A-424F-B882-1F65A1F4DC67}.Debug.ActiveCfg = Debug|Win32 - {4560EF26-304A-424F-B882-1F65A1F4DC67}.Debug.Build.0 = Debug|Win32 - {4560EF26-304A-424F-B882-1F65A1F4DC67}.Release.ActiveCfg = Release|Win32 - {4560EF26-304A-424F-B882-1F65A1F4DC67}.Release.Build.0 = Release|Win32 - {4560EF26-304A-424F-B882-1F65A1F4DC67}.Threads Debug.ActiveCfg = Debug|Win32 - {4560EF26-304A-424F-B882-1F65A1F4DC67}.Threads Debug.Build.0 = Debug|Win32 - {4560EF26-304A-424F-B882-1F65A1F4DC67}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {4560EF26-304A-424F-B882-1F65A1F4DC67}.Threads DLL Debug.Build.0 = Debug|Win32 - {4560EF26-304A-424F-B882-1F65A1F4DC67}.Threads DLL Release.ActiveCfg = Release|Win32 - {4560EF26-304A-424F-B882-1F65A1F4DC67}.Threads DLL Release.Build.0 = Release|Win32 - {4560EF26-304A-424F-B882-1F65A1F4DC67}.Threads Release.ActiveCfg = Release|Win32 - {4560EF26-304A-424F-B882-1F65A1F4DC67}.Threads Release.Build.0 = Release|Win32 - {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Debug.ActiveCfg = Debug|Win32 - {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Debug.Build.0 = Debug|Win32 - {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Release.ActiveCfg = Release|Win32 - {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Release.Build.0 = Release|Win32 - {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Threads Debug.ActiveCfg = Debug|Win32 - {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Threads Debug.Build.0 = Debug|Win32 - {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Threads DLL Debug.Build.0 = Debug|Win32 - {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Threads DLL Release.ActiveCfg = Release|Win32 - {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Threads DLL Release.Build.0 = Release|Win32 - {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Threads Release.ActiveCfg = Release|Win32 - {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Threads Release.Build.0 = Release|Win32 - {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Debug.ActiveCfg = Debug|Win32 - {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Debug.Build.0 = Debug|Win32 - {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Release.ActiveCfg = Release|Win32 - {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Release.Build.0 = Release|Win32 - {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Threads Debug.ActiveCfg = Debug|Win32 - {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Threads Debug.Build.0 = Debug|Win32 - {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Threads DLL Debug.Build.0 = Debug|Win32 - {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Threads DLL Release.ActiveCfg = Release|Win32 - {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Threads DLL Release.Build.0 = Release|Win32 - {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Threads Release.ActiveCfg = Release|Win32 - {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Threads Release.Build.0 = Release|Win32 - {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Debug.ActiveCfg = Debug|Win32 - {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Debug.Build.0 = Debug|Win32 - {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Release.ActiveCfg = Release|Win32 - {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Release.Build.0 = Release|Win32 - {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Threads Debug.ActiveCfg = Debug|Win32 - {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Threads Debug.Build.0 = Debug|Win32 - {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Threads DLL Debug.Build.0 = Debug|Win32 - {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Threads DLL Release.ActiveCfg = Release|Win32 - {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Threads DLL Release.Build.0 = Release|Win32 - {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Threads Release.ActiveCfg = Release|Win32 - {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Threads Release.Build.0 = Release|Win32 - {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Debug.ActiveCfg = Debug|Win32 - {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Debug.Build.0 = Debug|Win32 - {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Release.ActiveCfg = Release|Win32 - {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Release.Build.0 = Release|Win32 - {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Threads Debug.ActiveCfg = Debug|Win32 - {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Threads Debug.Build.0 = Debug|Win32 - {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Threads DLL Debug.Build.0 = Debug|Win32 - {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Threads DLL Release.ActiveCfg = Release|Win32 - {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Threads DLL Release.Build.0 = Release|Win32 - {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Threads Release.ActiveCfg = Release|Win32 - {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Threads Release.Build.0 = Release|Win32 - {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Debug.ActiveCfg = Debug|Win32 - {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Debug.Build.0 = Debug|Win32 - {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Release.ActiveCfg = Release|Win32 - {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Release.Build.0 = Release|Win32 - {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Threads Debug.ActiveCfg = Debug|Win32 - {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Threads Debug.Build.0 = Debug|Win32 - {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Threads DLL Debug.Build.0 = Debug|Win32 - {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Threads DLL Release.ActiveCfg = Release|Win32 - {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Threads DLL Release.Build.0 = Release|Win32 - {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Threads Release.ActiveCfg = Release|Win32 - {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Threads Release.Build.0 = Release|Win32 - {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Debug.ActiveCfg = Debug|Win32 - {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Debug.Build.0 = Debug|Win32 - {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Release.ActiveCfg = Release|Win32 - {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Release.Build.0 = Release|Win32 - {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Threads Debug.ActiveCfg = Debug|Win32 - {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Threads Debug.Build.0 = Debug|Win32 - {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Threads DLL Debug.Build.0 = Debug|Win32 - {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Threads DLL Release.ActiveCfg = Release|Win32 - {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Threads DLL Release.Build.0 = Release|Win32 - {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Threads Release.ActiveCfg = Release|Win32 - {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Threads Release.Build.0 = Release|Win32 - {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Debug.ActiveCfg = Debug|Win32 - {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Debug.Build.0 = Debug|Win32 - {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Release.ActiveCfg = Release|Win32 - {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Release.Build.0 = Release|Win32 - {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Threads Debug.ActiveCfg = Debug|Win32 - {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Threads Debug.Build.0 = Debug|Win32 - {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Threads DLL Debug.Build.0 = Debug|Win32 - {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Threads DLL Release.ActiveCfg = Release|Win32 - {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Threads DLL Release.Build.0 = Release|Win32 - {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Threads Release.ActiveCfg = Release|Win32 - {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Threads Release.Build.0 = Release|Win32 - {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Debug.ActiveCfg = Debug|Win32 - {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Debug.Build.0 = Debug|Win32 - {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Release.ActiveCfg = Release|Win32 - {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Release.Build.0 = Release|Win32 - {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Threads Debug.ActiveCfg = Debug|Win32 - {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Threads Debug.Build.0 = Debug|Win32 - {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Threads DLL Debug.Build.0 = Debug|Win32 - {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Threads DLL Release.ActiveCfg = Release|Win32 - {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Threads DLL Release.Build.0 = Release|Win32 - {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Threads Release.ActiveCfg = Release|Win32 - {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Threads Release.Build.0 = Release|Win32 - {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Debug.ActiveCfg = Debug|Win32 - {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Debug.Build.0 = Debug|Win32 - {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Release.ActiveCfg = Release|Win32 - {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Release.Build.0 = Release|Win32 - {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Threads Debug.ActiveCfg = Debug|Win32 - {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Threads Debug.Build.0 = Debug|Win32 - {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Threads DLL Debug.Build.0 = Debug|Win32 - {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Threads DLL Release.ActiveCfg = Release|Win32 - {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Threads DLL Release.Build.0 = Release|Win32 - {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Threads Release.ActiveCfg = Release|Win32 - {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Threads Release.Build.0 = Release|Win32 - {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Debug.ActiveCfg = Debug|Win32 - {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Debug.Build.0 = Debug|Win32 - {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Release.ActiveCfg = Release|Win32 - {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Release.Build.0 = Release|Win32 - {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Threads Debug.ActiveCfg = Debug|Win32 - {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Threads Debug.Build.0 = Debug|Win32 - {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Threads DLL Debug.Build.0 = Debug|Win32 - {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Threads DLL Release.ActiveCfg = Release|Win32 - {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Threads DLL Release.Build.0 = Release|Win32 - {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Threads Release.ActiveCfg = Release|Win32 - {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Threads Release.Build.0 = Release|Win32 - {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Debug.ActiveCfg = Debug|Win32 - {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Debug.Build.0 = Debug|Win32 - {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Release.ActiveCfg = Release|Win32 - {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Release.Build.0 = Release|Win32 - {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Threads Debug.ActiveCfg = Debug|Win32 - {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Threads Debug.Build.0 = Debug|Win32 - {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Threads DLL Debug.Build.0 = Debug|Win32 - {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Threads DLL Release.ActiveCfg = Release|Win32 - {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Threads DLL Release.Build.0 = Release|Win32 - {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Threads Release.ActiveCfg = Release|Win32 - {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Threads Release.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/externals/grill/trunk/flext/tutorial/Makefile.am b/externals/grill/trunk/flext/tutorial/Makefile.am deleted file mode 100644 index f3247e814..000000000 --- a/externals/grill/trunk/flext/tutorial/Makefile.am +++ /dev/null @@ -1,55 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -SUBDIRS = \ - adv1 \ - adv2 \ - adv3 \ - attr1 \ - attr2 \ - attr3 \ - bind1 \ - buffer1 \ - lib1 \ - signal1 \ - signal2 \ - simple1 \ - simple2 \ - simple3 \ - sndobj1 \ - stk1 \ - stk2 \ - thread1 \ - thread2 \ - timer1 - - -EXTRA_DIST = \ - readme.txt \ - gpl.txt \ - tutorial.sln - -DIST_SUBDIRS = pd \ - maxmsp \ - adv1 \ - adv2 \ - adv3 \ - attr1 \ - attr2 \ - attr3 \ - bind1 \ - buffer1 \ - lib1 \ - signal1 \ - signal2 \ - simple1 \ - simple2 \ - simple3 \ - sndobj1 \ - stk1 \ - stk2 \ - thread1 \ - thread2 \ - timer1 diff --git a/externals/grill/trunk/flext/tutorial/adv1/.svn/all-wcprops b/externals/grill/trunk/flext/tutorial/adv1/.svn/all-wcprops deleted file mode 100644 index b966d93b6..000000000 --- a/externals/grill/trunk/flext/tutorial/adv1/.svn/all-wcprops +++ /dev/null @@ -1,35 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 44 -/ext/!svn/ver/1247/trunk/flext/tutorial/adv1 -END -main.cpp -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/1247/trunk/flext/tutorial/adv1/main.cpp -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/adv1/Makefile.am -END -adv1.mcp -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/1247/trunk/flext/tutorial/adv1/adv1.mcp -END -package.txt -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/adv1/package.txt -END -adv1.vcproj -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/adv1/adv1.vcproj -END diff --git a/externals/grill/trunk/flext/tutorial/adv1/.svn/entries b/externals/grill/trunk/flext/tutorial/adv1/.svn/entries deleted file mode 100644 index c117e023b..000000000 --- a/externals/grill/trunk/flext/tutorial/adv1/.svn/entries +++ /dev/null @@ -1,198 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/tutorial/adv1 -https://svn.grrrr.org/ext - - - -2005-01-26T11:58:31.157320Z -992 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -main.cpp -file - - - - -2012-05-13T23:08:36.732556Z -6c904549efb94100ccc91c5852bb0334 -2003-01-01T23:54:16.000000Z -465 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -2454 - -Makefile.am -file - - - - -2012-05-13T23:08:36.733556Z -900d1a937e1c4bafccf2118266c6c5da -2005-01-26T11:58:31.157320Z -992 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -911 - -adv1.mcp -file - - - - -2012-05-13T23:08:36.734556Z -460cc5a58cf04cddd5f685a31995e60b -2005-01-04T13:28:16.495520Z -953 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -146697 - -package.txt -file - - - - -2012-05-13T23:08:36.735556Z -a5b7c3a8911bbb2b2969eede768d5930 -2005-01-04T13:57:44.777172Z -954 -thomas - - - - - - - - - - - - - - - - - - - - - -26 - -adv1.vcproj -file - - - - -2012-05-13T23:08:36.736556Z -262ee79ac758d10f4aef1aa727e61eed -2003-11-12T01:58:35.000000Z -727 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4853 - diff --git a/externals/grill/trunk/flext/tutorial/adv1/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/adv1/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/tutorial/adv1/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/tutorial/adv1/.svn/prop-base/adv1.mcp.svn-base b/externals/grill/trunk/flext/tutorial/adv1/.svn/prop-base/adv1.mcp.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/adv1/.svn/prop-base/adv1.mcp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/adv1/.svn/prop-base/adv1.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/adv1/.svn/prop-base/adv1.vcproj.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/adv1/.svn/prop-base/adv1.vcproj.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/adv1/.svn/prop-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/adv1/.svn/prop-base/main.cpp.svn-base deleted file mode 100644 index fe7d6daf7..000000000 --- a/externals/grill/trunk/flext/tutorial/adv1/.svn/prop-base/main.cpp.svn-base +++ /dev/null @@ -1,13 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 14 -svn:executable -V 1 -* -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/adv1/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/adv1/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index d849ba2fb..000000000 --- a/externals/grill/trunk/flext/tutorial/adv1/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = adv1 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/adv1/.svn/text-base/adv1.mcp.svn-base b/externals/grill/trunk/flext/tutorial/adv1/.svn/text-base/adv1.mcp.svn-base deleted file mode 100644 index 7b89200a8826baa346658cc3770241bce79418e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146697 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 DOlgI( diff --git a/externals/grill/trunk/flext/tutorial/adv1/.svn/text-base/adv1.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/adv1/.svn/text-base/adv1.vcproj.svn-base deleted file mode 100644 index 3737a2a88..000000000 --- a/externals/grill/trunk/flext/tutorial/adv1/.svn/text-base/adv1.vcproj.svn-base +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="adv1" - SccProjectName="adv1" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/adv1.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/adv1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/adv1.pdb" - ImportLibrary=".\msvc/adv1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/adv1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/adv1.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - BrowseInformationFile=".\msvc-debug/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile=".\msvc-debug/adv1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/adv1.pdb" - ImportLibrary=".\msvc-debug/adv1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/adv1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/adv1/.svn/text-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/adv1/.svn/text-base/main.cpp.svn-base deleted file mode 100644 index 4150800fd..000000000 --- a/externals/grill/trunk/flext/tutorial/adv1/.svn/text-base/main.cpp.svn-base +++ /dev/null @@ -1,101 +0,0 @@ -/* -flext tutorial - advanced 1 - -Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is an example of a simplified prepend object -*/ - -#include <flext.h> - -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401) -#error You need at least flext version 0.4.1 -#endif - - -class adv1: - public flext_base -{ - FLEXT_HEADER(adv1,flext_base) - -public: - // constructor with variable argument list - adv1(int argc,t_atom *argv); - -protected: - void m_any(const t_symbol *s,int argc,t_atom *argv); // method which digests anything - - AtomList lst; -private: - FLEXT_CALLBACK_A(m_any); // callback for method "m_any" (with anything argument) -}; - -// instantiate the class (constructor has a variable argument list) -// note the two words in the string: prepend acts as an alias for adv1! -FLEXT_NEW_V("adv1 prepend",adv1) - - - -// constructor - -adv1::adv1(int argc,t_atom *argv) -{ - AddInAnything(); // one inlet that can receive anything - AddOutAnything(); // one outlet for anything - - // register method - FLEXT_ADDMETHOD(0,m_any); // register method "m_any" for inlet 0 - - if(argc != 0) { // check for arg count - // store arg list - lst(argc,argv); - } - else { - // no args given - post("%s - no arguments given",thisName()); - - // tell flext that the initialization was not successful... object will not live - InitProblem(); - } -} - - - -// method - -void adv1::m_any(const t_symbol *s,int argc,t_atom *argv) -{ - // reserve space for as many atoms as possibly necessary - AtomList result(lst.Count()+argc+2); - - // ix is our counter of atoms to output - int ix = 0; - - int i = 0; - if(!IsSymbol(lst[0])) { - // if first element to prepend is no symbol then make it a "list" - SetSymbol(result[ix++],sym_list); - } - // copy atoms to prepend to result list - for(; i < lst.Count(); ++i) CopyAtom(&result[ix++],&lst[i]); - - // if anything is no "list" or "float" then append it to result list - if(s != sym_list && s != sym_float -#if FLEXT_SYS == FLEXT_SYS_MAX - && s != sym_int // in Max integers are system data types -#endif - ) - SetSymbol(result[ix++],s); - - // append pending arguments to result list - for(i = 0; i < argc; ++i) CopyAtom(&result[ix++],argv+i); - - // output result list as an anything - ToOutAnything(0,GetSymbol(result[0]),ix-1,result.Atoms()+1); -} - - diff --git a/externals/grill/trunk/flext/tutorial/adv1/.svn/text-base/package.txt.svn-base b/externals/grill/trunk/flext/tutorial/adv1/.svn/text-base/package.txt.svn-base deleted file mode 100644 index f685a0e2e..000000000 --- a/externals/grill/trunk/flext/tutorial/adv1/.svn/text-base/package.txt.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -NAME=adv1 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/adv1/Makefile.am b/externals/grill/trunk/flext/tutorial/adv1/Makefile.am deleted file mode 100644 index d849ba2fb..000000000 --- a/externals/grill/trunk/flext/tutorial/adv1/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = adv1 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/adv1/adv1.mcp b/externals/grill/trunk/flext/tutorial/adv1/adv1.mcp deleted file mode 100755 index 7b89200a8826baa346658cc3770241bce79418e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146697 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 DOlgI( diff --git a/externals/grill/trunk/flext/tutorial/adv1/adv1.vcproj b/externals/grill/trunk/flext/tutorial/adv1/adv1.vcproj deleted file mode 100644 index 3737a2a88..000000000 --- a/externals/grill/trunk/flext/tutorial/adv1/adv1.vcproj +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="adv1" - SccProjectName="adv1" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/adv1.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/adv1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/adv1.pdb" - ImportLibrary=".\msvc/adv1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/adv1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/adv1.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - BrowseInformationFile=".\msvc-debug/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile=".\msvc-debug/adv1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/adv1.pdb" - ImportLibrary=".\msvc-debug/adv1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/adv1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/adv1/main.cpp b/externals/grill/trunk/flext/tutorial/adv1/main.cpp deleted file mode 100755 index 4150800fd..000000000 --- a/externals/grill/trunk/flext/tutorial/adv1/main.cpp +++ /dev/null @@ -1,101 +0,0 @@ -/* -flext tutorial - advanced 1 - -Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is an example of a simplified prepend object -*/ - -#include <flext.h> - -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401) -#error You need at least flext version 0.4.1 -#endif - - -class adv1: - public flext_base -{ - FLEXT_HEADER(adv1,flext_base) - -public: - // constructor with variable argument list - adv1(int argc,t_atom *argv); - -protected: - void m_any(const t_symbol *s,int argc,t_atom *argv); // method which digests anything - - AtomList lst; -private: - FLEXT_CALLBACK_A(m_any); // callback for method "m_any" (with anything argument) -}; - -// instantiate the class (constructor has a variable argument list) -// note the two words in the string: prepend acts as an alias for adv1! -FLEXT_NEW_V("adv1 prepend",adv1) - - - -// constructor - -adv1::adv1(int argc,t_atom *argv) -{ - AddInAnything(); // one inlet that can receive anything - AddOutAnything(); // one outlet for anything - - // register method - FLEXT_ADDMETHOD(0,m_any); // register method "m_any" for inlet 0 - - if(argc != 0) { // check for arg count - // store arg list - lst(argc,argv); - } - else { - // no args given - post("%s - no arguments given",thisName()); - - // tell flext that the initialization was not successful... object will not live - InitProblem(); - } -} - - - -// method - -void adv1::m_any(const t_symbol *s,int argc,t_atom *argv) -{ - // reserve space for as many atoms as possibly necessary - AtomList result(lst.Count()+argc+2); - - // ix is our counter of atoms to output - int ix = 0; - - int i = 0; - if(!IsSymbol(lst[0])) { - // if first element to prepend is no symbol then make it a "list" - SetSymbol(result[ix++],sym_list); - } - // copy atoms to prepend to result list - for(; i < lst.Count(); ++i) CopyAtom(&result[ix++],&lst[i]); - - // if anything is no "list" or "float" then append it to result list - if(s != sym_list && s != sym_float -#if FLEXT_SYS == FLEXT_SYS_MAX - && s != sym_int // in Max integers are system data types -#endif - ) - SetSymbol(result[ix++],s); - - // append pending arguments to result list - for(i = 0; i < argc; ++i) CopyAtom(&result[ix++],argv+i); - - // output result list as an anything - ToOutAnything(0,GetSymbol(result[0]),ix-1,result.Atoms()+1); -} - - diff --git a/externals/grill/trunk/flext/tutorial/adv1/package.txt b/externals/grill/trunk/flext/tutorial/adv1/package.txt deleted file mode 100644 index f685a0e2e..000000000 --- a/externals/grill/trunk/flext/tutorial/adv1/package.txt +++ /dev/null @@ -1,2 +0,0 @@ -NAME=adv1 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/adv2/.svn/all-wcprops b/externals/grill/trunk/flext/tutorial/adv2/.svn/all-wcprops deleted file mode 100644 index 968ac0bd0..000000000 --- a/externals/grill/trunk/flext/tutorial/adv2/.svn/all-wcprops +++ /dev/null @@ -1,35 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 44 -/ext/!svn/ver/1247/trunk/flext/tutorial/adv2 -END -adv2.vcproj -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/adv2/adv2.vcproj -END -main.cpp -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/1247/trunk/flext/tutorial/adv2/main.cpp -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/adv2/Makefile.am -END -package.txt -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/adv2/package.txt -END -adv2.mcp -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/1247/trunk/flext/tutorial/adv2/adv2.mcp -END diff --git a/externals/grill/trunk/flext/tutorial/adv2/.svn/entries b/externals/grill/trunk/flext/tutorial/adv2/.svn/entries deleted file mode 100644 index c50aa0b29..000000000 --- a/externals/grill/trunk/flext/tutorial/adv2/.svn/entries +++ /dev/null @@ -1,198 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/tutorial/adv2 -https://svn.grrrr.org/ext - - - -2006-09-22T09:19:20.556532Z -1174 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -main.cpp -file - - - - -2012-05-13T23:08:36.780556Z -b68894829bfe9c7bf03e80a1a33e16e5 -2006-09-22T09:19:20.556532Z -1174 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -2279 - -Makefile.am -file - - - - -2012-05-13T23:08:36.780556Z -00b3fc7e79511049b9b21fdb0f83f281 -2005-01-26T11:58:31.157320Z -992 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -911 - -package.txt -file - - - - -2012-05-13T23:08:36.781556Z -2430f0e96dcb93fddf92f3f2c099deaa -2005-01-04T13:57:44.777172Z -954 -thomas - - - - - - - - - - - - - - - - - - - - - -26 - -adv2.mcp -file - - - - -2012-05-13T23:08:36.782556Z -6e10d58f40fab6fae8843dbee7941547 -2005-01-04T13:28:16.495520Z -953 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -148873 - -adv2.vcproj -file - - - - -2012-05-13T23:08:36.783556Z -84d266d4914368f9162e0de45c83f96d -2003-11-12T01:58:35.000000Z -727 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4811 - diff --git a/externals/grill/trunk/flext/tutorial/adv2/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/adv2/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/tutorial/adv2/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/tutorial/adv2/.svn/prop-base/adv2.mcp.svn-base b/externals/grill/trunk/flext/tutorial/adv2/.svn/prop-base/adv2.mcp.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/adv2/.svn/prop-base/adv2.mcp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/adv2/.svn/prop-base/adv2.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/adv2/.svn/prop-base/adv2.vcproj.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/adv2/.svn/prop-base/adv2.vcproj.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/adv2/.svn/prop-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/adv2/.svn/prop-base/main.cpp.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/adv2/.svn/prop-base/main.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/adv2/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/adv2/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index 6daf4f32e..000000000 --- a/externals/grill/trunk/flext/tutorial/adv2/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = adv2 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/adv2/.svn/text-base/adv2.mcp.svn-base b/externals/grill/trunk/flext/tutorial/adv2/.svn/text-base/adv2.mcp.svn-base deleted file mode 100644 index b46cd6d9df66b8eea0947e1e8981a408b3698657..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148873 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%0ADcYLkoW} z>BE>0E&Kr?Rll4Mt^6kN*=`3OgZ6+Bv}(v@e=n)U80qj0;x~|;v){FOz&}p$kHh%0 zzZZZ1zu+IQ_&%@c@5S%F2|j!tLHil>ZTNen1^h<E|Mdpb-%Bc>8y)2lv|F!2{Vewe zv`t?r`C`ERh}qv~Re|qQ{K1s2#;au9Wbmn<sOPR5uwj2+hc@dp4<Zac85{QZ$8G|D zm1JvozmNX1zYqQb{MCy8AjXvaz4)o$fWJoZA2|i}^Snno(_vc(+M}16{$4U}0QhSq zUmS2ZV&(6}&;J$tb&{{W3_CIW{e0}R^q}Iu^_l7KB?E2&ANdfpcM8!S_V>$>N2l=y z|GkOWDt|9&JPUmI5Aomc5%>46UjZLuKw&W1Kl}TUkAZ)JWQ)P@DZ}4Cfi3HN{Bpon z@Y(PFd@lG=nP2;OIAZqqKVA*KddI5vG5Tou`}HWRLyrjB*8jx)ea|bvU$6LIU|wQ> zFMj??@L?a6|6i{Iv)p#b(%U3oETnncn6I{hzmfSzAXfffQg<=<Co-SftNguWD%s~r zlCORBH^l7k*L@B?*#|-c+G+Uv;9Br8-U!-PkY)J$Xd16givRTw<Np2tY)?N`^2OkR zh*f*UF)xDOF8R845X@QmqgHwb_^@>fgQsAl`Xz3`nCPcVwpeg2;$!7JBR<?0e3U`Z z3+D?_{E_5qgL;8+rsRv|)ZU=V|HU`p!zK{)K2y#7V$(xloUQoNerNifIDaho=SaR- zKzb-s^&EaE_!xTxeHi@I=-2zuxqcq=?}+!S{BZEe&Jc}y09(~BZ7#-EzkvB~BUb&= zO8yA`g^EA=z<4{~LLK^d6o1@!#HwG~fsmzN#C(he>p|R)vDGp52>K+91J5T~udBhh SMDeFlI``|Bn3MHOiU0q^B<^Pb diff --git a/externals/grill/trunk/flext/tutorial/adv2/.svn/text-base/adv2.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/adv2/.svn/text-base/adv2.vcproj.svn-base deleted file mode 100644 index e87ac448f..000000000 --- a/externals/grill/trunk/flext/tutorial/adv2/.svn/text-base/adv2.vcproj.svn-base +++ /dev/null @@ -1,176 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="adv2" - SccProjectName="adv2" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/adv2.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile=".\msvc-debug/adv2.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/adv2.pdb" - ImportLibrary=".\msvc-debug/adv2.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/adv2.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/adv2.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/adv2.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/adv2.pdb" - ImportLibrary=".\msvc/adv2.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/adv2.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/adv2/.svn/text-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/adv2/.svn/text-base/main.cpp.svn-base deleted file mode 100644 index 6558f5d11..000000000 --- a/externals/grill/trunk/flext/tutorial/adv2/.svn/text-base/main.cpp.svn-base +++ /dev/null @@ -1,100 +0,0 @@ -/* -flext tutorial - advanced 2 - -Copyright (c) 2002-2006 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. - -------------------------------------------------------------------------- - -This is an optimized version of the example "simple 3" - -It has the exact same functionality but methods are registered at class setup opposed to -object setup (in the constructor) in "simple 3" - -The advantage of this lies in the fact that the message database needs only be constructed -once for all objects, namely on creation of the first object of this class. -All objects [adv2] will share the same database, saving memory. - -*/ - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 500) -#error You need at least flext version 0.5.0 -#endif - -class adv2: - public flext_base -{ - // flext header with a setup function called "setup" - FLEXT_HEADER_S(adv2,flext_base,setup) - -public: - adv2(); - -protected: - void m_tag(); - void m_tag_and_int(int i); - void m_sym(t_symbol *s); - - void m_help(); - -private: - // define the _static_ class setup function - static void setup(t_classid c); - - FLEXT_CALLBACK(m_tag) - FLEXT_CALLBACK_I(m_tag_and_int) - FLEXT_CALLBACK_S(m_sym) - FLEXT_CALLBACK(m_help) -}; - -// instantiate the class (constructor takes no arguments) -FLEXT_NEW("adv2",adv2) - - -adv2::adv2() -{ - // define inlets - AddInAnything(); // add inlet of type anything (index 0) -} - -void adv2::setup(t_classid c) -{ - // register methods: - // notice the naming FLEXT_CADD_METHOD* instead of FLEXT_ADD_METHOD* - // there is also an additional parameter c pointing to the class definition - FLEXT_CADDMETHOD_(c,0,"born",m_tag); - FLEXT_CADDMETHOD_(c,0,"to",m_tag); - FLEXT_CADDMETHOD_(c,0,"hula",m_tag); - FLEXT_CADDMETHOD_I(c,0,"hula",m_tag_and_int); - - FLEXT_CADDMETHOD(c,0,m_sym); - - FLEXT_CADDMETHOD_(c,0,"help",m_help); -} - -void adv2::m_tag() -{ - post("tag recognized"); -} - -void adv2::m_tag_and_int(int i) -{ - post("tag recognized (has int arg: %i)",i); -} - -void adv2::m_sym(t_symbol *s) -{ - post("symbol: %s",GetString(s)); -} - -void adv2::m_help() -{ - post("%s - example for tagged messages",thisName()); -} - - diff --git a/externals/grill/trunk/flext/tutorial/adv2/.svn/text-base/package.txt.svn-base b/externals/grill/trunk/flext/tutorial/adv2/.svn/text-base/package.txt.svn-base deleted file mode 100644 index 58b919272..000000000 --- a/externals/grill/trunk/flext/tutorial/adv2/.svn/text-base/package.txt.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -NAME=adv2 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/adv2/Makefile.am b/externals/grill/trunk/flext/tutorial/adv2/Makefile.am deleted file mode 100644 index 6daf4f32e..000000000 --- a/externals/grill/trunk/flext/tutorial/adv2/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = adv2 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/adv2/adv2.mcp b/externals/grill/trunk/flext/tutorial/adv2/adv2.mcp deleted file mode 100755 index b46cd6d9df66b8eea0947e1e8981a408b3698657..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148873 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%0ADcYLkoW} z>BE>0E&Kr?Rll4Mt^6kN*=`3OgZ6+Bv}(v@e=n)U80qj0;x~|;v){FOz&}p$kHh%0 zzZZZ1zu+IQ_&%@c@5S%F2|j!tLHil>ZTNen1^h<E|Mdpb-%Bc>8y)2lv|F!2{Vewe zv`t?r`C`ERh}qv~Re|qQ{K1s2#;au9Wbmn<sOPR5uwj2+hc@dp4<Zac85{QZ$8G|D zm1JvozmNX1zYqQb{MCy8AjXvaz4)o$fWJoZA2|i}^Snno(_vc(+M}16{$4U}0QhSq zUmS2ZV&(6}&;J$tb&{{W3_CIW{e0}R^q}Iu^_l7KB?E2&ANdfpcM8!S_V>$>N2l=y z|GkOWDt|9&JPUmI5Aomc5%>46UjZLuKw&W1Kl}TUkAZ)JWQ)P@DZ}4Cfi3HN{Bpon z@Y(PFd@lG=nP2;OIAZqqKVA*KddI5vG5Tou`}HWRLyrjB*8jx)ea|bvU$6LIU|wQ> zFMj??@L?a6|6i{Iv)p#b(%U3oETnncn6I{hzmfSzAXfffQg<=<Co-SftNguWD%s~r zlCORBH^l7k*L@B?*#|-c+G+Uv;9Br8-U!-PkY)J$Xd16givRTw<Np2tY)?N`^2OkR zh*f*UF)xDOF8R845X@QmqgHwb_^@>fgQsAl`Xz3`nCPcVwpeg2;$!7JBR<?0e3U`Z z3+D?_{E_5qgL;8+rsRv|)ZU=V|HU`p!zK{)K2y#7V$(xloUQoNerNifIDaho=SaR- zKzb-s^&EaE_!xTxeHi@I=-2zuxqcq=?}+!S{BZEe&Jc}y09(~BZ7#-EzkvB~BUb&= zO8yA`g^EA=z<4{~LLK^d6o1@!#HwG~fsmzN#C(he>p|R)vDGp52>K+91J5T~udBhh SMDeFlI``|Bn3MHOiU0q^B<^Pb diff --git a/externals/grill/trunk/flext/tutorial/adv2/adv2.vcproj b/externals/grill/trunk/flext/tutorial/adv2/adv2.vcproj deleted file mode 100644 index e87ac448f..000000000 --- a/externals/grill/trunk/flext/tutorial/adv2/adv2.vcproj +++ /dev/null @@ -1,176 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="adv2" - SccProjectName="adv2" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/adv2.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile=".\msvc-debug/adv2.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/adv2.pdb" - ImportLibrary=".\msvc-debug/adv2.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/adv2.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/adv2.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/adv2.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/adv2.pdb" - ImportLibrary=".\msvc/adv2.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/adv2.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/adv2/main.cpp b/externals/grill/trunk/flext/tutorial/adv2/main.cpp deleted file mode 100644 index 6558f5d11..000000000 --- a/externals/grill/trunk/flext/tutorial/adv2/main.cpp +++ /dev/null @@ -1,100 +0,0 @@ -/* -flext tutorial - advanced 2 - -Copyright (c) 2002-2006 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. - -------------------------------------------------------------------------- - -This is an optimized version of the example "simple 3" - -It has the exact same functionality but methods are registered at class setup opposed to -object setup (in the constructor) in "simple 3" - -The advantage of this lies in the fact that the message database needs only be constructed -once for all objects, namely on creation of the first object of this class. -All objects [adv2] will share the same database, saving memory. - -*/ - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 500) -#error You need at least flext version 0.5.0 -#endif - -class adv2: - public flext_base -{ - // flext header with a setup function called "setup" - FLEXT_HEADER_S(adv2,flext_base,setup) - -public: - adv2(); - -protected: - void m_tag(); - void m_tag_and_int(int i); - void m_sym(t_symbol *s); - - void m_help(); - -private: - // define the _static_ class setup function - static void setup(t_classid c); - - FLEXT_CALLBACK(m_tag) - FLEXT_CALLBACK_I(m_tag_and_int) - FLEXT_CALLBACK_S(m_sym) - FLEXT_CALLBACK(m_help) -}; - -// instantiate the class (constructor takes no arguments) -FLEXT_NEW("adv2",adv2) - - -adv2::adv2() -{ - // define inlets - AddInAnything(); // add inlet of type anything (index 0) -} - -void adv2::setup(t_classid c) -{ - // register methods: - // notice the naming FLEXT_CADD_METHOD* instead of FLEXT_ADD_METHOD* - // there is also an additional parameter c pointing to the class definition - FLEXT_CADDMETHOD_(c,0,"born",m_tag); - FLEXT_CADDMETHOD_(c,0,"to",m_tag); - FLEXT_CADDMETHOD_(c,0,"hula",m_tag); - FLEXT_CADDMETHOD_I(c,0,"hula",m_tag_and_int); - - FLEXT_CADDMETHOD(c,0,m_sym); - - FLEXT_CADDMETHOD_(c,0,"help",m_help); -} - -void adv2::m_tag() -{ - post("tag recognized"); -} - -void adv2::m_tag_and_int(int i) -{ - post("tag recognized (has int arg: %i)",i); -} - -void adv2::m_sym(t_symbol *s) -{ - post("symbol: %s",GetString(s)); -} - -void adv2::m_help() -{ - post("%s - example for tagged messages",thisName()); -} - - diff --git a/externals/grill/trunk/flext/tutorial/adv2/package.txt b/externals/grill/trunk/flext/tutorial/adv2/package.txt deleted file mode 100644 index 58b919272..000000000 --- a/externals/grill/trunk/flext/tutorial/adv2/package.txt +++ /dev/null @@ -1,2 +0,0 @@ -NAME=adv2 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/adv3/.svn/all-wcprops b/externals/grill/trunk/flext/tutorial/adv3/.svn/all-wcprops deleted file mode 100644 index d2aa84885..000000000 --- a/externals/grill/trunk/flext/tutorial/adv3/.svn/all-wcprops +++ /dev/null @@ -1,35 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 44 -/ext/!svn/ver/1247/trunk/flext/tutorial/adv3 -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/adv3/Makefile.am -END -package.txt -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/adv3/package.txt -END -adv3.mcp -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/1247/trunk/flext/tutorial/adv3/adv3.mcp -END -adv3.vcproj -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/adv3/adv3.vcproj -END -main.cpp -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/1247/trunk/flext/tutorial/adv3/main.cpp -END diff --git a/externals/grill/trunk/flext/tutorial/adv3/.svn/entries b/externals/grill/trunk/flext/tutorial/adv3/.svn/entries deleted file mode 100644 index 78177b8bd..000000000 --- a/externals/grill/trunk/flext/tutorial/adv3/.svn/entries +++ /dev/null @@ -1,198 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/tutorial/adv3 -https://svn.grrrr.org/ext - - - -2006-09-22T09:19:20.556532Z -1174 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -main.cpp -file - - - - -2012-05-13T23:08:36.830556Z -abb27cbdc11fa484a525852387563d0b -2006-09-22T09:19:20.556532Z -1174 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4181 - -Makefile.am -file - - - - -2012-05-13T23:08:36.831556Z -8f9afacc6ae25a3b582e1f55937886f0 -2005-01-26T11:58:31.157320Z -992 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -911 - -package.txt -file - - - - -2012-05-13T23:08:36.832556Z -d579bb420d6a65a0031ca182ccd7d0da -2005-01-04T13:57:44.777172Z -954 -thomas - - - - - - - - - - - - - - - - - - - - - -26 - -adv3.mcp -file - - - - -2012-05-13T23:08:36.833556Z -96294f34b4f8031d12947e96b2415485 -2005-01-04T13:28:16.495520Z -953 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -148873 - -adv3.vcproj -file - - - - -2012-05-13T23:08:36.829556Z -16bd2b3e8554d01546cd28d01efbeab6 -2003-11-12T01:58:35.000000Z -727 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4811 - diff --git a/externals/grill/trunk/flext/tutorial/adv3/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/adv3/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/tutorial/adv3/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/tutorial/adv3/.svn/prop-base/adv3.mcp.svn-base b/externals/grill/trunk/flext/tutorial/adv3/.svn/prop-base/adv3.mcp.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/adv3/.svn/prop-base/adv3.mcp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/adv3/.svn/prop-base/adv3.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/adv3/.svn/prop-base/adv3.vcproj.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/adv3/.svn/prop-base/adv3.vcproj.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/adv3/.svn/prop-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/adv3/.svn/prop-base/main.cpp.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/adv3/.svn/prop-base/main.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/adv3/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/adv3/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index 6c083c806..000000000 --- a/externals/grill/trunk/flext/tutorial/adv3/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = adv3 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/adv3/.svn/text-base/adv3.mcp.svn-base b/externals/grill/trunk/flext/tutorial/adv3/.svn/text-base/adv3.mcp.svn-base deleted file mode 100644 index a951fec5ce42bf4db8957cf25c29a673f733445e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148873 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�h}<V3Dz@kN=Kw$RTqns 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 A5C8xG diff --git a/externals/grill/trunk/flext/tutorial/adv3/.svn/text-base/adv3.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/adv3/.svn/text-base/adv3.vcproj.svn-base deleted file mode 100644 index c52e88359..000000000 --- a/externals/grill/trunk/flext/tutorial/adv3/.svn/text-base/adv3.vcproj.svn-base +++ /dev/null @@ -1,176 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="adv3" - SccProjectName="adv3" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/adv3.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/adv3.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/adv3.pdb" - ImportLibrary=".\msvc/adv3.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/adv3.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/adv3.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile=".\msvc-debug/adv3.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/adv3.pdb" - ImportLibrary=".\msvc-debug/adv3.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/adv3.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/adv3/.svn/text-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/adv3/.svn/text-base/main.cpp.svn-base deleted file mode 100644 index 77f886d71..000000000 --- a/externals/grill/trunk/flext/tutorial/adv3/.svn/text-base/main.cpp.svn-base +++ /dev/null @@ -1,153 +0,0 @@ -/* -flext tutorial - advanced 3 - -Copyright (c) 2002-2006 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. - -------------------------------------------------------------------------- - -This is a port of Iohannes Zmölnigs "counter" example to the flext paradigm. -Find the original at http://iem.kug.ac.at/pd/externals-HOWTO/node5.html - -The functionality is exactly the same, with one exception: -flext doesn't support default arguments, hence a message "bound 1" will translate into -"bound 1 0" in the original example, but won't be recognized with flext. -This can be easily circumvented by using a method digesting a variable argument list, but -was omitted for the sake of clearness. - -Apart from that you'll notice several differences to the original C object: -- with flext, callbacks have to be declared for all registered methods -- Flext allows the full usage of integer types -- there are no real "passive" methods with flext. - These can be emulated by methods, or more flexibly, attributes (see example "attr3") -- Help symbols can't be defined that freely. This is because in Max/MSP help files always - have the name of the object with a suffix .help appended. - However with flext, a path to the respective help file may be specified -*/ - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 501) -#error You need at least flext version 0.5.1 -#endif - -class adv3: - public flext_base -{ - FLEXT_HEADER_S(adv3,flext_base,setup) - -public: - // constructor with no arguments - adv3(int argc,t_atom *argv): - i_step(1) - { - // --- initialize bounds and step size --- - int f1 = 0,f2 = 0; - switch(argc) { - default: - case 3: - i_step = GetInt(argv[2]); - case 2: - f2 = GetInt(argv[1]); - case 1: - f1 = GetInt(argv[0]); - case 0: - ; - } - if(argc < 2) f2 = f1; - - m_bound(f1,f2); - - i_count = i_down; - - // --- define inlets and outlets --- - AddInAnything("bang, reset, etc."); // default inlet - AddInList("bounds (2 element list)"); // inlet for bounds - AddInInt("step size"); // inlet for step size - - AddOutInt("counter"); // outlet for integer count - AddOutBang("overflow bang"); // outlet for bang - } - -protected: - - void m_reset() - { - i_count = i_down; - } - - void m_set(int argc,t_atom *argv) - { - i_count = argc?GetAInt(argv[0]):0; - } - - void m_bang() - { - int f = i_count; - i_count += i_step; - if(i_down != i_up) { - if((i_step > 0) && (i_count > i_up)) { - i_count = i_down; - ToOutBang(1); - } - else if(i_count < i_down) { - i_count = i_up; - ToOutBang(1); - } - } - ToOutInt(0,f); - } - - void m_bound(int f1,int f2) - { - i_down = f1 < f2?f1:f2; - i_up = f1 > f2?f1:f2; - } - - void m_step(int s) - { - i_step = s; - } - - int i_count,i_down,i_up,i_step; - -private: - - static void setup(t_classid c) - { - // --- set up methods (class scope) --- - - // register a bang method to the default inlet (0) - FLEXT_CADDBANG(c,0,m_bang); - - // set up tagged methods for the default inlet (0) - // the underscore _ after CADDMETHOD indicates that a message tag is used - // no, variable list or anything and all single arguments are recognized automatically, ... - FLEXT_CADDMETHOD_(c,0,"reset",m_reset); - FLEXT_CADDMETHOD_(c,0,"set",m_set); - // ..., more complex types (combinations of types) have to be specified explicitly - FLEXT_CADDMETHOD_II(c,0,"bound",m_bound); // two int arguments - - // set up methods for inlets 1 and 2 - // no message tag used - FLEXT_CADDMETHOD(c,1,m_bound); // variable arg type recognized automatically - FLEXT_CADDMETHOD(c,2,m_step); // single int arg also recognized automatically - } - - // for every registered method a callback has to be declared - FLEXT_CALLBACK(m_bang) - FLEXT_CALLBACK(m_reset) - FLEXT_CALLBACK_V(m_set) - FLEXT_CALLBACK_II(m_bound) - FLEXT_CALLBACK_I(m_step) -}; - -// instantiate the class (constructor has a variable argument list) -// let "counter" be an alternative name -// after the colon define the path/name of the help file (a path has a trailing /, a file has not) -FLEXT_NEW_V("adv3 counter,help/",adv3) - - diff --git a/externals/grill/trunk/flext/tutorial/adv3/.svn/text-base/package.txt.svn-base b/externals/grill/trunk/flext/tutorial/adv3/.svn/text-base/package.txt.svn-base deleted file mode 100644 index 9bd894d42..000000000 --- a/externals/grill/trunk/flext/tutorial/adv3/.svn/text-base/package.txt.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -NAME=adv3 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/adv3/Makefile.am b/externals/grill/trunk/flext/tutorial/adv3/Makefile.am deleted file mode 100644 index 6c083c806..000000000 --- a/externals/grill/trunk/flext/tutorial/adv3/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = adv3 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/adv3/adv3.mcp b/externals/grill/trunk/flext/tutorial/adv3/adv3.mcp deleted file mode 100755 index a951fec5ce42bf4db8957cf25c29a673f733445e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148873 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�h}<V3Dz@kN=Kw$RTqns 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 A5C8xG diff --git a/externals/grill/trunk/flext/tutorial/adv3/adv3.vcproj b/externals/grill/trunk/flext/tutorial/adv3/adv3.vcproj deleted file mode 100644 index c52e88359..000000000 --- a/externals/grill/trunk/flext/tutorial/adv3/adv3.vcproj +++ /dev/null @@ -1,176 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="adv3" - SccProjectName="adv3" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/adv3.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/adv3.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/adv3.pdb" - ImportLibrary=".\msvc/adv3.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/adv3.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/adv3.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile=".\msvc-debug/adv3.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/adv3.pdb" - ImportLibrary=".\msvc-debug/adv3.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/adv3.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/adv3/main.cpp b/externals/grill/trunk/flext/tutorial/adv3/main.cpp deleted file mode 100644 index 77f886d71..000000000 --- a/externals/grill/trunk/flext/tutorial/adv3/main.cpp +++ /dev/null @@ -1,153 +0,0 @@ -/* -flext tutorial - advanced 3 - -Copyright (c) 2002-2006 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. - -------------------------------------------------------------------------- - -This is a port of Iohannes Zmölnigs "counter" example to the flext paradigm. -Find the original at http://iem.kug.ac.at/pd/externals-HOWTO/node5.html - -The functionality is exactly the same, with one exception: -flext doesn't support default arguments, hence a message "bound 1" will translate into -"bound 1 0" in the original example, but won't be recognized with flext. -This can be easily circumvented by using a method digesting a variable argument list, but -was omitted for the sake of clearness. - -Apart from that you'll notice several differences to the original C object: -- with flext, callbacks have to be declared for all registered methods -- Flext allows the full usage of integer types -- there are no real "passive" methods with flext. - These can be emulated by methods, or more flexibly, attributes (see example "attr3") -- Help symbols can't be defined that freely. This is because in Max/MSP help files always - have the name of the object with a suffix .help appended. - However with flext, a path to the respective help file may be specified -*/ - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 501) -#error You need at least flext version 0.5.1 -#endif - -class adv3: - public flext_base -{ - FLEXT_HEADER_S(adv3,flext_base,setup) - -public: - // constructor with no arguments - adv3(int argc,t_atom *argv): - i_step(1) - { - // --- initialize bounds and step size --- - int f1 = 0,f2 = 0; - switch(argc) { - default: - case 3: - i_step = GetInt(argv[2]); - case 2: - f2 = GetInt(argv[1]); - case 1: - f1 = GetInt(argv[0]); - case 0: - ; - } - if(argc < 2) f2 = f1; - - m_bound(f1,f2); - - i_count = i_down; - - // --- define inlets and outlets --- - AddInAnything("bang, reset, etc."); // default inlet - AddInList("bounds (2 element list)"); // inlet for bounds - AddInInt("step size"); // inlet for step size - - AddOutInt("counter"); // outlet for integer count - AddOutBang("overflow bang"); // outlet for bang - } - -protected: - - void m_reset() - { - i_count = i_down; - } - - void m_set(int argc,t_atom *argv) - { - i_count = argc?GetAInt(argv[0]):0; - } - - void m_bang() - { - int f = i_count; - i_count += i_step; - if(i_down != i_up) { - if((i_step > 0) && (i_count > i_up)) { - i_count = i_down; - ToOutBang(1); - } - else if(i_count < i_down) { - i_count = i_up; - ToOutBang(1); - } - } - ToOutInt(0,f); - } - - void m_bound(int f1,int f2) - { - i_down = f1 < f2?f1:f2; - i_up = f1 > f2?f1:f2; - } - - void m_step(int s) - { - i_step = s; - } - - int i_count,i_down,i_up,i_step; - -private: - - static void setup(t_classid c) - { - // --- set up methods (class scope) --- - - // register a bang method to the default inlet (0) - FLEXT_CADDBANG(c,0,m_bang); - - // set up tagged methods for the default inlet (0) - // the underscore _ after CADDMETHOD indicates that a message tag is used - // no, variable list or anything and all single arguments are recognized automatically, ... - FLEXT_CADDMETHOD_(c,0,"reset",m_reset); - FLEXT_CADDMETHOD_(c,0,"set",m_set); - // ..., more complex types (combinations of types) have to be specified explicitly - FLEXT_CADDMETHOD_II(c,0,"bound",m_bound); // two int arguments - - // set up methods for inlets 1 and 2 - // no message tag used - FLEXT_CADDMETHOD(c,1,m_bound); // variable arg type recognized automatically - FLEXT_CADDMETHOD(c,2,m_step); // single int arg also recognized automatically - } - - // for every registered method a callback has to be declared - FLEXT_CALLBACK(m_bang) - FLEXT_CALLBACK(m_reset) - FLEXT_CALLBACK_V(m_set) - FLEXT_CALLBACK_II(m_bound) - FLEXT_CALLBACK_I(m_step) -}; - -// instantiate the class (constructor has a variable argument list) -// let "counter" be an alternative name -// after the colon define the path/name of the help file (a path has a trailing /, a file has not) -FLEXT_NEW_V("adv3 counter,help/",adv3) - - diff --git a/externals/grill/trunk/flext/tutorial/adv3/package.txt b/externals/grill/trunk/flext/tutorial/adv3/package.txt deleted file mode 100644 index 9bd894d42..000000000 --- a/externals/grill/trunk/flext/tutorial/adv3/package.txt +++ /dev/null @@ -1,2 +0,0 @@ -NAME=adv3 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/attr1/.svn/all-wcprops b/externals/grill/trunk/flext/tutorial/attr1/.svn/all-wcprops deleted file mode 100644 index 653c0a2c3..000000000 --- a/externals/grill/trunk/flext/tutorial/attr1/.svn/all-wcprops +++ /dev/null @@ -1,35 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 45 -/ext/!svn/ver/1247/trunk/flext/tutorial/attr1 -END -main.cpp -K 25 -svn:wc:ra_dav:version-url -V 54 -/ext/!svn/ver/1247/trunk/flext/tutorial/attr1/main.cpp -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 57 -/ext/!svn/ver/1247/trunk/flext/tutorial/attr1/Makefile.am -END -attr1.mcp -K 25 -svn:wc:ra_dav:version-url -V 55 -/ext/!svn/ver/1247/trunk/flext/tutorial/attr1/attr1.mcp -END -package.txt -K 25 -svn:wc:ra_dav:version-url -V 57 -/ext/!svn/ver/1247/trunk/flext/tutorial/attr1/package.txt -END -attr1.vcproj -K 25 -svn:wc:ra_dav:version-url -V 58 -/ext/!svn/ver/1247/trunk/flext/tutorial/attr1/attr1.vcproj -END diff --git a/externals/grill/trunk/flext/tutorial/attr1/.svn/entries b/externals/grill/trunk/flext/tutorial/attr1/.svn/entries deleted file mode 100644 index aecfcf50a..000000000 --- a/externals/grill/trunk/flext/tutorial/attr1/.svn/entries +++ /dev/null @@ -1,198 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/tutorial/attr1 -https://svn.grrrr.org/ext - - - -2005-01-26T11:58:31.157320Z -992 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -main.cpp -file - - - - -2012-05-13T23:08:36.755556Z -68c555cccde4b36fbe17d393366bf2b1 -2003-01-01T23:54:16.000000Z -465 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1823 - -Makefile.am -file - - - - -2012-05-13T23:08:36.755556Z -cbdd1ee00f39a73d887b6d5c37686851 -2005-01-26T11:58:31.157320Z -992 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -912 - -attr1.mcp -file - - - - -2012-05-13T23:08:36.757556Z -8be9b473e9de49b30e62cca5efd401fc -2005-01-04T13:28:16.495520Z -953 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -147321 - -package.txt -file - - - - -2012-05-13T23:08:36.757556Z -121bb06354bdd6aa66dd93487161baca -2005-01-04T13:57:44.777172Z -954 -thomas - - - - - - - - - - - - - - - - - - - - - -27 - -attr1.vcproj -file - - - - -2012-05-13T23:08:36.758556Z -379396d66c5d9832f94b6cc3fcf8fde4 -2003-11-12T01:58:35.000000Z -727 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4823 - diff --git a/externals/grill/trunk/flext/tutorial/attr1/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/attr1/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/tutorial/attr1/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/tutorial/attr1/.svn/prop-base/attr1.mcp.svn-base b/externals/grill/trunk/flext/tutorial/attr1/.svn/prop-base/attr1.mcp.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/attr1/.svn/prop-base/attr1.mcp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/attr1/.svn/prop-base/attr1.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/attr1/.svn/prop-base/attr1.vcproj.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/attr1/.svn/prop-base/attr1.vcproj.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/attr1/.svn/prop-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/attr1/.svn/prop-base/main.cpp.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/attr1/.svn/prop-base/main.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/attr1/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/attr1/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index 000b2a856..000000000 --- a/externals/grill/trunk/flext/tutorial/attr1/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = attr1 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/attr1/.svn/text-base/attr1.mcp.svn-base b/externals/grill/trunk/flext/tutorial/attr1/.svn/text-base/attr1.mcp.svn-base deleted file mode 100644 index 32e4ec8f7346cd8ff4d6bd197390436161dd16d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147321 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 diff --git a/externals/grill/trunk/flext/tutorial/attr1/.svn/text-base/attr1.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/attr1/.svn/text-base/attr1.vcproj.svn-base deleted file mode 100644 index e962984f4..000000000 --- a/externals/grill/trunk/flext/tutorial/attr1/.svn/text-base/attr1.vcproj.svn-base +++ /dev/null @@ -1,176 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="attr1" - SccProjectName="attr1" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/attr1.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile=".\msvc-debug/attr1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/attr1.pdb" - ImportLibrary=".\msvc-debug/attr1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/attr1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/attr1.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/attr1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/attr1.pdb" - ImportLibrary=".\msvc/attr1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/attr1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/attr1/.svn/text-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/attr1/.svn/text-base/main.cpp.svn-base deleted file mode 100644 index e4abc47b6..000000000 --- a/externals/grill/trunk/flext/tutorial/attr1/.svn/text-base/main.cpp.svn-base +++ /dev/null @@ -1,79 +0,0 @@ -/* -flext tutorial - attributes 1 - -Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is an example of a simple object doing a float addition -It is a variation of the tutorial "simple 2" -*/ - - -// IMPORTANT: enable attribute processing (specify before inclusion of flext headers!) -// For clarity, this is done here, but you'd better specify it as a compiler definition -// FLEXT_ATTRIBUTES must be 0 or 1, -#define FLEXT_ATTRIBUTES 1 - - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400) -#error You need at least flext version 0.4.0 -#endif - - -class attr1: - public flext_base -{ - FLEXT_HEADER(attr1,flext_base) - -public: - // constructor - attr1(); - -protected: - void m_trigger(float f); - - // stored argument - float arg; - -private: - // callback for method "m_trigger" (with one float argument) - FLEXT_CALLBACK_F(m_trigger) - - // define attribute callbacks for variable "arg" (with GET and SET properties) - FLEXT_ATTRVAR_F(arg) -}; - -// instantiate the class -FLEXT_NEW("attr1",attr1) - - -attr1::attr1(): - arg(0) // initialize argument -{ - // define inlets - AddInAnything(); // first inlet of type anything (index 0) - - // define outlets - AddOutFloat(); // one float outlet (has index 0) - - // register methods - FLEXT_ADDMETHOD(0,m_trigger); // register method (for floats) "m_trigger" for inlet 0 - - FLEXT_ADDATTR_VAR1("arg",arg); // register attribute "arg" with variable arg -} - -void attr1::m_trigger(float f) -{ - float res = arg+f; - - // output value to outlet - ToOutFloat(0,res); // (0 stands for the outlet index 0) -} - diff --git a/externals/grill/trunk/flext/tutorial/attr1/.svn/text-base/package.txt.svn-base b/externals/grill/trunk/flext/tutorial/attr1/.svn/text-base/package.txt.svn-base deleted file mode 100644 index 938feb568..000000000 --- a/externals/grill/trunk/flext/tutorial/attr1/.svn/text-base/package.txt.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -NAME=attr1 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/attr1/Makefile.am b/externals/grill/trunk/flext/tutorial/attr1/Makefile.am deleted file mode 100644 index 000b2a856..000000000 --- a/externals/grill/trunk/flext/tutorial/attr1/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = attr1 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/attr1/attr1.mcp b/externals/grill/trunk/flext/tutorial/attr1/attr1.mcp deleted file mode 100755 index 32e4ec8f7346cd8ff4d6bd197390436161dd16d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147321 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 diff --git a/externals/grill/trunk/flext/tutorial/attr1/attr1.vcproj b/externals/grill/trunk/flext/tutorial/attr1/attr1.vcproj deleted file mode 100644 index e962984f4..000000000 --- a/externals/grill/trunk/flext/tutorial/attr1/attr1.vcproj +++ /dev/null @@ -1,176 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="attr1" - SccProjectName="attr1" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/attr1.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile=".\msvc-debug/attr1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/attr1.pdb" - ImportLibrary=".\msvc-debug/attr1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/attr1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/attr1.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/attr1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/attr1.pdb" - ImportLibrary=".\msvc/attr1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/attr1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/attr1/main.cpp b/externals/grill/trunk/flext/tutorial/attr1/main.cpp deleted file mode 100644 index e4abc47b6..000000000 --- a/externals/grill/trunk/flext/tutorial/attr1/main.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/* -flext tutorial - attributes 1 - -Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is an example of a simple object doing a float addition -It is a variation of the tutorial "simple 2" -*/ - - -// IMPORTANT: enable attribute processing (specify before inclusion of flext headers!) -// For clarity, this is done here, but you'd better specify it as a compiler definition -// FLEXT_ATTRIBUTES must be 0 or 1, -#define FLEXT_ATTRIBUTES 1 - - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400) -#error You need at least flext version 0.4.0 -#endif - - -class attr1: - public flext_base -{ - FLEXT_HEADER(attr1,flext_base) - -public: - // constructor - attr1(); - -protected: - void m_trigger(float f); - - // stored argument - float arg; - -private: - // callback for method "m_trigger" (with one float argument) - FLEXT_CALLBACK_F(m_trigger) - - // define attribute callbacks for variable "arg" (with GET and SET properties) - FLEXT_ATTRVAR_F(arg) -}; - -// instantiate the class -FLEXT_NEW("attr1",attr1) - - -attr1::attr1(): - arg(0) // initialize argument -{ - // define inlets - AddInAnything(); // first inlet of type anything (index 0) - - // define outlets - AddOutFloat(); // one float outlet (has index 0) - - // register methods - FLEXT_ADDMETHOD(0,m_trigger); // register method (for floats) "m_trigger" for inlet 0 - - FLEXT_ADDATTR_VAR1("arg",arg); // register attribute "arg" with variable arg -} - -void attr1::m_trigger(float f) -{ - float res = arg+f; - - // output value to outlet - ToOutFloat(0,res); // (0 stands for the outlet index 0) -} - diff --git a/externals/grill/trunk/flext/tutorial/attr1/package.txt b/externals/grill/trunk/flext/tutorial/attr1/package.txt deleted file mode 100644 index 938feb568..000000000 --- a/externals/grill/trunk/flext/tutorial/attr1/package.txt +++ /dev/null @@ -1,2 +0,0 @@ -NAME=attr1 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/attr2/.svn/all-wcprops b/externals/grill/trunk/flext/tutorial/attr2/.svn/all-wcprops deleted file mode 100644 index f0e413eb6..000000000 --- a/externals/grill/trunk/flext/tutorial/attr2/.svn/all-wcprops +++ /dev/null @@ -1,35 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 45 -/ext/!svn/ver/1247/trunk/flext/tutorial/attr2 -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 57 -/ext/!svn/ver/1247/trunk/flext/tutorial/attr2/Makefile.am -END -package.txt -K 25 -svn:wc:ra_dav:version-url -V 57 -/ext/!svn/ver/1247/trunk/flext/tutorial/attr2/package.txt -END -attr2.mcp -K 25 -svn:wc:ra_dav:version-url -V 55 -/ext/!svn/ver/1247/trunk/flext/tutorial/attr2/attr2.mcp -END -attr2.vcproj -K 25 -svn:wc:ra_dav:version-url -V 58 -/ext/!svn/ver/1247/trunk/flext/tutorial/attr2/attr2.vcproj -END -main.cpp -K 25 -svn:wc:ra_dav:version-url -V 54 -/ext/!svn/ver/1247/trunk/flext/tutorial/attr2/main.cpp -END diff --git a/externals/grill/trunk/flext/tutorial/attr2/.svn/entries b/externals/grill/trunk/flext/tutorial/attr2/.svn/entries deleted file mode 100644 index b7c9119d2..000000000 --- a/externals/grill/trunk/flext/tutorial/attr2/.svn/entries +++ /dev/null @@ -1,198 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/tutorial/attr2 -https://svn.grrrr.org/ext - - - -2005-01-26T11:58:31.157320Z -992 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -Makefile.am -file - - - - -2012-05-13T23:08:36.803556Z -17d8a53bf0b4217aa5fc10000a816054 -2005-01-26T11:58:31.157320Z -992 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -912 - -package.txt -file - - - - -2012-05-13T23:08:36.804556Z -c104babde4d149ee7c84b7a9bde83585 -2005-01-04T13:57:44.777172Z -954 -thomas - - - - - - - - - - - - - - - - - - - - - -27 - -attr2.mcp -file - - - - -2012-05-13T23:08:36.805556Z -e04df8a21757118a7a175c743b448dd7 -2005-01-04T13:28:16.495520Z -953 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -148873 - -attr2.vcproj -file - - - - -2012-05-13T23:08:36.806556Z -d08d87b39b418c444821147cf81bb47b -2003-11-12T01:58:35.000000Z -727 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4823 - -main.cpp -file - - - - -2012-05-13T23:08:36.803556Z -bd81f59876d413a2e3543c2704aa0137 -2003-01-02T23:05:49.000000Z -473 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4535 - diff --git a/externals/grill/trunk/flext/tutorial/attr2/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/attr2/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/tutorial/attr2/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/tutorial/attr2/.svn/prop-base/attr2.mcp.svn-base b/externals/grill/trunk/flext/tutorial/attr2/.svn/prop-base/attr2.mcp.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/attr2/.svn/prop-base/attr2.mcp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/attr2/.svn/prop-base/attr2.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/attr2/.svn/prop-base/attr2.vcproj.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/attr2/.svn/prop-base/attr2.vcproj.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/attr2/.svn/prop-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/attr2/.svn/prop-base/main.cpp.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/attr2/.svn/prop-base/main.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/attr2/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/attr2/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index ed29b0679..000000000 --- a/externals/grill/trunk/flext/tutorial/attr2/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = attr2 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/attr2/.svn/text-base/attr2.mcp.svn-base b/externals/grill/trunk/flext/tutorial/attr2/.svn/text-base/attr2.mcp.svn-base deleted file mode 100644 index c2713289ff6f0976ed644cc7214958178057f780..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148873 zcmeHQ31Az=)t+5jvU58jCm|rt1VS9g=8CzT*f|U_c9THN87sDuD3K*0$s{ptDq4C% zDd13Aj*<{4rIa@GZt0QUKZVk?v_GZLVoDEwT0(l4(l-D1X5OxLrPWHd6ccQX{dT^6 zGdpkQ&3m)Ev#Z(8NF*eLC=)`PBlNQ#6#Bv+3o+(P;Jr=LHAE^jM!EuP{IOUt67#ji zBAWu82_tEw#ADFVv7m9F@t_Hyau6x05>y462$}>M4f23Sfhs^pfF^^cfTn_`fu@6I zfQ|&s1nHooKqrD`fsO_p13C#b8{`8W3px%&;dl`GO?W|bKqrGv0nG)S3YrJ1MzN@q z4p};6>yV{GmJYc(>ZzkHI_jlEt`3<xWa^Nq`#_MTLzWIX`UxP^OGjOF)J2Cp9rAR@ z(;-iXJRNP)AybDQbhK9|+4Dg)paq~>P#x$r)azo<6`)H&SAo`ot^{2Ix(w6~>Hzsc z>p-2LE>Hlp9<%|p5flV%0&ND79e0Dmpa>`mx*T*hXf<dJC<cmy5}+Q?HJ~k^t)O1e zb)fB_cY>}5y#sVD=<T4lf!+mrH|RZ}_k!LBdOzp}(2bxEfNlbP5Og!>7SOGrKF|)( zZJ;FRL!fP-w}Ng5eHio+&>f&VL3e@f2HgYt7-%=><DdsY4}f-p?gQNm`UL19&?i9; zgFXfNG-wa#5zuEqp9Osm^m))1KwkuX3G`*qS3viJ9tC|Av<viA(APj;2Ymyy7xYcg zw?O{~IskeF^k>jtKz{<g4B8L+Bj~T7zk&V^`UmKrpw~eE0=*9UH|Rg0|AG!G7t%Du zI;ad(4*si%J&0cd{Q=kussL4jMuA3y#(>5m{X3w?LH`5#A?Qia6QJ*c9s_+J^drzd z(2qes0X+r!Dd=aQ{{=k_`Z?$s&@VvGf}R8Y67(z3^PnGq`a$0YeGl{k=+~eZLB9e0 z7W6yN??E-7GeM_;7J}+QXMq-gP6yS2&IX+WIu~>v=zLHEXc1^Js1eizS^`=MS_WDU zY6e{Zx)5{*Xa#6Ks20=$x(L(?Y6HCmv=X!mzK6UzWa+4j4q18w2y%7QQ%7BN)KiCS z9kO-E){`K}*CAhrd>!(2$k!oXhkX6*Ak;y>4um@BkgY?u{tnPPLDz%c1wvhP)I~>K z^ml{MW*v3Xp$8p0(W!2$LGJ-w47vog2GkC^6m&Ug9cV463lso#g028{fUW|q2W<dt z1icRw1Z@Is28BS~pfD%`dM_vndOzrDPz)3Y-2l1~^a0RKpaiG~bPec(AU|je=rYii zpsk>7pqoLxpld;I1-%WlT?lak?DLPHzkm*a{s#Ix=&ztxKz{<g3i=1=pP<)3{{p=Z z`Zwr5p#OpnqC6BwCuAK!F9Vf>JRmQq0(t(7xDxRnK>LA5fkuPIfX0HxfyRR-ARYD7 z&^H?TO+$ZZ(7T3y(okm&eW#({HRwo#9yRDlgI+Y~MT1^6=tYArG_+Z}1#~N@53~bx z8|Xuz+d&@&!3MOCfS?l%wxZnux)XF4=x)$QLHB@mg3#9*`d7OG1U+l$Z><A_{@1Pq z!3H$+xz+_j|7+-P4gIa5zcuu=hQ8J|gF>KgP#6>ep`SJMv4%d@(8t<UAoQyS`_j;l z8v0j5|7z%04gIO1KQ;8FhQ8Fk4|)>xIA|Z}$Dkj9{s;5~=m(&mfSv;V6!bID|AL+d z{T%cR=og@8LC=AH3HlZ2c~C#-1<<cSKLou9`X1;p&~HG$1^o{6d(cau{{y`Yx)<~y z=wqOVK%WGC0<;_S0O)?u!=O)rJ`LIfdIa<t&}TuP1AQL!1<)5kUjls@^cB#fps#|y z2KqSY>!4kr`#|3S?FD@k^exc0LEiy=7gPtT2b~Ez2XrpzY|v?-vp{En&I6qfY5*+) zEe17$nm|iHOF_#(%R$Yc3qTiwR)AVS7l9UnT0ym-(?M;Zw}4iHR)JQ7E(To!8V{NR zngp5#nhu%@ngBWiG!ZldbR=jd=qS)E(9xh{Kt9m1pyNQtgH8aQ2s#Ng8#D)WGH5dB z6wo+O6=*K#RM0$7HE2Gl2DCsF79dMrFI|qf3$z||B`5&e0BQ$8M{>-E9^|#>8pNot zJeQzf<oO0V6%8QtjXX!8uJZhZev;RY(6u~YK!@@?16|4M+cAitNAr4h9WeAKugy9T zL+|n$7kZZGIJBRxKjnE2dY9)W^qIVtg?*UkHT1bWx1E6)_9M@OWr#<E&`0tdSdJJv zme+<?AcjumwITXIUOVcDuL5~M6ucnVqj_x@1l|Z53qn83>udCtd5!G@MqkToYxK3e zzDIw{Yf9Layyi#W%X2R5QJ!02ck)^vHYU&8uxWX2)(}^KU}r@QRAwcJbV2Pi+Dh_B zU!()dLwY+DVH67WkucEFv=J36TU*J}%uv3xdBqZ>j9<3$Vz{OZ6%{T1t-jV(a9!c$ z^cfr<$?;5%kK%Y1$46Vr@p3t2<{nCi9%MO)WjTmtIf!LBh-X=j_l#@tcluTY*Twv? zU?7fCbe1xW<LRVAYM0zV#cw}II~iM#h9Kyll8tWQLy0v~gVYB#-lia8bc2%671T~9 zEcbooWXf`vSQPYIKs(`1533=H_F*+2+#}C`O5enQb6w!S#@`t7$K!!`^(KFe@>#=W z&27GxHJ2$PRQ0MT*D6%MnFZkp@){$^+Ya6_+d{382gsZ>_+r$x9%USDkF8}HW;F}# z9S@oYnhu%)IubM!bQEY7v_YQi7A*CmT1Dau>-}9gpb~p?5c>`ueBKAwT(l8eOTbwQ zqq7>5rm&Q$JXTC&BR+!LHJy89h8$;T#HaBF^^|iQG=eIlKbp%qMvgm>O*KL|mgD1? ze>|6W0?Rv*kLzZ6C&^eRt5F4z#{2sfmL*bw<3ZCv(?K&pM}lU8jsndB;k+%&r8bfl z$38mBy91|(6I2PQEi_#UBV7Y9m@L8Wfs~KPIIEURXXdfrT7qRrpfL@jn><y|BHzh4 zg(!~wM3Tq&ME*hlvPM?nzy~>C_I6xalG@$Bf4^X=sK2x0A$9eVJa}-wY~iSuKx{+6 z*V>bCJUS=ye1t`9Z7ZmPqP%Ivvi8o+!7iFBUbCvLvAgq{c&9&}IHxlbjwe_?U5y<$ zc<|ZhjP^|L><r+#b(Fp<S*G7Rm#$QWe(%vWLQCrUt_WR$3VqjQQGM5%s+LtNd@Fmx ziC}kNQ793-B+yxnle<8ih{V<|+3N3(h62@{Q9&6S=gzHeYipD_n!|}eY`woTK-pXT ziH$O*OlB53WL0zP#qB0%t6(8ME?Lz3t0T}A4)!&7M<cO>4+6wue<&1*gni2cAxK{1 zYn%_!GG%3;S0Kltc(-V8Y+bt4dQ{sI+b%9tT369QxLgTu4#dQ&NKdRY;9DIF;KF4Q zloXHq+EDYjXbP<B*{~rHGgKi~`_YRD->N_&5e#pLi>1L(z}MoBM&;h(o?xg8O-RK2 zmSfd1qOm8Qh;;id3~bvHiFL(=s(WLkJBl)5yo-kbVObOmCEAnlEe-i0rOn^D*-zDI z^M?Z=YNwB$7%U5fC2k7F=}g_dj>@6LWueGAf5_JwMfU}JnaPc%bSOmTGafa72gPye z&?HLdTGglb%lc4YYeIGnt~;q~(Z^e<$$?nd9}@NUy{<sWziqpa5sW3uXd@l8sHZC! zp%Ut4@&e8_uWLKB8jF*XH*^QW33beN&PK_y4)eNXErRl3;wprEX@Js9i(9*9(W=!; zOuMV^+>*-PxQ4MQW35%jc3&4+gGg+Q1^ivLf{ryX$D9Kx^JHE#z1trQ%l6BvuT=_U ztYj>^cvbV-rIA=5xFNh+N{E}alxdAfGdY|?YR{-cJV-9NK-SB^92@mA*!A_@{;l2d zXuZKuG1_ELs1=-GFQ8V$0-=CE9!Sq$CzOh~+&Xx1*EOh-Q7Z32(GroZ(4C7+pQo<1 zkX^CcP4-sKEys{Xe{5YOEJqsTg957KiJo<$aa(5yeskt&D6rjXU7ReBB6XP=&Ej!| zmq^68mZ$~9+4faB>&8s4C7W8yBjj2*kg5`RjrP5{bM5<UEiHimMFX+KHVj1ZL7o?A z%r1qJ1`d%1jO#d>nKCZHXr|1#ilb=<<AQ%FuyMOiGiB<oMm>q7nG*_Oka15M1*TaK z3Q3T04fq~lc`btYLm;}2p|BfdTzl;S9#2e!&w-5DphtnLh>7q7h-SDbJPX21r3`<> zmS){3yat*qk$eIspCDtGW;ErKWWuwtp?w6J6_rnx2`|QmX6O)ThE&en5ym-DK5-^| zH8wOOhM*;}!3-z`n(3E!RD|!s1~Z}*XjWMG2myZ?n`0%Ev*gB;X`1zxPp2u*3)q~% zd0s($BIAD{K1pGEdLd^85z&)sc^^yoIBcjd5$I{NoB<?EGl6qK2=wGiKJ6yF1e<vv z1bPxBXCDc#!Dc=Pfu11ASx>^7u~`5@peH?YhLZ5xu&Dzf&=Vm!Q%d+&Y)HQdI_ZRF zED?0l3DpBZ{|q)XlZv2!1)GHu3jN!NX+{!3e-fLsB^3Ja5TC>N&xmPe6hWHrd5p=v z&S!ii;s(Z~pGAzT5ie#;<ux+C2yqi*(gW!Tp{x@d@&|-6vh!sUin1FKFK7Hw#LbK! zM0^2bYU72Bsf{Zbe-AO~9ii-}*pO_5vR`7;DxoObkGPHT-x0q>;c~Kpm5gadbroZ} zt6$BS?B!y{r0+`@lg_AZ2<6l!nj%Cfr+Qr~p(wu$F%d#}7dCPt2RH<L1#y9|#pX&0 zMfp1sU&Z)V#AG)J<-4)zAO!qrZ2S_6@~<IY$M{Laq+f*cpJPMv5XygzO+Z3XPJO*z zVULb@1LH}EH!?mBagZ_D+9t--pJclT9?}i90l`CMcS|?|Hkuk=o9LM+g1j+yYBrLm zfghx2rU=NVfZVfekdMZm&3WXTfqa|t$Va|9Csn_!a%Uo6O&<A<LcWvp$Tti5%Jaxa zzU9dyANk{XdE}#WR&%a=$Wsa>4U{xcxCZFFaXH2<H3Cw3<q~iB%5`hLj(N2&7cQby z!kbhBSC(hm#YWi0!?*;$<xSeAQnd@!fb%6tp{16Ne{*Rdb-s9W)w@*NB5PpM!khZl zWRxZ*Exi4Jns!h^CM|r&z9Ne|{EAbJ$1LCaQ0Epra;WB8@AR6cp19J}O(STz4l^<i z+qi=6r>z$ngKQ~1eiAX7gL|Wb$8r@t*gELuO!Ht%Fpo<aoXN5S@1Wj+vc8qX<yBg{ zkFA>`P+HGcf+PRs5u-47pdNwSD>i^V^OXTiJ-6>2z=2t^Qh8aDn5`w<(+8Z2t89C) z3=j5%(q7&gSi3f!@V}v>0Zbncdotd`$h!rlj3o`c`88m?{vcnR3GtJQH-EG8ZvoDB z_4(&6<s9xBC{wQ}8|V0zRn1F=dy`A;bJxJeL?T*0fBq)?9HBbigLmj6-SeZdNLNp1 zB0hgp*XH>Psu#@figd>3`=ddA3BkR@H(e@PB|U;RlY~xBCBVQQ{mT@7)kb0uw@+K% z<dYXz^^2m>P_WaV2;$XX-yHgt4&HuUcyhg;-oK>xHBX!0vZ}3?5CPw5)iu@p8U~kD zir&N;AQO@I|8L?p6kK)Og_nYZ28@?Bki;X2%7js*;Cn<(PS==s@DgBS#9W&OifK$U z<_gW%3@O1mxc`jH^@mQfK=&VWO<+~%@@2;I26}O&bfxOt6C;pIenP(mLR2R0BK7wA z2-HTY$%Y0DyJ(;nign!C;`afiyIVs$BR96#g|6&E{`_oJPn3SuR<e+hY8e*0D5Dq4 z>RT4I`-0)lP)}DNUNVc3Xck@6Xp3D;Rd#`U@{(PQM0+sWoNgCW__{MLf45v3D-1o2 z$k;MoOp`Ad(N#u%LH8~=zXMt8yw_t}ojf4wLN(sL+oGZhacy#(x9+#EQ&HZ!eMzk@ z(J#iy^fob;;-v2FyG;I2$=esHk?9`rubtF^-~H6k*o870B%jLYOKRS}C1=a>`l1c^ zc_7VVg7?~9;^8F)ueWa({U8i^cN`Gok{<8<W5&q+`_GGZN0Q}U?|t-R4&n9Q0vX9N z&nw5sbk8fNL_NQy`uu1!rE?f>0Oz>S84hDP73b0q1FoEEK|N?r7%#NQ<zmQO$UbQ1 zhkg`BglF-GAdn;@NQ{k@XQUNlrl~0J%Cs!Ls0o#7Fe_F>khY9M{mMXhBoXk*^(E5R zzNlZ+lZed2D;ij7A|owrDTwrP?Mqpxg*%KjHR^3kTcjT;t72X1B0WR;(iiFJ_N6e= zQ*BFQq$irPd8v%_^z@}O($mj4>q2uu45u{P0vS#jG8W8m%ESw3I3*biX{4v6t?}WU zY_9o{k-W48Ez2;0rK{U`sgCpmXw@!SyQAA5?xMv_0vX5394q|c4Lw*-#5uKP<pp?T zB>M|1hd7E*i<3B~Wm5%7Zi;l8%bTYctlkDvtK_I<PSSJOmPAQUq-9NvHBp?>Tup!u z&S?UaDT@hE60ND?BsiNsa7=2=mGlE`Yp`$$KIvd`rHJ(GB%d2k5B)aIYjv!ON^)xi z=g8uQYl7jGB#76BNw3A$v(7MTks+SaT)TiWEZN!_z>+oeoYL6>C{xaUqD)!(iIR-| zpto;~Woznf!=^38HfGvV%t4D60ijh#QYEI3mbOIuP-#oDjgz(%Qy%w@Ezx#9v87l~ zCboq1LDilp7gjR6+9AyxwQOmrvB}2H9GEhb%~2^c$vz}yrt^4|nc&#j=_8Ttu*_k| zmTVh?Y$<6cW_w!7KkZgRj%#y^jKea_JtGI(dIp~cq)aA%Tp~RoH5A!WY~zqEC2cIQ zrIDK%V{t}8_U6)I8ACwE@$L$-IDf{GhA|i`M%lgI<k~#m<eJ`Rc)OXB?&)TN-OEk3 z&BINuSw4HWnPBs5lWX;AlbP<(sRX+>r}0fsHu)(pHd&b-Y)>-1*Uq+ku04&t*3Qi6 zq;zjJvuAp$nPl@)lbhzDDZa%!ZA_b~+EOx%(3Z*`Y2%SM+8OMLR%XfzO|H!YO>Ua^ znS86~*_h5var8LbaoHPc@if~Jwhr9x;A7kE_aXA&?e(Vp+x%;Ly`y(+uXpgR?e&?S zWhvL{SKICPUtEO@pW0sU=uu!h_>;l4dlPDEUahm3ES|KzUMAT6h?x#v#3@!EVpduQ zIQq|ayzNDcAX+cCxq6wtv%TKQbHGja8^y{rHN|%}C6#9N7{xLDg?FvqB3Ws^LS1TE zw~!m-<R{zfGrUBxoGPB(L)0<Z8kO!HD!0)!=Awmm_eimA=b#ij!%0#}>3)(*vAar& zZ}XNE+myi$lS;9jiBfE<+oZVZo?}U|J5PFo=|8E2lnbSJnO>BZW;#+D-|kCkiR?~k z+{|uEcdFC@nSPZ@v$<A^o#tJZ1dD^&xi(X^CuLZqJ()et&Ln3`<FLQkxG9%Qv29+L zVy8J?D#7Y|c5aq7IeMV|NS7vC{Lp@ky-(B5Qz~oPiOOJ_4q}|Cj09&FOg~o{xgFdu z^K4~gc5pq^&N5ACWOQ~r<J@H4&zae!FQ&Pi^_*p7%;s+CXDwTPCs(tdw`|$dyTsYa zoK9UvF%AxfbA^5JTqCdb>}BOSn4vlaWwA1qXmcyYN;wtp+gwWW(j6-8BxY30(V6V0 zF(WJ4yJHJn+$hVL%vxkx^Qf@2-cl>XI-SpW-CX-s9~aI?WpgP`&f-{{>U4fHWI8!n zx=h=7&N$G?;rKuYx8sy7&S#`Lo%alR>WVVm5&6jU^Ph20R;T3SWO~|p&~~h&gIW)^ zoeyn?I(L5-m*pa}og0mUo!plXb#`JSG2=XGl$bHUVz)a=&gRyZvhCJyNwB!Mm1}qO zR7!@sbCSb3)M$XS>+^BshQ>ULy<ypg0n33IGcB1V<WLO>aa4_Uc;MBk?E{0sv|Z*J z%#6XnNJt+B48DB;Ft|3?H<)JG?DPiT=I#d5>gWb9-NjA5-MQ^-)2$75%ApNTrYqZ0 zOeeN+?e1$!V#l@d441VstxseOex{omDK-Z+m}#zQvMo+&<=M_o)`SdevnH~gSy|+K zwtaRx3oqqx2Gizh1~bjc47Sz1tUSjSQ05GmvL2PSc@{Ua=1=P__FUV83eL_+PR_(h zrr8^pto9?bI2Ir5=w6)W<YehG?XJeDP7cRO4sOROS)9*Eb#y^nV!9)8Vum|1KdVz( z)6-qkn&#-B)(mzxwWc_CfBN~=-j7)wmkV}sUrus%Vk0rrl`Sbw?qEsIX7`pXcIUPv zSX|u7wL5w$CBxl0$;s(C$=UTe(P03vq`0)(Z7{HukV7?@1B2yQ!#?;64)*h_!L$tt z1~X$YFcQ*-0fTQJ01U3p^$n(3Haoq+x4FB)v^u)MOLuXTZ+C7x+jMJ#opNY{lj+K~ z6w`@qT)X?)lGt%=y!0+fcUB{FrkffmHU~ABX|8FqElz3W+04?KkYR1sM0P<di=5B4 z&u(Yor5w&++FZ?Gra76xwz`*<=hy;Am$Dv}wRsjdvgS|gEp{#2`IWPCl9MxWl4<tF z`PF`87RTa)9o>u5oSZCOrrp&z)yd&F$-(V7C5!VJsg5paOH6k}PRwve=4W+EYkInC zTGJdI)SAKWrq&ea?$6?~d|+0`<#Z?a<s@e(HWD*k*^=Vq4wmF>c5lgIcWz69#l@{$ zyQ8O4GTfb$oSdGMoL!$29R>hPic7oQ1_Mh8IaHH5Fj$VY+efX_`L)(QrKNnnHuFiQ zk>ETG)TTYlG;%w*zNKuN)7RP`XBs7BI(lu!15G1u+7nGXJI$?8WAmA&kujSq*QPzy zwB>hlUp~O*xXerM5@%<ng)Gt^Z5mP?9JDrle%Q!sogcRH9Ly4Bz=N|`n@Y5~pkk$* zkN0hECwb`(M;&c>$Z1r|(aCCUk2#I3Wb=+KaB(SBQr6~WxRJ`A)?4ga4(HcePI5TE z8cA8suSRkf$KrCG&acLiPEN*$nKJFJ#;FeHSEEb^x8sAH&#%UD&Ms&iDo?)Yj>w4_ z?#TSCPH9a~JHHyWk;ghZsP$mGn_5$xyFZJ|@_|_$m(!ixmy;aNuSQ!OT-i7be(U58 zmgH=9Z^>eJZcBp2#jRYsqo-0b+?|u0oSu`MU7r)lGmZIS9sn#UF70+33@jz&P)+8* zU^&*X5B`#%{rqY$Z9{^=G#%5p*ftW<hXI3c9{>!l&GikYSvEVp!MC})!L&NM!Ao~> zlW)IxwzEyQHrOeLHaMBCY)dhn*v7THuPuok*Tzfll5}S^GH1G}kz#XDgPG=<Cfjn+ zYvtL@(wdNAZPr9~K`V=#&$iEQXW^wB&S2VH&0wZEnZdTYmzC$(0!Np!9+kCu7B{ly zH+rj!K1ynLAH}jck7AkTZMcqNr#p_~+TBL+Y)+$CO~xm3*<}>h<}iw7br;1+cNXT_ zUB${Y9YrxyZld-xoy5X7UBtq(JBTHL-NVAMt2^B_RK`rlP<)$PC{~(NFw^1^DUQvY zQtS+SNhPr}q!{E1mOXX^laq1-#j-hpVx_r&Vp<&_#c`;wqw%MX$kG&x;ivK%{XlPb z<J+-z!#9{V(>It+hM^k9ZzQCfzrnXVfWfu7fWb7&W+yQCHa9SsR!1;+>8@b%?ap9l zo9<w+Qx0KpGF`%!VmgJ5Yj+D<5<7;Cm)<4m&S7NEbPprN<{$<$%|%SM#YwC@o7q_t zGOWv*$gW~#k+azL*<CEWl*1TIo68u?G^a7xR=2V899!V%I@Y7IHqYWd*8KL~YIky= zcKgJJI=Ve`V#7#qcA)mOi47ySg9BO0wmDF{ePY8XA=81{GbT2SylHn;c6OQrp~mLK zhLJIw1GT43Y}oQUIS?OUb0FrWcZstDwL45~7*ZV^s6BmR!^msB8?y2o%nxP2+p<`g zO0+qUVx=62_iYX&dFc*B9c`J|FskL~K<&1P4I?XAyJHJn97vUvwRss1r1IN)Yhitx z>@In7!57HQp+g!@i$5G(ABZRBU9hML-?L97ki*v;ULP^DS$e~V0g`^YshWg>p?k1s zxz={$MH|Poj2fu}QC612D8=Sz5N7)nxgmyB(Ac`v7!c8SPK{+V&ed3D4QanqHTo}m zW7T1%BJ7Pd6EhlXOR+T;DGrTgv!ccxx?rq-K%WpbR_UNm7#klBqfhG^t2Xoi8>{)= z3QQ|FQ1~o}R&Aj06v$ZH^iRO}Y6u05R=(g>9kgm-xk?837Xgn2A!ziu+i?;K?FPiW zT86d<cmneuN6ZUzYQG1bsQ5b7g+8T=pr42heVP<Or%xkKmQd*Q`C$6ADT2Ngo2e2C z{X>Z9ld%XoeL|5w3yYxt3>*6ND}w%KY>t#rl#v{{>Ic+x8ZdpP6`|}c*pMC(%ILGa z^tn}pvYW6uMnX|Wy7Do867jK&e~0)uh0CcQj%Q5AoxqsdLTy7RC%v5{p(wu^@odI@ zi03f=JmQlX{}k~lj1M55tFVXkcPeB0<nTPkmm{ubd<|k=$=XBxUc>xPB3{7wdx&cp z{|0fL!d|j3(h-7}^mMv}!b`G<5WK6fq0c)bcu8+(NhrMUMohMd;N6W4uPfyJ2C!VU z1^j1$NiPUq>Z5Zd6cyC2^B7b6&S$&=aRcK3;zf+#j(9QSyAU@reiSjS!GTag_OL`k zQSm3lOBJppyI#habibVO1&Es&uR~1x2$fr~xllq;c{5_F6GG)DuxXJ{RDK6B^)W(a zKQ^s|fM3I=O+qn>Z1ydTNlz;oQ{RzJ5k|$aSuLR$btB@78Q+We62@ObyoT{l5Vte_ z1L8{+9<3w3j4}BK$v_xQ{eOjoVl?UCO2)*yig6F(wTwT2xP$Tii2aPI4x}T5(NAI1 zDWMqsGU6_U$9NG_pCOEyiOqTm#Tcr?2F9f0jf^R8kny#MH!<!*yqWRG5r-Im3o+Rr z!kB(+!i0eTicLg9G1h}P%9zH3s~M9|#2AxZklqo-k`59Qim}8aT_B7lJ&<1^jC}|j zvI&H-k72V_LNWH2h_^8&+wN6(9O;4DgD{Tj@Ky=MxLU+-V@!6poiWvc>>FVm)iFs3 z_<h)1C!rX3H{y3N-h=p^jK7cgdd5_rcQO78;&&@Nz8vv;7|%ldUdB`(l7TRuZ2bKa zit%I%H!vohkX<5-r*zT_!uZ|T+$5nG|3$<fWc)+KH#6=>d<)}$BED7O36l}`F+K_L z4#uY=zKt>Y=!Y1St=`U<`u4+&seK<|Oz|CzA3=O4W2(<xjQ<ZY=@DVV>)3o$LQypy z@jZ-BM7)#nIf!>LCjYyaG1(NgAEAo$cb|l!YA53R8Gi-w#~A+@@dJ#1kC<#4VWNi3 zgA$5~WGA0sT!)x!4q@UlY(6QWm`FbNFk`Z>PcbHae3~)w$UYDzeis|k1;WJVvH6UI zVj{KuvkFg|g!pre=OX?*<3)(Sz?k$;eT*=P<bFv)F^T&5%Zy1k)MkW9l>VrMV$zQg zf0gm?5PyyFLBwBI_=qWpzrnZ$@m|KQh`-4=jF|i%;Rv$*Z%ZhSpnm@jV`@9K8Q};@ z|DJ^6i02T0pYdN2|Bu3xM<afW@iB;h!1zqWk25B}c!F^UVzMWM$y>2`QbIAAY@gbR zFq!&%pM+vE>4EwlVe(I~Awrn^5;jjsD5jJl{wd>Wh=0cTRK)+wxC!yojA^X+Ipa9u zXBd-j{(>>t^|Oqr->CfvQ%DYt5eQSr4u2(~nDP(AWFH7q$6(V>2-t_s3xt4A$L7}( zim9ZN7a4aT{te@8h=0qNe3$wgVJg`g$wQb*eM0R=m`e2}pG27YH*8*(P)w^r{0GMK z5&w~K3*uK82NCaQd_Ce<8Iv6zU`)35C&r||KQks-e^Gck*+1C?!gP{FX$aGoVe@wh z#q<q`Nk<6N--*pXB^1-|L;M<JvgLm<ramDbLzqs-{aZpYV;bWBFs?=XU&gJ7$sZ7A zpj|X9P?+&vVBVSW5U|et?*NnCAk2Ucjc*9fKsz*#;vYEy*vt47;0nfQmsZKx4?K!- z5_mM@-N0lA2uGs7w6Tm~BicB|Xt%s)!0ycPz>r5_=JCMPe}vBgp2&DLFzFg$<|g1H z7{48OGUMBUr!f8`@KnZofk}4=GhzGMbjGg&&rtX%v{gHjG19e}jG<@kD8|cyXEE*s zKAQ0s;A0ry2<&5w{?(3UjQ-V*WBe2_+DYLk*sOK}WAvwXqQbLKU+pBurvcAqO!}Y0 zcn$E$j5h<LpD4^q0?(CD%(@NuRK}!}d5rf0S2KpaY4aJwX0;lHkA{x51&mP_jcg9# z=z8Ef#uo#leiV+50-w(KgTQAnei-;n#*YD?#rQYC3l%;FwrPBt>lo-*JDd49PJ<m# zIEG}M%Qyyn9%GVqKH~>~8yJ5dcoE|lffp<6D+g|5j6T$w7^5!Q62_$4rHr=#L+=!P zw*tcsB>psTGh=Gk1&m(;zEI&~;Ro6Z#^`6Qg)!;yBF1Fft&AhUZH(U!{1(R4u9b|x z3A~DNKQNA`a9kNMbR;qL*CmXh8x8G|{7Zq`8Ha(fFZu5TzKro*z?U=r9Pky4e*k<X z<L7~|V*C%_wF)0U7Py144;W(vh2zoZ+B(K)tJcYQJ#ZJ}t-t}sq-Ug2IR4|n8yJ5Z zcq8MdfrE_y2)s$*6R3aT4-`(I{tYpP&1&6@(N`MUPvHc#LxbKWroM(9OS}X4YR060 z*qr2l5jf8Hao_~we&8O)e*?Zo;S)(GD3`*CK47$y!ii*W+Zdy-v|h$2Tf3I=yMf=z z_zvK=G5$R8cE<aF-_H0|;H1JQjRU@p@yWpNVB7?Z{-$se`b4{)G0N87#rSq$$fj@- z$$Agtp8&s?G0A$L!m}%YVXqWs&j!AMaU<}JjJtq8z!-JcZesiq;14n;-QLXjY2aHJ z{}~uIL1E4W;6BFGF7y+HIm>}>V~qaSKExR9)6gCYb4Z6DW=ysX*%apd2pDM+zYKh* z!Y5O^;13i|J{I_H#tpz9Wei)^?qN**wUaS;+AhXl2ELc^lfb(fzX*IE<9`F+ukb08 zfj`Fh6yOIKpAQUwpm53>;0GDQ#<fo{P69u~7;V))$@tU24>SHA@TVC692jX7P9Z(- zQFv}8@FR?m2mTD>Gl4(Lcm*)@NMSDZFKk6(>fbLgMqg=PWQ;m$Ut;`qVCaRy+^2!R z!uYSik1BjB>Hn*YrvZPB@mydWPvO)C;BQDMPQ4g-FJsclHyI~^zr~pB?c0n|N9{X| zp920a<KF>8M-)!|7x4ELo;L;fe;C&QKgPHf_y>$J#%PZ-hJR>JFh)OXKV*!$Xs`nc z^L_~o`;+(|!0=}Z)g<f3jB9~^!kA>Ct`w>_0RNQndw_q&81|+8FJrV%gMKMg{|XrW zE%9r>&nP^fbo&d&X97RVcqQ<2j3dCPD~0*gE|euP>`{B3G1{&5GyV<m3yevJzgD=0 zY#Vk@p=LfX@=1IF@NXGYyU+)ce;x4e8Seysi81<6`#;9iUoSI02>b_y7t8?uBjak| zR~R<}?`M1k@T-gyzy}z=ANWs<?*aZZ<1YgLg)#b8gS}E%&=34K3B`hc0{>m%+6ln_ zV0;oV(kRrP1<BnDh)CNxTvGb;j=m#<(E)w*&u&@h5@*%b5BXZKhC*KG78vwWy=6 zshzsfz?@KbG;kU7(bsx8<JG_(#?Zf<bH{Go7T^lz-vC_6cqi~E#-9g<3<`D7i9UvL zKk!(_XsbR>;nSu9k7ry53>{H8Z7FaS<I8|2GKNp-lNcv~k6;X)=&&aWr#%b|pOF}T zuS15!KLwt~7&f9$XAE8Hun!8SL%x0_;}d~rGOh<cig7FOEXHerp+^d*lYWk2O#1OL zz7P0V#$NzFj`3r_$1{E&_yorP0ETP|XHb8^RwPE*`fSDvfafq?4tz4>PT*4*CxGWN zeh2WWjCTOfWBdRx{DHz5Ujd%a_(#AP*C?Fv0x;xB44c(!6+RQX*U@Jb&O{mdX^hVY zKArJffX`sO9{5bg*8;=tDV$05S;!dntV7on&ioee*^HkCK8NwEz~?G_7Hn2Ok1_gF zhinRGq3(JE0K!?zfEO{o3V1Q&C~za=_X9UE-U+;f@uR@7MG9w;PEeM_zX68cC5B(> z%?d9hd%l1%bgy5?7&7%0j4uIhVH^Rzi1CfUt&HyhZe#puVCa#;!fyj(jF9-}z^fR) z0=!z`deX_oj7cYuN1>i<W({M=)Y}<v2ELT>cHqkx-wJ#=W3rPg7=IP`O2$6}hE6He zQytbSe0CXd2V<&(pE32zI>ykk4tu3=HstGFjIRa`Fn%vE?1sYGq>~Md9|7LT_;KJM zW3tsvjHzGHHVWrd0f!jFxAbntup>Rp7`oBX9~90(ULE!!@jHQ0Cy8$djxpW?9B2GP z-~{7-;2y>YfUi;bT<VuCj4|HGXOq}Hmwaa%^GPSYj7cZ(6AI@-rv6sO9|V3I<4*#k z&nTSx4dAykehN6r_+{Yh6h3bv@H-fv3XHZ<IFH7V>ls7$`nwpTJpJ8_KLY$7#$=P| z8w%&`1%97|;=HGU;Y$?G`!Dbf3ZGByy^%4-2K@t!VaxhWj7jHc8-?>BQ@@$<UBI^} z{3hIbM5TKFj9xV0msT>Hanz!=wiTJ|;&M7r9DS6xxTR*6MsiwOR`58RnQm}a1lReR zyXk9WJ}AfF4lHhITd_3P5k--+rm-oPoI=w(P{7JnD+j5G{H2qe)l1q}SNmf;mgRr! zKyykt>v*Wna`0k*C=`i=eaizO9&_y(bEQ*mDW}tZT>4(i8lQSAFN?Lw#PoyG_LZEu zbJN(i-Qvk{Z&2~%II7)jQxWC33M!hMz*bi|X2S{q(hl6sS`^xzD%4NPiFUe5DpXF= zBFD|LizX+>sDoEBU3(^1Ivp(a##d+A3d1mf_d&Cz;zgkx;}RX&j<*!Em!MK8&(Z?V zbX}27zNXA2ZSd(GI5ZZIxeq#nFWx+o<it0I_&&g7X8^p<TcFk;C($z`a;Wmv=%kEB z6p_)!WmWTCO17elVQ*A+HNF&^Q+e4ckq5tn^Hd*Vqa!&NMetD~_n@`3wB;C?+zZGj zwE>yr8`@cK1!O6shvGUAk~DQ5OLP}<Q$X#Jwa&6J&tse1GvfT>T9j)d%a-lwUZ15V z`LXknbBImWsHjGu+V4K}U$AH;kCXUr)*wOyA5+~K^2c4ynYsEWU(wYYg03A@wDxTB zyXvFR_K;musO}9$6>{DdLynq5pzqCP9XMu=@HqtfWZj^`0Ot?}FK3A65Ly>s;LD|m zmbNv<wbh{8)3)M}ULMFMbYMFa=R%Sr&mB3g;NZ(@4q?z*Gvv74X<`1XXmZ>eR6IGZ zLtqix6Ll3-wDufsa|na9H#$d2yUuqGVUTi?7CCN~U1<N9a$L{s7&D4ChY;XrPH5mE z3M2g9evlS7;CuT)%b{*RT<-0Qao(2g8AkW^>e^U-QY@Q?Rt&dm;~~8!8iKLbAC2ak zpUKv@dGkAvb13fHNlrfVo5)shfbG*S(A^#`PabZz-?E~4AkUVSiUy(S0Y1YXyqtkO z!ydexA-ew@(y__?_9k`TL0WTo?pyR{z6Hy1Z;*NYT(BJ1+o&SyEzkS4Lfdn=-LDO@ zJp;a98>E~h#zW)2Ft7WyLgfs>HN<eckD^o7P~3N5wWGRPpJmk{5^N7s1~fN@qU?vO zy`qn`1<T2EtSwkho?~s{a$E(O=Z-?<bOl_W-#GRCKzY*MT;F=J%#jYVJ?2=u(QO1Q zrkp&_g@v{!661HN2dee_^Bd<5w<8L*w<HQT<hb=v(d6WK^#yX|!f@HzoX`70!GYbo zWU+*7HAwM;cnFl*b4IP}HW|-=1}%q5u6BL;kA;s?@A(!cXQ<w<2?bqWdnsCba=gb= zwEl^#<KILaVmpWhT;3kQ;#0x!%0Qe=&bcZ%xws6K%M!Xwc+?EL`HrSbbN)7fF3($C z-U7+z+AE)Vm7>VW<F^4tk(0-~N>Stt$9a{Z`fY%Jh~Cw9ztm67chJBBqmYZAT1KOM z{72m*xm~GPt|beW<K7_iny6qouD29L)LWj{#)Y=$aGNI@WP1jD?^3XwL)$-QdqSN< zb8qSL-aom0(fp^|T~N{F<okZdAnhOtoebz+tO#=4G*_tJtnG2@qT<O3xenO2m7($R zr0!@iWPO|0mX5w~3aWoXu0KMsl~ahEA(+pV?b)*VkUtk5mh;9r?#YXB-Agt&6!X(c z&NkP(@}jjT$Gho`k?1zx>WGg&65`~BuDmu*tqyjE-ENkPCTCOB_5HP?$#Lx+oKK5z ze=6-D>^?VBwD#oqnS5Iy7J?l_vi)v`(p?R~u!CqQ80VEEobngi9=figFl4{wipE`M z?N@CKgj^M;s+)D2<dmWK%@~QQc5jX-v_0G$$VtTTjgG8CLecCX5nS(ffnBH^Ilfim zXG`*zOGfKTaY+Nt8t4FfNZ%J4s(G!_nitL;UgC~u4bVI)t_7C|{9S=qyxR4ic$g{* z&2L?`w$UG37YVOzoI7_d7_msa+V#3=nCZfc_C!L9;@iTVo^wX;^qjMzL$$C>crNSR z=T8LI1QQz@H~M3KN{=^(SNg*n0$79&A2Vxg?1{xAF;TH)Ss<~rEfN==_QqHM2gyuL zfp}*u7)?-)&gIB*30<W>vob)-d2}Mza(}oh6cFW)psc2#KNQ)}6j<-?2_>2nfo`lp z-?+3b)U%;Ej6+v%iw2sTM8!`U{fU;yH8|)L<A_io5x}DG_*iGCab=)0A@n{RKr=U3 zY9O3g8Cc&L35)Xn=5QjkI<h$s4)z8_#f5E)n^q%V^GLM(VP?d|XwESWT#Cc>vN`wY z^2;Ul%*oxD@-HXq+N1%L<62PO<rLvrjnq$$ku_I+=pI_lt>(E7Q<nZpTFP;IN|>uY zW;q4U!J;~<UGc(y<5=JvY8lm~6iOO+!!$63zmelG4!>b_DhV!W;Em8g$p_vDt(Rn$ zG*HsO;iLh5e9OuUXvORxrVWC)o6iXLk<z}Gk-5YuX<*oEpyUI?zKcr@Jj^vv^1;Kr zgG$vKG7Xe`VaQZn5_FhrpyUgOc?XrMH)I-^Fl3TSf(}y+tXZ^@zjatZ1xsUU0m>^K zI(#(H?eC1lw+^57lv+~Kz+f~`@`Jp!hA-ldlFK&xT6<i61LaoU`3Q2o7kYi8ylKU< z_Rh`0F8s=M)0$Onja&N7W7qAUBRoHE5ce9K>pFHGF>{ZxXT~*8CQVF0e^BMwv2w5E zuS@Qfv2~-a0W_gM)nKyso5&Sd>+kiOziP5vRXkaP0wyfEsL7WsQ{^8#$a1u&8oV`6 z?v(<j;1@Ue^Y->t(Z07XS?29+e^%n&?w#1zy>-{f?^b&28r!h1VgDhOw{f4CVIJSc z$J^6qn(0waKi<1z6~2!RSv%J66<YE*Prv$Jw5R_}pAg9kZ{O?k`^DbACy^`Z_1=H? z>j1)g|HqT~JTdCJYo^@q-O+*1)uZ<4#NNJrk|*oG>ugSMQ1#z(r%GGgFYABX#qx_U z-rG8AM5R%`9jg7k$r;|=|9)KN-~HGgZ*OwC*R$gWx$oI^0LM@B_TH)5-}|Y3*q`dX z_rbX`{ocDsKf1Sf=VrOzds|h8yfRZ>(!1cwy<$w#<E`8By3Aj<IC=0d$#PK{l;w%a zE80XE^+&2bVp38UyF8n{b!f}2u>+`|=0$tzQGjgED6{;2RfptQuXo1f5_?bep*~|g zzgj2vJ-=E*`?m5?o-UeSoGZ)k-9hcQ>$}`2|F#BMW*z#c_hZj0S$#W^-_{<KZ)*?9 z6XJ<Gy}dgcys$6yKkTLFT2&T`M1Mkdk_=hu=X^1-;@SQx<lj^A3mJD*JVSBc&Wfig zzOAb450c+d_7Y;~MLZ_?ZDJS2ef?smjQ5I<QoQ4UxLc;zh&v=dDQ-tx*W?pHnSQg_ zNc)XRu|dXdA|UxuQ78BJiHUN5pQxg^&nG6xScvg5ZV=-T*EQ}DV=2bxe@7F4hfj=> zu@IFM_jL#_r8f%Uk#P-P`o{j^eWFb6M}<ytQ-jcC+#&VRCOlh$;V$T@%v;w`wK0fq z>68mk<`^cR=hP^HUJL(v4`~^Ctt$6i-7g_;%EC#XD9X2_J5XXVz7<X73~(LoEN{=E zoIKWZvaHRPy__Pf*F^0q)_0bQ@f{_qPceQ+N9D+OoeTW^8j4ZnbP~!Qa=q(JN2+(+ zEpJR)&W=XO`IqBfq5R8<8loNJ0hHrfP~PQ~-j%=5sUwnLO8Xf;@5)m%buk)0RI0D< z_HUgRi7%}8Claw*O0Whb)&^Jjms)vwW4aa_;eoEjN};5IL#6?ZuIp6kxqSJM)uB{y zNdt$226WM;?ntp6;bHRZ#@41KvwgFh7Oh@{sI9qi_3RO@lT!2FTpGaC?s(L=Nmt%X zb9;^rK)z{62<n*SKtMhP<ep`NeABVJIgflZkS~-+z9W%uPO5%c<<3ODjy&=mg?#Js z$Tti5I&<ZNwx;G&KjfQ&eCOp+-Vw;xoGTylltM`ZB@Gm+feCyaqhn4NPo^4Z{KDu~ zx~D8uvBTqdIvXBDKqQ|e)f;m;TT2!)JbHL=tuXAOL5Rup46VLp)ryiu3{IEB=_rd` z=*lkShj3Q);5**2M9D&iQ(q6HEf%{d!}DWJJ`o6pJ3~EPfq2O*2BOO0lGjfSvDn2F zWf$@2ypmlEmp&d$JJRi9s=Obmua8H1Vx57~STPu#4x3{v<Ha<3<ERuyyavc5N};3y zF=^pV{Z&#A8u0B0tmDI^h40um>{T>ce!m3Y9i@+2tq6uUTffXS>|0-IU`Ye`e$Q5X z60?2eYN9lEKXUutspTF~DHrm0KPMFBU3@3;R$d2oit(<#wM-{Wat8P=KTeoVCFSM~ z@Lm7G%PGQd0dlpb0~w0(Zhk&;<h#zLZ`{~abtt~wY!kpc`OE2aI^5)$@BC-6>ip%n z{<OgMjayT=1q?urtDvH_rwG4sur$vRO8?3CdjW&&AG(*4at83tUZ=|D>Yt=Vj^)=g z8ATP^Kc<`le`B#S(3?@WbcWPh*01EL+~}4?ahHz=FQyN{M8dx1flyYvZEtMN`MU|q zv((p&55B|_bQzFd*L?O1{BA-%B18vr#o{sdK_{=0+%u7!_{PvW_gq4>Eh$uMkdx>c z5;@eCA^XN{#9ed6us7KrJTuOzJol=&rgm_u`D=F9+=EXfITzt$OF2r=T3Xt2j7&L7 z$RoJ{c`oo@<IgcYG<qnm15p)CoyQX0d3}U7OZ%ujS&}5%JdbU1&xrGjYf-L=Tmjjh z?)7ff$(fdqoS_&eQBgU!UhVI3t@8zoR`S_paPy4~TzYk9$RBq(XXff3*GgIvt8;ui zyJ+p%<ahPwLfb=jO`*CsnDzRA(u*NS%^~2Y>e&a5nR0y-5_kwh2g*K7=Mb{~jz5<= z1~`W>csWBfhfu8b26E}G80!(_lF@+-Lvb!7Ir7|*<LVc_EN`cLgSG-gj@zA<95ad} z$Gt(tYme&?n3_W<SZ`5RK}BoN;WmdbNWIZHO4@b4a|nZ!leEZjv+P3q$CTrGX2+P3 zV~!wKI+~;OR)lXJQdw?cgx}i_(&7euZ$D@`)OUx=y?smD8e=A@u=Wh2dwX?lEEfpO z=4KVc?b>)quZf0Wto28ux#nlG^=;n#4&)q)`*xC(&-^B`6&zsu8|SsUK3twW+-$#P zMf2iZinFZmrc{*c0EhGeKEocooPn)ZH+VTibpJV|W0U*sP3pdbwC3>aCD*etG7EKI z=yp|WxnC<-j(da5>*s>yxZXw;QEz$PuNB&!!|i@;knI`p{n{YqBn`X9eW9CW7iw>& zoFTY|7;g7b=%OLH?^qKI*VX#Ao^?j{x#cMXnj1q=RQL2y^s%;JIeCt?1<T2EtSwxQ zt02>t3zgFqDC_}Sx?wo%OMA=r{hC3x#~f>2M?lNDy<j<co(l_=6Nz;>sI;i80nI56 zvOP)E*pQRgIjT@OIbMB%|6r(G*_cg{`MfU_9N4`}mKJ5JL5d&5L!i{2GiqJ8$(TzT zv>YnA+V$zb5SDwf!sOrt@7$8&aND?;>QK=2wU?r`C&zm{MeCo)x=n5xDw>>Fz~$`$ zA;@_GaW*-(3b~}=au>g^YImFPs2O(i9Zi?6a8Zd&qT7I0m$yLjx%SFuUZp5<T2|zo zzbT5GJmyu3B4;?xs|?j|1N>WEuUT{1eLm>}x_7}Gkq<_JAF=tYzhcYBf0P`zD;3MN zWWjRWPle{Se!+6wyQhe9Tm=<P&fzvsG|2v`g5gVh%lF=;U^#i-yA&!X)HyWwmM-u8 z)0k2;d+T-=R5UsHzTYv({z)44mhXIF5#+dOu28*M+vC<n#gh|q9kB5wx@aJl*oG;% zc*55h>5c|N*0*_W>F5impzf7Jt~W`xate_%1oOGFJzF*(^5??Ca^5({J$W&%d&vfe z?7f(-ZLW9aMQcxvchegq(QUrf5nr3XbF+WLz)iD_9k)8z8Fsr_E}EQ8(G5;xg~2PD z9M|5#`Lqc4r&Q<au>0Ih(b^Mr|3yq&AQplhM6%_gbVJ8(adk9=0Y7_=Lfb>vi4>}b z>V2<h+;!G|)y6=`RdK4iS+_|}8H(SGk*I3-=7>Vu!_9%5L@XHIkab8XnjIv9>)kG} z3zZ|sw@UnMN&a%lXk95TX~0<n#W*jtl;+=@m79Yrudjz_{w+sUO35Qc1J#&+gU>Gy z_`3qJc(v<2@i0{hn%}x=ZKFT7E)rhbICt(^Fk+E-wd-}$aMH!<CBjSXk(US_Zke{c ziRRr~SJl(cOM{*ML@*ML`{sa0bMXsLuJ`wJ1taxXVD7Z}EvwpU2@&v}R$Wtl`f$?E z$ZiXL0Ib^|43B6nkbgu%i{jhDot|?>@ARCrqC@GUOn5Hq-RDmP)&vt98#nr6eoBuw zhgbT;n2yk|SQSV#Hul8gk(j91vMi8T+7^imPkUo5fP-YFra-(i7K|n+N9S^6xrFXw zpII58<!<12f#v>iS12ILA3<47L4PQ+p((K5-xEqSCj#C0oN(jPwouQ8<}eOjy)7DO zZW0wgY4j&rBG=%cQ;Z`*fkZ%PM=cG8LX9f}oe81$;Q*T1#8MpL#LB?>&PZ64_cw<V zq1BPifpD-lASy0wTimo7`I<-KnPEhmymRA^X&}D0Zp-T`UYtDmmt?u949=x}QF%q1 zC`*=kdv~2J(|dO`h)GFZ?DA~()-CS$-WogL?M-Ul+b+J47OwZ+)=?uy(R%hm^Y-rO zSH~pBdc89)m)Lu%&s&!q<N4J(x$pVa8rrv&kMeZU{Nh|$e(#Pwvi#m%GgVnTI_N73 zs{Gp;B(E;%_4a=3S(V<m6Zt*X_Mm)Qdq|!TPuz+6HF$fwcM2_u_V-+?%0iL&+7DzW z>FnuUaOGZczL;3?Y=0H<@2U8Oj5{ixp}22n#nTkuR#o-~$!{oo2{H5{9+Uhwv5Vrq zez8-=d&Ng7-f=+OEz@hn9g?3Ew<E4=@`<2KzgcXg{l=u&AmcU>ko>5qll%L`M7h6D zR8idL6BA^NZ#~MmL5xFO*SJTFrMO9m(Zt{36Qg8|ex<mtBO2nlF%RWytif=Bc=0|_ zCikO4r?{y>Xfp1Q`e+lLEx~XX^i<}pYpB{7#3DxJ__|to(~4#7otuMQcm}d*%_?&p zt~H`keuI(}oF&8){+P=oU6!L#Z2L#j(RJP%&-UK`zya@W<OwA`;?+lHdavDdvv<e- z1Kp9HIMrSM?7n`kyAZ}S-k9~F&Mo*}`@F5rmy2Y1Dp<dxspUE>RnuXL;8CSe(!d+2 zfhp{ehJU_+RVj%sY2XdjK*<N*Q1zFDmo!k)z+s>PWA3x`wA8$95&HO+l^0m1fHS+v ze)h2MW#%q%N*WmM8Yua|aPQ$#`wn*vlzi}T@1authDrk^Ul=M)m*gDo8Yua~;od`~ z`VEx^CJdFJlAOa;18WwoysY55mB!S9Rah!uIB1~T-x-N-9S$uiwV|Ye!E2!82YKtR z4DX`hRTSeC+On#7N#4hnG7d`(Y)mAg_4DV`*ZHdBJ>lxkNca3`EYj7}nTXHd)U|p3 zg6akHu}DIEzCRkAKMYk+F2pGL`3PTY&mdp(JRd=>J4dg1WxQ!xlTw=N%7UqELyfHU z_xca@ud9c;bpw=Ve_eNg2M>?z^tOB{j64l^D)Dyuhh}Wf9K*~@28&V-au8z7I14)k z_wU~?m@4Y;?086sNk~i{Jh)%J^KxiM-R{n7;+_6@;vD?YD4t;XV<G>*!Gq5}XSN6L zhNnh9aKpdeqZ;6?D)(I7udv#dg_AyUR58{U?LdLW_>Lx(Gr;eZWc_YbvA%;@jNju^ zyNdN4%VK<|lIl~8@0w6K@^|;^+<)$y&sx&5oK6(z63q3>vi3UHr_-`-rEzm$DL4Oe z+$)rSIZ=!BOgMmYTnoy(oFc3nDf`R4+f(ZfX6dggs6v*L?|Oe(%1K(vvGja~qI2oT zET_Qr;7G7+R}sFqScLW5bWwpb0sO$h6*6?>%8);0F6hT&uEpn(SeZwjk(gyPe#%^5 zPd}!^9BREkk%-l%s{x6%!4>|c>HNI*OLq~XbQh7ArIa!aRs$McxvPV7`SM^zl#VND z;7y?c`i--Wzr4cIsQ1jJNze}OnK+<2IbMj<<r)KYxcA!RIPY6Oq1GID>pj9-i!~DN zfBkHkcK?$N*dOEVd*XGu-}hP)`=dQCw#YRZJTGo-)9MoaVsxm++ZV-e`YBFUdhcs{ zROY`guovZ5c)g#yLGF96JAi$!w{Mr)@7r+z`90qI$Ba?(&Wnoi$#SpvzL_fjEgeF` znhbqElJdNL|7ydOg6`dY!nKqx!&2y>O<uvJ9(5RLBQBmiyRo%t$!y>3rbVk4A!=)G zTs?avX(9VXyr=LBd{`Qu9~38~8LM0+D@Vx<lrAfPjfzKyBVm7c086a}avWSrE@_~o zfg#gC$)ATz)g?hC4IFX}sOt)?1*;X#YYh40Sy%5q<TZIi1uW`GMCL6Egaa`w9@zDU zR^<&5j`c|w*3<WHnu2i{L7;mbeYyq9lbQ+3LXma;kgqkG2zFzcLwn+iV0d#Ht8K|r z+wrtw87-k`DRWW08y}$v2SO%uWuQ0pK^G&Z{9tJ&8{gpsvnzmJGmj^pV+$x@$=1#Q zYEMhD+NDxr*5*-STJwlyH0KTJt>Ovw)_gUpl}D>^*{zLUvNh1zlklVK2PJ^!v09e2 z)4O;LssMV@Q=DMj{!B>Kad0pAlxDO`Gup*5$v15&di8L80W$yY&=%#Nx0JJ_fnlcs zycgi{7dEwaD9`nVz6*Ybw{)&Ao$C!_8lmw>Ki7}YZZ9>vqyeb`Z||q}VKx4#-g_TZ zPnz$&s}1|Qw|D1e%0MgYV_$w<K<?Am1<KS@XRKzQtQS}A6=UqH{g1$}7vO6JrLPx^ z=&u)O^1-xxI8A<{o>He`;vqE9hF)L6%on}Ok_t3|MKqdOYC@|t?_QdBZ_hUGt`f3L zOshoO#I$0i=G}SUHt#NZ>GSUG^$zpy?e&iH?(Ow7`)!|hS3HM#ca@N3-d!bTZC=K_ zyUIUI=H1PKp&X+Hy)vW51Cy;r5xJ|z5t(kw<PoCKZ@QFb{VfU~=CJf0`!Mg|9L*c) zGXbSp{~QKVN*>-Cz}xX|q0nmy+hlv`34@!ehgDkXx?)&$=YShC(yuE9tgzAnB@GNG z4bXHag13&g>N~Zb=f2byNW?bKyoPsojp)SpvBk0CSnvI3@AY?f2JrpjQC`n)`$hSM zQK9{^&3o@%4Va7Y3QscN?LA8U#;*6|y*PeS#k0@v^?ElPsQ879_f<Ue{9ey<-)yLO zn)c_5vOh@vp0bw^U)ps*JSO=KVi)3TFRc+fWn3lh!S{7*UTP2@rS$54aktFp6L-k; zsJLC0i|+%|e)|Ej5%Hyg4zU5TXID}Lkp9bm_(Yw|ce9uXzIS7lsCs^Hb9jBEIvNV% zOTRubp7Q;@UyPH-Ma5WoT!R=*`8V7wMj^iT(l${k`A{78FAY=)kBp%Q#Jj)JAj%MX zcI_0pjG+q|<IBJ=CcRsq#P1n5?8JAXS6YAbNIj4<(9|_eBw_7<oOvk&t-U}wE6_jL zg7xCB!pv{ZmS;Om@&}qfzfxt<a<ZK^s=fKGA~8t);5rC1a(M*OqS9x6Ey+j!R<Q#u zKc)Zt>OYF>Kib6}to5PtDU5~%<rDJLiY!U?FRg|}VYF~wze}a2wgc^7qrGnSkJ8QW zd>i@m)sK-sNBL$0<S&Y`SAkLVa0~-~Qf8b%Zl&fVHSyeWuY0$BLwN81coGlO<m|Yo z|Cqh9v073qyF)yL^bXI9@85&7#wySuUi<Rmq?ApYb^GTC&(9mgy$0vHj-5x$++*yS zam|xS6BE!MRC#u++$;I(k~?M08_O9)6Z%sPW*Qcm%O}wLc*feDmiOi?Bm9#!C}+Zw zi<*4NGFAS;gDgjTs=-_H<X$Ofiqbc}T#rYXbXLc&)O*{XmAJQir+jyy?i%$jL0u!g zOMqwN*F2>1HtrKM%;VemczgOxGd;@b$9s3IdQ{LEWXJlw_*MLIo__suO7rxe>4QB~ zc>7+zmiE1UPhy+&dhfscb-6F?1M+)!&6NASJ35rTpse1$eUc~Zzw2yHZ&3B$a;HjL z+%M~Y+r<~keR}ty(x~4K)&Ab(4DarLKQ7aEKeor)o1E_T?6^Vhdv+bb@zcD$cdGW6 z-nAfm@p^kd_N>%TZ{JSn%j2!v^19rwTbx9Cxu^`zrF~I(1=$atZ#{7*-Zg3P!oJY| zrFShnxKgcatP$lDFWx80<bG7>6gM>pO~xJG1y}CH3K5<y!EhJszRX+KP_;3ruD~7E zzLY8#Yhd9+ITJ|Zx%bAiz4t$Gz`Gk&2qit@)kkJ}uibRBcgOw%-I1O+)m{JWzJ9Jd zGF^r<TZ8D1Ct|A7#`X^Ik4b_bGB_&M=HT>C{IH!r^(%Dws>&&QDV26K_+H|p94mj! z$1zY7ALUs2XV5r0IT{PB7dOm&0hq5j&X@u`TJdkc1DLNs&NznhDE^T_VAl8<WcTA0 z|Lb1_=C8?|u@IMpUd8_o)l-f=LY#?pfwW&J{_)p?e*_5O1k~Rnx)V{-gJp~#hx&^o z`1C7I3xE6^>{o$Lb+Pa#QT`LU6QPKmzpM}YzV1Xkt^AWAxBRs3#D+AzO{DV2cSjOb zz9o!53p+n+TY>wc8-6nt_(YXB=?Uoh)b3~;`K@}c>O%S)=s%r*V~VdzP}{}Lh%3AO zA*!b(O#B^o?(6nT{aE;m--4Z~QlHJw(HMS`O1zY=Os`V>m(fNsoB096_bL98p8-=l z5hhSSS4w`x)(6m*GbCFq`z+M(RmJ}<@o8Negn9eXUsa0#Z?r`xy&x={0XtN7Re8*R z!G|4C`11RNSo~L+zw(5&;MXhuzuyM2$Ek8Y{0jJIEB@jQ(4$ZB_g)MBIg+oH--Gg5 z?hQCc>F28a6Uc7MRr%FdfPWtIQ6F)nDrYOM%5>Ntg<8~2Yf${1l)nK?gb8)nD0{B> zF>F>}B-z^NPoupzsq)W-?dyvbzY6j_N^h05%fWAyd@%vXX-W?jUz-VjlgdA331mE{ z<o*%&H9GbwRDBMcGgSG_&w#&Fvb7VB#g*XoD*wN#!Cxl%;{18g50`)21>i$Af>wP$ z>T{CHzyHVJlRY6!`2sdSSN!+R0w2d9XmyW6pUQqJ{`fHX7fQaUdKt0mm&#KQfWLzI z7b8~VL&d*+;I}CL#IcCg_)xKJ8u%9}{%O<?KTvYNj68a);xBm*gilxex062GBwt(j z0_w9*@+)f>fKT>~a0&cbQ~gp|RRca|2@te~M}S%G`cDF{l6*0d?3e9o3v5SU&HS4X zAFbqm9X_d3dk`kQ9~-XEXJO0wC6X;B{}VCW&vURneU0KzoQ_z@t(?{me!JqIUWxdl zs{ZHpfPbmvYyas+f2np=Tut@4Oy!^WJ;cVigsXlITGMstM`Jup@kKj)!5j}Q{3)al zV?4C*Cx*dC`Eoq8^1HxiyPb47>H|X1njx3{y|NX3q{BCe-%fVUez(;J{*{V<CHkNJ zz2YPP0skt+@ARAgUh$jfz=zKxXdi>V4S$bC!S7J~Pi-;%y>bzBqvLo4?UCD2KFfUo zb<@{LzL@w`#O&{9HG$u$_){od^;hMI^TDTfqMR>2fDQZmX4F}yaS&n3Td`q(|L()! zua|7?OTR~Z+25!94g3v?|8?{!`+LP>p8<cP;(z;XD4)kY(wPq1LeRc*i|Ox`Cr$)^ zljMujzl2!%d&Q4l1b?&SYd?jZ82<i#oU`<h;{WnbroUHC+yg%HA!sjnP#^a9Taibn z{s#YdbFo$aUfJ<3@Zmqi|9x4?-(UL~_~-))Q^@|=-!J(t_*YA|m;#?N{QXtfvd-5p zr|$=!{q9%q1wStHYp={e%>MqrcY?3J+@QUJHX8nZACA?bM+9yE>nVRfb_e*^DE{9t zF0sE?{OC6DVIP$L@6Q0U+$3b_TP0sCqjB39uMUF0jrkWNR{mbu_CfG_nNRgq{$9C& z?DJa5*Z%oi#O&|8{|Y|Y2SPjQY54n;R`Ai^2--g(%kcME)L+{b|FyeQ{{A)Cp8j^p z7gHu7R`t;~J_UYK@^$T8n6vUnvGZ@>!`3NGsli6IOFZ`;@ZTZXV(C4IuaM)6*nJH6 z@05Jqvjo#9e^mUZAWOeq<zGYf4JrQ1@KGH$fuN6DVCL6?uuc8lieL9l)9<vi{tG^2 zQ&>uRsFmetbFKs*eUG3|ho5r0#1DXVobM(7^Qm@y;|B1_&JZ2-HEg+E?|uOcq)Gns z*mAo*;06Ci#h-PySx<3*>iGf1KXEo<)h<ok1^!LUM_;fWv`c>oKKdR(pND?n@kIO+ W=SKZz#jm4u)h_Y%o#5X>{Qn1eOtOCf diff --git a/externals/grill/trunk/flext/tutorial/attr2/.svn/text-base/attr2.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/attr2/.svn/text-base/attr2.vcproj.svn-base deleted file mode 100644 index 7cce4376f..000000000 --- a/externals/grill/trunk/flext/tutorial/attr2/.svn/text-base/attr2.vcproj.svn-base +++ /dev/null @@ -1,176 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="attr2" - SccProjectName="attr2" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/attr2.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/attr2.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/attr2.pdb" - ImportLibrary=".\msvc/attr2.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/attr2.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/attr2.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile=".\msvc-debug/attr2.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/attr2.pdb" - ImportLibrary=".\msvc-debug/attr2.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/attr2.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/attr2/.svn/text-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/attr2/.svn/text-base/main.cpp.svn-base deleted file mode 100644 index fe61f6da6..000000000 --- a/externals/grill/trunk/flext/tutorial/attr2/.svn/text-base/main.cpp.svn-base +++ /dev/null @@ -1,195 +0,0 @@ -/* -flext tutorial - attributes 2 - -Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is an example of an object doing various float operations. - -Methods and attributes are registered at class level (opposed to object level in example "attr1"). -For details, see also example "adv2" - -*/ - - -// IMPORTANT: enable attribute processing (specify before inclusion of flext headers!) -// For clarity, this is done here, but you'd better specify it as a compiler definition -// FLEXT_ATTRIBUTES must be 0 or 1, -#define FLEXT_ATTRIBUTES 1 - - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401) -#error You need at least flext version 0.4.1 -#endif - -#include <math.h> - - -class attr2: - public flext_base -{ - // compulsory flext header with a class setup function - FLEXT_HEADER_S(attr2,flext_base,setup) - -public: - // constructor - attr2(); - -protected: - void m_trigger(float f); - - // stored argument of operation - float arg; - - // stored result - float res; - - enum operation { - op_set,op_add,op_sub,op_mul,op_div,op_pow - } op; - - static const t_symbol *sym_set,*sym_add,*sym_sub,*sym_div,*sym_mul,*sym_pow; - -private: - - static void setup(t_classid); - - // callback for method "m_trigger" (with one float argument) - FLEXT_CALLBACK_F(m_trigger) - - // define attribute callbacks for variable "arg" ("ATTRVAR" means GET and SET) - FLEXT_ATTRVAR_F(arg) - - // define attribute callbacks for variable "res" (GET only) - FLEXT_ATTRGET_F(res) - - // methods for getting/setting the operation mode - void opget(const t_symbol *&s) const; - void opset(const t_symbol *&s); - - // define attribute callbacks for variable "res" (GET only) - FLEXT_CALLGET_S(opget) - FLEXT_CALLSET_S(opset) -}; - -// instantiate the class -FLEXT_NEW("attr2",attr2) - - -// instantiate static variables -const t_symbol - *attr2::sym_set, - *attr2::sym_add,*attr2::sym_sub, - *attr2::sym_div,*attr2::sym_mul, - *attr2::sym_pow; - -void attr2::setup(t_classid c) -{ - // Upon class creation setup some symbols - // This is done only upon creation of of the first "attr2" object - sym_set = MakeSymbol("="); - sym_add = MakeSymbol("+"); - sym_sub = MakeSymbol("-"); - sym_mul = MakeSymbol("*"); - sym_div = MakeSymbol("/"); - sym_pow = MakeSymbol("**"); - - - // setup methods and attributes at class scope - - // register method (for floats) "m_trigger" for inlet 0 - FLEXT_CADDMETHOD(c,0,m_trigger); - - // register attribute "arg" with the variable "arg" - FLEXT_CADDATTR_VAR1(c,"arg",arg); - - // register attribute "result" with variable "res" - FLEXT_CADDATTR_GET(c,"result",res); - - // register attribute "op" with methods "opget" and "opset" - FLEXT_CADDATTR_VAR(c,"op",opget,opset); -} - - -attr2::attr2(): - arg(0),res(0), // initialize argument and result - op(op_set) // initialize operation -{ - // define inlets - AddInAnything(); // first inlet of type anything (index 0) - - // define outlets - AddOutFloat(); // one float outlet (has index 0) -} - -// receive an operand, do the math operation and trigger the output -void attr2::m_trigger(float f) -{ - switch(op) { - case op_set: res = f; break; - case op_add: res = f+arg; break; - case op_sub: res = f-arg; break; - case op_mul: res = f*arg; break; - case op_div: - if(arg) res = f/arg; - else { - post("%s - argument to division is 0: result set to 0",thisName()); - res = 0; - } - break; - case op_pow: res = (float)pow(f,arg); break; -#ifdef FLEXT_DEBUG - default: ERRINTERNAL(); // operation not defined -#endif - } - - // output value to outlet - ToOutFloat(0,res); // (0 stands for the outlet index 0) -} - - -// report the operation mode -void attr2::opget(const t_symbol *&s) const -{ - - switch(op) { - case op_set: s = sym_set; break; - case op_add: s = sym_add; break; - case op_sub: s = sym_sub; break; - case op_mul: s = sym_mul; break; - case op_div: s = sym_div; break; - case op_pow: s = sym_pow; break; -#ifdef FLEXT_DEBUG - default: ERRINTERNAL(); // operation not defined -#endif - } -} - -// set the operation mode -void attr2::opset(const t_symbol *&s) -{ - if(s == sym_set) - op = op_set; - else if(s == sym_add) - op = op_add; - else if(s == sym_sub) - op = op_sub; - else if(s == sym_mul) - op = op_mul; - else if(s == sym_div) - op = op_div; - else if(s == sym_pow) - op = op_pow; - else { - post("%s - operation is not defined, set to =",thisName()); - op = op_set; - } -} - diff --git a/externals/grill/trunk/flext/tutorial/attr2/.svn/text-base/package.txt.svn-base b/externals/grill/trunk/flext/tutorial/attr2/.svn/text-base/package.txt.svn-base deleted file mode 100644 index d028f1b4a..000000000 --- a/externals/grill/trunk/flext/tutorial/attr2/.svn/text-base/package.txt.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -NAME=attr2 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/attr2/Makefile.am b/externals/grill/trunk/flext/tutorial/attr2/Makefile.am deleted file mode 100644 index ed29b0679..000000000 --- a/externals/grill/trunk/flext/tutorial/attr2/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = attr2 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/attr2/attr2.mcp b/externals/grill/trunk/flext/tutorial/attr2/attr2.mcp deleted file mode 100755 index c2713289ff6f0976ed644cc7214958178057f780..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148873 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 W=SKZz#jm4u)h_Y%o#5X>{Qn1eOtOCf diff --git a/externals/grill/trunk/flext/tutorial/attr2/attr2.vcproj b/externals/grill/trunk/flext/tutorial/attr2/attr2.vcproj deleted file mode 100644 index 7cce4376f..000000000 --- a/externals/grill/trunk/flext/tutorial/attr2/attr2.vcproj +++ /dev/null @@ -1,176 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="attr2" - SccProjectName="attr2" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/attr2.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/attr2.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/attr2.pdb" - ImportLibrary=".\msvc/attr2.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/attr2.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/attr2.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile=".\msvc-debug/attr2.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/attr2.pdb" - ImportLibrary=".\msvc-debug/attr2.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/attr2.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/attr2/main.cpp b/externals/grill/trunk/flext/tutorial/attr2/main.cpp deleted file mode 100644 index fe61f6da6..000000000 --- a/externals/grill/trunk/flext/tutorial/attr2/main.cpp +++ /dev/null @@ -1,195 +0,0 @@ -/* -flext tutorial - attributes 2 - -Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is an example of an object doing various float operations. - -Methods and attributes are registered at class level (opposed to object level in example "attr1"). -For details, see also example "adv2" - -*/ - - -// IMPORTANT: enable attribute processing (specify before inclusion of flext headers!) -// For clarity, this is done here, but you'd better specify it as a compiler definition -// FLEXT_ATTRIBUTES must be 0 or 1, -#define FLEXT_ATTRIBUTES 1 - - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401) -#error You need at least flext version 0.4.1 -#endif - -#include <math.h> - - -class attr2: - public flext_base -{ - // compulsory flext header with a class setup function - FLEXT_HEADER_S(attr2,flext_base,setup) - -public: - // constructor - attr2(); - -protected: - void m_trigger(float f); - - // stored argument of operation - float arg; - - // stored result - float res; - - enum operation { - op_set,op_add,op_sub,op_mul,op_div,op_pow - } op; - - static const t_symbol *sym_set,*sym_add,*sym_sub,*sym_div,*sym_mul,*sym_pow; - -private: - - static void setup(t_classid); - - // callback for method "m_trigger" (with one float argument) - FLEXT_CALLBACK_F(m_trigger) - - // define attribute callbacks for variable "arg" ("ATTRVAR" means GET and SET) - FLEXT_ATTRVAR_F(arg) - - // define attribute callbacks for variable "res" (GET only) - FLEXT_ATTRGET_F(res) - - // methods for getting/setting the operation mode - void opget(const t_symbol *&s) const; - void opset(const t_symbol *&s); - - // define attribute callbacks for variable "res" (GET only) - FLEXT_CALLGET_S(opget) - FLEXT_CALLSET_S(opset) -}; - -// instantiate the class -FLEXT_NEW("attr2",attr2) - - -// instantiate static variables -const t_symbol - *attr2::sym_set, - *attr2::sym_add,*attr2::sym_sub, - *attr2::sym_div,*attr2::sym_mul, - *attr2::sym_pow; - -void attr2::setup(t_classid c) -{ - // Upon class creation setup some symbols - // This is done only upon creation of of the first "attr2" object - sym_set = MakeSymbol("="); - sym_add = MakeSymbol("+"); - sym_sub = MakeSymbol("-"); - sym_mul = MakeSymbol("*"); - sym_div = MakeSymbol("/"); - sym_pow = MakeSymbol("**"); - - - // setup methods and attributes at class scope - - // register method (for floats) "m_trigger" for inlet 0 - FLEXT_CADDMETHOD(c,0,m_trigger); - - // register attribute "arg" with the variable "arg" - FLEXT_CADDATTR_VAR1(c,"arg",arg); - - // register attribute "result" with variable "res" - FLEXT_CADDATTR_GET(c,"result",res); - - // register attribute "op" with methods "opget" and "opset" - FLEXT_CADDATTR_VAR(c,"op",opget,opset); -} - - -attr2::attr2(): - arg(0),res(0), // initialize argument and result - op(op_set) // initialize operation -{ - // define inlets - AddInAnything(); // first inlet of type anything (index 0) - - // define outlets - AddOutFloat(); // one float outlet (has index 0) -} - -// receive an operand, do the math operation and trigger the output -void attr2::m_trigger(float f) -{ - switch(op) { - case op_set: res = f; break; - case op_add: res = f+arg; break; - case op_sub: res = f-arg; break; - case op_mul: res = f*arg; break; - case op_div: - if(arg) res = f/arg; - else { - post("%s - argument to division is 0: result set to 0",thisName()); - res = 0; - } - break; - case op_pow: res = (float)pow(f,arg); break; -#ifdef FLEXT_DEBUG - default: ERRINTERNAL(); // operation not defined -#endif - } - - // output value to outlet - ToOutFloat(0,res); // (0 stands for the outlet index 0) -} - - -// report the operation mode -void attr2::opget(const t_symbol *&s) const -{ - - switch(op) { - case op_set: s = sym_set; break; - case op_add: s = sym_add; break; - case op_sub: s = sym_sub; break; - case op_mul: s = sym_mul; break; - case op_div: s = sym_div; break; - case op_pow: s = sym_pow; break; -#ifdef FLEXT_DEBUG - default: ERRINTERNAL(); // operation not defined -#endif - } -} - -// set the operation mode -void attr2::opset(const t_symbol *&s) -{ - if(s == sym_set) - op = op_set; - else if(s == sym_add) - op = op_add; - else if(s == sym_sub) - op = op_sub; - else if(s == sym_mul) - op = op_mul; - else if(s == sym_div) - op = op_div; - else if(s == sym_pow) - op = op_pow; - else { - post("%s - operation is not defined, set to =",thisName()); - op = op_set; - } -} - diff --git a/externals/grill/trunk/flext/tutorial/attr2/package.txt b/externals/grill/trunk/flext/tutorial/attr2/package.txt deleted file mode 100644 index d028f1b4a..000000000 --- a/externals/grill/trunk/flext/tutorial/attr2/package.txt +++ /dev/null @@ -1,2 +0,0 @@ -NAME=attr2 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/attr3/.svn/all-wcprops b/externals/grill/trunk/flext/tutorial/attr3/.svn/all-wcprops deleted file mode 100644 index 0549659e3..000000000 --- a/externals/grill/trunk/flext/tutorial/attr3/.svn/all-wcprops +++ /dev/null @@ -1,35 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 45 -/ext/!svn/ver/1247/trunk/flext/tutorial/attr3 -END -attr3.mcp -K 25 -svn:wc:ra_dav:version-url -V 55 -/ext/!svn/ver/1247/trunk/flext/tutorial/attr3/attr3.mcp -END -attr3.vcproj -K 25 -svn:wc:ra_dav:version-url -V 58 -/ext/!svn/ver/1247/trunk/flext/tutorial/attr3/attr3.vcproj -END -main.cpp -K 25 -svn:wc:ra_dav:version-url -V 54 -/ext/!svn/ver/1247/trunk/flext/tutorial/attr3/main.cpp -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 57 -/ext/!svn/ver/1247/trunk/flext/tutorial/attr3/Makefile.am -END -package.txt -K 25 -svn:wc:ra_dav:version-url -V 57 -/ext/!svn/ver/1247/trunk/flext/tutorial/attr3/package.txt -END diff --git a/externals/grill/trunk/flext/tutorial/attr3/.svn/entries b/externals/grill/trunk/flext/tutorial/attr3/.svn/entries deleted file mode 100644 index 3e9fd58e5..000000000 --- a/externals/grill/trunk/flext/tutorial/attr3/.svn/entries +++ /dev/null @@ -1,198 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/tutorial/attr3 -https://svn.grrrr.org/ext - - - -2005-01-26T11:58:31.157320Z -992 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -Makefile.am -file - - - - -2012-05-13T23:08:36.860556Z -5c2a55117980aaea30cf3a8867043191 -2005-01-26T11:58:31.157320Z -992 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -912 - -package.txt -file - - - - -2012-05-13T23:08:36.861556Z -71f1629082a081d243cd6268d7f33433 -2005-01-04T13:57:44.777172Z -954 -thomas - - - - - - - - - - - - - - - - - - - - - -27 - -attr3.mcp -file - - - - -2012-05-13T23:08:36.864556Z -e916c7dd6b68ee9efae16dfe2b56a7df -2005-01-04T13:28:16.495520Z -953 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -148873 - -attr3.vcproj -file - - - - -2012-05-13T23:08:36.859556Z -2584c2f244c4a134f97646acc04f4e68 -2003-11-12T01:58:35.000000Z -727 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4823 - -main.cpp -file - - - - -2012-05-13T23:08:36.860556Z -72f04a7614d5743bdeaf03aac1d9999d -2003-01-02T23:05:49.000000Z -473 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -3951 - diff --git a/externals/grill/trunk/flext/tutorial/attr3/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/attr3/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/tutorial/attr3/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/tutorial/attr3/.svn/prop-base/attr3.mcp.svn-base b/externals/grill/trunk/flext/tutorial/attr3/.svn/prop-base/attr3.mcp.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/attr3/.svn/prop-base/attr3.mcp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/attr3/.svn/prop-base/attr3.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/attr3/.svn/prop-base/attr3.vcproj.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/attr3/.svn/prop-base/attr3.vcproj.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/attr3/.svn/prop-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/attr3/.svn/prop-base/main.cpp.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/attr3/.svn/prop-base/main.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/attr3/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/attr3/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index eb4befbb1..000000000 --- a/externals/grill/trunk/flext/tutorial/attr3/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = attr3 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/attr3/.svn/text-base/attr3.mcp.svn-base b/externals/grill/trunk/flext/tutorial/attr3/.svn/text-base/attr3.mcp.svn-base deleted file mode 100644 index 644c96a6de26ffa310881eef998d5979afda95b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148873 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 XiFgjSpx>hS^_0&2dV%!z4&whmRGJFD diff --git a/externals/grill/trunk/flext/tutorial/attr3/.svn/text-base/attr3.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/attr3/.svn/text-base/attr3.vcproj.svn-base deleted file mode 100644 index 0e2a06805..000000000 --- a/externals/grill/trunk/flext/tutorial/attr3/.svn/text-base/attr3.vcproj.svn-base +++ /dev/null @@ -1,176 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="attr3" - SccProjectName="attr3" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/attr3.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/attr3.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/attr3.pdb" - ImportLibrary=".\msvc/attr3.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/attr3.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/attr3.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile=".\msvc-debug/attr3.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/attr3.pdb" - ImportLibrary=".\msvc-debug/attr3.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/attr3.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/attr3/.svn/text-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/attr3/.svn/text-base/main.cpp.svn-base deleted file mode 100644 index 8d37f4676..000000000 --- a/externals/grill/trunk/flext/tutorial/attr3/.svn/text-base/main.cpp.svn-base +++ /dev/null @@ -1,157 +0,0 @@ -/* -flext tutorial - attributes 3 - -Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is tutorial example "advanced 3" with the usage of attributes. - -*/ - - -// IMPORTANT: enable attribute processing (specify before inclusion of flext headers!) -// For clarity, this is done here, but you'd better specify it as a compiler definition -// FLEXT_ATTRIBUTES must be 0 or 1, -#define FLEXT_ATTRIBUTES 1 - - -// include flext header -#include <flext.h> - - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401) -#error You need at least flext version 0.4.1 -#endif - - -class attr3: - public flext_base -{ - FLEXT_HEADER_S(attr3,flext_base,setup) - -public: - // constructor with no arguments - // initial values are set by attributes at creation time (see help file) - attr3(): - // initialize data members - i_down(0),i_up(0),i_count(0),i_step(1) - { - // --- define inlets and outlets --- - AddInAnything(); // default inlet - AddInList(); // inlet for bounds - AddInInt(); // inlet for step size - - AddOutInt(); // outlet for integer count - AddOutBang(); // outlet for bang - } - -protected: - - void m_reset() { i_count = i_down; } - - void m_set(int argc,t_atom *argv) - { - i_count = argc?GetAInt(argv[0]):0; - } - - void m_bang() - { - int f = i_count; - i_count += i_step; - if(i_down != i_up) { - if((i_step > 0) && (i_count > i_up)) { - i_count = i_down; - ToOutBang(1); - } - else if(i_count < i_down) { - i_count = i_up; - ToOutBang(1); - } - } - ToOutInt(0,f); - } - - void m_bounds(int f1,int f2) - { - i_down = f1 < f2?f1:f2; - i_up = f1 > f2?f1:f2; - } - - void m_step(int s) { i_step = s; } - - - // setter method of bounds variables - void ms_bounds(const AtomList &l) - { - if(l.Count() == 2 && CanbeInt(l[0]) && CanbeInt(l[1])) - // if it is a two element integer list use m_bounds method - m_bounds(GetAInt(l[0]),GetAInt(l[1])); - else - // else post a warning - post("%s - 'bounds' needs two integer parameters",thisName()); - } - - // getter method of bounds variables - void mg_bounds(AtomList &l) const - { - l(2); // initialize two element list - SetInt(l[0],i_down); // set first element - SetInt(l[1],i_up); // set second element - } - - - int i_count,i_down,i_up,i_step; - -private: - - static void setup(t_classid c) - { - // --- set up methods (class scope) --- - - // register a bang method to the default inlet (0) - FLEXT_CADDBANG(c,0,m_bang); - - // set up tagged methods for the default inlet (0) - FLEXT_CADDMETHOD_(c,0,"reset",m_reset); - FLEXT_CADDMETHOD_(c,0,"set",m_set); - - // set up methods for inlets 1 and 2 - // no message tag used - FLEXT_CADDMETHOD(c,1,m_bounds); // variable arg type recognized automatically - FLEXT_CADDMETHOD(c,2,m_step); // single int arg also recognized automatically - - // --- set up attributes (class scope) --- - - // these have equally named getters and setters - // see the wrappers below - FLEXT_CADDATTR_VAR1(c,"count",i_count); - FLEXT_CADDATTR_VAR1(c,"step",i_step); - - // bounds has differently named getter and setter functions - // see the wrappers below - FLEXT_CADDATTR_VAR(c,"bounds",mg_bounds,ms_bounds); - } - - // normal method callbacks for bang and reset - FLEXT_CALLBACK(m_bang) - FLEXT_CALLBACK(m_reset) - - FLEXT_CALLBACK_V(m_set) // normal method wrapper for m_set - FLEXT_ATTRVAR_I(i_count) // wrapper functions (get and set) for integer variable i_count - - FLEXT_CALLBACK_II(m_bounds) // normal method wrapper for m_bounds - FLEXT_CALLVAR_V(mg_bounds,ms_bounds) // getter and setter method of bounds - - FLEXT_CALLBACK_I(m_step) // normal method wrapper for m_step - FLEXT_ATTRVAR_I(i_step) // wrapper functions (get and set) for integer variable i_step -}; - - -// instantiate the class (constructor takes no arguments) -FLEXT_NEW("attr3",attr3) - - diff --git a/externals/grill/trunk/flext/tutorial/attr3/.svn/text-base/package.txt.svn-base b/externals/grill/trunk/flext/tutorial/attr3/.svn/text-base/package.txt.svn-base deleted file mode 100644 index a87c4e1ec..000000000 --- a/externals/grill/trunk/flext/tutorial/attr3/.svn/text-base/package.txt.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -NAME=attr3 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/attr3/Makefile.am b/externals/grill/trunk/flext/tutorial/attr3/Makefile.am deleted file mode 100644 index eb4befbb1..000000000 --- a/externals/grill/trunk/flext/tutorial/attr3/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = attr3 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/attr3/attr3.mcp b/externals/grill/trunk/flext/tutorial/attr3/attr3.mcp deleted file mode 100755 index 644c96a6de26ffa310881eef998d5979afda95b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148873 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 XiFgjSpx>hS^_0&2dV%!z4&whmRGJFD diff --git a/externals/grill/trunk/flext/tutorial/attr3/attr3.vcproj b/externals/grill/trunk/flext/tutorial/attr3/attr3.vcproj deleted file mode 100644 index 0e2a06805..000000000 --- a/externals/grill/trunk/flext/tutorial/attr3/attr3.vcproj +++ /dev/null @@ -1,176 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="attr3" - SccProjectName="attr3" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/attr3.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/attr3.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/attr3.pdb" - ImportLibrary=".\msvc/attr3.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/attr3.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/attr3.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile=".\msvc-debug/attr3.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/attr3.pdb" - ImportLibrary=".\msvc-debug/attr3.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/attr3.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/attr3/main.cpp b/externals/grill/trunk/flext/tutorial/attr3/main.cpp deleted file mode 100644 index 8d37f4676..000000000 --- a/externals/grill/trunk/flext/tutorial/attr3/main.cpp +++ /dev/null @@ -1,157 +0,0 @@ -/* -flext tutorial - attributes 3 - -Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is tutorial example "advanced 3" with the usage of attributes. - -*/ - - -// IMPORTANT: enable attribute processing (specify before inclusion of flext headers!) -// For clarity, this is done here, but you'd better specify it as a compiler definition -// FLEXT_ATTRIBUTES must be 0 or 1, -#define FLEXT_ATTRIBUTES 1 - - -// include flext header -#include <flext.h> - - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401) -#error You need at least flext version 0.4.1 -#endif - - -class attr3: - public flext_base -{ - FLEXT_HEADER_S(attr3,flext_base,setup) - -public: - // constructor with no arguments - // initial values are set by attributes at creation time (see help file) - attr3(): - // initialize data members - i_down(0),i_up(0),i_count(0),i_step(1) - { - // --- define inlets and outlets --- - AddInAnything(); // default inlet - AddInList(); // inlet for bounds - AddInInt(); // inlet for step size - - AddOutInt(); // outlet for integer count - AddOutBang(); // outlet for bang - } - -protected: - - void m_reset() { i_count = i_down; } - - void m_set(int argc,t_atom *argv) - { - i_count = argc?GetAInt(argv[0]):0; - } - - void m_bang() - { - int f = i_count; - i_count += i_step; - if(i_down != i_up) { - if((i_step > 0) && (i_count > i_up)) { - i_count = i_down; - ToOutBang(1); - } - else if(i_count < i_down) { - i_count = i_up; - ToOutBang(1); - } - } - ToOutInt(0,f); - } - - void m_bounds(int f1,int f2) - { - i_down = f1 < f2?f1:f2; - i_up = f1 > f2?f1:f2; - } - - void m_step(int s) { i_step = s; } - - - // setter method of bounds variables - void ms_bounds(const AtomList &l) - { - if(l.Count() == 2 && CanbeInt(l[0]) && CanbeInt(l[1])) - // if it is a two element integer list use m_bounds method - m_bounds(GetAInt(l[0]),GetAInt(l[1])); - else - // else post a warning - post("%s - 'bounds' needs two integer parameters",thisName()); - } - - // getter method of bounds variables - void mg_bounds(AtomList &l) const - { - l(2); // initialize two element list - SetInt(l[0],i_down); // set first element - SetInt(l[1],i_up); // set second element - } - - - int i_count,i_down,i_up,i_step; - -private: - - static void setup(t_classid c) - { - // --- set up methods (class scope) --- - - // register a bang method to the default inlet (0) - FLEXT_CADDBANG(c,0,m_bang); - - // set up tagged methods for the default inlet (0) - FLEXT_CADDMETHOD_(c,0,"reset",m_reset); - FLEXT_CADDMETHOD_(c,0,"set",m_set); - - // set up methods for inlets 1 and 2 - // no message tag used - FLEXT_CADDMETHOD(c,1,m_bounds); // variable arg type recognized automatically - FLEXT_CADDMETHOD(c,2,m_step); // single int arg also recognized automatically - - // --- set up attributes (class scope) --- - - // these have equally named getters and setters - // see the wrappers below - FLEXT_CADDATTR_VAR1(c,"count",i_count); - FLEXT_CADDATTR_VAR1(c,"step",i_step); - - // bounds has differently named getter and setter functions - // see the wrappers below - FLEXT_CADDATTR_VAR(c,"bounds",mg_bounds,ms_bounds); - } - - // normal method callbacks for bang and reset - FLEXT_CALLBACK(m_bang) - FLEXT_CALLBACK(m_reset) - - FLEXT_CALLBACK_V(m_set) // normal method wrapper for m_set - FLEXT_ATTRVAR_I(i_count) // wrapper functions (get and set) for integer variable i_count - - FLEXT_CALLBACK_II(m_bounds) // normal method wrapper for m_bounds - FLEXT_CALLVAR_V(mg_bounds,ms_bounds) // getter and setter method of bounds - - FLEXT_CALLBACK_I(m_step) // normal method wrapper for m_step - FLEXT_ATTRVAR_I(i_step) // wrapper functions (get and set) for integer variable i_step -}; - - -// instantiate the class (constructor takes no arguments) -FLEXT_NEW("attr3",attr3) - - diff --git a/externals/grill/trunk/flext/tutorial/attr3/package.txt b/externals/grill/trunk/flext/tutorial/attr3/package.txt deleted file mode 100644 index a87c4e1ec..000000000 --- a/externals/grill/trunk/flext/tutorial/attr3/package.txt +++ /dev/null @@ -1,2 +0,0 @@ -NAME=attr3 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/bind1/.svn/all-wcprops b/externals/grill/trunk/flext/tutorial/bind1/.svn/all-wcprops deleted file mode 100644 index 5179e15d4..000000000 --- a/externals/grill/trunk/flext/tutorial/bind1/.svn/all-wcprops +++ /dev/null @@ -1,35 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 45 -/ext/!svn/ver/1247/trunk/flext/tutorial/bind1 -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 57 -/ext/!svn/ver/1247/trunk/flext/tutorial/bind1/Makefile.am -END -package.txt -K 25 -svn:wc:ra_dav:version-url -V 57 -/ext/!svn/ver/1247/trunk/flext/tutorial/bind1/package.txt -END -bind1.mcp -K 25 -svn:wc:ra_dav:version-url -V 55 -/ext/!svn/ver/1247/trunk/flext/tutorial/bind1/bind1.mcp -END -bind1.vcproj -K 25 -svn:wc:ra_dav:version-url -V 58 -/ext/!svn/ver/1247/trunk/flext/tutorial/bind1/bind1.vcproj -END -main.cpp -K 25 -svn:wc:ra_dav:version-url -V 54 -/ext/!svn/ver/1247/trunk/flext/tutorial/bind1/main.cpp -END diff --git a/externals/grill/trunk/flext/tutorial/bind1/.svn/entries b/externals/grill/trunk/flext/tutorial/bind1/.svn/entries deleted file mode 100644 index 67d877f9e..000000000 --- a/externals/grill/trunk/flext/tutorial/bind1/.svn/entries +++ /dev/null @@ -1,198 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/tutorial/bind1 -https://svn.grrrr.org/ext - - - -2005-01-26T11:58:31.157320Z -992 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -main.cpp -file - - - - -2012-05-13T23:08:36.885556Z -0f62337d4dd30208702cc7f9bb74b2ab -2003-06-17T22:42:40.000000Z -646 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -3751 - -Makefile.am -file - - - - -2012-05-13T23:08:36.886556Z -5a03f54cdc9bf8d98c75f1c08ca2428c -2005-01-26T11:58:31.157320Z -992 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -912 - -package.txt -file - - - - -2012-05-13T23:08:36.887556Z -00c138804cc52cb4ca2fa491c9031116 -2005-01-04T13:57:44.777172Z -954 -thomas - - - - - - - - - - - - - - - - - - - - - -27 - -bind1.mcp -file - - - - -2012-05-13T23:08:36.888556Z -9b24bf7038727ad496c838bd81425d67 -2005-01-04T13:28:16.495520Z -953 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -148873 - -bind1.vcproj -file - - - - -2012-05-13T23:08:36.884556Z -10d7ffe0f9d7fb8b6182b2f10f8ee562 -2003-11-12T01:58:35.000000Z -727 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4882 - diff --git a/externals/grill/trunk/flext/tutorial/bind1/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/bind1/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/tutorial/bind1/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/tutorial/bind1/.svn/prop-base/bind1.mcp.svn-base b/externals/grill/trunk/flext/tutorial/bind1/.svn/prop-base/bind1.mcp.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/bind1/.svn/prop-base/bind1.mcp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/bind1/.svn/prop-base/bind1.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/bind1/.svn/prop-base/bind1.vcproj.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/bind1/.svn/prop-base/bind1.vcproj.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/bind1/.svn/prop-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/bind1/.svn/prop-base/main.cpp.svn-base deleted file mode 100644 index fe7d6daf7..000000000 --- a/externals/grill/trunk/flext/tutorial/bind1/.svn/prop-base/main.cpp.svn-base +++ /dev/null @@ -1,13 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 14 -svn:executable -V 1 -* -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/bind1/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/bind1/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index 085de2d2b..000000000 --- a/externals/grill/trunk/flext/tutorial/bind1/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = bind1 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/bind1/.svn/text-base/bind1.mcp.svn-base b/externals/grill/trunk/flext/tutorial/bind1/.svn/text-base/bind1.mcp.svn-base deleted file mode 100644 index 750d275bb6d215023080925dff2658ee5d3a4207..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148873 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 diff --git a/externals/grill/trunk/flext/tutorial/bind1/.svn/text-base/bind1.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/bind1/.svn/text-base/bind1.vcproj.svn-base deleted file mode 100644 index b0a3a2daa..000000000 --- a/externals/grill/trunk/flext/tutorial/bind1/.svn/text-base/bind1.vcproj.svn-base +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="bind1" - SccProjectName="max/flext/tutorial/bind1" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/bind1.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - BrowseInformationFile=".\msvc-debug/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile="msvc-debug/bind1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/bind1.pdb" - ImportLibrary=".\msvc-debug/bind1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/bind1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/bind1.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/bind1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/bind1.pdb" - ImportLibrary=".\msvc/bind1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/bind1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/bind1/.svn/text-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/bind1/.svn/text-base/main.cpp.svn-base deleted file mode 100644 index debfa68aa..000000000 --- a/externals/grill/trunk/flext/tutorial/bind1/.svn/text-base/main.cpp.svn-base +++ /dev/null @@ -1,134 +0,0 @@ -/* -flext tutorial - bind 1 - -Copyright (c) 2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is an example of a simple object demonstrating method to symbol binding and message forwarding -*/ - - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400) -#error You need at least flext version 0.4.0 -#endif - - -// define the class that stands for a pd/Max object - -class bind1: - // inherit from basic flext class - public flext_base -{ - // obligatory flext header (class name,base class name) featuring a setup function - FLEXT_HEADER_S(bind1,flext_base,setup) - -public: - // constructor with no arguments - bind1() - { - // define inlets: - // first inlet must always be of type anything (or signal for dsp objects) - AddInAnything("message inlet"); // add one inlet for any message - AddInAnything("forwarding inlet"); // add one inlet for any message - - AddOutAnything("bound message"); // output received bound message - } - - /* - no destructor necessary here: - flext frees all eventually remaining bound symbols when the object is destroyed - (but NOT the data that can be passed via the FLEXT_BINDMETHOD call!) - */ - -protected: - const t_symbol *bufname; - buffer *buf; - - // bind object - void m_bind(const t_symbol *s) - { - if(!Bind(s)) { - post("%s (%s) - Binding failed",thisName(),GetString(thisTag())); - } - } - - // unbind object - void m_unbind(const t_symbol *s) - { - if(!Unbind(s)) { - post("%s (%s) - Binding failed",thisName(),GetString(thisTag())); - } - } - - // bind method - void m_bindmethod(const t_symbol *s) - { - if(!FLEXT_BINDMETHOD(s,m_bound,NULL)) { - post("%s (%s) - Binding failed",thisName(),GetString(thisTag())); - } - } - - // unbind method - void m_unbindmethod(const t_symbol *s) - { - if(!FLEXT_UNBINDMETHOD(s)) { - post("%s (%s) - Binding failed",thisName(),GetString(thisTag())); - } - } - - // forward message - void m_forward(const t_symbol *s,int argc,const t_atom *argv) - { - Forward(s,argc,argv); - } - - // method for symbol-bound messages - void m_bound(const t_symbol *sym,int argc,const t_atom *argv,void *data) - { - ToOutAnything(0,sym,argc,argv); - } - - // method for binding test - void m_test(float value) - { - post("%s - TEST METHOD: value %f",thisName(),value); - } - -private: - static void setup(t_classid c) - { - // register methods - - FLEXT_CADDMETHOD_(c,0,"bind",m_bind); // register method "bind" for inlet 0 - FLEXT_CADDMETHOD_(c,0,"unbind",m_unbind); // register method "unbind" for inlet 0 - FLEXT_CADDMETHOD_(c,0,"bindmethod",m_bindmethod); // register method "bindmethod" for inlet 0 - FLEXT_CADDMETHOD_(c,0,"unbindmethod",m_unbindmethod); // register method "unbindmethod" for inlet 0 - - FLEXT_CADDMETHOD_(c,0,"test",m_test); // register method m_test for inlet 0 - - FLEXT_CADDMETHOD(c,1,m_forward); // register method m_forward for inlet 1 - } - - FLEXT_CALLBACK_S(m_bind) // wrapper for method m_bind (with symbol argument) - FLEXT_CALLBACK_S(m_unbind) // wrapper for method m_unbind (with symbol argument) - FLEXT_CALLBACK_S(m_bindmethod) // wrapper for method m_bindmethod (with symbol argument) - FLEXT_CALLBACK_S(m_unbindmethod) // wrapper for method m_unbindmethod (with symbol argument) - - FLEXT_CALLBACK_A(m_forward) // wrapper for method m_forward (with anything argument) - - FLEXT_CALLBACK_AX(m_bound) // wrapper for method m_bound (anything+data arguments) - FLEXT_CALLBACK_F(m_test) // wrapper for method m_test (one float argument) -}; - -// instantiate the class -FLEXT_NEW("bind1",bind1) - - - diff --git a/externals/grill/trunk/flext/tutorial/bind1/.svn/text-base/package.txt.svn-base b/externals/grill/trunk/flext/tutorial/bind1/.svn/text-base/package.txt.svn-base deleted file mode 100644 index c7e823592..000000000 --- a/externals/grill/trunk/flext/tutorial/bind1/.svn/text-base/package.txt.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -NAME=bind1 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/bind1/Makefile.am b/externals/grill/trunk/flext/tutorial/bind1/Makefile.am deleted file mode 100644 index 085de2d2b..000000000 --- a/externals/grill/trunk/flext/tutorial/bind1/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = bind1 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/bind1/bind1.mcp b/externals/grill/trunk/flext/tutorial/bind1/bind1.mcp deleted file mode 100755 index 750d275bb6d215023080925dff2658ee5d3a4207..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148873 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 diff --git a/externals/grill/trunk/flext/tutorial/bind1/bind1.vcproj b/externals/grill/trunk/flext/tutorial/bind1/bind1.vcproj deleted file mode 100644 index b0a3a2daa..000000000 --- a/externals/grill/trunk/flext/tutorial/bind1/bind1.vcproj +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="bind1" - SccProjectName="max/flext/tutorial/bind1" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/bind1.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - BrowseInformationFile=".\msvc-debug/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile="msvc-debug/bind1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/bind1.pdb" - ImportLibrary=".\msvc-debug/bind1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/bind1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/bind1.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/bind1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/bind1.pdb" - ImportLibrary=".\msvc/bind1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/bind1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/bind1/main.cpp b/externals/grill/trunk/flext/tutorial/bind1/main.cpp deleted file mode 100755 index debfa68aa..000000000 --- a/externals/grill/trunk/flext/tutorial/bind1/main.cpp +++ /dev/null @@ -1,134 +0,0 @@ -/* -flext tutorial - bind 1 - -Copyright (c) 2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is an example of a simple object demonstrating method to symbol binding and message forwarding -*/ - - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400) -#error You need at least flext version 0.4.0 -#endif - - -// define the class that stands for a pd/Max object - -class bind1: - // inherit from basic flext class - public flext_base -{ - // obligatory flext header (class name,base class name) featuring a setup function - FLEXT_HEADER_S(bind1,flext_base,setup) - -public: - // constructor with no arguments - bind1() - { - // define inlets: - // first inlet must always be of type anything (or signal for dsp objects) - AddInAnything("message inlet"); // add one inlet for any message - AddInAnything("forwarding inlet"); // add one inlet for any message - - AddOutAnything("bound message"); // output received bound message - } - - /* - no destructor necessary here: - flext frees all eventually remaining bound symbols when the object is destroyed - (but NOT the data that can be passed via the FLEXT_BINDMETHOD call!) - */ - -protected: - const t_symbol *bufname; - buffer *buf; - - // bind object - void m_bind(const t_symbol *s) - { - if(!Bind(s)) { - post("%s (%s) - Binding failed",thisName(),GetString(thisTag())); - } - } - - // unbind object - void m_unbind(const t_symbol *s) - { - if(!Unbind(s)) { - post("%s (%s) - Binding failed",thisName(),GetString(thisTag())); - } - } - - // bind method - void m_bindmethod(const t_symbol *s) - { - if(!FLEXT_BINDMETHOD(s,m_bound,NULL)) { - post("%s (%s) - Binding failed",thisName(),GetString(thisTag())); - } - } - - // unbind method - void m_unbindmethod(const t_symbol *s) - { - if(!FLEXT_UNBINDMETHOD(s)) { - post("%s (%s) - Binding failed",thisName(),GetString(thisTag())); - } - } - - // forward message - void m_forward(const t_symbol *s,int argc,const t_atom *argv) - { - Forward(s,argc,argv); - } - - // method for symbol-bound messages - void m_bound(const t_symbol *sym,int argc,const t_atom *argv,void *data) - { - ToOutAnything(0,sym,argc,argv); - } - - // method for binding test - void m_test(float value) - { - post("%s - TEST METHOD: value %f",thisName(),value); - } - -private: - static void setup(t_classid c) - { - // register methods - - FLEXT_CADDMETHOD_(c,0,"bind",m_bind); // register method "bind" for inlet 0 - FLEXT_CADDMETHOD_(c,0,"unbind",m_unbind); // register method "unbind" for inlet 0 - FLEXT_CADDMETHOD_(c,0,"bindmethod",m_bindmethod); // register method "bindmethod" for inlet 0 - FLEXT_CADDMETHOD_(c,0,"unbindmethod",m_unbindmethod); // register method "unbindmethod" for inlet 0 - - FLEXT_CADDMETHOD_(c,0,"test",m_test); // register method m_test for inlet 0 - - FLEXT_CADDMETHOD(c,1,m_forward); // register method m_forward for inlet 1 - } - - FLEXT_CALLBACK_S(m_bind) // wrapper for method m_bind (with symbol argument) - FLEXT_CALLBACK_S(m_unbind) // wrapper for method m_unbind (with symbol argument) - FLEXT_CALLBACK_S(m_bindmethod) // wrapper for method m_bindmethod (with symbol argument) - FLEXT_CALLBACK_S(m_unbindmethod) // wrapper for method m_unbindmethod (with symbol argument) - - FLEXT_CALLBACK_A(m_forward) // wrapper for method m_forward (with anything argument) - - FLEXT_CALLBACK_AX(m_bound) // wrapper for method m_bound (anything+data arguments) - FLEXT_CALLBACK_F(m_test) // wrapper for method m_test (one float argument) -}; - -// instantiate the class -FLEXT_NEW("bind1",bind1) - - - diff --git a/externals/grill/trunk/flext/tutorial/bind1/package.txt b/externals/grill/trunk/flext/tutorial/bind1/package.txt deleted file mode 100644 index c7e823592..000000000 --- a/externals/grill/trunk/flext/tutorial/bind1/package.txt +++ /dev/null @@ -1,2 +0,0 @@ -NAME=bind1 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/buffer1/.svn/all-wcprops b/externals/grill/trunk/flext/tutorial/buffer1/.svn/all-wcprops deleted file mode 100644 index b1f70a05b..000000000 --- a/externals/grill/trunk/flext/tutorial/buffer1/.svn/all-wcprops +++ /dev/null @@ -1,35 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 47 -/ext/!svn/ver/3715/trunk/flext/tutorial/buffer1 -END -buffer1.vcproj -K 25 -svn:wc:ra_dav:version-url -V 62 -/ext/!svn/ver/1247/trunk/flext/tutorial/buffer1/buffer1.vcproj -END -main.cpp -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/3715/trunk/flext/tutorial/buffer1/main.cpp -END -buffer1.mcp -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/buffer1/buffer1.mcp -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/buffer1/Makefile.am -END -package.txt -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/buffer1/package.txt -END diff --git a/externals/grill/trunk/flext/tutorial/buffer1/.svn/entries b/externals/grill/trunk/flext/tutorial/buffer1/.svn/entries deleted file mode 100644 index f34f46649..000000000 --- a/externals/grill/trunk/flext/tutorial/buffer1/.svn/entries +++ /dev/null @@ -1,198 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/tutorial/buffer1 -https://svn.grrrr.org/ext - - - -2010-01-11T16:04:57.846715Z -3715 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -main.cpp -file - - - - -2012-05-13T23:08:36.708556Z -bb677896053c81fbab2cbe9e0ef8f11f -2010-01-11T16:04:57.846715Z -3715 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -6487 - -buffer1.mcp -file - - - - -2012-05-13T23:08:36.710556Z -e7c4b3139fc8509b4f8be10aa86f5454 -2005-01-04T13:28:16.495520Z -953 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -147321 - -Makefile.am -file - - - - -2012-05-13T23:08:36.711556Z -327d5276440f4b21df666f67fb2ed585 -2005-01-26T11:58:31.157320Z -992 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -914 - -package.txt -file - - - - -2012-05-13T23:08:36.711556Z -01650fc36f0efd9968d70e2b3d69e0d1 -2005-01-04T13:57:44.777172Z -954 -thomas - - - - - - - - - - - - - - - - - - - - - -29 - -buffer1.vcproj -file - - - - -2012-05-13T23:08:36.712556Z -126fd03eff0526bda3f3bdd815c364bf -2003-11-12T01:58:35.000000Z -727 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4906 - diff --git a/externals/grill/trunk/flext/tutorial/buffer1/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/buffer1/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/tutorial/buffer1/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/tutorial/buffer1/.svn/prop-base/buffer1.mcp.svn-base b/externals/grill/trunk/flext/tutorial/buffer1/.svn/prop-base/buffer1.mcp.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/buffer1/.svn/prop-base/buffer1.mcp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/buffer1/.svn/prop-base/buffer1.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/buffer1/.svn/prop-base/buffer1.vcproj.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/buffer1/.svn/prop-base/buffer1.vcproj.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/buffer1/.svn/prop-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/buffer1/.svn/prop-base/main.cpp.svn-base deleted file mode 100644 index fe7d6daf7..000000000 --- a/externals/grill/trunk/flext/tutorial/buffer1/.svn/prop-base/main.cpp.svn-base +++ /dev/null @@ -1,13 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 14 -svn:executable -V 1 -* -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/buffer1/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/buffer1/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index 05a9b98a7..000000000 --- a/externals/grill/trunk/flext/tutorial/buffer1/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = buffer1 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/buffer1/.svn/text-base/buffer1.mcp.svn-base b/externals/grill/trunk/flext/tutorial/buffer1/.svn/text-base/buffer1.mcp.svn-base deleted file mode 100644 index 31671b117c290c4d33d59c3b2a2c984c123b6c5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147321 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 diff --git a/externals/grill/trunk/flext/tutorial/buffer1/.svn/text-base/buffer1.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/buffer1/.svn/text-base/buffer1.vcproj.svn-base deleted file mode 100644 index c583befb4..000000000 --- a/externals/grill/trunk/flext/tutorial/buffer1/.svn/text-base/buffer1.vcproj.svn-base +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="buffer1" - SccProjectName="max/flext/tutorial/buffer1" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/buffer1.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - BrowseInformationFile=".\msvc-debug/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile="msvc-debug/buffer1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/buffer1.pdb" - ImportLibrary=".\msvc-debug/buffer1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/buffer1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/buffer1.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/buffer1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/buffer1.pdb" - ImportLibrary=".\msvc/buffer1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/buffer1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/buffer1/.svn/text-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/buffer1/.svn/text-base/main.cpp.svn-base deleted file mode 100644 index 25ce4bc4c..000000000 --- a/externals/grill/trunk/flext/tutorial/buffer1/.svn/text-base/main.cpp.svn-base +++ /dev/null @@ -1,258 +0,0 @@ -/* -flext tutorial - buffer 1 - -Copyright (c) 2003-2010 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is an example of a simple object doing some basic buffer operation -*/ - - -// IMPORTANT: enable attribute processing (specify before inclusion of flext headers!) -// For clarity, this is done here, but you'd better specify it as a compiler definition -// FLEXT_ATTRIBUTES must be 0 or 1, -#define FLEXT_ATTRIBUTES 1 - - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400) -#error You need at least flext version 0.4.0 -#endif - - -// define the class that stands for a pd/Max object - -class buffer1: - // inherit from basic flext class - public flext_base -{ - // obligatory flext header (class name,base class name) featuring a setup function - FLEXT_HEADER_S(buffer1,flext_base,setup) - -public: - // constructor with a variable argument list - buffer1(int argc,const t_atom *argv); - -protected: - const t_symbol *bufname; - buffer *buf; - - // set new buffer (or none if name omitted) - void m_set(int argc,const t_atom *argv); - - // get buffer name - void mg_buf(AtomList &lst) const; - // set buffer name (simply reuse m_set method) - inline void ms_buf(const AtomList &lst) { m_set(lst.Count(),lst.Atoms()); } - - // get buffer channels - inline void mg_chns(int &chns) { chns = Check()?buf->Channels():0; } - - // get buffer length in frames - inline void mg_frames(int &frames) { frames = Check()?buf->Frames():0; } - // set buffer length in frames - inline void ms_frames(int frames) { if(Check()) buf->Frames(frames); } - - // get sample (index channel) - void m_peek(int argc,const t_atom *argv); - // set sample (index value channel) - void m_poke(int argc,const t_atom *argv); - - // delete eventual existing buffer - void Clear(); - - // check and eventually update buffer reference (return true if valid) - bool Check(); - -private: - static void setup(t_classid c); - - FLEXT_CALLBACK_V(m_set) // wrapper for method m_set (with variable argument list) - FLEXT_CALLBACK_V(m_peek) // wrapper for method m_peek (with variable argument list) - FLEXT_CALLBACK_V(m_poke) // wrapper for method m_poke (with variable argument list) - - FLEXT_CALLVAR_V(mg_buf,ms_buf) // wrappers for attribute getter/setter mg_buffer/ms_buffer (with variable argument list) - FLEXT_CALLGET_I(mg_chns) // wrappers for attribute getter mg_chns (with integer arguments) - FLEXT_CALLVAR_I(mg_frames,ms_frames) // wrappers for attribute getter/setter mg_frames/ms_frames (with integer arguments) -}; - -// instantiate the class -FLEXT_NEW_V("buffer1",buffer1) - - -void buffer1::setup(t_classid c) -{ - // register methods and attributes - - FLEXT_CADDMETHOD_(c,0,"set",m_set); // register method "set" for inlet 0 - FLEXT_CADDMETHOD_(c,0,"peek",m_peek); // register method "peek" for inlet 0 - FLEXT_CADDMETHOD_(c,0,"poke",m_poke); // register method "poke" for inlet 0 - - FLEXT_CADDATTR_VAR(c,"buffer",mg_buf,ms_buf); // register attribute "buffer" - FLEXT_CADDATTR_GET(c,"channels",mg_chns); // register attribute "channels" - FLEXT_CADDATTR_VAR(c,"frames",mg_frames,ms_frames); // register attribute "frames" -} - - -buffer1::buffer1(int argc,const t_atom *argv): - // clear buffer - buf(NULL),bufname(NULL) -{ - // define inlets: - // first inlet must always be of type anything (or signal for dsp objects) - AddInAnything("message inlet"); // add one inlet for any message - - // peek outlet - AddOutFloat("peek value outlet"); - - // set buffer according to creation arguments - m_set(argc,argv); -} - - -void buffer1::Clear() -{ - if(buf) { - delete buf; - buf = NULL; bufname = NULL; - } -} - -bool buffer1::Check() -{ - if(!buf || !buf->Valid()) { - post("%s (%s) - no valid buffer defined",thisName(),GetString(thisTag())); - // return zero length - return false; - } - else { - if(buf->Update()) { - // buffer parameters have been updated - if(buf->Valid()) { - post("%s (%s) - updated buffer reference",thisName(),GetString(thisTag())); - return true; - } - else { - post("%s (%s) - buffer has become invalid",thisName(),GetString(thisTag())); - return false; - } - } - else - return true; - } -} - -void buffer1::m_set(int argc,const t_atom *argv) -{ - if(argc == 0) { - // argument list is empty - - // clear existing buffer - Clear(); - } - else if(argc == 1 && IsSymbol(argv[0])) { - // one symbol given as argument - - // clear existing buffer - Clear(); - // save buffer name - bufname = GetSymbol(argv[0]); - // make new reference to system buffer object - buf = new buffer(bufname); - - if(!buf->Ok()) { - post("%s (%s) - warning: buffer is currently not valid!",thisName(),GetString(thisTag())); - } - } - else { - // invalid argument list, leave buffer as is but issue error message to console - post("%s (%s) - message argument must be a symbol (or left blank)",thisName(),GetString(thisTag())); - } -} - -void buffer1::mg_buf(AtomList &lst) const -{ - if(buf) { - // buffer exists: return buffer name - lst(1); SetSymbol(lst[0],bufname); - } - else - // no buffer: set empty list - lst(0); -} - - -void buffer1::m_poke(int argc,const t_atom *argv) -{ - // if buffer is invalid bail out - if(!Check()) return; - - bool ok = true; - int ix,chn = 0; - float val; - - if(argc == 3) { - if(CanbeInt(argv[2])) - // get channel index - chn = GetAInt(argv[2]); - else - ok = false; - } - - if(ok && (argc == 2 || argc == 3) && CanbeInt(argv[0]) && CanbeFloat(argv[1])) { - // get frame index - ix = GetAInt(argv[0]); - // get value - val = GetAFloat(argv[1]); - } - else - ok = false; - - if(ok) { - // correct syntax, set sample and trigger display - (*buf)[ix] = val; - buf->Dirty(true); - } - else - post("%s (%s) - syntax error - use \"poke index value [channel]\"",thisName(),GetString(thisTag())); -} - -void buffer1::m_peek(int argc,const t_atom *argv) -{ - // if buffer is invalid bail out - if(!Check()) return; - - bool ok = true; - int ix,chn = 0; - - if(argc == 2) { - if(CanbeInt(argv[1])) - // get channel index - chn = GetAInt(argv[1]); - else - ok = false; - } - - if(ok && (argc == 1 || argc == 2) && CanbeInt(argv[0])) { - // get frame index - ix = GetAInt(argv[0]); - } - else - ok = false; - - if(ok) - // correct syntax, output value - ToOutFloat(0,(*buf)[ix]); - else - post("%s (%s) - syntax error - use \"peek index [channel]\"",thisName(),GetString(thisTag())); -} - - - - diff --git a/externals/grill/trunk/flext/tutorial/buffer1/.svn/text-base/package.txt.svn-base b/externals/grill/trunk/flext/tutorial/buffer1/.svn/text-base/package.txt.svn-base deleted file mode 100644 index 2e8fceec2..000000000 --- a/externals/grill/trunk/flext/tutorial/buffer1/.svn/text-base/package.txt.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -NAME=buffer1 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/buffer1/Makefile.am b/externals/grill/trunk/flext/tutorial/buffer1/Makefile.am deleted file mode 100644 index 05a9b98a7..000000000 --- a/externals/grill/trunk/flext/tutorial/buffer1/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = buffer1 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/buffer1/buffer1.mcp b/externals/grill/trunk/flext/tutorial/buffer1/buffer1.mcp deleted file mode 100755 index 31671b117c290c4d33d59c3b2a2c984c123b6c5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147321 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 diff --git a/externals/grill/trunk/flext/tutorial/buffer1/buffer1.vcproj b/externals/grill/trunk/flext/tutorial/buffer1/buffer1.vcproj deleted file mode 100644 index c583befb4..000000000 --- a/externals/grill/trunk/flext/tutorial/buffer1/buffer1.vcproj +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="buffer1" - SccProjectName="max/flext/tutorial/buffer1" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/buffer1.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - BrowseInformationFile=".\msvc-debug/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile="msvc-debug/buffer1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/buffer1.pdb" - ImportLibrary=".\msvc-debug/buffer1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/buffer1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/buffer1.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/buffer1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/buffer1.pdb" - ImportLibrary=".\msvc/buffer1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/buffer1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/buffer1/main.cpp b/externals/grill/trunk/flext/tutorial/buffer1/main.cpp deleted file mode 100755 index 25ce4bc4c..000000000 --- a/externals/grill/trunk/flext/tutorial/buffer1/main.cpp +++ /dev/null @@ -1,258 +0,0 @@ -/* -flext tutorial - buffer 1 - -Copyright (c) 2003-2010 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is an example of a simple object doing some basic buffer operation -*/ - - -// IMPORTANT: enable attribute processing (specify before inclusion of flext headers!) -// For clarity, this is done here, but you'd better specify it as a compiler definition -// FLEXT_ATTRIBUTES must be 0 or 1, -#define FLEXT_ATTRIBUTES 1 - - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400) -#error You need at least flext version 0.4.0 -#endif - - -// define the class that stands for a pd/Max object - -class buffer1: - // inherit from basic flext class - public flext_base -{ - // obligatory flext header (class name,base class name) featuring a setup function - FLEXT_HEADER_S(buffer1,flext_base,setup) - -public: - // constructor with a variable argument list - buffer1(int argc,const t_atom *argv); - -protected: - const t_symbol *bufname; - buffer *buf; - - // set new buffer (or none if name omitted) - void m_set(int argc,const t_atom *argv); - - // get buffer name - void mg_buf(AtomList &lst) const; - // set buffer name (simply reuse m_set method) - inline void ms_buf(const AtomList &lst) { m_set(lst.Count(),lst.Atoms()); } - - // get buffer channels - inline void mg_chns(int &chns) { chns = Check()?buf->Channels():0; } - - // get buffer length in frames - inline void mg_frames(int &frames) { frames = Check()?buf->Frames():0; } - // set buffer length in frames - inline void ms_frames(int frames) { if(Check()) buf->Frames(frames); } - - // get sample (index channel) - void m_peek(int argc,const t_atom *argv); - // set sample (index value channel) - void m_poke(int argc,const t_atom *argv); - - // delete eventual existing buffer - void Clear(); - - // check and eventually update buffer reference (return true if valid) - bool Check(); - -private: - static void setup(t_classid c); - - FLEXT_CALLBACK_V(m_set) // wrapper for method m_set (with variable argument list) - FLEXT_CALLBACK_V(m_peek) // wrapper for method m_peek (with variable argument list) - FLEXT_CALLBACK_V(m_poke) // wrapper for method m_poke (with variable argument list) - - FLEXT_CALLVAR_V(mg_buf,ms_buf) // wrappers for attribute getter/setter mg_buffer/ms_buffer (with variable argument list) - FLEXT_CALLGET_I(mg_chns) // wrappers for attribute getter mg_chns (with integer arguments) - FLEXT_CALLVAR_I(mg_frames,ms_frames) // wrappers for attribute getter/setter mg_frames/ms_frames (with integer arguments) -}; - -// instantiate the class -FLEXT_NEW_V("buffer1",buffer1) - - -void buffer1::setup(t_classid c) -{ - // register methods and attributes - - FLEXT_CADDMETHOD_(c,0,"set",m_set); // register method "set" for inlet 0 - FLEXT_CADDMETHOD_(c,0,"peek",m_peek); // register method "peek" for inlet 0 - FLEXT_CADDMETHOD_(c,0,"poke",m_poke); // register method "poke" for inlet 0 - - FLEXT_CADDATTR_VAR(c,"buffer",mg_buf,ms_buf); // register attribute "buffer" - FLEXT_CADDATTR_GET(c,"channels",mg_chns); // register attribute "channels" - FLEXT_CADDATTR_VAR(c,"frames",mg_frames,ms_frames); // register attribute "frames" -} - - -buffer1::buffer1(int argc,const t_atom *argv): - // clear buffer - buf(NULL),bufname(NULL) -{ - // define inlets: - // first inlet must always be of type anything (or signal for dsp objects) - AddInAnything("message inlet"); // add one inlet for any message - - // peek outlet - AddOutFloat("peek value outlet"); - - // set buffer according to creation arguments - m_set(argc,argv); -} - - -void buffer1::Clear() -{ - if(buf) { - delete buf; - buf = NULL; bufname = NULL; - } -} - -bool buffer1::Check() -{ - if(!buf || !buf->Valid()) { - post("%s (%s) - no valid buffer defined",thisName(),GetString(thisTag())); - // return zero length - return false; - } - else { - if(buf->Update()) { - // buffer parameters have been updated - if(buf->Valid()) { - post("%s (%s) - updated buffer reference",thisName(),GetString(thisTag())); - return true; - } - else { - post("%s (%s) - buffer has become invalid",thisName(),GetString(thisTag())); - return false; - } - } - else - return true; - } -} - -void buffer1::m_set(int argc,const t_atom *argv) -{ - if(argc == 0) { - // argument list is empty - - // clear existing buffer - Clear(); - } - else if(argc == 1 && IsSymbol(argv[0])) { - // one symbol given as argument - - // clear existing buffer - Clear(); - // save buffer name - bufname = GetSymbol(argv[0]); - // make new reference to system buffer object - buf = new buffer(bufname); - - if(!buf->Ok()) { - post("%s (%s) - warning: buffer is currently not valid!",thisName(),GetString(thisTag())); - } - } - else { - // invalid argument list, leave buffer as is but issue error message to console - post("%s (%s) - message argument must be a symbol (or left blank)",thisName(),GetString(thisTag())); - } -} - -void buffer1::mg_buf(AtomList &lst) const -{ - if(buf) { - // buffer exists: return buffer name - lst(1); SetSymbol(lst[0],bufname); - } - else - // no buffer: set empty list - lst(0); -} - - -void buffer1::m_poke(int argc,const t_atom *argv) -{ - // if buffer is invalid bail out - if(!Check()) return; - - bool ok = true; - int ix,chn = 0; - float val; - - if(argc == 3) { - if(CanbeInt(argv[2])) - // get channel index - chn = GetAInt(argv[2]); - else - ok = false; - } - - if(ok && (argc == 2 || argc == 3) && CanbeInt(argv[0]) && CanbeFloat(argv[1])) { - // get frame index - ix = GetAInt(argv[0]); - // get value - val = GetAFloat(argv[1]); - } - else - ok = false; - - if(ok) { - // correct syntax, set sample and trigger display - (*buf)[ix] = val; - buf->Dirty(true); - } - else - post("%s (%s) - syntax error - use \"poke index value [channel]\"",thisName(),GetString(thisTag())); -} - -void buffer1::m_peek(int argc,const t_atom *argv) -{ - // if buffer is invalid bail out - if(!Check()) return; - - bool ok = true; - int ix,chn = 0; - - if(argc == 2) { - if(CanbeInt(argv[1])) - // get channel index - chn = GetAInt(argv[1]); - else - ok = false; - } - - if(ok && (argc == 1 || argc == 2) && CanbeInt(argv[0])) { - // get frame index - ix = GetAInt(argv[0]); - } - else - ok = false; - - if(ok) - // correct syntax, output value - ToOutFloat(0,(*buf)[ix]); - else - post("%s (%s) - syntax error - use \"peek index [channel]\"",thisName(),GetString(thisTag())); -} - - - - diff --git a/externals/grill/trunk/flext/tutorial/buffer1/package.txt b/externals/grill/trunk/flext/tutorial/buffer1/package.txt deleted file mode 100644 index 2e8fceec2..000000000 --- a/externals/grill/trunk/flext/tutorial/buffer1/package.txt +++ /dev/null @@ -1,2 +0,0 @@ -NAME=buffer1 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/build.bat b/externals/grill/trunk/flext/tutorial/build.bat deleted file mode 100644 index 431454d4b..000000000 --- a/externals/grill/trunk/flext/tutorial/build.bat +++ /dev/null @@ -1,32 +0,0 @@ -@echo off - -if "%1"=="" goto syntax -if "%2"=="" goto syntax - -rem first check configuration -call ..\build.bat %1 %2 config "PKGINFO=" "NAME=tutorial" "SRCS=." -if errorlevel 1 goto end - -for /D %%i in (*) do ( - pushd %%i - if exist package.txt ( - call ..\..\build.bat %1 %2 - ) - popd -) - -goto end - -rem ----------------------------------------- -:syntax - -echo . -echo SYNTAX: build [system] [compiler] -echo system ... pd / max -echo compiler ... msvc / gcc / mingw / cygwin / bcc / icc -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 . - -:end diff --git a/externals/grill/trunk/flext/tutorial/build.sh b/externals/grill/trunk/flext/tutorial/build.sh deleted file mode 100644 index 6ea19cb19..000000000 --- a/externals/grill/trunk/flext/tutorial/build.sh +++ /dev/null @@ -1,27 +0,0 @@ -#! /bin/bash - -if - [ -n "$1" -a -n "$2" ] -then - # make config first - if - bash ../build.sh $1 $2 config "PKGINFO=" "NAME=tutorial" "SRCS=\"\"" - then - for i in * ; do - if [ -e $i/package.txt ] ; then - pushd $i - bash ../../build.sh $1 $2 - popd - fi - done - fi -else - echo - echo SYNTAX: build.sh [platform] [system] [compiler] - echo system ..... pd / max - echo compiler ... msvc / gcc / mingw / cygwin / bcc / icc - 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 -fi diff --git a/externals/grill/trunk/flext/tutorial/gpl.txt b/externals/grill/trunk/flext/tutorial/gpl.txt deleted file mode 100755 index 5ea29a7df..000000000 --- a/externals/grill/trunk/flext/tutorial/gpl.txt +++ /dev/null @@ -1,346 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) 19yy <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19yy name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. - diff --git a/externals/grill/trunk/flext/tutorial/lib1/.svn/all-wcprops b/externals/grill/trunk/flext/tutorial/lib1/.svn/all-wcprops deleted file mode 100644 index 9b1317454..000000000 --- a/externals/grill/trunk/flext/tutorial/lib1/.svn/all-wcprops +++ /dev/null @@ -1,35 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 44 -/ext/!svn/ver/1247/trunk/flext/tutorial/lib1 -END -lib1.mcp -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/1247/trunk/flext/tutorial/lib1/lib1.mcp -END -main.cpp -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/1247/trunk/flext/tutorial/lib1/main.cpp -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/lib1/Makefile.am -END -lib1.vcproj -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/lib1/lib1.vcproj -END -package.txt -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/lib1/package.txt -END diff --git a/externals/grill/trunk/flext/tutorial/lib1/.svn/entries b/externals/grill/trunk/flext/tutorial/lib1/.svn/entries deleted file mode 100644 index fa71c9586..000000000 --- a/externals/grill/trunk/flext/tutorial/lib1/.svn/entries +++ /dev/null @@ -1,198 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/tutorial/lib1 -https://svn.grrrr.org/ext - - - -2005-01-26T11:58:31.157320Z -992 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -lib1.mcp -file - - - - -2012-05-13T23:08:36.638556Z -26b7383292f8327fefce7f279fc7cdd6 -2005-01-04T13:28:16.495520Z -953 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -148873 - -main.cpp -file - - - - -2012-05-13T23:08:36.640556Z -7332ce5ebbea82b099cfdb1a9b6fe46b -2003-01-01T23:54:16.000000Z -465 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -3186 - -Makefile.am -file - - - - -2012-05-13T23:08:36.640556Z -6cb7b5faeb834dd84b5dd4a9fc8af7bc -2005-01-26T11:58:31.157320Z -992 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -911 - -lib1.vcproj -file - - - - -2012-05-13T23:08:36.641556Z -c69bef9ec027b1ca41ba8c1cf1cf7714 -2003-11-12T01:58:35.000000Z -727 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4853 - -package.txt -file - - - - -2012-05-13T23:08:36.642556Z -4b6d782e7642e640c0b74a40b5dca9b2 -2005-01-04T13:57:44.777172Z -954 -thomas - - - - - - - - - - - - - - - - - - - - - -26 - diff --git a/externals/grill/trunk/flext/tutorial/lib1/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/lib1/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/tutorial/lib1/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/tutorial/lib1/.svn/prop-base/lib1.mcp.svn-base b/externals/grill/trunk/flext/tutorial/lib1/.svn/prop-base/lib1.mcp.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/lib1/.svn/prop-base/lib1.mcp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/lib1/.svn/prop-base/lib1.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/lib1/.svn/prop-base/lib1.vcproj.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/lib1/.svn/prop-base/lib1.vcproj.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/lib1/.svn/prop-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/lib1/.svn/prop-base/main.cpp.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/lib1/.svn/prop-base/main.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/lib1/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/lib1/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index 6083365d6..000000000 --- a/externals/grill/trunk/flext/tutorial/lib1/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = lib1 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/lib1/.svn/text-base/lib1.mcp.svn-base b/externals/grill/trunk/flext/tutorial/lib1/.svn/text-base/lib1.mcp.svn-base deleted file mode 100644 index afa029c5dc6a335e1f861be10acb325c6f5bcf87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148873 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 diff --git a/externals/grill/trunk/flext/tutorial/lib1/.svn/text-base/lib1.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/lib1/.svn/text-base/lib1.vcproj.svn-base deleted file mode 100644 index 3c7131514..000000000 --- a/externals/grill/trunk/flext/tutorial/lib1/.svn/text-base/lib1.vcproj.svn-base +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="lib1" - SccProjectName="lib1" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/lib1.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - BrowseInformationFile=".\msvc-debug/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile=".\msvc-debug/lib1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/lib1.pdb" - ImportLibrary=".\msvc-debug/lib1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/lib1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/lib1.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/lib1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/lib1.pdb" - ImportLibrary=".\msvc/lib1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/lib1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/lib1/.svn/text-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/lib1/.svn/text-base/main.cpp.svn-base deleted file mode 100644 index e90c154d5..000000000 --- a/externals/grill/trunk/flext/tutorial/lib1/.svn/text-base/main.cpp.svn-base +++ /dev/null @@ -1,132 +0,0 @@ -/* -flext tutorial - library 1 - -Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is an example of an external library containing a few simple objects - -It uses attributes, so be sure that you've already worked through attr1 and attr2 - -*/ - -// Enable attribute processing -// For clarity, this is done here, but you'd better specify it as a compiler definition -#define FLEXT_ATTRIBUTES 1 - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400) -#error You need at least flext version 0.4.0 -#endif - - -// ------------------------------------------------------------------------------------- -// Define the base class -// Note that you don't have to instantiate the base class (with FLEXT_NEW or variants) - -class libbase: - // inherit from basic flext class - public flext_base -{ - // obligatory flext header (class name,base class name) - FLEXT_HEADER(libbase,flext_base) - -public: - // constructor - libbase(); - -protected: - void Output(float f) const { ToOutFloat(0,f); } - - // method for floats into left inlet - virtual void m_trigger(float f) = 0; - - float arg; // argument variable -private: - FLEXT_CALLBACK_F(m_trigger) // callback for method "m_trigger" (with one float argument) - FLEXT_ATTRVAR_F(arg) -}; - -libbase::libbase(): - arg(0) // initialize argument -{ - // define inlets: - // first inlet must always by of type anything (or signal for dsp objects) - AddInAnything(); // add one inlet for any message - - // define outlets: - AddOutFloat(); // add one float outlet (has index 0) - - // register methods - FLEXT_ADDMETHOD(0,m_trigger); // register method (for float messages) "m_float" for inlet 0 - - // register attributes - FLEXT_ADDATTR_VAR1("arg",arg); // register attribute "arg" -} - - -// ------------------------------------------------------------------ -// Define the actual library objects (derived from the base class) -// These classes have an implementation of the virtual function m_trigger - -class libadd: - public libbase -{ - // obligatory flext header, inherit from libbase - FLEXT_HEADER(libadd,libbase) -public: - virtual void m_trigger(float f) { Output(f+arg); } -}; - -FLEXT_LIB("lib1.+",libadd); - - - -class libsub: - public libbase -{ - // obligatory flext header, inherit from libbase - FLEXT_HEADER(libsub,libbase) -public: - virtual void m_trigger(float f) { Output(f-arg); } -}; - -FLEXT_LIB("lib1.-",libsub); - - - -class libmul: - public libbase -{ - // obligatory flext header, inherit from libbase - FLEXT_HEADER(libmul,libbase) -public: - virtual void m_trigger(float f) { Output(f*arg); } -}; - -FLEXT_LIB("lib1.*",libmul); - - -// ------------------------------------------------ -// Do the library setup - -static void lib_setup() -{ - post("flext tutorial lib1, (C)2002 Thomas Grill"); - post("lib1: lib1.+ lib1.- lib1.*"); - post(""); - - // call the objects' setup routines - FLEXT_SETUP(libadd); - FLEXT_SETUP(libsub); - FLEXT_SETUP(libmul); -} - -// setup the library -FLEXT_LIB_SETUP(lib1,lib_setup) diff --git a/externals/grill/trunk/flext/tutorial/lib1/.svn/text-base/package.txt.svn-base b/externals/grill/trunk/flext/tutorial/lib1/.svn/text-base/package.txt.svn-base deleted file mode 100644 index 1a60aa126..000000000 --- a/externals/grill/trunk/flext/tutorial/lib1/.svn/text-base/package.txt.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -NAME=lib1 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/lib1/Makefile.am b/externals/grill/trunk/flext/tutorial/lib1/Makefile.am deleted file mode 100644 index 6083365d6..000000000 --- a/externals/grill/trunk/flext/tutorial/lib1/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = lib1 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/lib1/lib1.mcp b/externals/grill/trunk/flext/tutorial/lib1/lib1.mcp deleted file mode 100755 index afa029c5dc6a335e1f861be10acb325c6f5bcf87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148873 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 diff --git a/externals/grill/trunk/flext/tutorial/lib1/lib1.vcproj b/externals/grill/trunk/flext/tutorial/lib1/lib1.vcproj deleted file mode 100644 index 3c7131514..000000000 --- a/externals/grill/trunk/flext/tutorial/lib1/lib1.vcproj +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="lib1" - SccProjectName="lib1" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/lib1.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - BrowseInformationFile=".\msvc-debug/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile=".\msvc-debug/lib1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/lib1.pdb" - ImportLibrary=".\msvc-debug/lib1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/lib1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/lib1.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/lib1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/lib1.pdb" - ImportLibrary=".\msvc/lib1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/lib1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/lib1/main.cpp b/externals/grill/trunk/flext/tutorial/lib1/main.cpp deleted file mode 100644 index e90c154d5..000000000 --- a/externals/grill/trunk/flext/tutorial/lib1/main.cpp +++ /dev/null @@ -1,132 +0,0 @@ -/* -flext tutorial - library 1 - -Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is an example of an external library containing a few simple objects - -It uses attributes, so be sure that you've already worked through attr1 and attr2 - -*/ - -// Enable attribute processing -// For clarity, this is done here, but you'd better specify it as a compiler definition -#define FLEXT_ATTRIBUTES 1 - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400) -#error You need at least flext version 0.4.0 -#endif - - -// ------------------------------------------------------------------------------------- -// Define the base class -// Note that you don't have to instantiate the base class (with FLEXT_NEW or variants) - -class libbase: - // inherit from basic flext class - public flext_base -{ - // obligatory flext header (class name,base class name) - FLEXT_HEADER(libbase,flext_base) - -public: - // constructor - libbase(); - -protected: - void Output(float f) const { ToOutFloat(0,f); } - - // method for floats into left inlet - virtual void m_trigger(float f) = 0; - - float arg; // argument variable -private: - FLEXT_CALLBACK_F(m_trigger) // callback for method "m_trigger" (with one float argument) - FLEXT_ATTRVAR_F(arg) -}; - -libbase::libbase(): - arg(0) // initialize argument -{ - // define inlets: - // first inlet must always by of type anything (or signal for dsp objects) - AddInAnything(); // add one inlet for any message - - // define outlets: - AddOutFloat(); // add one float outlet (has index 0) - - // register methods - FLEXT_ADDMETHOD(0,m_trigger); // register method (for float messages) "m_float" for inlet 0 - - // register attributes - FLEXT_ADDATTR_VAR1("arg",arg); // register attribute "arg" -} - - -// ------------------------------------------------------------------ -// Define the actual library objects (derived from the base class) -// These classes have an implementation of the virtual function m_trigger - -class libadd: - public libbase -{ - // obligatory flext header, inherit from libbase - FLEXT_HEADER(libadd,libbase) -public: - virtual void m_trigger(float f) { Output(f+arg); } -}; - -FLEXT_LIB("lib1.+",libadd); - - - -class libsub: - public libbase -{ - // obligatory flext header, inherit from libbase - FLEXT_HEADER(libsub,libbase) -public: - virtual void m_trigger(float f) { Output(f-arg); } -}; - -FLEXT_LIB("lib1.-",libsub); - - - -class libmul: - public libbase -{ - // obligatory flext header, inherit from libbase - FLEXT_HEADER(libmul,libbase) -public: - virtual void m_trigger(float f) { Output(f*arg); } -}; - -FLEXT_LIB("lib1.*",libmul); - - -// ------------------------------------------------ -// Do the library setup - -static void lib_setup() -{ - post("flext tutorial lib1, (C)2002 Thomas Grill"); - post("lib1: lib1.+ lib1.- lib1.*"); - post(""); - - // call the objects' setup routines - FLEXT_SETUP(libadd); - FLEXT_SETUP(libsub); - FLEXT_SETUP(libmul); -} - -// setup the library -FLEXT_LIB_SETUP(lib1,lib_setup) diff --git a/externals/grill/trunk/flext/tutorial/lib1/package.txt b/externals/grill/trunk/flext/tutorial/lib1/package.txt deleted file mode 100644 index 1a60aa126..000000000 --- a/externals/grill/trunk/flext/tutorial/lib1/package.txt +++ /dev/null @@ -1,2 +0,0 @@ -NAME=lib1 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/license.txt b/externals/grill/trunk/flext/tutorial/license.txt deleted file mode 100755 index d48095bd7..000000000 --- a/externals/grill/trunk/flext/tutorial/license.txt +++ /dev/null @@ -1,50 +0,0 @@ -flext - C++ layer for Max/MSP and pd (pure data) externals -Copyright (C) 2001-2006 Thomas Grill - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -In the official flext distribution, the GNU General Public License is -in the file gpl.txt - ---------------------------------------------------------- - - OTHER COPYRIGHT NOTICES - ---------------------------------------------------------- -This package uses a lot of code from GEM by Mark Danks - -See the license text below: - ---- GEM -------------------------------------- -GEM - Graphics Environment for Multimedia -Copyright (C) 1997-2000 Mark Danks - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -In the official GEM distribution, the GNU General Public License is -in the file GnuGPL.LICENSE - diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/all-wcprops b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/all-wcprops deleted file mode 100644 index da68a09d1..000000000 --- a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/all-wcprops +++ /dev/null @@ -1,113 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 46 -/ext/!svn/ver/1247/trunk/flext/tutorial/maxmsp -END -ex-attr1.pat -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/maxmsp/ex-attr1.pat -END -ex-adv1.pat -K 25 -svn:wc:ra_dav:version-url -V 58 -/ext/!svn/ver/1247/trunk/flext/tutorial/maxmsp/ex-adv1.pat -END -ex-attr2.pat -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/maxmsp/ex-attr2.pat -END -ex-adv2.pat -K 25 -svn:wc:ra_dav:version-url -V 58 -/ext/!svn/ver/1247/trunk/flext/tutorial/maxmsp/ex-adv2.pat -END -ex-bind1.pat -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/maxmsp/ex-bind1.pat -END -ex-attr3.pat -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/maxmsp/ex-attr3.pat -END -ex-adv3.pat -K 25 -svn:wc:ra_dav:version-url -V 58 -/ext/!svn/ver/1247/trunk/flext/tutorial/maxmsp/ex-adv3.pat -END -ex-signal1.pat -K 25 -svn:wc:ra_dav:version-url -V 61 -/ext/!svn/ver/1247/trunk/flext/tutorial/maxmsp/ex-signal1.pat -END -ex-signal2.pat -K 25 -svn:wc:ra_dav:version-url -V 61 -/ext/!svn/ver/1247/trunk/flext/tutorial/maxmsp/ex-signal2.pat -END -ex-timer1.pat -K 25 -svn:wc:ra_dav:version-url -V 60 -/ext/!svn/ver/1247/trunk/flext/tutorial/maxmsp/ex-timer1.pat -END -ex-simple1.pat -K 25 -svn:wc:ra_dav:version-url -V 61 -/ext/!svn/ver/1247/trunk/flext/tutorial/maxmsp/ex-simple1.pat -END -ex-simple2.pat -K 25 -svn:wc:ra_dav:version-url -V 61 -/ext/!svn/ver/1247/trunk/flext/tutorial/maxmsp/ex-simple2.pat -END -ex-simple3.pat -K 25 -svn:wc:ra_dav:version-url -V 61 -/ext/!svn/ver/1247/trunk/flext/tutorial/maxmsp/ex-simple3.pat -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 58 -/ext/!svn/ver/1247/trunk/flext/tutorial/maxmsp/Makefile.am -END -ex-lib1.pat -K 25 -svn:wc:ra_dav:version-url -V 58 -/ext/!svn/ver/1247/trunk/flext/tutorial/maxmsp/ex-lib1.pat -END -ex-thread1.pat -K 25 -svn:wc:ra_dav:version-url -V 61 -/ext/!svn/ver/1247/trunk/flext/tutorial/maxmsp/ex-thread1.pat -END -ex-thread2.pat -K 25 -svn:wc:ra_dav:version-url -V 61 -/ext/!svn/ver/1247/trunk/flext/tutorial/maxmsp/ex-thread2.pat -END -ex-buffer1.pat -K 25 -svn:wc:ra_dav:version-url -V 61 -/ext/!svn/ver/1247/trunk/flext/tutorial/maxmsp/ex-buffer1.pat -END diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/entries b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/entries deleted file mode 100644 index e119655e5..000000000 --- a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/entries +++ /dev/null @@ -1,640 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/tutorial/maxmsp -https://svn.grrrr.org/ext - - - -2004-12-19T11:08:08.616178Z -911 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -ex-bind1.pat -file - - - - -2012-05-13T23:08:37.206556Z -2c882720311e8637489d18592b555c10 -2003-06-18T14:09:20.000000Z -650 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1509 - -ex-attr3.pat -file - - - - -2012-05-13T23:08:37.205556Z -ab063a8935bd9898d60022d122ea4948 -2003-01-02T23:51:21.000000Z -475 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1358 - -ex-adv3.pat -file - - - - -2012-05-13T23:08:37.205556Z -bc1a01c20597f6802337a7676b4b8eaa -2003-01-02T23:51:21.000000Z -475 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -801 - -ex-signal1.pat -file - - - - -2012-05-13T23:08:37.207556Z -df608259a4073e535d3883ea28c36e10 -2002-11-20T12:09:33.000000Z -395 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -740 - -ex-signal2.pat -file - - - - -2012-05-13T23:08:37.207556Z -1d6d64cc7374d3b1ae5493b8cc5a7790 -2002-11-20T12:09:33.000000Z -395 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -708 - -ex-timer1.pat -file - - - - -2012-05-13T23:08:37.208556Z -2ea9cc3626b3b294e605d9a1e352d660 -2003-03-03T06:41:33.000000Z -538 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1247 - -ex-simple1.pat -file - - - - -2012-05-13T23:08:37.209556Z -a42cc0596323c70d4568f494c501d586 -2002-11-20T12:09:33.000000Z -395 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -725 - -ex-simple2.pat -file - - - - -2012-05-13T23:08:37.210556Z -de30d49e8eac1bc089bb9dad991bfd98 -2002-11-20T12:09:33.000000Z -395 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -668 - -ex-simple3.pat -file - - - - -2012-05-13T23:08:37.210556Z -fcd90b112e001b08b0ff5109b04337b3 -2003-01-02T23:05:49.000000Z -473 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -662 - -Makefile.am -file - - - - -2012-05-13T23:08:37.211556Z -0173d82b37409d37a0c6493804217807 -2004-12-19T11:08:08.616178Z -911 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -68 - -ex-lib1.pat -file - - - - -2012-05-13T23:08:37.197556Z -54771c7e9d22a0ab74b019fedaadbe77 -2002-11-20T12:09:33.000000Z -395 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1440 - -ex-thread1.pat -file - - - - -2012-05-13T23:08:37.198556Z -56b7dadc25b6aa11a62b9702204acb9a -2002-12-22T00:38:04.000000Z -439 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1004 - -ex-thread2.pat -file - - - - -2012-05-13T23:08:37.198556Z -f96d3974037ffd664381fc3fab183c8f -2002-12-22T00:38:04.000000Z -439 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -874 - -ex-buffer1.pat -file - - - - -2012-05-13T23:08:37.199556Z -daa2e7bfc7753226f7027dd47f464949 -2003-06-18T14:09:20.000000Z -650 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1364 - -ex-attr1.pat -file - - - - -2012-05-13T23:08:37.200556Z -8c78895f53b48b0292a0925455a7007f -2002-11-20T12:09:33.000000Z -395 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1050 - -ex-adv1.pat -file - - - - -2012-05-13T23:08:37.200556Z -9c669f6944cf5693438788ec792ffe87 -2003-01-02T23:05:49.000000Z -473 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -540 - -ex-attr2.pat -file - - - - -2012-05-13T23:08:37.204556Z -1225f4bf0dff579ef2363bc7d8c453e0 -2003-01-02T23:51:21.000000Z -475 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1389 - -ex-adv2.pat -file - - - - -2012-05-13T23:08:37.201556Z -2f2594ec4b5fe6f0f4fca9aa66b93d24 -2003-01-02T23:51:21.000000Z -475 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -726 - diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-adv1.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-adv1.pat.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-adv1.pat.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-adv2.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-adv2.pat.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-adv2.pat.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-adv3.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-adv3.pat.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-adv3.pat.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-attr1.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-attr1.pat.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-attr1.pat.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-attr2.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-attr2.pat.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-attr2.pat.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-attr3.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-attr3.pat.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-attr3.pat.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-bind1.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-bind1.pat.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-bind1.pat.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-buffer1.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-buffer1.pat.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-buffer1.pat.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-lib1.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-lib1.pat.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-lib1.pat.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-signal1.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-signal1.pat.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-signal1.pat.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-signal2.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-signal2.pat.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-signal2.pat.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-simple1.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-simple1.pat.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-simple1.pat.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-simple2.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-simple2.pat.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-simple2.pat.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-simple3.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-simple3.pat.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-simple3.pat.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-thread1.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-thread1.pat.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-thread1.pat.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-thread2.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-thread2.pat.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-thread2.pat.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-timer1.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-timer1.pat.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/prop-base/ex-timer1.pat.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index 634062213..000000000 --- a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,6 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -EXTRA_DIST = *.pat \ No newline at end of file diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-adv1.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-adv1.pat.svn-base deleted file mode 100644 index f086ab57ab3d25dae4724747b42c2c90c2dff7e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 540 zcmXYu&2AGh5XUFsgjAu<vLt~*X;}^+=!erA;#5>|0<B1)O$9~HuA4;c+OF-*riIey z=!ty`uJi&=zzwQCO2?bZvd6!%X68TRCIIN1PvLOVg~~*4!A>-H$w(N$CEN@?HG`c- z<)Ro0DM~Q~{EdI`Wq1>Az(gCNg-oHe!a?Pxvd9NM@Gl->)Q{u1M;rgw>jG&JR_-Vl z*7Bi%pwqx1w(DH)dh~$5@FQ;3e5?$7b)|xDr823d>?euJb0HnzIX(;CG{RfZg6|{e z^ozB%vMg6MH{6aL7e=gn;hG=&yAyI%*6NN(`9J(wXFpX^fG=5)^9SyQbJPx-=jnvO zX~i(w1QsMJBN6*l89Ug*G<-}2*}Ug-YzOaW3fS#~OiUfH&=pRZG0%YAc@C`g<ki#e z`g(VTjtyY#?UBm41=e|O##u)Fu)Bq&VX=FfOOe6;=U}dhtYQn%F0lIpGaLY3;u-Fd zi#<5-?8is2IG~YGXblgIDr73s87<inPgOaC<<z%Hl^!KZN|8ADKtJMn_uB4U+g{wS N{rz~`+ej-7)fL@BpdJ7K diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-adv2.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-adv2.pat.svn-base deleted file mode 100644 index b6aa006523b8f52a09b29a863c09ebb6338ce7c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 726 zcmXw%y>in)5XV=hf(cAkG5NAh0ELi%?c|(}lFy-G1O&*WVCF1cEDh3~xI0;PAn*e4 z0L)Ohp<;Le3T7DE^t5!m0hDkj+0E_k@ATjM@1AM^kfn44FNZytNbdotVMcWjF$wq; zzq$Wv?r&$JJs<Kwq$%SX@C4iLeW!j77GW4^o!!{pE{dX?QAt&-DU+=8f@bu{?lt3G z&NNJPjxAimPxW;pD`;r%GwcMH-A7fe(P6?y8pb-;LdG<Kqc*(SytUQa+39u6vJ0>G zB9T%B$M<BMBu4)xSH|eujB=I$F5tX7S3@!(^WHuX?8`wP@E3l-1A~ZrXmj89ZL-i8 zGBnyUsY{XbkcCxtUPUw%MU^auf-~#Xz3t!+4C|-i6p$sM?S#m(8mE0>osgB3DMbei z+=heSu~mJzI%YH~<#!zXGLttn9RO)k9s+4mImpYo+9Gb#!O!Sb;tNrpP<UAKvktz) z)hV|G{}_N3Skt1kfIkguR_vl_kXQ5=Q$x>K<Ch|qWR_m$tY9NBiodu~pEGC0gm~Uf zAnSohgoNkzbv|M?^L!;%DrcqwS+UdTIrx5d)F2y0tRs<Y(~gz3@UAPJvMRZ%qgVmi zw98f;nja_*%-fPRa?Q*T$aNK`S;BUKwAqN-t+m$)1m`T!u;)MaZT@5$pHAbmY22U2 LgDQ42VcPo-^WMnF diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-adv3.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-adv3.pat.svn-base deleted file mode 100644 index 1f0412572c3024f2f65894a7af8bc5298df420c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 801 zcmaJ<y>1gh5FQ5!1d5Pnefa|tAdVw`oH*+=C?ym?gD$~{C<%tOy|Jy_AA5UeV<1SB zyaC-cd4m*)f+xreP=M&DDG+6tU7sk?YH#NIW@ql(nVkTD$QMI+nbsjw<wp>wk<jg) zRDhrH3p<@)zYCczyO6XJt-}Ctga<g~W;$VW1^i>(G)VlGN%={{t)}a`k7?sKyS^hW zf|(xpGLA)80{c+FZqqprXJCtH78Ash#q9LdFfaZc*v#~>9s0fuG%!)XZG2!4zKW%W zQLJSIujBqmf=R2ILNhl0)K)%ghy_b*?$8Ok)O%bW7kIP8DJjKI*#D2{A)a8BJuEmE zVH)1{w2n4vwZUMp8VM!hz7|r+l>-rpk@2+*Rs#}7qH!K)@W@%Bv_sKJ*DZH~vutZz z>)pO5hZ=ZMCpuJp;Q_}gaCYO~&HCC}eT6>jz)Ou@=!+P*b6@p6kBacAB&J^T=|}|9 z11w>YO->-s_)K{l_-spcTYx|CBkmBz=k^UY{U>m#6{-#;TX0#0Nzjp<F}f1>L?;}K z!F(qSY)3K0V_bAD(4_c+lBVaR;A$WTatQbfzhcdqq~Kx3ua)ltzupeLP(jn&KgFZG z)qKHVg?o70ww^C))$evmh~bZErW@mt@N%0p>2ZLaGt<74N0wSfZESvDX@@}|+ZuM< zU3yl$(r}Sk2OYOzo!#6%$?Y?@K@W*n_Hv8pHt2!y3Knzcd2Sn<STZG+qcDQ(FM^Wi AFaQ7m diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-attr1.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-attr1.pat.svn-base deleted file mode 100644 index 5dc46f10698aff9960f5cf2b7f4723dd6d19b28c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1050 zcmaJ=&rcIU6n<O1Xo%shwJ0iLw_rg^nfe<Q6%X7@4F-WIGHs{r%64bFJ4*}r<3ytV z2Zoq5QO{n`#JhikH;vJF(3}5(Z*~huvf1o@Z{B?Gd*8fC0D#xvZD_6*pyOM2AXxRd zD%XV%_zr)Xe-h?&qNA)Lgk{-i2v>n=8u$V2<N??RtAS9^;!62;DO3X5Y3|q3&{3h; zW8h2t5@oG5L*cJMtG%A3+;SZ@%F+#_BSxaktbyT9<`Y?ZEXoR=?s5jOzM=W{8(6|u z5#O^KRec`Fh5*)^t_#Q0B^fqE5b&A+{EZ)RI7($E2?BOF!*oWn>PR<i=!CauEfkBz zS$gqX^n6Ep2x=xuc!5^TaD=L9l5Sk#tvH_2@tw|to#kchkC*$jE{cY@fGao?2al3b zwHlerj>%AYp^8-DGH&c4Co~5P-Ts@HqhHbKQ0K?(0N4rX((g%Lso2VvE_Z+p5VJ!D zu~St^g$B7p!PC1+bHe2%M^u2NW3MCWN!&L3jXgv#%M~rr2J@g{W(*vNwPZZsrja0P zEZoL_xSZ^vsbE988Ur?bQyVwiVP~vqVA-;CNYRq^<SUMvGe+_dq=1domGUO@`Btkn z?s1<7w&K)bZiRb%UH>cLj=R*6-Z+ST_&%A@`-WnolsVNU8m&5_O^u&bp_0C>%@`X4 zmdoBADNIZhfQ{d)%LXUg@-x0owvg_LFwn=rJnjkyFonHlPXbwo6|8w+=SqI91o#7A z<06IF`KrcxNC;dgNxwpyBXH4|p<5waBXlXK^NMW6;BrMDk{0{P%o&)Et-IojAavrU zzTvO#Xt&s;)_0WyyH@rE*M|zsB%#-<JRl?BL2<5#f3b<5v8lrkW4uXtQ{$x=ZxP-i lJVjT{)i(-zX+Z}TyWhFue1snrX-O~4-Mz2BH#|vm`ybVmHj)4U diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-attr2.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-attr2.pat.svn-base deleted file mode 100644 index aab02c9285aaa0cfa32dad2920d961133c2506cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1389 zcmaJ>&2Jl35T6aFN)^g%-6Ty)2zChhsN;+qK3XWWX&^T+0;iNht7rS!URdwj?!JxF z0__P79Jm4!kz5H*h!d5#zyYc1p??7v5aq@Ni5}pFnAzvLIaRA&@BHTXo3A(PF#w2r zY8Ni=RAG>mUWIfgR<_yI3E<cGhyUl8zcDtjr5a>S)9dNTf`84!?=UDFfJa~_)fW27 z+9YUXR>N-5#6=j`D?Od2s-wZ*_V5QR<>ad-h7XpP#Vzm+oN@4nr*ddrm_z8J%6;et z9(Am1PIyRI(+;{`&RGnNV$t}DVE7|`jFhtoJK82X%|e@dK4;II^Z4xHng%w*FF5M3 zr9K@hs-z=rWOxrh!EMJbT+VcI1?cdo-883sk0IU~QfR_7-qTIXESg;8!8E%-Q%w`4 zCe%wg{WCm=pE~*x&JQ%5nw|!lDRy<}hKCXUgbR*yluH46Y@S$5v+dACSr3@-EtbyL zYPC1`#$WU6H{^>=Y2R>@Zs_zlCy^Kq4)KhOJ16k{bCX6yR3A>3o{(Dda@+V9ZaGPj zPr1|K&7hLWY@EqFX%>6<-$QE2{MS7HfQNf7#=Pa#;%=V|QlJGB@#|Bn)e3B2A{7EH za^z5^veY)5Xjz2}u8ayT>qs?1-2yu11}&9y4fp(#_mCo}9O=H^1%J!)7d)JGwXDWT z!28Sr%6!iMV6AYFSDGr4tqQbuns<Z72SlX}plZ{ET+u~YircutkqVE(1kmxWweiVH zrQh$b#wt;1U=?>*eqY7vs=Qkrtw!9D2<LDTzbVX%uHphs`t@O;^>(Otx$&oMW=#^v zFrGOE^z7o<rRv&Rwaky>K+nC|H9f_%JF%4nJR2_lWR}XAJRhq_hkz3}?jIaO8qf=+ zw}4JHl1>Bgcl;9HW{6&Fi!E!y#!C&8v{;-QrxTM!EuL*|ok_c@W%|z8Xvs-Q#ee(j z9#-7^&W^q++T<0FWbZH5F7X1=%Wai%<M3{+UPFs}_%H4Wj0FL{+6NpK;O7UxJ5F&O z8z}ckdBNcw#^fI1IKd8o%EOzS<7S>?N{|!#k!e9L>_;YtsynQ@ldFylRS%Gvp=yMj nX8;r5_wbkefp=MbSJaoplaB1odhMKyVYB}Fw*0;l%iqlZ@rINz diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-attr3.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-attr3.pat.svn-base deleted file mode 100644 index 7ef7292f82124bdd67789eca98ed94bc805cbf9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1358 zcmaKr&rcIk5Xax*#oscIh2k$nia$UpJcx-g5{Z(a7qhJxEh2T>KHA21cinxZwf^AZ z#e*?kOiU!H#=8dsF_LJE-Z1_L661g1U!XH@SLJ|a)7PEPcV^zaH?u8_F|T6R*{!)@ z*7V~SSup3>Dp!;~gAsn!;Pn>%rlqOk7OPfd5ZDFD_^bg-5I485O>8bu(qosJs!H?) z^lMrxNTmhhn+;foGn&`4Zq>;L>~ba&Ucw12+{S=NLj^|ROO&aR!w97}K>8L2wEG=& z4~5YC6^v_s7rCvJU&>aM3|RAC{4BelbIY#JCTYi%!Fvq&q<tG$^t>Z$vd)O_G+<P7 z(dzlqlTMxq2&7_7B{-&2uESs)Txhq5;Hmg7BQ)BaY9&h-w#0WB&_82Y)+PMGSN*I3 zK4{YZPYiHo^e!nf8)!nCw)xMWL<)Z#lDLbRb1M~z$LB=@GH^bu59UOBP-;l5tjb3y zMNA7<bWW_mfi4Y_Q|JNj;2|82B1K29paZqRd+`2ODa>P*9&;;pSj2o8-orfh@dvy% zw-fE8dmdq8_gK`o)Mc?}OgBB*ymx<w%Ev63-+RY2I1M-8SXj(nY*V3t*QSLP^gQ*u z%6+=Gkwl%zz{yCfYwr)x&nFCXC+lEhe^Dv#)Zk#PR!excZwDo1OJ5G$v^~2)?@Bre zCv2n%-4KIEW-kSHMyX<aGD_7oTb6aj!~s=Ru3xgtOmrV-;^5J9eZxaT!vnbBiF+oC zZp99mh)?*Xa+&Jytp-@FION%mEHmhUR=&LjL{l7&UuEJ*)-Plke1m5&g-9HoC7VV9 zjlQhw=P_6t{XTskG9OyUf})*wYoT#G?>f|SVbZi>+w<X#46L7bB@#K;ab!-hv;}Q6 zse`jNHU(#Qzm>N5O#>ET1r|wwu86E6S=D485uBjEWG|6z>!PL+z(-iXm<5WNBKyH# z8$SsI7uJDJ0%vh{R$y80vO5Hy5q#EQPYAvv_>LfP&6?JwU$@dp&JB3XFGkB6Rkub# zGo+o|P)nqfU{ZoaIt3m21^*zXa{{;0DgKlKpGV6Y&qPT9NSyzN*h*q~LvhG+J=XjM DqZV|A diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-bind1.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-bind1.pat.svn-base deleted file mode 100644 index 96421f2db3e5431b3690a5ce3e96241193166a6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1509 zcmaJ=&u>#l5T0jxL8_|E#&IYlfz)pEgE-DOVA@J;Ra&W1t5y$4Xn+RvY_DUtes3S| zt?f88&Y?GiM1KfXRWCkr>A8je1C=-+u83CfACwDcX5ZT2st8%@H#^_VxAX1JqyQlF zy=}PME<!)begSbi^mL^zBfuN@ySSGUAEf#^>q4udd|w6{@GqPZ>rVPL$UwW+l-n9Q zx}{ar@S3o_1l{?M7K$q?tFW_HSH2g+l~1BZvk86O;?$z}+@^k8*E)Q+Q0R0z%b^!} zaYK7DlKF4E(AzP#mceo$b&_`&r}1h!$0zQV8$p%W+4E%_ds`C3Zw|I`HoYJA!Ku?{ z7{P+raPU#$+0!!Ckb5%!;QhX)u|Rg@HsFf**unRb0Kzbmp$w`(B2JE@@mf;_Eg$d) z{1>z5T-QCr3;#}j{~-T(Yvkl{6R%m8w5bbdLY2Rk6%CZp3TQI!`ekLMFXOMzV(EY{ zbzO0Mh9(UW;iCb#*Q3{KD(ZMqwGnI?o#Kjv-{GQFLkDw4JdKMT2QR;*xSm-0Pnr>L zm~P;ww%|j9Q-G$pN`8Gq$~iA1Ws3YL1x<5m@)-ENNI6KBdWOBLKnKlJ{D`;ll64<$ z1?G~5(x(iZ$3LIJG;I@Z;<`;Z@`CW^U=l7C9Px^SzD=0*yF*op-bIHWaQMt565mk= z?+<R1-iUx^%%Memj2naEY1VkUxQ8EFPuAAW7iBAc4%mvj*u)byG(C(N@vtfy<BnT! z@H7w2KG^M3E_)K_&5CNO2rhC17;qE+uq1EArW<?Q8*^pVGF>%qyQ(m_I+MWC?hN~B zA(9o@XiK2QfqcpNrmvLv%)y%pZI6x)!kBQW+y$DW16*3Z74xtY&tM>%fD@Pzucnat zRLE`st(2p!GT=k}1<$jKsAl%2{drR?tEkG!$!0Y&werEq?pR#+s;Xl*$Ezxkrol=T z6$EBHaLUDL9w9nW^I{%!*mT!iT*X_MGfNzC@HqdOfOUfuahDNZqX>=}=x4mk5HABA zv-n(+dC|hR@H%r|9}OFFU$WdI1Vd!QAU*tvsd<f_de$PlsJR~fqKGdo>;H30%sFLL zzg=%stE`$z=iIeZ#z7@SYnJek%Qibp7u>Is?|Jt^^2Ko%C#*H$qOexR#Yt;Tx|p`s M%)ojlR3Y@A0xDdMXaE2J diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-buffer1.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-buffer1.pat.svn-base deleted file mode 100644 index 979774ac265aaa9110adba7dc53b5cd5004a0a7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1364 zcmah}OK%%h6h4!#kO1|&aov;@lVH=PC2@RXM5XeO3P=@5&?&72P1;7+p6fV@=h1n@ zPJyxp@em+{*qKH919+%g7N|%pSwqE=zd*a`x%W=JYtU$PUjEMc&N)6aLqtia#&m6W zjV5XR9m;kSmG=fZC47t9;*S}zG&9NTJ{7$<40V(fe!%BATX~EQ(C)QDr+YN&7X3aW zCV3$u4`1PojgB*&(_W^+WT;IHzoIHSUgb%u()IpOk8}DUFY-9uRzv!5nLb*2{lr?U z)utO42XUw}`uJ?RJsg(Mlj3a$l?MlTo}6A?9gRlKM5QX*&XrE}%8p9Zb))AxYDQe! z)I5wsxK(LzNeM?&vR{fKW5RMaQIQ_fm8;_M8OVvO)ZZt0sGDwe3IE`Gtg}m2`^NTt z-x!CxaT+kx8gpq}M1c;RbtD_8ARam6sUVI_*K)o;jH4nX@tudCQNP4_F7S)L?Q<9W znAAMFJ05Og*^W*g?G039sBwm;8Q$fR<_ACRlR?%ZJ<?+`JGg_FT%u<Z)!QMz!HZ^M zT!m>&t1RrQVPRP=hC0jCmL?H;_zQ12@Uuz0qe<2ql4PT?M)J8v+cFaI|24xLZeqcu zIkwG18XI5@_wYMbN@}j{x`$iSwoSW&J^M{cF5*8PUfJOBMC%>qC>sWg`}k$Q5zXV2 zXnJ__k!#@ObNCalIEqVKnvcP5A~XCK@d<v!8!mXFpDG?3iGL5+P>9dacA=Aun;r$D zKE-c1<wDPMs03QnH{!I1FI;SSTI*eo)$p}A<~^jclB7D(Q9xr0dkq&*wJ2wQi5xFm zdnB7&n$MXth;tscu<5d|Iz~50HW8Qti`Zn8+s0V7IBajDCVUU)&?!-}g}}1e5KnmJ zX-mkKxvm$*nJK~Ja>2On@irgs-Prf1-vcSRb=ot|b!Hzp_Hr$XX=I$6=;KxAWLvg- zF<(G0r;ZQsUstwq#P2v|wp7+jd8w4|mGVj{ua<JNlsH%_o%0(u(}sW9Wvu#`b(-)| hby|hB^S1E3&$X>K=VRV!HP&48C~Ib(FC=k7lLx}UdO-jH diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-lib1.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-lib1.pat.svn-base deleted file mode 100644 index 26f65f2b34b2460eeea3c4a00b448ced254fcb50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1440 zcmah}-EI>{6h1Z=RV9Qn+szL@C2gES0*RB8mj2L|QfO-oB&-?)Br2d;d+c30-dSd6 zvo>*@t3E{48{hPzeSlu~A-FA~;stmF&g>czae=j3&H112o0)UU01$V07as4d!BAH= zAlZqzX#_$8``ei)IWNmjtvoap57LI}bVOu;xvcBFS9afrBd}9Xk~ECkka6hF1wzJi z(9_~^DiQ-vR0O*`>Oo(%V9x{s1~T+D*FD%*{v**a3E%{m8Sjz68eGZ*_RvXqM*x1% zmdfW62I$(lfRn9IiYg3EN(g>=jR2=^2O*_TH+Td%<5TAGriy4e;r9Sf#;GwD;NAdF zg^^LT!H2|nIWb(Dl**oNDcK~xIJ*S+ks{#)e%#Q4=V>^{WyljjJ5;jJ1e87>5xxZa zd;9o_7A>K*t&eAH?Ey{_KIfkj`-3gzCxmAcVE`AnZWDA|q|}7B1=yH>*_k3{0ng2& zb)RoZ6{Vfr`xmQhd7igPKl?BLo-z7JwSmrViH(hLj+EY2WGNDv=z=ZvoNc>D=|XXt zt_Z8=0IQcR<e!JQQn>=S+E9|t=7D9`JH!r+4%=-yKI@o0<T#59maerOrkO)0+q<E& z7h?m)QKJ&i*;c`6E$6gMobD1GT(vCN{|8ruR{!llA7Llc+tA5026=sKz*yvULf$Np zf0`pdPsle9kUwRMPOan~gDJqz0%PKfD=S%+Rb#Gs5*jYFSpJpA{E3x~h^i62Kuhs7 zn__>u^EU5-Eu0&lvPtLCsM_Z(DZ2Dpzc8s$I;8HyS^RS0>f+k!>Kfozw*%GT)Cw1C zI+W5r*ss&X_RcpkkA$Sr@X$G0W;n!eEB62|`MT``vH6{ClL^0TS=~NhQZD;S+rG<{ z@3l&!rf3%0l_cOzl@-cyi@bJlIr(L|?B<&RaJ5d2|HC@(u5Wsf4f^{yjWhTo0c!&O zlm&v^wUAg{vvZ;@6}KDVbziiU7Szx;if*TA)!*&o&Crge_0fQ`^9DB>DvD@a!M1nD zHs8j*(R#<bo9kQNcD_FJ?&m9GBjLXHpfF5$WV5Mk%42RJ&AgFZk4+Y~X^+iV=~k>_ G7`_7MMyQ<t diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-signal1.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-signal1.pat.svn-base deleted file mode 100644 index aa50e2e39510927f7f56eb106434110167a4ae20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 740 zcmYjPOHUL*5UyDg6Adv`yCC2LbwR+$qxYzZByu1jkqiqO<soTi8g`&(dYtLmSx^^$ zfEO<sFJ>-=i{3qZHz9b|82^aYG?<vmq~@!tudDm3ssKP7iZ(oJ)uBjg3y`*AVZ5eH z0C(`1eW<YcN?~d)WS$N~85zLu?2LmO)w9qAE#dEEse#-yCA3>wWub(^>_sw{ZNNj; z<>08T+`rX<Vd^$hnCDwcM_CB?2S4M;6W4W@=))h@ej*vc!en@it5~<}7pcw?PeP*% zAK^HgbE@Z|4_-EniSJBJ<#|3Ci$tV>5i*ezyCN3*<-d{9WF!sUDZ@eR!;jTrqIJ?> zI}(c9@DcX1dnd;oY$@3`z<W$)bP@;!9B%_>W3%J+>FGM~3(HL%iWGQtE(w$(KJU#^ z5{vi6B9aQQXM=TDkQe-7?J@BF&18EM@E5+v6$<fztrC~dBQUtB6Q8&iTuO8n`O-f@ zm(!;3b$$Y__&O?8<-PoBm?;x1si5SMe(&huo>JCQ+gCG-tbGor3O-bO0DQo<8RGp^ zM@CV8jk?zX4@#pc;WymHyH;R+-P`k&>;Q|q%FOHkGVF_Eo8OT8zVJGLZ`p){U)h2~ zQ`*Br{Ef5KZrTQ3JJq!V1s|^62R`Cyr4x8c^0RpdKb@`(zv=17Bw9hvN5h~UMB8>0 zZ*b+`z!$0I7*$2mGq6q@QsQN|VSU40x1Qp*?xEYTe$8#rhVZdR?pm22k97>iUvbvg AMF0Q* diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-signal2.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-signal2.pat.svn-base deleted file mode 100644 index 21c12f8827ac75ad84d092b74f85f9ad53276acc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 708 zcmah`O>fgc5FH0Dpb9ZtH!UA2A1;un&~(EMAr5fpg(8!*d`W;d_9nKlca6P{O@JbC z<iwQ&k}v!V_z@@vE`a(Q_yz372yRp>Yy3tt^WMB^06-G65}r?bP^Hct$R-I>Ucgfz zzbtapB3BQS)kdWp7jjR=F&7GOh8?nH*~g#>lR&BDTDMyi#YVzXmW7J(lwWzq5;ise zii-`w6;vw67B=ydy{6lWEF23KX;Ph@;S#w~k1IzJFBQB{xsqwfBA8x=m+f1f-sWZx zUhM=jW*NNRO2a79t$TT<g}zCc;1S^BQ?k%NTG8Xq1E4re$3wt<{D6;iijtARuIn1G zIFzZcTj#(|WiEW~*JvpVm@kVOG<_+!(MVbre#NnU1P%dR_5vm}Wd?L56hKcf;R8J> z^LopfuDo7Xo|<q^F9P&*7Ea9|+7fv@H16(N_yyM=YC!}2;g9+IiTW9hx{$0KRDs_Q z7=a)0^Zz(jhq+Qx0Di;A*fgwX1TT1L5^wRgy<oOI`{z`9P|<VFO`zvJ8R?y#nA5%g zx2uz}IEgsWwUnv9rtRaq+KLNpp_%B#Q7$|cN_~9o9=){9%I@~S?HF&`p47H_3i|Gj a5z`*H{dw%)-K}H)UL6PbP3$Bxf$BE}X4sbi diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-simple1.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-simple1.pat.svn-base deleted file mode 100644 index 133eefe98786a1fdc072300aba32b6ff57475e6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 725 zcmZ`$&2G~`5T1k+RfHImwm>PgB+!Qbq?;2e5=iCH8;T%6TBM?ly{RqiUE^KHq5M7o z2RL#-@`d+6^a*-`3kbmjzzZNTYe(XQR;$^W`M&x2wh91o#K-V>)PX!{+yXs{xp94w z0Dg2{SDZgp=Y2IdjV`3FiXtHm;1RZ*?MnRw%)rPuCf;nfvn*SWdBSyIxJbm>BOdbu z`!+(ZOJN{4DbC>xeyBHzmgyjhL&1vh5l%bT%W~skD8>e!nAE5w;2|8W!qerOt<J_q z2cGqO6>$yEx04_YiTWbdH0R5hOA!L%L#I|nma~(MJ}?|4`vbu5_zrg|#GIk^yWOsJ zP7PGz5w&pYiAtp>ywaQ2KKE2sIy0V<f*P^eNNCOX1>hL_xLBWpW57=PB8=?@POX9( z59`Nm^h`h!u~~L@4cMF^A;ppgc1|i_^N}#V@_?Nmssz{tLT&<E7>0@yWu7etguLkT zFr;a0S3JZW#G-B!;MEO^H3%)!2=EJ~uI|u6cj)5R;(S9oc1O$og>U|Gp{(~CM|(xN z+XQJ!k%=*2j-PO=UZdf&oLy>c0lVy~kS5%-{V4qdJO6EzI!*;2pjR%xz?LRT=|Y&P z3ckf_Wo}u=!nJ?OS}xaC))YVEPi&XzD}fw|q=>T>S4k;c1O0B#F0*ofV((4t-HF|u O*dD1sxYbzEhx`S9I?_e} diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-simple2.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-simple2.pat.svn-base deleted file mode 100644 index acc7474448ec1d49f8420a3d1dc46ea118b12818..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 668 zcmaJ<O>Yx15S@e*s6xzkTPV;LvZW*vG<8mh0|zRR8(Nfr_^3cm*4bU*wHL29o0cyL z#1DX5Z@D1x8<05g2e?$6_z*vZandWuvg|i{&+}%+bpXgSK7nWB4oppO8;Wtx?JyAr z@W5-=ydQOMr#`ho2xTUUg2w{z9X`T!{{$R^aUx_6Q(FynmI-A653%KSYyL@ChDl;= ze!bnUs%k6eh8L;j!icL+dCvFU-3qm(gmrpc#bx~HZ;))SNV8lD@<ZW6T=H(rpW7cv zF|qL6mR6gTOL%bwUN(1Ho$c)oyy_=9;|09#np8@XvQuS2MKH{{5)yFniMLQkHf3IL zAK2o+!~?)Tcz_Qn#Qc%NVHi5FG|(m@?F=j%U8+b#b9A~$c%-X2I1_0lW-h<s8@%Qp zr-rZ<YtlFtCRMR>adsrNDl_obYWM*+A5e-OZTvM`zmb;9N<{pQ@Bc?Qr$i+tK(sH| z^%p4DUT@0I2RDJO4z<(<9v?mP6FdLRQ+X>je2cf{X4jOqWSJW61vUJN(Jb6!>uCY( zLL^4Kltj45O-$3L@w$<G!d?74*Ee#ilL!F^w$X5Zp#dek)U+DdrcDH}%R{XSEk(;U gqe(!Cp@rSB?`m$|Jv#f;6o>DH{X2BFa!sG=FBjy=F#rGn diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-simple3.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-simple3.pat.svn-base deleted file mode 100644 index 7dda678c1ecb0ec43b12249b4fb0fc39370f9028..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 662 zcmXw$J8#rL6os#s3baDGj>%&;%gX_Rl-F!JItUV?K_-N!5YenXSzFjMW@fzJ4X+9+ z{s5f|py3}N#4kuqO-D;Z4Kwy`<Ky#<&()dh769ZK9m9)JA1dkJ0X5304r3+(zu^z} zU(5aNRN4=q2t}4Lt^tp6-M#I2r(pp`vDW#ut*x>wH*+efN;GAXZ9JzrJ+kkb@lDP& zRJy<(F5+iz)x=7bWO>SVYJ7}K?p`x)e3-JahKVk;kO@uUXdPaz?OyF~Z}&IMV+UUC z$0DN&Uf+^QnwtEZLYb~_bIMr?IFEB~yM?48bN(YBIFQ2u;4l1$PYfdNq4hx!STjEm zGBVlPcv2KRVo~GHsF+5gY|KI=II~UNT?fBo<eh{QKo*6zOCn2Zk`07yLY6b86df{f zJC0diulcYuVKlDeHy!*ki+4300$HIv0@9;$Sk$YvL)@-|pU`i@XX7HJaJS}d2j5|5 z$}Pda24DluX;D|epN6e8?7X=kZ|DbnYUn9j{6fsq+|rAjm23<q@dvMaZF5#u#P@Fi zSq()hBs{Y}?JFM4I$uhZDwvr-mhCo(gYRcYU2?fhbSw&Ou486j2?ggY)bKdi3#@-Q T)dy3(Kh^!I-fMI%7pB{PG`hE8 diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-thread1.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-thread1.pat.svn-base deleted file mode 100644 index cd204b4a329d5c45427e0c68753b044534eb68cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1004 zcmah{J8u&~5FUpLDMFdENq8j?93byxT|@{Z3J^+%Rstzba02VQH9qBhd))2$>_9@n z51^(yS#kkCfdW!ef>MJhkZ7Rc2O#G5LL`C|wA!8hX1@9MF*5)FK}&Stak~O(SiS>M zI}qA#$`J4kzO{Z0Sl<e%E^~<exK$^&wNt?FSgCQ&@6yCiW_(5(1XJDiWg<I<_5rV! z2H_Yax*1C0Fi1P)o6xnDr$X2uYNquHmrBQpwB<-obOGO|I<}Vnb4EruP)|EuBSyXh zF(ZRNj=m|y4~vlNkVgMVjTmc`a>Q?7|KBtEf1mNB9&4?9AgPBqMql{UR;`xwHQ*jj zTg!#g2^fa$rq;o=g@q(Z<^vIm$kjrIa&A)uVk_Hg>CgL81Lfl=j$pquL1{?__i)&{ zk<08fJlWCkOvhS<uJC{j%>u*8TT_+A#R@R%UQ@M11gy9mx}HaBtQ1F7cXl!mzVrZ# zIAjeDAWPYBxe9Eg9zLoAe!-WxMlN=$k>RWr2%N5~(4k}l&V(xV9qHugY}6EvN^)?{ zQNA=c-$sGAO+&Cz+jH$rU}IVVJ0EEg=8t=U${H`^oC}j~1K4<1#lS|{MV+{|q$jbm zZjzmdM2pO&y#Ih*cIjbPj1pagO$uOBk+hXhU|PE^IYoD9Qyo73>D;`x*bH%eX=_+9 zJ<eu0U!y{?nH63&w#rwHUFG*PJKGQu)dQ-$#_=`2!>?xc@F(`Nv>IPG^mV>r=r#U; zQ*76oE96Vhx?aes6c{pGGKhvvE{kV`T}$sTJ?r^CpF&v76N(&5*={aS0i?eH5)CyI diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-thread2.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-thread2.pat.svn-base deleted file mode 100644 index d68690c4e68880394b2cfc8952b43b64df0857ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 874 zcmaJ=O>fgc5FLjTQiU=bCk0AFAUyzrwwogdkU*#xgjOnQOMrw;yse}93ws@>Nk9Gu z+{}TWz=Z>UqUr%55E9}CAaO>l*G}3~wX*iT+4p95X5<n81TG)J+hGgRu=xz4VZdeI z79rqg{6hYf$S)(6O$M<mqKNMZARi3;gbU_HxBx>bMiNpPlcUpM5=lSM!Ce*XXd%lq zwNuSdar`^WlVtSgSuwtw9ct}xMzywgMmy@oQu-c{n+CdAS6A)zeb*J91hQmc7wh^7 z$~X36x2H-Yfq{SU;VZ`2y87_DUO!MRMN>KPL?T97c7jjMIaTStv_rwI7GNtqXg-3& zzVG-UbW~FOeQvTb+UK56lz(<hH$6C1IY;;vy}T4W#ye!qFfTz3j%+D|`ztF+k}L;2 z<k3KK5sG`eJmBLDOW`ehBAdt_F5*0XG?$cZKcmN3BM<U4w7l(PbE7C@>4yXE03~;U zR&G7M-CA930X3i7zRM$^)wOWoI4U2l#gXb9oe#Jt9KZ^e$y^C(N-sCJfL`f^J3UY% ze2;AvqF1*wo;6dEg`OW;%B;z?(2qS!SUFpaY;O5UPU@EL3H|nO_@<Z|y&g#(W))3T zA5ZW}K8^LfPqfkZJx}x{Y_N_R9Bp*;0BNIJ>{u=UV_RDAnsxQQ!4Nf2+hz{P6jTbZ h$zBv5BvX@_YfaY9L3Ijh1!%LEQ&TkqH-hYM_zz2n1rq=O diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-timer1.pat.svn-base b/externals/grill/trunk/flext/tutorial/maxmsp/.svn/text-base/ex-timer1.pat.svn-base deleted file mode 100644 index d3828986a3340bb7e7e37e8ed66ab3712c0f3261..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1247 zcmah|%}*0i5TDkQh8Sj9N}&ouQCj(Y1uiCjpa*Wcq{Ij!xNTqCjr+y!+qNL$MLl`a zgK#j}M2-Fl9*zG2-ZjR=Kf}b?eOrw&(QGzv<~MJC^YLcV0N`4B2ew-!2)+Du@LR4f zs!i?zeo&sKlpks3WjYjj4FZe%zTV(~MSP8m>Tx&*tp*p4FAR%AC;~D(!^zmtCPM;u zs*YuGTYzGuu!=jeeMfjkqd`%2b-3?x&v0r+74~>5x)_QMex<9fyt@0qH|&PVVJ{T> zHgEF|DDP7E2*+ak!#ZFs6s)%r2;tbEyiK9Er4fR4)3E~!l=p;SeofP~GX3~D{=Oi6 zq*CG$-2pDebWG`{a}`+MIHPR#6+MNIyWwOo<!%an8AaJ9@t^eMe%Pf~yYx#$A8`-< z&7J+tUHl(6xgX#anR>rtbHC|`D08C5Px$1|tnmniOd7wT_*c&4`zz&4LMt;4@CCU} z$cO_T_c_IjUf(3RAmMBbFGan>5WnMyga=*ENZ$7di^_6JJqa0LLro#v3$wHBc6-Lv zJ>55i&OJVTPj~g*NEY0lvAG<K9A@y1Iv)Auq6zb&7wS-98Rb&KcdBmkjsSLA1j6wQ z-2^r~1#F~ntyr3yn+JAgwdq*84{UVVGfa~R*jV7xG_t&_+uQ`iEu|-oEM(*PTfoj% zyha6RCJ%9)Aa<@E>Cx<vGEs578u`Xb!E*w;#%oe5`c1v&w54*sMs186RiH+VswZfF z*kqHNZqlZYSW<f;Fc-3^JiXy`)iE6pHlzA{tl(wY#hJLdz-Hs}<LYnXbF4}09Bm#j z=I{7|Tfj=)Eu?*Vg%^`MZ2m@>Y*hC`)v;|}6@VkO91(!SiLjcS>&baLIX99Md%J?# z6|#v?URjH|%9=bkwRq|lwzQ2HzoTuf#IY0&`()HUjrd{=36s{0h655C&`_09KVi~3 Vq+w2CISsQ?8YC>TF1il2^(W^KW1;{6 diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/Makefile.am b/externals/grill/trunk/flext/tutorial/maxmsp/Makefile.am deleted file mode 100644 index 634062213..000000000 --- a/externals/grill/trunk/flext/tutorial/maxmsp/Makefile.am +++ /dev/null @@ -1,6 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -EXTRA_DIST = *.pat \ No newline at end of file diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/ex-adv1.pat b/externals/grill/trunk/flext/tutorial/maxmsp/ex-adv1.pat deleted file mode 100755 index f086ab57ab3d25dae4724747b42c2c90c2dff7e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 540 zcmXYu&2AGh5XUFsgjAu<vLt~*X;}^+=!erA;#5>|0<B1)O$9~HuA4;c+OF-*riIey z=!ty`uJi&=zzwQCO2?bZvd6!%X68TRCIIN1PvLOVg~~*4!A>-H$w(N$CEN@?HG`c- z<)Ro0DM~Q~{EdI`Wq1>Az(gCNg-oHe!a?Pxvd9NM@Gl->)Q{u1M;rgw>jG&JR_-Vl z*7Bi%pwqx1w(DH)dh~$5@FQ;3e5?$7b)|xDr823d>?euJb0HnzIX(;CG{RfZg6|{e z^ozB%vMg6MH{6aL7e=gn;hG=&yAyI%*6NN(`9J(wXFpX^fG=5)^9SyQbJPx-=jnvO zX~i(w1QsMJBN6*l89Ug*G<-}2*}Ug-YzOaW3fS#~OiUfH&=pRZG0%YAc@C`g<ki#e z`g(VTjtyY#?UBm41=e|O##u)Fu)Bq&VX=FfOOe6;=U}dhtYQn%F0lIpGaLY3;u-Fd zi#<5-?8is2IG~YGXblgIDr73s87<inPgOaC<<z%Hl^!KZN|8ADKtJMn_uB4U+g{wS N{rz~`+ej-7)fL@BpdJ7K diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/ex-adv2.pat b/externals/grill/trunk/flext/tutorial/maxmsp/ex-adv2.pat deleted file mode 100755 index b6aa006523b8f52a09b29a863c09ebb6338ce7c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 726 zcmXw%y>in)5XV=hf(cAkG5NAh0ELi%?c|(}lFy-G1O&*WVCF1cEDh3~xI0;PAn*e4 z0L)Ohp<;Le3T7DE^t5!m0hDkj+0E_k@ATjM@1AM^kfn44FNZytNbdotVMcWjF$wq; zzq$Wv?r&$JJs<Kwq$%SX@C4iLeW!j77GW4^o!!{pE{dX?QAt&-DU+=8f@bu{?lt3G z&NNJPjxAimPxW;pD`;r%GwcMH-A7fe(P6?y8pb-;LdG<Kqc*(SytUQa+39u6vJ0>G zB9T%B$M<BMBu4)xSH|eujB=I$F5tX7S3@!(^WHuX?8`wP@E3l-1A~ZrXmj89ZL-i8 zGBnyUsY{XbkcCxtUPUw%MU^auf-~#Xz3t!+4C|-i6p$sM?S#m(8mE0>osgB3DMbei z+=heSu~mJzI%YH~<#!zXGLttn9RO)k9s+4mImpYo+9Gb#!O!Sb;tNrpP<UAKvktz) z)hV|G{}_N3Skt1kfIkguR_vl_kXQ5=Q$x>K<Ch|qWR_m$tY9NBiodu~pEGC0gm~Uf zAnSohgoNkzbv|M?^L!;%DrcqwS+UdTIrx5d)F2y0tRs<Y(~gz3@UAPJvMRZ%qgVmi zw98f;nja_*%-fPRa?Q*T$aNK`S;BUKwAqN-t+m$)1m`T!u;)MaZT@5$pHAbmY22U2 LgDQ42VcPo-^WMnF diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/ex-adv3.pat b/externals/grill/trunk/flext/tutorial/maxmsp/ex-adv3.pat deleted file mode 100755 index 1f0412572c3024f2f65894a7af8bc5298df420c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 801 zcmaJ<y>1gh5FQ5!1d5Pnefa|tAdVw`oH*+=C?ym?gD$~{C<%tOy|Jy_AA5UeV<1SB zyaC-cd4m*)f+xreP=M&DDG+6tU7sk?YH#NIW@ql(nVkTD$QMI+nbsjw<wp>wk<jg) zRDhrH3p<@)zYCczyO6XJt-}Ctga<g~W;$VW1^i>(G)VlGN%={{t)}a`k7?sKyS^hW zf|(xpGLA)80{c+FZqqprXJCtH78Ash#q9LdFfaZc*v#~>9s0fuG%!)XZG2!4zKW%W zQLJSIujBqmf=R2ILNhl0)K)%ghy_b*?$8Ok)O%bW7kIP8DJjKI*#D2{A)a8BJuEmE zVH)1{w2n4vwZUMp8VM!hz7|r+l>-rpk@2+*Rs#}7qH!K)@W@%Bv_sKJ*DZH~vutZz z>)pO5hZ=ZMCpuJp;Q_}gaCYO~&HCC}eT6>jz)Ou@=!+P*b6@p6kBacAB&J^T=|}|9 z11w>YO->-s_)K{l_-spcTYx|CBkmBz=k^UY{U>m#6{-#;TX0#0Nzjp<F}f1>L?;}K z!F(qSY)3K0V_bAD(4_c+lBVaR;A$WTatQbfzhcdqq~Kx3ua)ltzupeLP(jn&KgFZG z)qKHVg?o70ww^C))$evmh~bZErW@mt@N%0p>2ZLaGt<74N0wSfZESvDX@@}|+ZuM< zU3yl$(r}Sk2OYOzo!#6%$?Y?@K@W*n_Hv8pHt2!y3Knzcd2Sn<STZG+qcDQ(FM^Wi AFaQ7m diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/ex-attr1.pat b/externals/grill/trunk/flext/tutorial/maxmsp/ex-attr1.pat deleted file mode 100755 index 5dc46f10698aff9960f5cf2b7f4723dd6d19b28c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1050 zcmaJ=&rcIU6n<O1Xo%shwJ0iLw_rg^nfe<Q6%X7@4F-WIGHs{r%64bFJ4*}r<3ytV z2Zoq5QO{n`#JhikH;vJF(3}5(Z*~huvf1o@Z{B?Gd*8fC0D#xvZD_6*pyOM2AXxRd zD%XV%_zr)Xe-h?&qNA)Lgk{-i2v>n=8u$V2<N??RtAS9^;!62;DO3X5Y3|q3&{3h; zW8h2t5@oG5L*cJMtG%A3+;SZ@%F+#_BSxaktbyT9<`Y?ZEXoR=?s5jOzM=W{8(6|u z5#O^KRec`Fh5*)^t_#Q0B^fqE5b&A+{EZ)RI7($E2?BOF!*oWn>PR<i=!CauEfkBz zS$gqX^n6Ep2x=xuc!5^TaD=L9l5Sk#tvH_2@tw|to#kchkC*$jE{cY@fGao?2al3b zwHlerj>%AYp^8-DGH&c4Co~5P-Ts@HqhHbKQ0K?(0N4rX((g%Lso2VvE_Z+p5VJ!D zu~St^g$B7p!PC1+bHe2%M^u2NW3MCWN!&L3jXgv#%M~rr2J@g{W(*vNwPZZsrja0P zEZoL_xSZ^vsbE988Ur?bQyVwiVP~vqVA-;CNYRq^<SUMvGe+_dq=1domGUO@`Btkn z?s1<7w&K)bZiRb%UH>cLj=R*6-Z+ST_&%A@`-WnolsVNU8m&5_O^u&bp_0C>%@`X4 zmdoBADNIZhfQ{d)%LXUg@-x0owvg_LFwn=rJnjkyFonHlPXbwo6|8w+=SqI91o#7A z<06IF`KrcxNC;dgNxwpyBXH4|p<5waBXlXK^NMW6;BrMDk{0{P%o&)Et-IojAavrU zzTvO#Xt&s;)_0WyyH@rE*M|zsB%#-<JRl?BL2<5#f3b<5v8lrkW4uXtQ{$x=ZxP-i lJVjT{)i(-zX+Z}TyWhFue1snrX-O~4-Mz2BH#|vm`ybVmHj)4U diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/ex-attr2.pat b/externals/grill/trunk/flext/tutorial/maxmsp/ex-attr2.pat deleted file mode 100755 index aab02c9285aaa0cfa32dad2920d961133c2506cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1389 zcmaJ>&2Jl35T6aFN)^g%-6Ty)2zChhsN;+qK3XWWX&^T+0;iNht7rS!URdwj?!JxF z0__P79Jm4!kz5H*h!d5#zyYc1p??7v5aq@Ni5}pFnAzvLIaRA&@BHTXo3A(PF#w2r zY8Ni=RAG>mUWIfgR<_yI3E<cGhyUl8zcDtjr5a>S)9dNTf`84!?=UDFfJa~_)fW27 z+9YUXR>N-5#6=j`D?Od2s-wZ*_V5QR<>ad-h7XpP#Vzm+oN@4nr*ddrm_z8J%6;et z9(Am1PIyRI(+;{`&RGnNV$t}DVE7|`jFhtoJK82X%|e@dK4;II^Z4xHng%w*FF5M3 zr9K@hs-z=rWOxrh!EMJbT+VcI1?cdo-883sk0IU~QfR_7-qTIXESg;8!8E%-Q%w`4 zCe%wg{WCm=pE~*x&JQ%5nw|!lDRy<}hKCXUgbR*yluH46Y@S$5v+dACSr3@-EtbyL zYPC1`#$WU6H{^>=Y2R>@Zs_zlCy^Kq4)KhOJ16k{bCX6yR3A>3o{(Dda@+V9ZaGPj zPr1|K&7hLWY@EqFX%>6<-$QE2{MS7HfQNf7#=Pa#;%=V|QlJGB@#|Bn)e3B2A{7EH za^z5^veY)5Xjz2}u8ayT>qs?1-2yu11}&9y4fp(#_mCo}9O=H^1%J!)7d)JGwXDWT z!28Sr%6!iMV6AYFSDGr4tqQbuns<Z72SlX}plZ{ET+u~YircutkqVE(1kmxWweiVH zrQh$b#wt;1U=?>*eqY7vs=Qkrtw!9D2<LDTzbVX%uHphs`t@O;^>(Otx$&oMW=#^v zFrGOE^z7o<rRv&Rwaky>K+nC|H9f_%JF%4nJR2_lWR}XAJRhq_hkz3}?jIaO8qf=+ zw}4JHl1>Bgcl;9HW{6&Fi!E!y#!C&8v{;-QrxTM!EuL*|ok_c@W%|z8Xvs-Q#ee(j z9#-7^&W^q++T<0FWbZH5F7X1=%Wai%<M3{+UPFs}_%H4Wj0FL{+6NpK;O7UxJ5F&O z8z}ckdBNcw#^fI1IKd8o%EOzS<7S>?N{|!#k!e9L>_;YtsynQ@ldFylRS%Gvp=yMj nX8;r5_wbkefp=MbSJaoplaB1odhMKyVYB}Fw*0;l%iqlZ@rINz diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/ex-attr3.pat b/externals/grill/trunk/flext/tutorial/maxmsp/ex-attr3.pat deleted file mode 100755 index 7ef7292f82124bdd67789eca98ed94bc805cbf9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1358 zcmaKr&rcIk5Xax*#oscIh2k$nia$UpJcx-g5{Z(a7qhJxEh2T>KHA21cinxZwf^AZ z#e*?kOiU!H#=8dsF_LJE-Z1_L661g1U!XH@SLJ|a)7PEPcV^zaH?u8_F|T6R*{!)@ z*7V~SSup3>Dp!;~gAsn!;Pn>%rlqOk7OPfd5ZDFD_^bg-5I485O>8bu(qosJs!H?) z^lMrxNTmhhn+;foGn&`4Zq>;L>~ba&Ucw12+{S=NLj^|ROO&aR!w97}K>8L2wEG=& z4~5YC6^v_s7rCvJU&>aM3|RAC{4BelbIY#JCTYi%!Fvq&q<tG$^t>Z$vd)O_G+<P7 z(dzlqlTMxq2&7_7B{-&2uESs)Txhq5;Hmg7BQ)BaY9&h-w#0WB&_82Y)+PMGSN*I3 zK4{YZPYiHo^e!nf8)!nCw)xMWL<)Z#lDLbRb1M~z$LB=@GH^bu59UOBP-;l5tjb3y zMNA7<bWW_mfi4Y_Q|JNj;2|82B1K29paZqRd+`2ODa>P*9&;;pSj2o8-orfh@dvy% zw-fE8dmdq8_gK`o)Mc?}OgBB*ymx<w%Ev63-+RY2I1M-8SXj(nY*V3t*QSLP^gQ*u z%6+=Gkwl%zz{yCfYwr)x&nFCXC+lEhe^Dv#)Zk#PR!excZwDo1OJ5G$v^~2)?@Bre zCv2n%-4KIEW-kSHMyX<aGD_7oTb6aj!~s=Ru3xgtOmrV-;^5J9eZxaT!vnbBiF+oC zZp99mh)?*Xa+&Jytp-@FION%mEHmhUR=&LjL{l7&UuEJ*)-Plke1m5&g-9HoC7VV9 zjlQhw=P_6t{XTskG9OyUf})*wYoT#G?>f|SVbZi>+w<X#46L7bB@#K;ab!-hv;}Q6 zse`jNHU(#Qzm>N5O#>ET1r|wwu86E6S=D485uBjEWG|6z>!PL+z(-iXm<5WNBKyH# z8$SsI7uJDJ0%vh{R$y80vO5Hy5q#EQPYAvv_>LfP&6?JwU$@dp&JB3XFGkB6Rkub# zGo+o|P)nqfU{ZoaIt3m21^*zXa{{;0DgKlKpGV6Y&qPT9NSyzN*h*q~LvhG+J=XjM DqZV|A diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/ex-bind1.pat b/externals/grill/trunk/flext/tutorial/maxmsp/ex-bind1.pat deleted file mode 100755 index 96421f2db3e5431b3690a5ce3e96241193166a6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1509 zcmaJ=&u>#l5T0jxL8_|E#&IYlfz)pEgE-DOVA@J;Ra&W1t5y$4Xn+RvY_DUtes3S| zt?f88&Y?GiM1KfXRWCkr>A8je1C=-+u83CfACwDcX5ZT2st8%@H#^_VxAX1JqyQlF zy=}PME<!)begSbi^mL^zBfuN@ySSGUAEf#^>q4udd|w6{@GqPZ>rVPL$UwW+l-n9Q zx}{ar@S3o_1l{?M7K$q?tFW_HSH2g+l~1BZvk86O;?$z}+@^k8*E)Q+Q0R0z%b^!} zaYK7DlKF4E(AzP#mceo$b&_`&r}1h!$0zQV8$p%W+4E%_ds`C3Zw|I`HoYJA!Ku?{ z7{P+raPU#$+0!!Ckb5%!;QhX)u|Rg@HsFf**unRb0Kzbmp$w`(B2JE@@mf;_Eg$d) z{1>z5T-QCr3;#}j{~-T(Yvkl{6R%m8w5bbdLY2Rk6%CZp3TQI!`ekLMFXOMzV(EY{ zbzO0Mh9(UW;iCb#*Q3{KD(ZMqwGnI?o#Kjv-{GQFLkDw4JdKMT2QR;*xSm-0Pnr>L zm~P;ww%|j9Q-G$pN`8Gq$~iA1Ws3YL1x<5m@)-ENNI6KBdWOBLKnKlJ{D`;ll64<$ z1?G~5(x(iZ$3LIJG;I@Z;<`;Z@`CW^U=l7C9Px^SzD=0*yF*op-bIHWaQMt565mk= z?+<R1-iUx^%%Memj2naEY1VkUxQ8EFPuAAW7iBAc4%mvj*u)byG(C(N@vtfy<BnT! z@H7w2KG^M3E_)K_&5CNO2rhC17;qE+uq1EArW<?Q8*^pVGF>%qyQ(m_I+MWC?hN~B zA(9o@XiK2QfqcpNrmvLv%)y%pZI6x)!kBQW+y$DW16*3Z74xtY&tM>%fD@Pzucnat zRLE`st(2p!GT=k}1<$jKsAl%2{drR?tEkG!$!0Y&werEq?pR#+s;Xl*$Ezxkrol=T z6$EBHaLUDL9w9nW^I{%!*mT!iT*X_MGfNzC@HqdOfOUfuahDNZqX>=}=x4mk5HABA zv-n(+dC|hR@H%r|9}OFFU$WdI1Vd!QAU*tvsd<f_de$PlsJR~fqKGdo>;H30%sFLL zzg=%stE`$z=iIeZ#z7@SYnJek%Qibp7u>Is?|Jt^^2Ko%C#*H$qOexR#Yt;Tx|p`s M%)ojlR3Y@A0xDdMXaE2J diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/ex-buffer1.pat b/externals/grill/trunk/flext/tutorial/maxmsp/ex-buffer1.pat deleted file mode 100755 index 979774ac265aaa9110adba7dc53b5cd5004a0a7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1364 zcmah}OK%%h6h4!#kO1|&aov;@lVH=PC2@RXM5XeO3P=@5&?&72P1;7+p6fV@=h1n@ zPJyxp@em+{*qKH919+%g7N|%pSwqE=zd*a`x%W=JYtU$PUjEMc&N)6aLqtia#&m6W zjV5XR9m;kSmG=fZC47t9;*S}zG&9NTJ{7$<40V(fe!%BATX~EQ(C)QDr+YN&7X3aW zCV3$u4`1PojgB*&(_W^+WT;IHzoIHSUgb%u()IpOk8}DUFY-9uRzv!5nLb*2{lr?U z)utO42XUw}`uJ?RJsg(Mlj3a$l?MlTo}6A?9gRlKM5QX*&XrE}%8p9Zb))AxYDQe! z)I5wsxK(LzNeM?&vR{fKW5RMaQIQ_fm8;_M8OVvO)ZZt0sGDwe3IE`Gtg}m2`^NTt z-x!CxaT+kx8gpq}M1c;RbtD_8ARam6sUVI_*K)o;jH4nX@tudCQNP4_F7S)L?Q<9W znAAMFJ05Og*^W*g?G039sBwm;8Q$fR<_ACRlR?%ZJ<?+`JGg_FT%u<Z)!QMz!HZ^M zT!m>&t1RrQVPRP=hC0jCmL?H;_zQ12@Uuz0qe<2ql4PT?M)J8v+cFaI|24xLZeqcu zIkwG18XI5@_wYMbN@}j{x`$iSwoSW&J^M{cF5*8PUfJOBMC%>qC>sWg`}k$Q5zXV2 zXnJ__k!#@ObNCalIEqVKnvcP5A~XCK@d<v!8!mXFpDG?3iGL5+P>9dacA=Aun;r$D zKE-c1<wDPMs03QnH{!I1FI;SSTI*eo)$p}A<~^jclB7D(Q9xr0dkq&*wJ2wQi5xFm zdnB7&n$MXth;tscu<5d|Iz~50HW8Qti`Zn8+s0V7IBajDCVUU)&?!-}g}}1e5KnmJ zX-mkKxvm$*nJK~Ja>2On@irgs-Prf1-vcSRb=ot|b!Hzp_Hr$XX=I$6=;KxAWLvg- zF<(G0r;ZQsUstwq#P2v|wp7+jd8w4|mGVj{ua<JNlsH%_o%0(u(}sW9Wvu#`b(-)| hby|hB^S1E3&$X>K=VRV!HP&48C~Ib(FC=k7lLx}UdO-jH diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/ex-lib1.pat b/externals/grill/trunk/flext/tutorial/maxmsp/ex-lib1.pat deleted file mode 100755 index 26f65f2b34b2460eeea3c4a00b448ced254fcb50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1440 zcmah}-EI>{6h1Z=RV9Qn+szL@C2gES0*RB8mj2L|QfO-oB&-?)Br2d;d+c30-dSd6 zvo>*@t3E{48{hPzeSlu~A-FA~;stmF&g>czae=j3&H112o0)UU01$V07as4d!BAH= zAlZqzX#_$8``ei)IWNmjtvoap57LI}bVOu;xvcBFS9afrBd}9Xk~ECkka6hF1wzJi z(9_~^DiQ-vR0O*`>Oo(%V9x{s1~T+D*FD%*{v**a3E%{m8Sjz68eGZ*_RvXqM*x1% zmdfW62I$(lfRn9IiYg3EN(g>=jR2=^2O*_TH+Td%<5TAGriy4e;r9Sf#;GwD;NAdF zg^^LT!H2|nIWb(Dl**oNDcK~xIJ*S+ks{#)e%#Q4=V>^{WyljjJ5;jJ1e87>5xxZa zd;9o_7A>K*t&eAH?Ey{_KIfkj`-3gzCxmAcVE`AnZWDA|q|}7B1=yH>*_k3{0ng2& zb)RoZ6{Vfr`xmQhd7igPKl?BLo-z7JwSmrViH(hLj+EY2WGNDv=z=ZvoNc>D=|XXt zt_Z8=0IQcR<e!JQQn>=S+E9|t=7D9`JH!r+4%=-yKI@o0<T#59maerOrkO)0+q<E& z7h?m)QKJ&i*;c`6E$6gMobD1GT(vCN{|8ruR{!llA7Llc+tA5026=sKz*yvULf$Np zf0`pdPsle9kUwRMPOan~gDJqz0%PKfD=S%+Rb#Gs5*jYFSpJpA{E3x~h^i62Kuhs7 zn__>u^EU5-Eu0&lvPtLCsM_Z(DZ2Dpzc8s$I;8HyS^RS0>f+k!>Kfozw*%GT)Cw1C zI+W5r*ss&X_RcpkkA$Sr@X$G0W;n!eEB62|`MT``vH6{ClL^0TS=~NhQZD;S+rG<{ z@3l&!rf3%0l_cOzl@-cyi@bJlIr(L|?B<&RaJ5d2|HC@(u5Wsf4f^{yjWhTo0c!&O zlm&v^wUAg{vvZ;@6}KDVbziiU7Szx;if*TA)!*&o&Crge_0fQ`^9DB>DvD@a!M1nD zHs8j*(R#<bo9kQNcD_FJ?&m9GBjLXHpfF5$WV5Mk%42RJ&AgFZk4+Y~X^+iV=~k>_ G7`_7MMyQ<t diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/ex-signal1.pat b/externals/grill/trunk/flext/tutorial/maxmsp/ex-signal1.pat deleted file mode 100755 index aa50e2e39510927f7f56eb106434110167a4ae20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 740 zcmYjPOHUL*5UyDg6Adv`yCC2LbwR+$qxYzZByu1jkqiqO<soTi8g`&(dYtLmSx^^$ zfEO<sFJ>-=i{3qZHz9b|82^aYG?<vmq~@!tudDm3ssKP7iZ(oJ)uBjg3y`*AVZ5eH z0C(`1eW<YcN?~d)WS$N~85zLu?2LmO)w9qAE#dEEse#-yCA3>wWub(^>_sw{ZNNj; z<>08T+`rX<Vd^$hnCDwcM_CB?2S4M;6W4W@=))h@ej*vc!en@it5~<}7pcw?PeP*% zAK^HgbE@Z|4_-EniSJBJ<#|3Ci$tV>5i*ezyCN3*<-d{9WF!sUDZ@eR!;jTrqIJ?> zI}(c9@DcX1dnd;oY$@3`z<W$)bP@;!9B%_>W3%J+>FGM~3(HL%iWGQtE(w$(KJU#^ z5{vi6B9aQQXM=TDkQe-7?J@BF&18EM@E5+v6$<fztrC~dBQUtB6Q8&iTuO8n`O-f@ zm(!;3b$$Y__&O?8<-PoBm?;x1si5SMe(&huo>JCQ+gCG-tbGor3O-bO0DQo<8RGp^ zM@CV8jk?zX4@#pc;WymHyH;R+-P`k&>;Q|q%FOHkGVF_Eo8OT8zVJGLZ`p){U)h2~ zQ`*Br{Ef5KZrTQ3JJq!V1s|^62R`Cyr4x8c^0RpdKb@`(zv=17Bw9hvN5h~UMB8>0 zZ*b+`z!$0I7*$2mGq6q@QsQN|VSU40x1Qp*?xEYTe$8#rhVZdR?pm22k97>iUvbvg AMF0Q* diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/ex-signal2.pat b/externals/grill/trunk/flext/tutorial/maxmsp/ex-signal2.pat deleted file mode 100755 index 21c12f8827ac75ad84d092b74f85f9ad53276acc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 708 zcmah`O>fgc5FH0Dpb9ZtH!UA2A1;un&~(EMAr5fpg(8!*d`W;d_9nKlca6P{O@JbC z<iwQ&k}v!V_z@@vE`a(Q_yz372yRp>Yy3tt^WMB^06-G65}r?bP^Hct$R-I>Ucgfz zzbtapB3BQS)kdWp7jjR=F&7GOh8?nH*~g#>lR&BDTDMyi#YVzXmW7J(lwWzq5;ise zii-`w6;vw67B=ydy{6lWEF23KX;Ph@;S#w~k1IzJFBQB{xsqwfBA8x=m+f1f-sWZx zUhM=jW*NNRO2a79t$TT<g}zCc;1S^BQ?k%NTG8Xq1E4re$3wt<{D6;iijtARuIn1G zIFzZcTj#(|WiEW~*JvpVm@kVOG<_+!(MVbre#NnU1P%dR_5vm}Wd?L56hKcf;R8J> z^LopfuDo7Xo|<q^F9P&*7Ea9|+7fv@H16(N_yyM=YC!}2;g9+IiTW9hx{$0KRDs_Q z7=a)0^Zz(jhq+Qx0Di;A*fgwX1TT1L5^wRgy<oOI`{z`9P|<VFO`zvJ8R?y#nA5%g zx2uz}IEgsWwUnv9rtRaq+KLNpp_%B#Q7$|cN_~9o9=){9%I@~S?HF&`p47H_3i|Gj a5z`*H{dw%)-K}H)UL6PbP3$Bxf$BE}X4sbi diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/ex-simple1.pat b/externals/grill/trunk/flext/tutorial/maxmsp/ex-simple1.pat deleted file mode 100755 index 133eefe98786a1fdc072300aba32b6ff57475e6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 725 zcmZ`$&2G~`5T1k+RfHImwm>PgB+!Qbq?;2e5=iCH8;T%6TBM?ly{RqiUE^KHq5M7o z2RL#-@`d+6^a*-`3kbmjzzZNTYe(XQR;$^W`M&x2wh91o#K-V>)PX!{+yXs{xp94w z0Dg2{SDZgp=Y2IdjV`3FiXtHm;1RZ*?MnRw%)rPuCf;nfvn*SWdBSyIxJbm>BOdbu z`!+(ZOJN{4DbC>xeyBHzmgyjhL&1vh5l%bT%W~skD8>e!nAE5w;2|8W!qerOt<J_q z2cGqO6>$yEx04_YiTWbdH0R5hOA!L%L#I|nma~(MJ}?|4`vbu5_zrg|#GIk^yWOsJ zP7PGz5w&pYiAtp>ywaQ2KKE2sIy0V<f*P^eNNCOX1>hL_xLBWpW57=PB8=?@POX9( z59`Nm^h`h!u~~L@4cMF^A;ppgc1|i_^N}#V@_?Nmssz{tLT&<E7>0@yWu7etguLkT zFr;a0S3JZW#G-B!;MEO^H3%)!2=EJ~uI|u6cj)5R;(S9oc1O$og>U|Gp{(~CM|(xN z+XQJ!k%=*2j-PO=UZdf&oLy>c0lVy~kS5%-{V4qdJO6EzI!*;2pjR%xz?LRT=|Y&P z3ckf_Wo}u=!nJ?OS}xaC))YVEPi&XzD}fw|q=>T>S4k;c1O0B#F0*ofV((4t-HF|u O*dD1sxYbzEhx`S9I?_e} diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/ex-simple2.pat b/externals/grill/trunk/flext/tutorial/maxmsp/ex-simple2.pat deleted file mode 100755 index acc7474448ec1d49f8420a3d1dc46ea118b12818..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 668 zcmaJ<O>Yx15S@e*s6xzkTPV;LvZW*vG<8mh0|zRR8(Nfr_^3cm*4bU*wHL29o0cyL z#1DX5Z@D1x8<05g2e?$6_z*vZandWuvg|i{&+}%+bpXgSK7nWB4oppO8;Wtx?JyAr z@W5-=ydQOMr#`ho2xTUUg2w{z9X`T!{{$R^aUx_6Q(FynmI-A653%KSYyL@ChDl;= ze!bnUs%k6eh8L;j!icL+dCvFU-3qm(gmrpc#bx~HZ;))SNV8lD@<ZW6T=H(rpW7cv zF|qL6mR6gTOL%bwUN(1Ho$c)oyy_=9;|09#np8@XvQuS2MKH{{5)yFniMLQkHf3IL zAK2o+!~?)Tcz_Qn#Qc%NVHi5FG|(m@?F=j%U8+b#b9A~$c%-X2I1_0lW-h<s8@%Qp zr-rZ<YtlFtCRMR>adsrNDl_obYWM*+A5e-OZTvM`zmb;9N<{pQ@Bc?Qr$i+tK(sH| z^%p4DUT@0I2RDJO4z<(<9v?mP6FdLRQ+X>je2cf{X4jOqWSJW61vUJN(Jb6!>uCY( zLL^4Kltj45O-$3L@w$<G!d?74*Ee#ilL!F^w$X5Zp#dek)U+DdrcDH}%R{XSEk(;U gqe(!Cp@rSB?`m$|Jv#f;6o>DH{X2BFa!sG=FBjy=F#rGn diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/ex-simple3.pat b/externals/grill/trunk/flext/tutorial/maxmsp/ex-simple3.pat deleted file mode 100755 index 7dda678c1ecb0ec43b12249b4fb0fc39370f9028..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 662 zcmXw$J8#rL6os#s3baDGj>%&;%gX_Rl-F!JItUV?K_-N!5YenXSzFjMW@fzJ4X+9+ z{s5f|py3}N#4kuqO-D;Z4Kwy`<Ky#<&()dh769ZK9m9)JA1dkJ0X5304r3+(zu^z} zU(5aNRN4=q2t}4Lt^tp6-M#I2r(pp`vDW#ut*x>wH*+efN;GAXZ9JzrJ+kkb@lDP& zRJy<(F5+iz)x=7bWO>SVYJ7}K?p`x)e3-JahKVk;kO@uUXdPaz?OyF~Z}&IMV+UUC z$0DN&Uf+^QnwtEZLYb~_bIMr?IFEB~yM?48bN(YBIFQ2u;4l1$PYfdNq4hx!STjEm zGBVlPcv2KRVo~GHsF+5gY|KI=II~UNT?fBo<eh{QKo*6zOCn2Zk`07yLY6b86df{f zJC0diulcYuVKlDeHy!*ki+4300$HIv0@9;$Sk$YvL)@-|pU`i@XX7HJaJS}d2j5|5 z$}Pda24DluX;D|epN6e8?7X=kZ|DbnYUn9j{6fsq+|rAjm23<q@dvMaZF5#u#P@Fi zSq()hBs{Y}?JFM4I$uhZDwvr-mhCo(gYRcYU2?fhbSw&Ou486j2?ggY)bKdi3#@-Q T)dy3(Kh^!I-fMI%7pB{PG`hE8 diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/ex-thread1.pat b/externals/grill/trunk/flext/tutorial/maxmsp/ex-thread1.pat deleted file mode 100755 index cd204b4a329d5c45427e0c68753b044534eb68cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1004 zcmah{J8u&~5FUpLDMFdENq8j?93byxT|@{Z3J^+%Rstzba02VQH9qBhd))2$>_9@n z51^(yS#kkCfdW!ef>MJhkZ7Rc2O#G5LL`C|wA!8hX1@9MF*5)FK}&Stak~O(SiS>M zI}qA#$`J4kzO{Z0Sl<e%E^~<exK$^&wNt?FSgCQ&@6yCiW_(5(1XJDiWg<I<_5rV! z2H_Yax*1C0Fi1P)o6xnDr$X2uYNquHmrBQpwB<-obOGO|I<}Vnb4EruP)|EuBSyXh zF(ZRNj=m|y4~vlNkVgMVjTmc`a>Q?7|KBtEf1mNB9&4?9AgPBqMql{UR;`xwHQ*jj zTg!#g2^fa$rq;o=g@q(Z<^vIm$kjrIa&A)uVk_Hg>CgL81Lfl=j$pquL1{?__i)&{ zk<08fJlWCkOvhS<uJC{j%>u*8TT_+A#R@R%UQ@M11gy9mx}HaBtQ1F7cXl!mzVrZ# zIAjeDAWPYBxe9Eg9zLoAe!-WxMlN=$k>RWr2%N5~(4k}l&V(xV9qHugY}6EvN^)?{ zQNA=c-$sGAO+&Cz+jH$rU}IVVJ0EEg=8t=U${H`^oC}j~1K4<1#lS|{MV+{|q$jbm zZjzmdM2pO&y#Ih*cIjbPj1pagO$uOBk+hXhU|PE^IYoD9Qyo73>D;`x*bH%eX=_+9 zJ<eu0U!y{?nH63&w#rwHUFG*PJKGQu)dQ-$#_=`2!>?xc@F(`Nv>IPG^mV>r=r#U; zQ*76oE96Vhx?aes6c{pGGKhvvE{kV`T}$sTJ?r^CpF&v76N(&5*={aS0i?eH5)CyI diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/ex-thread2.pat b/externals/grill/trunk/flext/tutorial/maxmsp/ex-thread2.pat deleted file mode 100755 index d68690c4e68880394b2cfc8952b43b64df0857ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 874 zcmaJ=O>fgc5FLjTQiU=bCk0AFAUyzrwwogdkU*#xgjOnQOMrw;yse}93ws@>Nk9Gu z+{}TWz=Z>UqUr%55E9}CAaO>l*G}3~wX*iT+4p95X5<n81TG)J+hGgRu=xz4VZdeI z79rqg{6hYf$S)(6O$M<mqKNMZARi3;gbU_HxBx>bMiNpPlcUpM5=lSM!Ce*XXd%lq zwNuSdar`^WlVtSgSuwtw9ct}xMzywgMmy@oQu-c{n+CdAS6A)zeb*J91hQmc7wh^7 z$~X36x2H-Yfq{SU;VZ`2y87_DUO!MRMN>KPL?T97c7jjMIaTStv_rwI7GNtqXg-3& zzVG-UbW~FOeQvTb+UK56lz(<hH$6C1IY;;vy}T4W#ye!qFfTz3j%+D|`ztF+k}L;2 z<k3KK5sG`eJmBLDOW`ehBAdt_F5*0XG?$cZKcmN3BM<U4w7l(PbE7C@>4yXE03~;U zR&G7M-CA930X3i7zRM$^)wOWoI4U2l#gXb9oe#Jt9KZ^e$y^C(N-sCJfL`f^J3UY% ze2;AvqF1*wo;6dEg`OW;%B;z?(2qS!SUFpaY;O5UPU@EL3H|nO_@<Z|y&g#(W))3T zA5ZW}K8^LfPqfkZJx}x{Y_N_R9Bp*;0BNIJ>{u=UV_RDAnsxQQ!4Nf2+hz{P6jTbZ h$zBv5BvX@_YfaY9L3Ijh1!%LEQ&TkqH-hYM_zz2n1rq=O diff --git a/externals/grill/trunk/flext/tutorial/maxmsp/ex-timer1.pat b/externals/grill/trunk/flext/tutorial/maxmsp/ex-timer1.pat deleted file mode 100755 index d3828986a3340bb7e7e37e8ed66ab3712c0f3261..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1247 zcmah|%}*0i5TDkQh8Sj9N}&ouQCj(Y1uiCjpa*Wcq{Ij!xNTqCjr+y!+qNL$MLl`a zgK#j}M2-Fl9*zG2-ZjR=Kf}b?eOrw&(QGzv<~MJC^YLcV0N`4B2ew-!2)+Du@LR4f zs!i?zeo&sKlpks3WjYjj4FZe%zTV(~MSP8m>Tx&*tp*p4FAR%AC;~D(!^zmtCPM;u zs*YuGTYzGuu!=jeeMfjkqd`%2b-3?x&v0r+74~>5x)_QMex<9fyt@0qH|&PVVJ{T> zHgEF|DDP7E2*+ak!#ZFs6s)%r2;tbEyiK9Er4fR4)3E~!l=p;SeofP~GX3~D{=Oi6 zq*CG$-2pDebWG`{a}`+MIHPR#6+MNIyWwOo<!%an8AaJ9@t^eMe%Pf~yYx#$A8`-< z&7J+tUHl(6xgX#anR>rtbHC|`D08C5Px$1|tnmniOd7wT_*c&4`zz&4LMt;4@CCU} z$cO_T_c_IjUf(3RAmMBbFGan>5WnMyga=*ENZ$7di^_6JJqa0LLro#v3$wHBc6-Lv zJ>55i&OJVTPj~g*NEY0lvAG<K9A@y1Iv)Auq6zb&7wS-98Rb&KcdBmkjsSLA1j6wQ z-2^r~1#F~ntyr3yn+JAgwdq*84{UVVGfa~R*jV7xG_t&_+uQ`iEu|-oEM(*PTfoj% zyha6RCJ%9)Aa<@E>Cx<vGEs578u`Xb!E*w;#%oe5`c1v&w54*sMs186RiH+VswZfF z*kqHNZqlZYSW<f;Fc-3^JiXy`)iE6pHlzA{tl(wY#hJLdz-Hs}<LYnXbF4}09Bm#j z=I{7|Tfj=)Eu?*Vg%^`MZ2m@>Y*hC`)v;|}6@VkO91(!SiLjcS>&baLIX99Md%J?# z6|#v?URjH|%9=bkwRq|lwzQ2HzoTuf#IY0&`()HUjrd{=36s{0h655C&`_09KVi~3 Vq+w2CISsQ?8YC>TF1il2^(W^KW1;{6 diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/all-wcprops b/externals/grill/trunk/flext/tutorial/pd/.svn/all-wcprops deleted file mode 100644 index 2b900dece..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/all-wcprops +++ /dev/null @@ -1,131 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 42 -/ext/!svn/ver/1247/trunk/flext/tutorial/pd -END -ex-lib1.pd -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/1247/trunk/flext/tutorial/pd/ex-lib1.pd -END -ex-thread1.pd -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/pd/ex-thread1.pd -END -ex-thread2.pd -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/pd/ex-thread2.pd -END -ex-buffer1.pd -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/pd/ex-buffer1.pd -END -ex-attr1.pd -K 25 -svn:wc:ra_dav:version-url -V 54 -/ext/!svn/ver/1247/trunk/flext/tutorial/pd/ex-attr1.pd -END -ex-adv1.pd -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/1247/trunk/flext/tutorial/pd/ex-adv1.pd -END -ex-attr2.pd -K 25 -svn:wc:ra_dav:version-url -V 54 -/ext/!svn/ver/1247/trunk/flext/tutorial/pd/ex-attr2.pd -END -ex-adv2.pd -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/1247/trunk/flext/tutorial/pd/ex-adv2.pd -END -ex-bind1.pd -K 25 -svn:wc:ra_dav:version-url -V 54 -/ext/!svn/ver/1247/trunk/flext/tutorial/pd/ex-bind1.pd -END -ex-attr3.pd -K 25 -svn:wc:ra_dav:version-url -V 54 -/ext/!svn/ver/1247/trunk/flext/tutorial/pd/ex-attr3.pd -END -ex-adv3.pd -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/1247/trunk/flext/tutorial/pd/ex-adv3.pd -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 54 -/ext/!svn/ver/1247/trunk/flext/tutorial/pd/Makefile.am -END -ex-signal1.pd -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/pd/ex-signal1.pd -END -ex-signal2.pd -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/pd/ex-signal2.pd -END -ex-sndobj1.pd -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/pd/ex-sndobj1.pd -END -ex-timer1.pd -K 25 -svn:wc:ra_dav:version-url -V 55 -/ext/!svn/ver/1247/trunk/flext/tutorial/pd/ex-timer1.pd -END -ex-simple1.pd -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/pd/ex-simple1.pd -END -ex-simple2.pd -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/pd/ex-simple2.pd -END -ex-simple3.pd -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/pd/ex-simple3.pd -END -ex-stk1.pd -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/1247/trunk/flext/tutorial/pd/ex-stk1.pd -END -ex-stk2.pd -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/1247/trunk/flext/tutorial/pd/ex-stk2.pd -END diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/entries b/externals/grill/trunk/flext/tutorial/pd/.svn/entries deleted file mode 100644 index 37c8bdd32..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/entries +++ /dev/null @@ -1,742 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/tutorial/pd -https://svn.grrrr.org/ext - - - -2006-10-27T13:32:48.852113Z -1178 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -ex-stk1.pd -file - - - - -2012-05-13T23:08:37.138556Z -b5def0dbd8f0b6be56aab4b567364275 -2006-02-01T14:32:50.049530Z -1151 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -465 - -ex-stk2.pd -file - - - - -2012-05-13T23:08:37.138556Z -87c84b02f26e23335be541514df9df0d -2006-02-01T14:32:50.049530Z -1151 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -942 - -ex-lib1.pd -file - - - - -2012-05-13T23:08:37.139556Z -c4c5656862615a7cfad90aa42c9b44dc -2006-02-01T14:32:50.049530Z -1151 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1674 - -ex-thread1.pd -file - - - - -2012-05-13T23:08:37.139556Z -4cf446f5bc06763c0a72226198e0416f -2006-02-01T14:32:50.049530Z -1151 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1389 - -ex-thread2.pd -file - - - - -2012-05-13T23:08:37.142556Z -98996fe90a33c58521f296705609c98c -2006-02-01T14:32:50.049530Z -1151 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1338 - -ex-buffer1.pd -file - - - - -2012-05-13T23:08:37.143556Z -259a9bad5f934ca300c2edc6a5f1c5d8 -2006-02-01T14:32:50.049530Z -1151 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -6055 - -ex-attr1.pd -file - - - - -2012-05-13T23:08:37.144556Z -a1c51560026514399a88eb70737dc994 -2006-09-22T09:19:20.556532Z -1174 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1066 - -ex-adv1.pd -file - - - - -2012-05-13T23:08:37.144556Z -b8fc3026c23a206c18a6c1b017b915db -2006-02-01T14:32:50.049530Z -1151 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -732 - -ex-attr2.pd -file - - - - -2012-05-13T23:08:37.146556Z -6a8c5af7db7246017a21b60b548ee6ea -2006-09-22T09:19:20.556532Z -1174 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1366 - -ex-adv2.pd -file - - - - -2012-05-13T23:08:37.145556Z -612ea072618969439b048770320da98c -2006-10-27T13:32:48.852113Z -1178 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -665 - -ex-attr3.pd -file - - - - -2012-05-13T23:08:37.147556Z -532a79865265a3a4829a7b9d69bfde4e -2006-02-01T14:32:50.049530Z -1151 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1665 - -ex-adv3.pd -file - - - - -2012-05-13T23:08:37.146556Z -9aebed87e9eee89c7341cb64fd69fd83 -2006-02-01T14:32:50.049530Z -1151 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1197 - -ex-bind1.pd -file - - - - -2012-05-13T23:08:37.148556Z -a86dfd222482980ecb5d13cba93d9b27 -2006-02-01T14:32:50.049530Z -1151 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1611 - -Makefile.am -file - - - - -2012-05-13T23:08:37.148556Z -c756dedac5be24a414cd971cb47f4e23 -2004-12-19T11:08:08.616178Z -911 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -67 - -ex-signal1.pd -file - - - - -2012-05-13T23:08:37.149556Z -d7c8b4f54b7769abe1ad61a5ff34e7aa -2006-02-01T14:32:50.049530Z -1151 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -864 - -ex-signal2.pd -file - - - - -2012-05-13T23:08:37.150556Z -f743a038de58c47baf4fa3cab692af35 -2006-02-01T14:32:50.049530Z -1151 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -925 - -ex-sndobj1.pd -file - - - - -2012-05-13T23:08:37.150556Z -ca0cdc567ee299278acb77cb9547fe27 -2006-02-01T14:32:50.049530Z -1151 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -986 - -ex-timer1.pd -file - - - - -2012-05-13T23:08:37.151556Z -3424c285ca6a7accc37a2a04ede3aa84 -2006-09-22T09:19:20.556532Z -1174 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1809 - -ex-simple1.pd -file - - - - -2012-05-13T23:08:37.136556Z -fcc226c93c83e33e5844523132bf8ad4 -2006-09-22T09:19:20.556532Z -1174 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -440 - -ex-simple2.pd -file - - - - -2012-05-13T23:08:37.137556Z -f4fe920b2b36ec3b3eaf475a202a7f40 -2006-09-22T09:19:20.556532Z -1174 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -586 - -ex-simple3.pd -file - - - - -2012-05-13T23:08:37.137556Z -62c7819fb8407b8e5c44e433ed293269 -2006-10-27T13:32:48.852113Z -1178 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -609 - diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-adv1.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-adv1.pd.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-adv1.pd.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-adv2.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-adv2.pd.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-adv2.pd.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-adv3.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-adv3.pd.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-adv3.pd.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-attr1.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-attr1.pd.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-attr1.pd.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-attr2.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-attr2.pd.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-attr2.pd.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-attr3.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-attr3.pd.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-attr3.pd.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-bind1.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-bind1.pd.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-bind1.pd.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-buffer1.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-buffer1.pd.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-buffer1.pd.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-lib1.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-lib1.pd.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-lib1.pd.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-signal1.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-signal1.pd.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-signal1.pd.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-signal2.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-signal2.pd.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-signal2.pd.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-simple1.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-simple1.pd.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-simple1.pd.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-simple2.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-simple2.pd.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-simple2.pd.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-simple3.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-simple3.pd.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-simple3.pd.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-sndobj1.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-sndobj1.pd.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-sndobj1.pd.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-stk1.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-stk1.pd.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-stk1.pd.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-stk2.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-stk2.pd.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-stk2.pd.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-thread1.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-thread1.pd.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-thread1.pd.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-thread2.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-thread2.pd.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-thread2.pd.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-timer1.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-timer1.pd.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/prop-base/ex-timer1.pd.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index d2f5ad4d3..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,6 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -EXTRA_DIST = *.pd \ No newline at end of file diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-adv1.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-adv1.pd.svn-base deleted file mode 100644 index 8dd10bc10..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-adv1.pd.svn-base +++ /dev/null @@ -1,23 +0,0 @@ -#N canvas 46 58 592 347 12; -#X msg 34 92 or two words; -#X msg 169 93 2 3; -#X msg 48 291 one or two words; -#X obj 72 213 print result; -#X obj 49 172 adv1 one; -#X obj 48 263 prepend set; -#X text 162 257 you can also use "prepend"; -#X obj 16 8 cnv 15 550 40 empty empty adv1 10 22 0 24 -260818 -1 0 -; -#X text 175 28 http://grrrr.org; -#X text 199 214 watch the console!; -#X text 210 110 send the object various messages; -#X text 160 274 (if adv1 has already been loaded); -#X text 145 10 flext tutorial \, (C)2002-2006 Thomas Grill; -#X obj 66 127 nbx 3 18 0 100 0 0 empty empty empty 0 -6 0 14 -262144 --1 -1 24 256; -#X connect 0 0 4 0; -#X connect 1 0 4 0; -#X connect 4 0 3 0; -#X connect 4 0 5 0; -#X connect 5 0 2 0; -#X connect 13 0 4 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-adv2.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-adv2.pd.svn-base deleted file mode 100644 index b4fa1ce46..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-adv2.pd.svn-base +++ /dev/null @@ -1,23 +0,0 @@ -#N canvas 329 97 595 356 12; -#X msg 26 97 help; -#X msg 123 146 born; -#X msg 172 147 to; -#X msg 214 149 hula; -#X msg 228 192 hula 1; -#X text 261 150 tag without argument; -#X text 297 190 tag and argument; -#X text 72 97 print a help message; -#X obj 16 7 cnv 15 550 40 empty empty adv2 10 22 0 24 -260818 -1 0 -; -#X text 146 27 http://grrrr.org; -#X obj 148 293 adv2; -#X text 21 49 this is identical to the simple3 example; -#X text 145 9 flext tutorial \, (C)2002-2006 Thomas Grill; -#X text 345 231 symbol message; -#X msg 228 230 symbol yeah; -#X connect 0 0 10 0; -#X connect 1 0 10 0; -#X connect 2 0 10 0; -#X connect 3 0 10 0; -#X connect 4 0 10 0; -#X connect 14 0 10 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-adv3.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-adv3.pd.svn-base deleted file mode 100644 index 0fdfc735b..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-adv3.pd.svn-base +++ /dev/null @@ -1,40 +0,0 @@ -#N canvas 175 139 603 361 12; -#X obj 16 7 cnv 15 550 40 empty empty adv3 10 22 0 24 -260818 -1 0 -; -#X text 174 28 http://grrrr.org; -#X obj 229 266 adv3 2 5 1; -#X obj 305 303 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 223 300 nbx 5 18 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 2 256; -#X msg 269 130 1 10; -#X msg 389 128 1; -#X msg 429 128 -1; -#X msg 469 128 2; -#X obj 88 129 bng 25 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 --1; -#X msg 317 130 7 2; -#X text 325 300 end has been reached; -#X obj 157 127 nbx 5 18 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 25 256; -#X msg 158 150 set \$1; -#X text 72 108 trigger; -#X text 147 108 set counter; -#X text 264 109 set bounds; -#X text 390 106 set step size; -#X msg 80 196 reset; -#X text 83 176 reset; -#X text 174 8 flext tutorial \, (C)2002-2006 Thomas Grill; -#X text 21 49 this is a port of IOhannes Zmoelnigs "counter" example -; -#X connect 2 0 4 0; -#X connect 2 1 3 0; -#X connect 5 0 2 1; -#X connect 6 0 2 2; -#X connect 7 0 2 2; -#X connect 8 0 2 2; -#X connect 9 0 2 0; -#X connect 10 0 2 1; -#X connect 12 0 13 0; -#X connect 13 0 2 0; -#X connect 18 0 2 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-attr1.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-attr1.pd.svn-base deleted file mode 100644 index 27ab0bb6a..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-attr1.pd.svn-base +++ /dev/null @@ -1,31 +0,0 @@ -#N canvas 70 150 694 465 12; -#X obj 59 296 attr1 @arg 3; -#X text 114 273 attribute as a creation arg; -#X msg 160 98 getattributes; -#X text 167 319 there is one additional outlet; -#X text 167 334 for all attribute-enabled objects; -#X obj 150 367 print; -#X msg 160 141 getarg; -#X text 12 92 trigger output; -#X msg 160 203 arg \$1; -#X text 230 191 set attribute "arg"; -#X text 295 98 query object attributes (watch console); -#X text 228 142 query attribute "arg" (watch console); -#X obj 16 8 cnv 15 550 40 empty empty attr1 10 22 0 24 -260818 -1 0 -; -#X text 175 28 http://grrrr.org; -#X text 26 388 result; -#X obj 23 114 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 --1 -1 0 256; -#X obj 29 370 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 --228992 -1 -1 0 256; -#X obj 161 181 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 --1 -1 0 256; -#X text 175 10 flext tutorial \, (C)2002-2006 Thomas Grill; -#X connect 0 0 16 0; -#X connect 0 1 5 0; -#X connect 2 0 0 0; -#X connect 6 0 0 0; -#X connect 8 0 0 0; -#X connect 15 0 0 0; -#X connect 17 0 8 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-attr2.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-attr2.pd.svn-base deleted file mode 100644 index 4e377725d..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-attr2.pd.svn-base +++ /dev/null @@ -1,47 +0,0 @@ -#N canvas 364 29 620 426 12; -#X msg 22 88 getattributes; -#X text 264 326 there is one additional outlet; -#X text 264 341 for all attribute-enabled objects; -#X obj 246 365 print; -#X msg 22 124 getarg; -#X text 14 218 trigger output; -#X msg 270 263 arg \$1; -#X text 159 87 query object attributes (watch console); -#X msg 95 124 getop; -#X obj 158 306 attr2 @op +; -#X text 251 124 query attributes; -#X text 332 179 set attributes; -#X msg 168 169 op +; -#X msg 167 194 op -; -#X msg 218 169 op *; -#X msg 268 193 op **; -#X msg 268 169 op =; -#X msg 218 193 op /; -#X msg 157 124 getresult; -#X obj 16 8 cnv 15 550 40 empty empty attr2 10 22 0 24 -260818 -1 0 -; -#X text 173 28 http://grrrr.org; -#X text 90 367 result; -#X obj 22 240 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 --1 -1 0 256; -#X obj 270 242 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 --1 -1 0 256; -#X obj 150 367 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 --228992 -1 -1 0 256; -#X text 171 10 flext tutorial \, (C)2002-2006 Thomas Grill; -#X text 327 243 set argument; -#X connect 0 0 9 0; -#X connect 4 0 9 0; -#X connect 6 0 9 0; -#X connect 8 0 9 0; -#X connect 9 0 24 0; -#X connect 9 1 3 0; -#X connect 12 0 9 0; -#X connect 13 0 9 0; -#X connect 14 0 9 0; -#X connect 15 0 9 0; -#X connect 16 0 9 0; -#X connect 17 0 9 0; -#X connect 18 0 9 0; -#X connect 22 0 9 0; -#X connect 23 0 6 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-attr3.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-attr3.pd.svn-base deleted file mode 100644 index b2832c187..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-attr3.pd.svn-base +++ /dev/null @@ -1,60 +0,0 @@ -#N canvas 175 139 607 457 12; -#X obj 16 7 cnv 15 550 40 empty empty attr3 10 22 0 24 -260818 -1 0 -; -#X text 174 28 http://grrrr.org; -#X obj 293 364 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 196 361 nbx 5 18 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 --228992 -1 -1 2 256; -#X msg 296 126 1 10; -#X msg 419 127 1; -#X msg 459 127 -1; -#X msg 498 127 2; -#X obj 36 128 bng 25 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 --1; -#X msg 344 126 7 2; -#X obj 173 119 nbx 5 18 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 --228992 -1 -1 20 256; -#X msg 174 142 set \$1; -#X text 20 107 trigger; -#X text 163 100 set counter; -#X text 291 105 set bounds; -#X text 420 105 set step size; -#X msg 97 135 reset; -#X text 100 115 reset; -#X text 21 64 with attributes; -#X obj 197 327 attr3 @bounds 2 5 @step 1; -#X msg 32 195 getattributes; -#X obj 392 363 print; -#X text 385 381 attributes; -#X msg 32 237 getcount; -#X msg 388 232 getstep; -#X text 22 178 list all attributes; -#X msg 32 266 count 3; -#X text 117 238 get count; -#X text 112 266 set count; -#X msg 387 259 step 3; -#X text 21 49 this is a port of IOhannes Zmoelnigs "counter" example -; -#X msg 258 234 getbounds; -#X msg 257 261 bounds 5 15; -#X text 174 8 flext tutorial \, (C)2002-2006 Thomas Grill; -#X connect 4 0 19 1; -#X connect 5 0 19 2; -#X connect 6 0 19 2; -#X connect 7 0 19 2; -#X connect 8 0 19 0; -#X connect 9 0 19 1; -#X connect 10 0 11 0; -#X connect 11 0 19 0; -#X connect 16 0 19 0; -#X connect 19 0 3 0; -#X connect 19 1 2 0; -#X connect 19 2 21 0; -#X connect 20 0 19 0; -#X connect 23 0 19 0; -#X connect 24 0 19 0; -#X connect 26 0 19 0; -#X connect 29 0 19 0; -#X connect 31 0 19 0; -#X connect 32 0 19 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-bind1.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-bind1.pd.svn-base deleted file mode 100644 index 355b97e88..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-bind1.pd.svn-base +++ /dev/null @@ -1,55 +0,0 @@ -#N canvas 405 36 626 400 12; -#X obj 15 8 cnv 15 550 40 empty empty bind1 10 22 0 24 -260818 -1 0 -; -#X text 175 28 http://grrrr.org; -#X text 175 8 flext tutorial \, (C)2002-2006 Thomas Grill; -#X obj 14 330 bind1; -#X text 48 72 bind object to symbol; -#X msg 50 94 bind sym1; -#X msg 174 94 bind sym2; -#X msg 48 126 unbind sym1; -#X msg 173 125 unbind sym2; -#X text 43 159 bind object to symbol; -#X msg 45 181 bindmethod sym1; -#X msg 47 213 unbindmethod sym1; -#X msg 227 181 bindmethod sym2; -#X msg 230 212 unbindmethod sym2; -#X obj 13 359 print OUT; -#X text 109 358 watch the console!; -#X obj 351 103 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 --262131 -1 -1 0 256; -#X obj 446 103 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 --262131 -1 -1 0 256; -#X msg 351 122 test \$1; -#X msg 446 122 test \$1; -#X msg 521 100 1 2 3; -#X obj 351 155 s sym1; -#X obj 446 155 s sym2; -#X text 349 67 send message to bound; -#X text 350 81 object or method; -#X obj 345 272 r sym3; -#X text 344 250 receive forwarded message; -#X obj 347 299 print MSG; -#X text 47 258 receive forwarded message; -#X msg 48 279 sym3 myforward; -#X obj 202 280 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 --262131 -1 -1 0 256; -#X msg 201 297 sym3 \$1; -#X connect 3 0 14 0; -#X connect 5 0 3 0; -#X connect 6 0 3 0; -#X connect 7 0 3 0; -#X connect 8 0 3 0; -#X connect 10 0 3 0; -#X connect 11 0 3 0; -#X connect 12 0 3 0; -#X connect 13 0 3 0; -#X connect 16 0 18 0; -#X connect 17 0 19 0; -#X connect 18 0 21 0; -#X connect 19 0 22 0; -#X connect 20 0 22 0; -#X connect 25 0 27 0; -#X connect 29 0 3 1; -#X connect 30 0 31 0; -#X connect 31 0 3 1; diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-buffer1.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-buffer1.pd.svn-base deleted file mode 100644 index 09d0655a5..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-buffer1.pd.svn-base +++ /dev/null @@ -1,121 +0,0 @@ -#N canvas 94 140 763 489 12; -#X obj 11 -12 cnv 15 550 40 empty empty buffer1 10 22 0 24 -260818 --1 0; -#X text 178 8 http://grrrr.org; -#X text 178 -12 flext tutorial \, (C)2002-2006 Thomas Grill; -#N canvas 0 22 450 300 graph1 0; -#X array buf1 1000 float 1; -#A 0 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 --0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 --0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 --0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 --0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 --0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 --0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 --0.0142856 -0.0142856 -0.0114285 -0.00857134 -0.00571423 -0.00285711 -5.58794e-10 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 --0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 --0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 --0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 --0 -0 0.51 0.51 0 0 0 0 0 0 0 0 0 0 0 0 0 0.51 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 -0 -0 0.51 0.51 -5.58794e-10 0.00285711 0.00571423 0.00857134 -0.0114285 0.0142856 0.0166665 0.0190474 0.0214283 0.0238093 0.0261902 -0.0285711 0.030952 0.033333 0.0357139 0.51 0.0404758 0.51 0.0452376 -0.0476185 0.0499995 0.0523804 0.0547613 0.0571422 0.0595232 0.0619041 -0.064285 0.0666659 0.0690469 0.51 0.0738087 0.0761897 0.0785706 0.0809515 -0.0833325 0.0857134 0.0857134 0.0857134 0.0857134 0.0857134 0.0857134 -0.51 0.0799992 0.51 0.0742849 0.0571423 0 0 0 0 0.51 0 0 0 0 0 0 0 -0 0 0.51 0 0 0 0 0 0.51 0 0 0 0 0 0.51 0 0.51 0 0 0.51 0 0 0.51 0 0.51 -0 0.51 0.51 0 0.51 0.51 0 0 0 0 0 0.51 0 0 0 0 0 0.51 0 0 0.51 0 0 -0 0 0 0.51 0 0 0 0 0 0 0 0.51 0 0 0 0 0 0 0 0.51 0 0 0 0 0.51 0 0 0 -0 0 0 0.51 0 0 0 0 0 0 0 0 0 0 0.51 0 0 0 0 0 0 0 0 0.51 0.51 0 0 0.51 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0.00357139 0.00714278 0.0107142 -0.0142856 0.0171427 0.0199998 0.0228569 0.025714 0.0285711 0.0314283 -0.0342854 0.0371425 0.0399996 0.0428567 0.0457138 0.0485709 0.051428 -0.0542852 0.0571423 0.0599994 0.0628565 0.0657136 0.0685707 0.0714278 -0.0728564 0.0742849 0.0757135 0.077142 0.0785706 0.0799991 0.0814277 -0.0828563 0.0842848 0.0857134 0.0857134 0.0857134 0.0857134 0.0857134 -0.0857134 0.0857134 0.0857134 0.0857134 0.0857134 0.0857134 0.0857134 -0.0857134 0.0857134 0.0857134 0.0857134 0.0828563 0.0799992 0.077142 -0.0742849 0.0714278 0.0714278 0.0714278 0.0714278 0.0714278 0.0714278 -0.0714278 0.0714278 0.0714278 0.0714278 0.0714278 0.0685707 0.0657136 -0.0628565 0.0599994 0.0571423 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0; -#X coords 0 1 999 -1 200 140 1; -#X restore 539 49 graph; -#N canvas 0 22 450 300 graph1 0; -#X array buf2 300 float 1; -#A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; -#X coords 0 1 299 -1 200 140 1; -#X restore 539 194 graph; -#X obj 24 406 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 --262131 -1 -1 1.06 256; -#X text 19 423 peek value; -#X obj 137 400 print A; -#X text 137 421 print attributes to the console; -#X msg 41 46 set; -#X msg 65 98 set buf1; -#X msg 154 98 buffer buf2; -#X msg 65 129 getbuffer; -#X text 164 129 query current buffer; -#X text 73 43 set no buffer; -#X text 68 78 set buffer; -#X msg 84 185 frames 1000; -#X msg 85 213 getframes; -#X text 199 185 set buffer length; -#X text 184 213 query buffer length; -#X msg 16 265 getchannels; -#X text 23 290 always 1 for PD!; -#X obj 231 281 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 --262131 -1 -1 13 256; -#X obj 336 281 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 --262131 -1 -1 91 256; -#X obj 394 281 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 --262131 -1 -1 0.51 256; -#X obj 334 304 pack 0 0; -#X msg 335 331 poke \$1 \$2 0; -#X msg 230 331 peek \$1 0; -#X text 230 258 get sample; -#X text 338 258 set sample; -#X text 348 363 the change is not immediately seen on PD; -#X text 350 376 (you'll have to draw in the window); -#X obj 24 368 buffer1; -#X connect 9 0 32 0; -#X connect 10 0 32 0; -#X connect 11 0 32 0; -#X connect 12 0 32 0; -#X connect 16 0 32 0; -#X connect 17 0 32 0; -#X connect 20 0 32 0; -#X connect 22 0 27 0; -#X connect 23 0 25 0; -#X connect 24 0 25 1; -#X connect 25 0 26 0; -#X connect 26 0 32 0; -#X connect 27 0 32 0; -#X connect 32 0 5 0; -#X connect 32 1 7 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-lib1.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-lib1.pd.svn-base deleted file mode 100644 index 1f1390b25..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-lib1.pd.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -#N canvas 120 205 580 295 12; -#X msg 102 172 arg \$1; -#X obj 30 208 lib1.+ @arg 3; -#X text 101 124 set arg; -#X msg 285 171 arg \$1; -#X text 284 125 set arg; -#X msg 472 174 arg \$1; -#X text 471 128 set arg; -#X obj 392 212 lib1.* @arg 2; -#X obj 210 210 lib1.- @arg 7; -#X text 25 123 trigger; -#X text 207 127 trigger; -#X text 391 128 trigger; -#X obj 16 8 cnv 15 550 40 empty empty lib1 10 22 0 24 -260818 -1 0 -; -#X text 173 28 http://grrrr.org; -#X obj 30 147 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 --1 -1 0 256; -#X obj 101 146 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 --1 -1 0 256; -#X obj 212 147 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 --1 -1 0 256; -#X obj 284 149 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 --1 -1 0 256; -#X obj 394 149 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 --1 -1 0 256; -#X obj 472 152 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 --1 -1 0 256; -#X obj 30 241 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 --228992 -1 -1 0 256; -#X obj 210 241 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 --228992 -1 -1 0 256; -#X obj 392 241 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 --228992 -1 -1 0 256; -#X text 25 56 In order to use the objects the library must have been -; -#X text 26 74 loaded at PD startup (with the "-lib lib1" argument) -; -#X text 173 8 flext tutorial \, (C)2002-2006 Thomas Grill; -#X connect 0 0 1 0; -#X connect 1 0 20 0; -#X connect 3 0 8 0; -#X connect 5 0 7 0; -#X connect 7 0 22 0; -#X connect 8 0 21 0; -#X connect 14 0 1 0; -#X connect 15 0 0 0; -#X connect 16 0 8 0; -#X connect 17 0 3 0; -#X connect 18 0 7 0; -#X connect 19 0 5 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-signal1.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-signal1.pd.svn-base deleted file mode 100644 index 45b9a94c9..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-signal1.pd.svn-base +++ /dev/null @@ -1,27 +0,0 @@ -#N canvas 335 232 586 291 12; -#X obj 250 121 hsl 128 15 0 1 0 0 empty empty empty 20 8 0 8 -261681 --1 -1 0 1; -#X obj 28 121 osc~ 440; -#X obj 87 248 dac~; -#X obj 123 121 osc~ 880; -#X obj 97 175 signal1~; -#X obj 16 8 cnv 15 550 40 empty empty signal1 10 22 0 24 -260818 -1 -0; -#X text 175 28 http://grrrr.org; -#X text 342 138 control the mixing; -#X text 166 210 adjust the volume; -#X obj 97 209 *~ 0.5; -#X text 25 102 source 1; -#X text 125 101 source 2; -#X obj 248 143 nbx 5 16 0 1 0 0 empty empty empty 0 -6 0 12 -261681 --1 -1 0 256; -#X text 175 8 flext tutorial \, (C)2002-2006 Thomas Grill; -#X text 21 51 this is a port of IOhannes Zmoelnigs pan~ example; -#X text 21 66 done by Frank Barknecht; -#X connect 0 0 12 0; -#X connect 1 0 4 0; -#X connect 3 0 4 1; -#X connect 4 0 9 0; -#X connect 9 0 2 0; -#X connect 9 0 2 1; -#X connect 12 0 4 2; diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-signal2.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-signal2.pd.svn-base deleted file mode 100644 index 750828a04..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-signal2.pd.svn-base +++ /dev/null @@ -1,25 +0,0 @@ -#N canvas 41 125 585 250 12; -#X obj 109 126 signal2~; -#X obj 104 81 bng 25 250 50 0 empty empty empty 0 -6 0 8 -261681 -1 --1; -#X text 136 87 bang to get audio system parameters; -#X text 261 205 channels in and out; -#X obj 16 8 cnv 15 550 40 empty empty signal2 10 22 0 24 -260818 -1 -0; -#X text 175 28 http://grrrr.org; -#X obj 66 184 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 0 256; -#X obj 158 184 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 0 256; -#X obj 261 184 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 0 256; -#X obj 353 184 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 0 256; -#X text 40 204 samplerate; -#X text 156 204 blocksize; -#X text 173 10 flext tutorial \, (C)2002-2006 Thomas Grill; -#X connect 0 0 6 0; -#X connect 0 1 7 0; -#X connect 0 2 8 0; -#X connect 0 3 9 0; -#X connect 1 0 0 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-simple1.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-simple1.pd.svn-base deleted file mode 100644 index 271afd0b7..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-simple1.pd.svn-base +++ /dev/null @@ -1,12 +0,0 @@ -#N canvas 85 178 594 230 12; -#X obj 40 129 simple1; -#X obj 16 8 cnv 15 550 40 empty empty simple1 10 22 0 24 -260818 -1 -0; -#X text 167 30 http://grrrr.org; -#X obj 41 94 nbx 4 16 -999 999 0 0 empty empty input 0 -6 0 12 -261681 --1 -1 35 256; -#X obj 39 171 nbx 7 16 -1e+37 1e+37 0 0 empty empty inverse 0 -6 0 -12 -228992 -1 -1 0.0285714 256; -#X text 167 10 flext tutorial \, (C)2002-2006 Thomas Grill; -#X connect 0 0 4 0; -#X connect 3 0 0 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-simple2.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-simple2.pd.svn-base deleted file mode 100644 index c379cd5b6..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-simple2.pd.svn-base +++ /dev/null @@ -1,16 +0,0 @@ -#N canvas 72 265 599 317 12; -#X obj 42 196 simple2 3; -#X text 121 177 default argument; -#X obj 16 8 cnv 15 550 40 empty empty simple2 10 22 0 24 -260818 -1 -0; -#X text 167 29 http://grrrr.org; -#X obj 41 110 nbx 4 16 -999 999 0 0 empty empty triggering 0 -6 0 12 --261681 -1 -1 0 256; -#X obj 148 110 nbx 4 16 -999 999 0 0 empty empty non-triggering 0 -6 -0 12 -261681 -1 -1 0 256; -#X obj 42 239 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 --228992 -1 -1 0 256; -#X text 167 11 flext tutorial \, (C)2002-2006 Thomas Grill; -#X connect 0 0 6 0; -#X connect 4 0 0 0; -#X connect 5 0 0 1; diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-simple3.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-simple3.pd.svn-base deleted file mode 100644 index fbdafca5f..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-simple3.pd.svn-base +++ /dev/null @@ -1,22 +0,0 @@ -#N canvas 329 97 593 354 12; -#X msg 22 87 help; -#X msg 119 136 born; -#X msg 168 137 to; -#X msg 210 139 hula; -#X msg 224 182 hula 1; -#X obj 144 283 simple3; -#X text 257 140 tag without argument; -#X text 293 180 tag and argument; -#X text 68 87 print a help message; -#X obj 16 8 cnv 15 550 40 empty empty simple3 10 22 0 24 -260818 -1 -0; -#X text 174 28 http://grrrr.org; -#X text 174 10 flext tutorial \, (C)2002-2006 Thomas Grill; -#X msg 224 220 symbol yeah; -#X text 350 219 symbol message; -#X connect 0 0 5 0; -#X connect 1 0 5 0; -#X connect 2 0 5 0; -#X connect 3 0 5 0; -#X connect 4 0 5 0; -#X connect 12 0 5 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-sndobj1.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-sndobj1.pd.svn-base deleted file mode 100644 index 01ee937c3..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-sndobj1.pd.svn-base +++ /dev/null @@ -1,34 +0,0 @@ -#N canvas 405 36 584 392 12; -#X obj 56 348 dac~; -#X obj 15 8 cnv 15 550 40 empty empty sndobj1 10 22 0 24 -260818 -1 -0; -#X text 175 28 http://grrrr.org; -#X text 170 285 adjust the volume; -#X text 35 97 source; -#X obj 171 268 hsl 128 15 0.01 1 1 0 empty empty empty -2 -6 0 8 -261681 --1 -1 0 1; -#X msg 160 148 shL \$1; -#X msg 218 148 shR \$1; -#X obj 244 84 hsl 128 15 0.5 2 1 0 empty empty empty -2 -6 0 8 -261681 --1 -1 0 1; -#X obj 244 104 hsl 128 15 0.5 2 1 0 empty empty empty -2 -6 0 8 -261681 --1 -1 0 1; -#X text 149 82 pitch left; -#X text 149 102 pitch right; -#X obj 31 119 osc~ 442; -#X obj 32 226 sndobj1~ @shL 0.7 @shR 1.2; -#X obj 32 304 *~ 0.3; -#X obj 91 304 *~ 0.3; -#X text 175 8 flext tutorial \, (C)2002-2006 Thomas Grill; -#X connect 5 0 14 1; -#X connect 5 0 15 1; -#X connect 6 0 13 0; -#X connect 7 0 13 0; -#X connect 8 0 6 0; -#X connect 9 0 7 0; -#X connect 12 0 13 0; -#X connect 12 0 13 1; -#X connect 13 0 14 0; -#X connect 13 1 15 0; -#X connect 14 0 0 0; -#X connect 15 0 0 1; diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-stk1.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-stk1.pd.svn-base deleted file mode 100644 index b61b9833e..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-stk1.pd.svn-base +++ /dev/null @@ -1,15 +0,0 @@ -#N canvas 237 9 577 257 12; -#X obj 66 186 dac~; -#X obj 15 8 cnv 15 550 40 empty empty stk1 10 22 0 24 -260818 -1 0 -; -#X text 175 28 http://grrrr.org; -#X text 184 118 adjust the volume; -#X obj 185 101 hsl 128 15 0.01 1 1 0 empty empty empty -2 -6 0 8 -261681 --1 -1 0 1; -#X obj 76 132 *~ 0.3; -#X text 175 8 flext tutorial \, (C)2002-2006 Thomas Grill; -#X obj 76 86 stk1~; -#X connect 4 0 5 1; -#X connect 5 0 0 0; -#X connect 5 0 0 1; -#X connect 7 0 5 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-stk2.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-stk2.pd.svn-base deleted file mode 100644 index 6ce56330e..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-stk2.pd.svn-base +++ /dev/null @@ -1,32 +0,0 @@ -#N canvas 245 28 594 364 12; -#X obj 68 318 dac~; -#X obj 15 8 cnv 15 550 40 empty empty stk2 10 22 0 24 -260818 -1 0 -; -#X text 175 28 http://grrrr.org; -#X text 193 229 adjust the volume; -#X obj 194 212 hsl 128 15 0.01 1 1 0 empty empty empty -2 -6 0 8 -261681 --1 -1 0 1; -#X obj 68 263 *~ 0.3; -#X text 175 8 flext tutorial \, (C)2002-2006 Thomas Grill; -#X obj 68 215 stk2~; -#X obj 125 263 *~ 0.3; -#X msg 183 139 shL \$1; -#X msg 241 139 shR \$1; -#X obj 267 77 hsl 128 15 0.5 2 1 0 empty empty empty -2 -6 0 8 -261681 --1 -1 0 1; -#X obj 267 95 hsl 128 15 0.5 2 1 0 empty empty empty -2 -6 0 8 -261681 --1 -1 0 1; -#X text 172 73 pitch left; -#X text 172 93 pitch right; -#X obj 68 78 osc~ 442; -#X connect 4 0 5 1; -#X connect 4 0 8 1; -#X connect 5 0 0 0; -#X connect 7 0 5 0; -#X connect 7 1 8 0; -#X connect 8 0 0 1; -#X connect 9 0 7 0; -#X connect 10 0 7 0; -#X connect 11 0 9 0; -#X connect 12 0 10 0; -#X connect 15 0 7 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-thread1.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-thread1.pd.svn-base deleted file mode 100644 index 38707f44e..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-thread1.pd.svn-base +++ /dev/null @@ -1,43 +0,0 @@ -#N canvas 105 266 608 311 12; -#X obj 39 91 bng 25 250 50 0 empty empty start 0 -6 0 8 -261681 -1 --1; -#X obj 130 231 thread1; -#X obj 228 233 thread1; -#X obj 324 231 thread1; -#X obj 422 232 thread1; -#X obj 131 185 delay 200; -#X obj 228 185 delay 200; -#X obj 325 185 delay 200; -#X obj 421 185 delay 200; -#X text 78 85 click to start; -#X text 126 103 (if you click twice \, the same thread is started a -second time); -#X obj 16 8 cnv 15 550 40 empty empty thread1 10 22 0 24 -260818 -1 -0; -#X text 170 29 http://grrrr.org; -#X obj 131 262 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 0 256; -#X obj 229 263 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 0 256; -#X obj 323 261 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 0 256; -#X obj 423 261 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 0 256; -#X obj 39 229 thread1; -#X obj 39 262 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 0 256; -#X text 170 11 flext tutorial \, (C)2002-2006 Thomas Grill; -#X connect 0 0 5 0; -#X connect 0 0 17 0; -#X connect 1 0 13 0; -#X connect 2 0 14 0; -#X connect 3 0 15 0; -#X connect 4 0 16 0; -#X connect 5 0 1 0; -#X connect 5 0 6 0; -#X connect 6 0 2 0; -#X connect 6 0 7 0; -#X connect 7 0 3 0; -#X connect 7 0 8 0; -#X connect 8 0 4 0; -#X connect 17 0 18 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-thread2.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-thread2.pd.svn-base deleted file mode 100644 index 4d72392fd..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-thread2.pd.svn-base +++ /dev/null @@ -1,47 +0,0 @@ -#N canvas 116 192 593 338 12; -#X msg 84 188 stop; -#X msg 255 192 stop; -#X obj 199 99 bng 25 250 50 0 empty empty empty 0 -6 0 8 -261681 -1 --1; -#X obj 291 99 bng 25 250 50 0 empty empty empty 0 -6 0 8 -261681 -1 --1; -#X text 191 78 start; -#X text 283 77 stop; -#X msg 39 188 0; -#X msg 210 192 0; -#X msg 423 190 stop; -#X msg 378 190 0; -#X obj 404 229 thread2 50; -#X obj 232 229 thread2 15; -#X obj 66 228 thread2 3; -#X msg 133 188 text; -#X msg 302 192 text; -#X msg 470 190 text; -#X obj 16 8 cnv 15 550 40 empty empty thread2 10 22 0 24 -260818 -1 -0; -#X text 173 29 http://grrrr.org; -#X obj 65 264 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 0 256; -#X obj 231 265 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 0 256; -#X obj 403 267 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 0 256; -#X text 173 11 flext tutorial \, (C)2002-2006 Thomas Grill; -#X connect 0 0 12 0; -#X connect 1 0 11 0; -#X connect 2 0 6 0; -#X connect 2 0 7 0; -#X connect 2 0 9 0; -#X connect 3 0 0 0; -#X connect 3 0 1 0; -#X connect 3 0 8 0; -#X connect 6 0 12 0; -#X connect 7 0 11 0; -#X connect 8 0 10 0; -#X connect 9 0 10 0; -#X connect 10 0 20 0; -#X connect 11 0 19 0; -#X connect 12 0 18 0; -#X connect 13 0 12 0; -#X connect 14 0 11 0; -#X connect 15 0 10 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-timer1.pd.svn-base b/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-timer1.pd.svn-base deleted file mode 100644 index 303d8f266..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/.svn/text-base/ex-timer1.pd.svn-base +++ /dev/null @@ -1,62 +0,0 @@ -#N canvas 110 259 825 368 12; -#X obj 16 8 cnv 15 550 40 empty empty timer1 10 22 0 24 -260818 -1 -0; -#X text 167 30 http://grrrr.org; -#X text 167 10 flext tutorial \, (C)2003-2006 Thomas Grill; -#X obj 241 241 timer1; -#X obj 241 267 print; -#X msg 105 104 resetA; -#X msg 176 104 resetB; -#X msg 260 147 oneshotA \$1; -#X obj 259 124 f 100; -#X obj 303 107 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 --262144 -1 -1 0 256; -#X obj 260 105 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 --1; -#X obj 382 124 f 100; -#X obj 426 107 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 --262144 -1 -1 0 256; -#X obj 383 105 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 --1; -#X obj 515 124 f 100; -#X obj 559 107 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 --262144 -1 -1 0 256; -#X obj 516 105 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 --1; -#X obj 652 123 f 100; -#X obj 696 106 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 --262144 -1 -1 0 256; -#X obj 653 104 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 --1; -#X msg 383 147 oneshotB \$1; -#X msg 516 147 periodicA \$1; -#X msg 653 146 periodicB \$1; -#X text 119 82 reset timer; -#X text 275 81 trigger single event; -#X text 523 80 trigger periodic event; -#X msg 30 161 gettime; -#X msg 30 191 getostime; -#X text 106 162 get time; -#X text 127 191 get OS time; -#X connect 3 0 4 0; -#X connect 3 1 4 0; -#X connect 5 0 3 0; -#X connect 6 0 3 0; -#X connect 7 0 3 0; -#X connect 8 0 7 0; -#X connect 9 0 8 1; -#X connect 10 0 8 0; -#X connect 11 0 20 0; -#X connect 12 0 11 1; -#X connect 13 0 11 0; -#X connect 14 0 21 0; -#X connect 15 0 14 1; -#X connect 16 0 14 0; -#X connect 17 0 22 0; -#X connect 18 0 17 1; -#X connect 19 0 17 0; -#X connect 20 0 3 0; -#X connect 21 0 3 0; -#X connect 22 0 3 0; -#X connect 26 0 3 0; -#X connect 27 0 3 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/Makefile.am b/externals/grill/trunk/flext/tutorial/pd/Makefile.am deleted file mode 100644 index d2f5ad4d3..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/Makefile.am +++ /dev/null @@ -1,6 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -EXTRA_DIST = *.pd \ No newline at end of file diff --git a/externals/grill/trunk/flext/tutorial/pd/ex-adv1.pd b/externals/grill/trunk/flext/tutorial/pd/ex-adv1.pd deleted file mode 100644 index 8dd10bc10..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/ex-adv1.pd +++ /dev/null @@ -1,23 +0,0 @@ -#N canvas 46 58 592 347 12; -#X msg 34 92 or two words; -#X msg 169 93 2 3; -#X msg 48 291 one or two words; -#X obj 72 213 print result; -#X obj 49 172 adv1 one; -#X obj 48 263 prepend set; -#X text 162 257 you can also use "prepend"; -#X obj 16 8 cnv 15 550 40 empty empty adv1 10 22 0 24 -260818 -1 0 -; -#X text 175 28 http://grrrr.org; -#X text 199 214 watch the console!; -#X text 210 110 send the object various messages; -#X text 160 274 (if adv1 has already been loaded); -#X text 145 10 flext tutorial \, (C)2002-2006 Thomas Grill; -#X obj 66 127 nbx 3 18 0 100 0 0 empty empty empty 0 -6 0 14 -262144 --1 -1 24 256; -#X connect 0 0 4 0; -#X connect 1 0 4 0; -#X connect 4 0 3 0; -#X connect 4 0 5 0; -#X connect 5 0 2 0; -#X connect 13 0 4 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/ex-adv2.pd b/externals/grill/trunk/flext/tutorial/pd/ex-adv2.pd deleted file mode 100644 index b4fa1ce46..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/ex-adv2.pd +++ /dev/null @@ -1,23 +0,0 @@ -#N canvas 329 97 595 356 12; -#X msg 26 97 help; -#X msg 123 146 born; -#X msg 172 147 to; -#X msg 214 149 hula; -#X msg 228 192 hula 1; -#X text 261 150 tag without argument; -#X text 297 190 tag and argument; -#X text 72 97 print a help message; -#X obj 16 7 cnv 15 550 40 empty empty adv2 10 22 0 24 -260818 -1 0 -; -#X text 146 27 http://grrrr.org; -#X obj 148 293 adv2; -#X text 21 49 this is identical to the simple3 example; -#X text 145 9 flext tutorial \, (C)2002-2006 Thomas Grill; -#X text 345 231 symbol message; -#X msg 228 230 symbol yeah; -#X connect 0 0 10 0; -#X connect 1 0 10 0; -#X connect 2 0 10 0; -#X connect 3 0 10 0; -#X connect 4 0 10 0; -#X connect 14 0 10 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/ex-adv3.pd b/externals/grill/trunk/flext/tutorial/pd/ex-adv3.pd deleted file mode 100644 index 0fdfc735b..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/ex-adv3.pd +++ /dev/null @@ -1,40 +0,0 @@ -#N canvas 175 139 603 361 12; -#X obj 16 7 cnv 15 550 40 empty empty adv3 10 22 0 24 -260818 -1 0 -; -#X text 174 28 http://grrrr.org; -#X obj 229 266 adv3 2 5 1; -#X obj 305 303 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 223 300 nbx 5 18 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 2 256; -#X msg 269 130 1 10; -#X msg 389 128 1; -#X msg 429 128 -1; -#X msg 469 128 2; -#X obj 88 129 bng 25 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 --1; -#X msg 317 130 7 2; -#X text 325 300 end has been reached; -#X obj 157 127 nbx 5 18 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 25 256; -#X msg 158 150 set \$1; -#X text 72 108 trigger; -#X text 147 108 set counter; -#X text 264 109 set bounds; -#X text 390 106 set step size; -#X msg 80 196 reset; -#X text 83 176 reset; -#X text 174 8 flext tutorial \, (C)2002-2006 Thomas Grill; -#X text 21 49 this is a port of IOhannes Zmoelnigs "counter" example -; -#X connect 2 0 4 0; -#X connect 2 1 3 0; -#X connect 5 0 2 1; -#X connect 6 0 2 2; -#X connect 7 0 2 2; -#X connect 8 0 2 2; -#X connect 9 0 2 0; -#X connect 10 0 2 1; -#X connect 12 0 13 0; -#X connect 13 0 2 0; -#X connect 18 0 2 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/ex-attr1.pd b/externals/grill/trunk/flext/tutorial/pd/ex-attr1.pd deleted file mode 100644 index 27ab0bb6a..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/ex-attr1.pd +++ /dev/null @@ -1,31 +0,0 @@ -#N canvas 70 150 694 465 12; -#X obj 59 296 attr1 @arg 3; -#X text 114 273 attribute as a creation arg; -#X msg 160 98 getattributes; -#X text 167 319 there is one additional outlet; -#X text 167 334 for all attribute-enabled objects; -#X obj 150 367 print; -#X msg 160 141 getarg; -#X text 12 92 trigger output; -#X msg 160 203 arg \$1; -#X text 230 191 set attribute "arg"; -#X text 295 98 query object attributes (watch console); -#X text 228 142 query attribute "arg" (watch console); -#X obj 16 8 cnv 15 550 40 empty empty attr1 10 22 0 24 -260818 -1 0 -; -#X text 175 28 http://grrrr.org; -#X text 26 388 result; -#X obj 23 114 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 --1 -1 0 256; -#X obj 29 370 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 --228992 -1 -1 0 256; -#X obj 161 181 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 --1 -1 0 256; -#X text 175 10 flext tutorial \, (C)2002-2006 Thomas Grill; -#X connect 0 0 16 0; -#X connect 0 1 5 0; -#X connect 2 0 0 0; -#X connect 6 0 0 0; -#X connect 8 0 0 0; -#X connect 15 0 0 0; -#X connect 17 0 8 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/ex-attr2.pd b/externals/grill/trunk/flext/tutorial/pd/ex-attr2.pd deleted file mode 100644 index 4e377725d..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/ex-attr2.pd +++ /dev/null @@ -1,47 +0,0 @@ -#N canvas 364 29 620 426 12; -#X msg 22 88 getattributes; -#X text 264 326 there is one additional outlet; -#X text 264 341 for all attribute-enabled objects; -#X obj 246 365 print; -#X msg 22 124 getarg; -#X text 14 218 trigger output; -#X msg 270 263 arg \$1; -#X text 159 87 query object attributes (watch console); -#X msg 95 124 getop; -#X obj 158 306 attr2 @op +; -#X text 251 124 query attributes; -#X text 332 179 set attributes; -#X msg 168 169 op +; -#X msg 167 194 op -; -#X msg 218 169 op *; -#X msg 268 193 op **; -#X msg 268 169 op =; -#X msg 218 193 op /; -#X msg 157 124 getresult; -#X obj 16 8 cnv 15 550 40 empty empty attr2 10 22 0 24 -260818 -1 0 -; -#X text 173 28 http://grrrr.org; -#X text 90 367 result; -#X obj 22 240 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 --1 -1 0 256; -#X obj 270 242 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 --1 -1 0 256; -#X obj 150 367 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 --228992 -1 -1 0 256; -#X text 171 10 flext tutorial \, (C)2002-2006 Thomas Grill; -#X text 327 243 set argument; -#X connect 0 0 9 0; -#X connect 4 0 9 0; -#X connect 6 0 9 0; -#X connect 8 0 9 0; -#X connect 9 0 24 0; -#X connect 9 1 3 0; -#X connect 12 0 9 0; -#X connect 13 0 9 0; -#X connect 14 0 9 0; -#X connect 15 0 9 0; -#X connect 16 0 9 0; -#X connect 17 0 9 0; -#X connect 18 0 9 0; -#X connect 22 0 9 0; -#X connect 23 0 6 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/ex-attr3.pd b/externals/grill/trunk/flext/tutorial/pd/ex-attr3.pd deleted file mode 100644 index b2832c187..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/ex-attr3.pd +++ /dev/null @@ -1,60 +0,0 @@ -#N canvas 175 139 607 457 12; -#X obj 16 7 cnv 15 550 40 empty empty attr3 10 22 0 24 -260818 -1 0 -; -#X text 174 28 http://grrrr.org; -#X obj 293 364 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 196 361 nbx 5 18 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 --228992 -1 -1 2 256; -#X msg 296 126 1 10; -#X msg 419 127 1; -#X msg 459 127 -1; -#X msg 498 127 2; -#X obj 36 128 bng 25 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 --1; -#X msg 344 126 7 2; -#X obj 173 119 nbx 5 18 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 --228992 -1 -1 20 256; -#X msg 174 142 set \$1; -#X text 20 107 trigger; -#X text 163 100 set counter; -#X text 291 105 set bounds; -#X text 420 105 set step size; -#X msg 97 135 reset; -#X text 100 115 reset; -#X text 21 64 with attributes; -#X obj 197 327 attr3 @bounds 2 5 @step 1; -#X msg 32 195 getattributes; -#X obj 392 363 print; -#X text 385 381 attributes; -#X msg 32 237 getcount; -#X msg 388 232 getstep; -#X text 22 178 list all attributes; -#X msg 32 266 count 3; -#X text 117 238 get count; -#X text 112 266 set count; -#X msg 387 259 step 3; -#X text 21 49 this is a port of IOhannes Zmoelnigs "counter" example -; -#X msg 258 234 getbounds; -#X msg 257 261 bounds 5 15; -#X text 174 8 flext tutorial \, (C)2002-2006 Thomas Grill; -#X connect 4 0 19 1; -#X connect 5 0 19 2; -#X connect 6 0 19 2; -#X connect 7 0 19 2; -#X connect 8 0 19 0; -#X connect 9 0 19 1; -#X connect 10 0 11 0; -#X connect 11 0 19 0; -#X connect 16 0 19 0; -#X connect 19 0 3 0; -#X connect 19 1 2 0; -#X connect 19 2 21 0; -#X connect 20 0 19 0; -#X connect 23 0 19 0; -#X connect 24 0 19 0; -#X connect 26 0 19 0; -#X connect 29 0 19 0; -#X connect 31 0 19 0; -#X connect 32 0 19 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/ex-bind1.pd b/externals/grill/trunk/flext/tutorial/pd/ex-bind1.pd deleted file mode 100644 index 355b97e88..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/ex-bind1.pd +++ /dev/null @@ -1,55 +0,0 @@ -#N canvas 405 36 626 400 12; -#X obj 15 8 cnv 15 550 40 empty empty bind1 10 22 0 24 -260818 -1 0 -; -#X text 175 28 http://grrrr.org; -#X text 175 8 flext tutorial \, (C)2002-2006 Thomas Grill; -#X obj 14 330 bind1; -#X text 48 72 bind object to symbol; -#X msg 50 94 bind sym1; -#X msg 174 94 bind sym2; -#X msg 48 126 unbind sym1; -#X msg 173 125 unbind sym2; -#X text 43 159 bind object to symbol; -#X msg 45 181 bindmethod sym1; -#X msg 47 213 unbindmethod sym1; -#X msg 227 181 bindmethod sym2; -#X msg 230 212 unbindmethod sym2; -#X obj 13 359 print OUT; -#X text 109 358 watch the console!; -#X obj 351 103 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 --262131 -1 -1 0 256; -#X obj 446 103 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 --262131 -1 -1 0 256; -#X msg 351 122 test \$1; -#X msg 446 122 test \$1; -#X msg 521 100 1 2 3; -#X obj 351 155 s sym1; -#X obj 446 155 s sym2; -#X text 349 67 send message to bound; -#X text 350 81 object or method; -#X obj 345 272 r sym3; -#X text 344 250 receive forwarded message; -#X obj 347 299 print MSG; -#X text 47 258 receive forwarded message; -#X msg 48 279 sym3 myforward; -#X obj 202 280 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 --262131 -1 -1 0 256; -#X msg 201 297 sym3 \$1; -#X connect 3 0 14 0; -#X connect 5 0 3 0; -#X connect 6 0 3 0; -#X connect 7 0 3 0; -#X connect 8 0 3 0; -#X connect 10 0 3 0; -#X connect 11 0 3 0; -#X connect 12 0 3 0; -#X connect 13 0 3 0; -#X connect 16 0 18 0; -#X connect 17 0 19 0; -#X connect 18 0 21 0; -#X connect 19 0 22 0; -#X connect 20 0 22 0; -#X connect 25 0 27 0; -#X connect 29 0 3 1; -#X connect 30 0 31 0; -#X connect 31 0 3 1; diff --git a/externals/grill/trunk/flext/tutorial/pd/ex-buffer1.pd b/externals/grill/trunk/flext/tutorial/pd/ex-buffer1.pd deleted file mode 100644 index 09d0655a5..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/ex-buffer1.pd +++ /dev/null @@ -1,121 +0,0 @@ -#N canvas 94 140 763 489 12; -#X obj 11 -12 cnv 15 550 40 empty empty buffer1 10 22 0 24 -260818 --1 0; -#X text 178 8 http://grrrr.org; -#X text 178 -12 flext tutorial \, (C)2002-2006 Thomas Grill; -#N canvas 0 22 450 300 graph1 0; -#X array buf1 1000 float 1; -#A 0 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 --0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 --0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 --0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 --0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 --0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 --0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 --0.0142856 -0.0142856 -0.0114285 -0.00857134 -0.00571423 -0.00285711 -5.58794e-10 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 --0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 --0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 --0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 --0 -0 0.51 0.51 0 0 0 0 0 0 0 0 0 0 0 0 0 0.51 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 -0 -0 0.51 0.51 -5.58794e-10 0.00285711 0.00571423 0.00857134 -0.0114285 0.0142856 0.0166665 0.0190474 0.0214283 0.0238093 0.0261902 -0.0285711 0.030952 0.033333 0.0357139 0.51 0.0404758 0.51 0.0452376 -0.0476185 0.0499995 0.0523804 0.0547613 0.0571422 0.0595232 0.0619041 -0.064285 0.0666659 0.0690469 0.51 0.0738087 0.0761897 0.0785706 0.0809515 -0.0833325 0.0857134 0.0857134 0.0857134 0.0857134 0.0857134 0.0857134 -0.51 0.0799992 0.51 0.0742849 0.0571423 0 0 0 0 0.51 0 0 0 0 0 0 0 -0 0 0.51 0 0 0 0 0 0.51 0 0 0 0 0 0.51 0 0.51 0 0 0.51 0 0 0.51 0 0.51 -0 0.51 0.51 0 0.51 0.51 0 0 0 0 0 0.51 0 0 0 0 0 0.51 0 0 0.51 0 0 -0 0 0 0.51 0 0 0 0 0 0 0 0.51 0 0 0 0 0 0 0 0.51 0 0 0 0 0.51 0 0 0 -0 0 0 0.51 0 0 0 0 0 0 0 0 0 0 0.51 0 0 0 0 0 0 0 0 0.51 0.51 0 0 0.51 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0.00357139 0.00714278 0.0107142 -0.0142856 0.0171427 0.0199998 0.0228569 0.025714 0.0285711 0.0314283 -0.0342854 0.0371425 0.0399996 0.0428567 0.0457138 0.0485709 0.051428 -0.0542852 0.0571423 0.0599994 0.0628565 0.0657136 0.0685707 0.0714278 -0.0728564 0.0742849 0.0757135 0.077142 0.0785706 0.0799991 0.0814277 -0.0828563 0.0842848 0.0857134 0.0857134 0.0857134 0.0857134 0.0857134 -0.0857134 0.0857134 0.0857134 0.0857134 0.0857134 0.0857134 0.0857134 -0.0857134 0.0857134 0.0857134 0.0857134 0.0828563 0.0799992 0.077142 -0.0742849 0.0714278 0.0714278 0.0714278 0.0714278 0.0714278 0.0714278 -0.0714278 0.0714278 0.0714278 0.0714278 0.0714278 0.0685707 0.0657136 -0.0628565 0.0599994 0.0571423 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0; -#X coords 0 1 999 -1 200 140 1; -#X restore 539 49 graph; -#N canvas 0 22 450 300 graph1 0; -#X array buf2 300 float 1; -#A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; -#X coords 0 1 299 -1 200 140 1; -#X restore 539 194 graph; -#X obj 24 406 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 --262131 -1 -1 1.06 256; -#X text 19 423 peek value; -#X obj 137 400 print A; -#X text 137 421 print attributes to the console; -#X msg 41 46 set; -#X msg 65 98 set buf1; -#X msg 154 98 buffer buf2; -#X msg 65 129 getbuffer; -#X text 164 129 query current buffer; -#X text 73 43 set no buffer; -#X text 68 78 set buffer; -#X msg 84 185 frames 1000; -#X msg 85 213 getframes; -#X text 199 185 set buffer length; -#X text 184 213 query buffer length; -#X msg 16 265 getchannels; -#X text 23 290 always 1 for PD!; -#X obj 231 281 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 --262131 -1 -1 13 256; -#X obj 336 281 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 --262131 -1 -1 91 256; -#X obj 394 281 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 --262131 -1 -1 0.51 256; -#X obj 334 304 pack 0 0; -#X msg 335 331 poke \$1 \$2 0; -#X msg 230 331 peek \$1 0; -#X text 230 258 get sample; -#X text 338 258 set sample; -#X text 348 363 the change is not immediately seen on PD; -#X text 350 376 (you'll have to draw in the window); -#X obj 24 368 buffer1; -#X connect 9 0 32 0; -#X connect 10 0 32 0; -#X connect 11 0 32 0; -#X connect 12 0 32 0; -#X connect 16 0 32 0; -#X connect 17 0 32 0; -#X connect 20 0 32 0; -#X connect 22 0 27 0; -#X connect 23 0 25 0; -#X connect 24 0 25 1; -#X connect 25 0 26 0; -#X connect 26 0 32 0; -#X connect 27 0 32 0; -#X connect 32 0 5 0; -#X connect 32 1 7 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/ex-lib1.pd b/externals/grill/trunk/flext/tutorial/pd/ex-lib1.pd deleted file mode 100644 index 1f1390b25..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/ex-lib1.pd +++ /dev/null @@ -1,51 +0,0 @@ -#N canvas 120 205 580 295 12; -#X msg 102 172 arg \$1; -#X obj 30 208 lib1.+ @arg 3; -#X text 101 124 set arg; -#X msg 285 171 arg \$1; -#X text 284 125 set arg; -#X msg 472 174 arg \$1; -#X text 471 128 set arg; -#X obj 392 212 lib1.* @arg 2; -#X obj 210 210 lib1.- @arg 7; -#X text 25 123 trigger; -#X text 207 127 trigger; -#X text 391 128 trigger; -#X obj 16 8 cnv 15 550 40 empty empty lib1 10 22 0 24 -260818 -1 0 -; -#X text 173 28 http://grrrr.org; -#X obj 30 147 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 --1 -1 0 256; -#X obj 101 146 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 --1 -1 0 256; -#X obj 212 147 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 --1 -1 0 256; -#X obj 284 149 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 --1 -1 0 256; -#X obj 394 149 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 --1 -1 0 256; -#X obj 472 152 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 --1 -1 0 256; -#X obj 30 241 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 --228992 -1 -1 0 256; -#X obj 210 241 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 --228992 -1 -1 0 256; -#X obj 392 241 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 --228992 -1 -1 0 256; -#X text 25 56 In order to use the objects the library must have been -; -#X text 26 74 loaded at PD startup (with the "-lib lib1" argument) -; -#X text 173 8 flext tutorial \, (C)2002-2006 Thomas Grill; -#X connect 0 0 1 0; -#X connect 1 0 20 0; -#X connect 3 0 8 0; -#X connect 5 0 7 0; -#X connect 7 0 22 0; -#X connect 8 0 21 0; -#X connect 14 0 1 0; -#X connect 15 0 0 0; -#X connect 16 0 8 0; -#X connect 17 0 3 0; -#X connect 18 0 7 0; -#X connect 19 0 5 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/ex-signal1.pd b/externals/grill/trunk/flext/tutorial/pd/ex-signal1.pd deleted file mode 100644 index 45b9a94c9..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/ex-signal1.pd +++ /dev/null @@ -1,27 +0,0 @@ -#N canvas 335 232 586 291 12; -#X obj 250 121 hsl 128 15 0 1 0 0 empty empty empty 20 8 0 8 -261681 --1 -1 0 1; -#X obj 28 121 osc~ 440; -#X obj 87 248 dac~; -#X obj 123 121 osc~ 880; -#X obj 97 175 signal1~; -#X obj 16 8 cnv 15 550 40 empty empty signal1 10 22 0 24 -260818 -1 -0; -#X text 175 28 http://grrrr.org; -#X text 342 138 control the mixing; -#X text 166 210 adjust the volume; -#X obj 97 209 *~ 0.5; -#X text 25 102 source 1; -#X text 125 101 source 2; -#X obj 248 143 nbx 5 16 0 1 0 0 empty empty empty 0 -6 0 12 -261681 --1 -1 0 256; -#X text 175 8 flext tutorial \, (C)2002-2006 Thomas Grill; -#X text 21 51 this is a port of IOhannes Zmoelnigs pan~ example; -#X text 21 66 done by Frank Barknecht; -#X connect 0 0 12 0; -#X connect 1 0 4 0; -#X connect 3 0 4 1; -#X connect 4 0 9 0; -#X connect 9 0 2 0; -#X connect 9 0 2 1; -#X connect 12 0 4 2; diff --git a/externals/grill/trunk/flext/tutorial/pd/ex-signal2.pd b/externals/grill/trunk/flext/tutorial/pd/ex-signal2.pd deleted file mode 100644 index 750828a04..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/ex-signal2.pd +++ /dev/null @@ -1,25 +0,0 @@ -#N canvas 41 125 585 250 12; -#X obj 109 126 signal2~; -#X obj 104 81 bng 25 250 50 0 empty empty empty 0 -6 0 8 -261681 -1 --1; -#X text 136 87 bang to get audio system parameters; -#X text 261 205 channels in and out; -#X obj 16 8 cnv 15 550 40 empty empty signal2 10 22 0 24 -260818 -1 -0; -#X text 175 28 http://grrrr.org; -#X obj 66 184 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 0 256; -#X obj 158 184 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 0 256; -#X obj 261 184 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 0 256; -#X obj 353 184 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 0 256; -#X text 40 204 samplerate; -#X text 156 204 blocksize; -#X text 173 10 flext tutorial \, (C)2002-2006 Thomas Grill; -#X connect 0 0 6 0; -#X connect 0 1 7 0; -#X connect 0 2 8 0; -#X connect 0 3 9 0; -#X connect 1 0 0 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/ex-simple1.pd b/externals/grill/trunk/flext/tutorial/pd/ex-simple1.pd deleted file mode 100644 index 271afd0b7..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/ex-simple1.pd +++ /dev/null @@ -1,12 +0,0 @@ -#N canvas 85 178 594 230 12; -#X obj 40 129 simple1; -#X obj 16 8 cnv 15 550 40 empty empty simple1 10 22 0 24 -260818 -1 -0; -#X text 167 30 http://grrrr.org; -#X obj 41 94 nbx 4 16 -999 999 0 0 empty empty input 0 -6 0 12 -261681 --1 -1 35 256; -#X obj 39 171 nbx 7 16 -1e+37 1e+37 0 0 empty empty inverse 0 -6 0 -12 -228992 -1 -1 0.0285714 256; -#X text 167 10 flext tutorial \, (C)2002-2006 Thomas Grill; -#X connect 0 0 4 0; -#X connect 3 0 0 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/ex-simple2.pd b/externals/grill/trunk/flext/tutorial/pd/ex-simple2.pd deleted file mode 100644 index c379cd5b6..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/ex-simple2.pd +++ /dev/null @@ -1,16 +0,0 @@ -#N canvas 72 265 599 317 12; -#X obj 42 196 simple2 3; -#X text 121 177 default argument; -#X obj 16 8 cnv 15 550 40 empty empty simple2 10 22 0 24 -260818 -1 -0; -#X text 167 29 http://grrrr.org; -#X obj 41 110 nbx 4 16 -999 999 0 0 empty empty triggering 0 -6 0 12 --261681 -1 -1 0 256; -#X obj 148 110 nbx 4 16 -999 999 0 0 empty empty non-triggering 0 -6 -0 12 -261681 -1 -1 0 256; -#X obj 42 239 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 --228992 -1 -1 0 256; -#X text 167 11 flext tutorial \, (C)2002-2006 Thomas Grill; -#X connect 0 0 6 0; -#X connect 4 0 0 0; -#X connect 5 0 0 1; diff --git a/externals/grill/trunk/flext/tutorial/pd/ex-simple3.pd b/externals/grill/trunk/flext/tutorial/pd/ex-simple3.pd deleted file mode 100644 index fbdafca5f..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/ex-simple3.pd +++ /dev/null @@ -1,22 +0,0 @@ -#N canvas 329 97 593 354 12; -#X msg 22 87 help; -#X msg 119 136 born; -#X msg 168 137 to; -#X msg 210 139 hula; -#X msg 224 182 hula 1; -#X obj 144 283 simple3; -#X text 257 140 tag without argument; -#X text 293 180 tag and argument; -#X text 68 87 print a help message; -#X obj 16 8 cnv 15 550 40 empty empty simple3 10 22 0 24 -260818 -1 -0; -#X text 174 28 http://grrrr.org; -#X text 174 10 flext tutorial \, (C)2002-2006 Thomas Grill; -#X msg 224 220 symbol yeah; -#X text 350 219 symbol message; -#X connect 0 0 5 0; -#X connect 1 0 5 0; -#X connect 2 0 5 0; -#X connect 3 0 5 0; -#X connect 4 0 5 0; -#X connect 12 0 5 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/ex-sndobj1.pd b/externals/grill/trunk/flext/tutorial/pd/ex-sndobj1.pd deleted file mode 100644 index 01ee937c3..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/ex-sndobj1.pd +++ /dev/null @@ -1,34 +0,0 @@ -#N canvas 405 36 584 392 12; -#X obj 56 348 dac~; -#X obj 15 8 cnv 15 550 40 empty empty sndobj1 10 22 0 24 -260818 -1 -0; -#X text 175 28 http://grrrr.org; -#X text 170 285 adjust the volume; -#X text 35 97 source; -#X obj 171 268 hsl 128 15 0.01 1 1 0 empty empty empty -2 -6 0 8 -261681 --1 -1 0 1; -#X msg 160 148 shL \$1; -#X msg 218 148 shR \$1; -#X obj 244 84 hsl 128 15 0.5 2 1 0 empty empty empty -2 -6 0 8 -261681 --1 -1 0 1; -#X obj 244 104 hsl 128 15 0.5 2 1 0 empty empty empty -2 -6 0 8 -261681 --1 -1 0 1; -#X text 149 82 pitch left; -#X text 149 102 pitch right; -#X obj 31 119 osc~ 442; -#X obj 32 226 sndobj1~ @shL 0.7 @shR 1.2; -#X obj 32 304 *~ 0.3; -#X obj 91 304 *~ 0.3; -#X text 175 8 flext tutorial \, (C)2002-2006 Thomas Grill; -#X connect 5 0 14 1; -#X connect 5 0 15 1; -#X connect 6 0 13 0; -#X connect 7 0 13 0; -#X connect 8 0 6 0; -#X connect 9 0 7 0; -#X connect 12 0 13 0; -#X connect 12 0 13 1; -#X connect 13 0 14 0; -#X connect 13 1 15 0; -#X connect 14 0 0 0; -#X connect 15 0 0 1; diff --git a/externals/grill/trunk/flext/tutorial/pd/ex-stk1.pd b/externals/grill/trunk/flext/tutorial/pd/ex-stk1.pd deleted file mode 100644 index b61b9833e..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/ex-stk1.pd +++ /dev/null @@ -1,15 +0,0 @@ -#N canvas 237 9 577 257 12; -#X obj 66 186 dac~; -#X obj 15 8 cnv 15 550 40 empty empty stk1 10 22 0 24 -260818 -1 0 -; -#X text 175 28 http://grrrr.org; -#X text 184 118 adjust the volume; -#X obj 185 101 hsl 128 15 0.01 1 1 0 empty empty empty -2 -6 0 8 -261681 --1 -1 0 1; -#X obj 76 132 *~ 0.3; -#X text 175 8 flext tutorial \, (C)2002-2006 Thomas Grill; -#X obj 76 86 stk1~; -#X connect 4 0 5 1; -#X connect 5 0 0 0; -#X connect 5 0 0 1; -#X connect 7 0 5 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/ex-stk2.pd b/externals/grill/trunk/flext/tutorial/pd/ex-stk2.pd deleted file mode 100644 index 6ce56330e..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/ex-stk2.pd +++ /dev/null @@ -1,32 +0,0 @@ -#N canvas 245 28 594 364 12; -#X obj 68 318 dac~; -#X obj 15 8 cnv 15 550 40 empty empty stk2 10 22 0 24 -260818 -1 0 -; -#X text 175 28 http://grrrr.org; -#X text 193 229 adjust the volume; -#X obj 194 212 hsl 128 15 0.01 1 1 0 empty empty empty -2 -6 0 8 -261681 --1 -1 0 1; -#X obj 68 263 *~ 0.3; -#X text 175 8 flext tutorial \, (C)2002-2006 Thomas Grill; -#X obj 68 215 stk2~; -#X obj 125 263 *~ 0.3; -#X msg 183 139 shL \$1; -#X msg 241 139 shR \$1; -#X obj 267 77 hsl 128 15 0.5 2 1 0 empty empty empty -2 -6 0 8 -261681 --1 -1 0 1; -#X obj 267 95 hsl 128 15 0.5 2 1 0 empty empty empty -2 -6 0 8 -261681 --1 -1 0 1; -#X text 172 73 pitch left; -#X text 172 93 pitch right; -#X obj 68 78 osc~ 442; -#X connect 4 0 5 1; -#X connect 4 0 8 1; -#X connect 5 0 0 0; -#X connect 7 0 5 0; -#X connect 7 1 8 0; -#X connect 8 0 0 1; -#X connect 9 0 7 0; -#X connect 10 0 7 0; -#X connect 11 0 9 0; -#X connect 12 0 10 0; -#X connect 15 0 7 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/ex-thread1.pd b/externals/grill/trunk/flext/tutorial/pd/ex-thread1.pd deleted file mode 100644 index 38707f44e..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/ex-thread1.pd +++ /dev/null @@ -1,43 +0,0 @@ -#N canvas 105 266 608 311 12; -#X obj 39 91 bng 25 250 50 0 empty empty start 0 -6 0 8 -261681 -1 --1; -#X obj 130 231 thread1; -#X obj 228 233 thread1; -#X obj 324 231 thread1; -#X obj 422 232 thread1; -#X obj 131 185 delay 200; -#X obj 228 185 delay 200; -#X obj 325 185 delay 200; -#X obj 421 185 delay 200; -#X text 78 85 click to start; -#X text 126 103 (if you click twice \, the same thread is started a -second time); -#X obj 16 8 cnv 15 550 40 empty empty thread1 10 22 0 24 -260818 -1 -0; -#X text 170 29 http://grrrr.org; -#X obj 131 262 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 0 256; -#X obj 229 263 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 0 256; -#X obj 323 261 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 0 256; -#X obj 423 261 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 0 256; -#X obj 39 229 thread1; -#X obj 39 262 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 0 256; -#X text 170 11 flext tutorial \, (C)2002-2006 Thomas Grill; -#X connect 0 0 5 0; -#X connect 0 0 17 0; -#X connect 1 0 13 0; -#X connect 2 0 14 0; -#X connect 3 0 15 0; -#X connect 4 0 16 0; -#X connect 5 0 1 0; -#X connect 5 0 6 0; -#X connect 6 0 2 0; -#X connect 6 0 7 0; -#X connect 7 0 3 0; -#X connect 7 0 8 0; -#X connect 8 0 4 0; -#X connect 17 0 18 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/ex-thread2.pd b/externals/grill/trunk/flext/tutorial/pd/ex-thread2.pd deleted file mode 100644 index 4d72392fd..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/ex-thread2.pd +++ /dev/null @@ -1,47 +0,0 @@ -#N canvas 116 192 593 338 12; -#X msg 84 188 stop; -#X msg 255 192 stop; -#X obj 199 99 bng 25 250 50 0 empty empty empty 0 -6 0 8 -261681 -1 --1; -#X obj 291 99 bng 25 250 50 0 empty empty empty 0 -6 0 8 -261681 -1 --1; -#X text 191 78 start; -#X text 283 77 stop; -#X msg 39 188 0; -#X msg 210 192 0; -#X msg 423 190 stop; -#X msg 378 190 0; -#X obj 404 229 thread2 50; -#X obj 232 229 thread2 15; -#X obj 66 228 thread2 3; -#X msg 133 188 text; -#X msg 302 192 text; -#X msg 470 190 text; -#X obj 16 8 cnv 15 550 40 empty empty thread2 10 22 0 24 -260818 -1 -0; -#X text 173 29 http://grrrr.org; -#X obj 65 264 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 0 256; -#X obj 231 265 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 0 256; -#X obj 403 267 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 -12 -228992 -1 -1 0 256; -#X text 173 11 flext tutorial \, (C)2002-2006 Thomas Grill; -#X connect 0 0 12 0; -#X connect 1 0 11 0; -#X connect 2 0 6 0; -#X connect 2 0 7 0; -#X connect 2 0 9 0; -#X connect 3 0 0 0; -#X connect 3 0 1 0; -#X connect 3 0 8 0; -#X connect 6 0 12 0; -#X connect 7 0 11 0; -#X connect 8 0 10 0; -#X connect 9 0 10 0; -#X connect 10 0 20 0; -#X connect 11 0 19 0; -#X connect 12 0 18 0; -#X connect 13 0 12 0; -#X connect 14 0 11 0; -#X connect 15 0 10 0; diff --git a/externals/grill/trunk/flext/tutorial/pd/ex-timer1.pd b/externals/grill/trunk/flext/tutorial/pd/ex-timer1.pd deleted file mode 100755 index 303d8f266..000000000 --- a/externals/grill/trunk/flext/tutorial/pd/ex-timer1.pd +++ /dev/null @@ -1,62 +0,0 @@ -#N canvas 110 259 825 368 12; -#X obj 16 8 cnv 15 550 40 empty empty timer1 10 22 0 24 -260818 -1 -0; -#X text 167 30 http://grrrr.org; -#X text 167 10 flext tutorial \, (C)2003-2006 Thomas Grill; -#X obj 241 241 timer1; -#X obj 241 267 print; -#X msg 105 104 resetA; -#X msg 176 104 resetB; -#X msg 260 147 oneshotA \$1; -#X obj 259 124 f 100; -#X obj 303 107 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 --262144 -1 -1 0 256; -#X obj 260 105 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 --1; -#X obj 382 124 f 100; -#X obj 426 107 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 --262144 -1 -1 0 256; -#X obj 383 105 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 --1; -#X obj 515 124 f 100; -#X obj 559 107 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 --262144 -1 -1 0 256; -#X obj 516 105 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 --1; -#X obj 652 123 f 100; -#X obj 696 106 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 --262144 -1 -1 0 256; -#X obj 653 104 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 --1; -#X msg 383 147 oneshotB \$1; -#X msg 516 147 periodicA \$1; -#X msg 653 146 periodicB \$1; -#X text 119 82 reset timer; -#X text 275 81 trigger single event; -#X text 523 80 trigger periodic event; -#X msg 30 161 gettime; -#X msg 30 191 getostime; -#X text 106 162 get time; -#X text 127 191 get OS time; -#X connect 3 0 4 0; -#X connect 3 1 4 0; -#X connect 5 0 3 0; -#X connect 6 0 3 0; -#X connect 7 0 3 0; -#X connect 8 0 7 0; -#X connect 9 0 8 1; -#X connect 10 0 8 0; -#X connect 11 0 20 0; -#X connect 12 0 11 1; -#X connect 13 0 11 0; -#X connect 14 0 21 0; -#X connect 15 0 14 1; -#X connect 16 0 14 0; -#X connect 17 0 22 0; -#X connect 18 0 17 1; -#X connect 19 0 17 0; -#X connect 20 0 3 0; -#X connect 21 0 3 0; -#X connect 22 0 3 0; -#X connect 26 0 3 0; -#X connect 27 0 3 0; diff --git a/externals/grill/trunk/flext/tutorial/readme.txt b/externals/grill/trunk/flext/tutorial/readme.txt deleted file mode 100644 index beecb20e7..000000000 --- a/externals/grill/trunk/flext/tutorial/readme.txt +++ /dev/null @@ -1,77 +0,0 @@ -flext - C++ layer for Max/MSP and pd (pure data) externals -tutorial examples - -Copyright (c) 2001-2006 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. - ----------------------------------------------------------------------------- - -These are a few examples to demonstrate some flext features. -Contribution of examples to the package is higly appreciated! - ----------------------------------------------------------------------------- - -The recommended order to go through the tutorial examples is the following: - -1) simple* -2) adv* -3) attr* -4) timer* -5) signal* -6) lib* -7) thread* - -and, if needed -8) sndobj* and/or stk* - -if you choose to compile with SndObj support you will need the respective library -download from: http://www.may.ie/academic/music/musictec/SndObj/main.html - -if you choose to compile with STK support you will need the respective package and build a library -download from: http://ccrma-www.stanford.edu/software/stk/ -Under linux you can create such a library from the STK directory with: -"g++ -c -pipe -I include -D __LINUX_OSS__ src/*.cpp && ar r libstk.a *.o && rm -f *.o" - - ----------------------------------------------------------------------------- - -The package should at least compile (and is tested) with the following compilers: - -pd - Windows: -------------- -o Microsoft Visual C++ 6: edit "config-pd-msvc.txt" & run "build-pd-msvc.bat" - -o Borland C++ 5.5 (free): edit "config-pd-bcc.txt" & run "build-pd-bcc.bat" - (no threading support for that compiler!) - -o Cygwin: edit "config-pd-cygwin.txt" & run "sh build-pd-cygwin.sh" - (no threading support for that compiler!) - -pd - linux: ------------ -o GCC: edit "config-pd-linux.txt" & run "sh build-pd-linux.sh" - -pd - MacOSX: ------------ -o GCC: edit "config-pd-darwin.txt" & run "sh build-pd-darwin.sh" - - -Max/MSP - MacOS 9: ------------------- -o Metrowerks CodeWarrior V6: edit & use the several ".cw" project files - -You must have the following "Source Trees" defined: -"flext" - Pointing to the flext main directory -"Cycling74" - Pointing to the Cycling 74 SDK - -Max/MSP - MacOSX: ------------------- -o Metrowerks CodeWarrior V6: edit & use the several ".cw" project files - -You must have the following "Source Trees" defined: -"OS X Volume" - Pointing to your OSX boot drive -"flext" - Pointing to the flext main directory -"Cycling74 OSX" - Pointing to the Cycling 74 SDK for xmax -"MP SDK" - Pointing to the Multiprocessing SDK (for threading support) - diff --git a/externals/grill/trunk/flext/tutorial/signal1/.svn/all-wcprops b/externals/grill/trunk/flext/tutorial/signal1/.svn/all-wcprops deleted file mode 100644 index 66bd59f20..000000000 --- a/externals/grill/trunk/flext/tutorial/signal1/.svn/all-wcprops +++ /dev/null @@ -1,35 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 47 -/ext/!svn/ver/1247/trunk/flext/tutorial/signal1 -END -signal1.vcproj -K 25 -svn:wc:ra_dav:version-url -V 62 -/ext/!svn/ver/1247/trunk/flext/tutorial/signal1/signal1.vcproj -END -main.cpp -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/signal1/main.cpp -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/signal1/Makefile.am -END -package.txt -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/signal1/package.txt -END -signal1.mcp -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/signal1/signal1.mcp -END diff --git a/externals/grill/trunk/flext/tutorial/signal1/.svn/entries b/externals/grill/trunk/flext/tutorial/signal1/.svn/entries deleted file mode 100644 index ac0e560fa..000000000 --- a/externals/grill/trunk/flext/tutorial/signal1/.svn/entries +++ /dev/null @@ -1,198 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/tutorial/signal1 -https://svn.grrrr.org/ext - - - -2006-09-20T18:21:19.690651Z -1173 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -main.cpp -file - - - - -2012-05-13T23:08:36.910556Z -6f715fa2414a7e4bbaccc5515d014d7e -2002-12-30T03:21:24.000000Z -453 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4494 - -Makefile.am -file - - - - -2012-05-13T23:08:36.910556Z -2246cb9bd389c24047b477bf53bd81fb -2005-01-26T11:58:31.157320Z -992 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -914 - -package.txt -file - - - - -2012-05-13T23:08:36.911556Z -9a075de5c7357d2d00e9e91b43646d7e -2006-09-20T18:21:19.690651Z -1173 -thomas - - - - - - - - - - - - - - - - - - - - - -30 - -signal1.mcp -file - - - - -2012-05-13T23:08:36.912556Z -e28091639d5bcc8ec48c3248815180e0 -2005-01-04T13:28:16.495520Z -953 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -101183 - -signal1.vcproj -file - - - - -2012-05-13T23:08:36.909556Z -a693b63eae225b220c0e5f6140d26cc8 -2003-11-12T01:58:35.000000Z -727 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4912 - diff --git a/externals/grill/trunk/flext/tutorial/signal1/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/signal1/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/tutorial/signal1/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/tutorial/signal1/.svn/prop-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/signal1/.svn/prop-base/main.cpp.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/signal1/.svn/prop-base/main.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/signal1/.svn/prop-base/signal1.mcp.svn-base b/externals/grill/trunk/flext/tutorial/signal1/.svn/prop-base/signal1.mcp.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/tutorial/signal1/.svn/prop-base/signal1.mcp.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/signal1/.svn/prop-base/signal1.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/signal1/.svn/prop-base/signal1.vcproj.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/signal1/.svn/prop-base/signal1.vcproj.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/signal1/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/signal1/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index 857be41e5..000000000 --- a/externals/grill/trunk/flext/tutorial/signal1/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = signal1 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/signal1/.svn/text-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/signal1/.svn/text-base/main.cpp.svn-base deleted file mode 100644 index 3714e1f66..000000000 --- a/externals/grill/trunk/flext/tutorial/signal1/.svn/text-base/main.cpp.svn-base +++ /dev/null @@ -1,129 +0,0 @@ -// signal1~ - a flext tutorial external written by Frank Barknecht -// -// This is a commented port of the pan~ example from the PD-Externals-Howto to -// illustrate the usage of flext. You can get the original code at -// http://iem.kug.ac.at/pd/externals-HOWTO/ - -#include <flext.h> - -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401) -#error You need at least flext version 0.4.1 -#endif - - -// A flext dsp external ("tilde object") inherits from the class flext_dsp -class signal1: - public flext_dsp -{ - // Each external that is written in C++ needs to use #defines - // from flbase.h - // - // The define - // - // FLEXT_HEADER(NEW_CLASS, PARENT_CLASS) - // - // should be somewhere in your dsp file. - // A good place is here: - - FLEXT_HEADER(signal1, flext_dsp) - - public: - signal1(): - f_pan(0) // initialize f_pan - { - // The constructor of your class is responsible for - // setting up inlets and outlets and for registering - // inlet-methods: - // The descriptions of the inlets and outlets are output - // via the Max/MSP assist method (when mousing over them in edit mode). - // PD will hopefully provide such a feature as well soon - - AddInSignal("left audio in"); // left audio in - AddInSignal("right audio in"); // right audio in - AddInFloat("panning parameter"); // 1 float in - AddOutSignal("audio out"); // 1 audio out - - // Now we need to bind the handler function to our - // panning inlet, which is inlet 2 (counting all inlets - // from 0). We want the function "setPan" to get - // called on incoming float messages: - - FLEXT_ADDMETHOD(2,setPan); - - // We're done constructing: - post("-- pan~ with flext ---"); - - } // end of constructor - - - protected: - // here we declare the virtual DSP function - virtual void m_signal(int n, float *const *in, float *const *out); - private: - float f_pan; // holds our panning factor - - // Before we can use "setPan" as a handler, we must register this - // function as a callback to PD or Max. This is done using the - // FLEXT_CALLBACK* macros. There are several of them. - // - // FLEXT_CALLBACK_F is a shortcut, that registers a function - // expecting one float arg (thus ending in "_F"). There are - // other shortcuts that register other types of functions. Look - // into flext.h. No semicolon at the end of line!!! - FLEXT_CALLBACK_F(setPan) - - // Now setPan can get declared and defined here. - void setPan(float f) - { - // set our private panning factor "f_pan" to the inlet - // value float "f" in the intervall [0,1] - f_pan = (f<0) ? 0.0f : (f>1) ? 1.0f : f ; - - // if you want to debug if this worked, comment out the - // following line: - //post("Set panning to %.2f, maybe clipped from %.2f", f_pan,f); - } // end setPan -}; // end of class declaration for signal1 - - -// Before we can run our signal1-class in PD, the object has to be registered as a -// PD object. Otherwise it would be a simple C++-class, and what good would -// that be for? Registering is made easy with the FLEXT_NEW_* macros defined -// in flext.h. For tilde objects without arguments call: - -FLEXT_NEW_DSP("signal1~ pan~", signal1) -// T.Grill: there are two names for the object: signal1~ as main name and pan~ as its alias - -// Now we define our DSP function. It gets this arguments: -// -// int n: length of signal vector. Loop over this for your signal processing. -// float *const *in, float *const *out: -// These are arrays of the signals in the objects signal inlets rsp. -// oulets. We come to that later inside the function. - -void signal1::m_signal(int n, float *const *in, float *const *out) -{ - - const float *ins1 = in[0]; - const float *ins2 = in[1]; - // As said above "in" holds a list of the signal vectors in all inlets. - // After these two lines, ins1 holds the signal vector ofthe first - // inlet, index 0, and ins2 holds the signal vector of the second - // inlet, with index 1. - - float *outs = out[0]; - // Now outs holds the signal vector at the one signal outlet we have. - - // We are now ready for the main signal loop - while (n--) - { - - // The "++" after the pointers outs, ins1 and ins2 walks us - // through the signal vector with each n, of course. Before - // each step we change the signal value in the outlet *outs - // according to our panning factor "f_pan" and according to the - // signals at the two signal inlets, *ins1 and *ins2 - - *outs++ = (*ins1++) * (1-f_pan) + (*ins2++) * f_pan; - } -} // end m_signal diff --git a/externals/grill/trunk/flext/tutorial/signal1/.svn/text-base/package.txt.svn-base b/externals/grill/trunk/flext/tutorial/signal1/.svn/text-base/package.txt.svn-base deleted file mode 100644 index b48618589..000000000 --- a/externals/grill/trunk/flext/tutorial/signal1/.svn/text-base/package.txt.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -NAME=signal1~ -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/signal1/.svn/text-base/signal1.mcp.svn-base b/externals/grill/trunk/flext/tutorial/signal1/.svn/text-base/signal1.mcp.svn-base deleted file mode 100644 index 32e827710d1f6c13dd097903d8d0fe657ff9d6e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101183 zcmeI5349$@+5cxINfSz2=*m(GVP8s9nifjK)->r7NN7w7EeN!?$uzy~&As8?n=YuO ziaUr3DsHdx0*VX1fWB_HA#N|?jvI<vl~;Kc0r%bhzt5Rx?wy%C_a>#0e`)Xe<TvMc zpL6Cc&v~9RXO_(LWilztvT7{LKE<+k9%9)qUT9h48<1_b9h=AtZJB;|bt0QhX0nal z*~})lFYhNEDDlB`bOM+NCV@jhEf6J%z77SG!4xna)PaLQJ(vonf$3ldI1C&PjsQo3 znZN-@ffK<ja5OjuoCHn=jo?^t9FTB4VBD;6;1qBwI1S7Or-M15iDGG!LtPGaJJjV+ zmqWb{?R031L%SU6b*R&!PKP?3MnGK-bve}IoB(K-Lt7l$;!vMMeGc_G)aOv2L!TV# zbkKuCe;uiNE;s|s1I=JQSU|fj0at*_z*S%^xDs3nE(dGCI*<VCK_BP`F4zDDz($Y+ zo4{ruc035uAOnWL^TE|%6<7_jAP4eb7;FJs!8ULWcrn-kt^+RxF99zA*Mb*;mw}gq zSAbW7SAkc9>%k4+HQ+|@TJSpXdT<lC8N30!5$ptS0^7k0!7bp;;4R>-;BDaT;6K1S z!Mnlj;632I;7)KWxC7h<-Ur?f?gAeG{{`*__kerB2f>HHe}fN$kARPYkAaVa`@p-v zC%`+ve}YefPk~Q^&w%^EXTbyD|G?AWH{f^R_u#kSSKvwT1o#8^Blr{eGx!VmEBG7u zJNO6qC-@iG?YWR`6FZ;=)FOY1xQ_U7@N4)uP!AfwL0~*M7)&7j^WY)yKj5q2Yv3#3 z3*bTUCGd6d4e(9yE$}e-Huw(sF8Ch!K6nKD0Q?X<3VsBB41NN>40eIffiHref}eq( zgU7)Cf?t4Nf-}HEumCIqE#Pc051a|+gLA;S;5=|XxBx5$tzZdg1MOfbSO%7Z6`%uL z2rdF=fle?NG=na1F<1$@!Sg^5=*9QQ>rj_NTO8_g76a;aXs1J49NOtnw?o|ybvxAU zP`5+f4s|=!?NGNv-41m-)ay{6LwyeQIn?J+pF^J<>U8L*L!TX~dlk3@Tnbi$HQ+Mv ze6Sv@1^vJUec%eP4qOE`fB~=(B*7-I8Kl4<NP`R*0#}19$bmc<23tS^Yz3EtE5SCf z9b5xm0A2`Q1a?@Kbpm$v1o%C88vGIb3H$;42K*L01^x{F0{#mA2L2BI0saa81$I*& z#mRxxfjBjw7Sw@ppq@OxBW@u6HFy$!5Eu^*1{1(UFbNz&I_<Mx3SJCe4qgFX257VW z60j4z61)n$8e9)<0IvZzg4crAf!BkZz|G(d;Emu-;1=*^a2<FHKqvOK;H}_o;O*c) zz&pS@!L5LCv>7}53V@Dn#?oE~7+d>F!1&sXr`-=2Tbr@88B3e7v>8jAv9uXWo3XSR zOPjH@8B3e7v>8jAv9uXW`zpYA+SrcG7}|`h&A8f(sm)m0jHS(3+Ki?BCGa)y5cmf8 zCipt|AMh3MW$-QVF!(n34)`wk9{4_Z1pEN}5IhQg1bz&D0(OC)f}eq}f}evgf(OB4 z;D5m{z%Rk$;Qzp{z-{2Y;N9T;;4bh!a67mYybF8){1><z+ym|f9|Ru){|!D2J_0@p zJ_bGx?gO6yp9G%*?*X3%{|W8@p8@xS&w>ZQ=fLN|7r=bb0v3XE!Fk{uumGG5&I0Fy z3&3K~3YLI2&<>V@Wnej20Xo2i;3Cioy1>O?5m*VD!I_{NJP-7MUa$&W0xkuUz;rML z90m>tGr%EWDwqt807rtE;3zN)91V^Ejo?^t95^1F08Ruafs?^0;8ZXToCYR>L&0ot zI+z2Rz+7+!m}eD(t(0~d$CjUzWz`5F&`+z@FmJxDQ;rU-amueCu2-HWZcsi%e30^; z#N(B}g7{$NZz7(c{B~m6Zo)lm(VGd_iCLS<5A4FMOND<0pgR+O$QJ#Y@B~}*YQkUH zq8ABryfy1p;nH8mK!WJdtY3vQmS!C*9J?^<S>cSUS=S0*&xUc5ApUIDxWad`VcaCh z{AAX<!r#t@ag-poY&8mlf1C~DDnWePUk8h?nzgXVf69jOmLT)ASxXE58ym)7g3P&Q zJuMvDGHYky*ozrU;WDP!h6GvTnl-g>{KTxSg=70>jV-*3O%ou<vCSNdg|B6U4M~vW zl{xkc&$DR;1UcrIwSe&J*(?AA=O#9yUxFh#Im=MX5uHdo2+jxD;HMHC<^f}W!av6b zzn0*LuFf&ka(+R4uJYdz<L?rT`Qqn>i+$nmhT~(_VneMO(NC*#>FW~ZQeK<#i;0;R zB-Dr=L`Q_0J~qn?wQ9u9mn*-4c!lzJ5O*klFY$%SrH>aWmp*nX|01#Iolx^_Hc~gC z=0|LpYb4Y>$)?*-tL9I{&+~Y#*g%hR<{DWWNvLHGG3N@x#a=D}gj&(}rG{FyqBH3m zp;r2|#!#zP+I5-o%ZUYq+I}|AH`J<45nrMF1;ke>zmE7S<u?(F-4JSTXR}Ti{BAZ0 zL#^6R5wBPNHDb{(q4xW1q&`CJ&)B$zTD3CP8$4d;5DzGyLcCG=al}dGGUshlzL;2S zmry4<lRgmYq@F=Tt-7tmX^-!>ThW_0kTPlqfkvARI9iSc!p+7eSn^kY1Cj>NSjz^? z0+YaD;BasRI1<bRM}b+va%vwsnwi777VN}PANCxP-~FaA=c1Y4NNk&v$t`M0h@^qK zPa$sHz56GP9AH{EvJC`jp7cO0U)odysL~vj>WC#s+IYjpek0bg6RUZ(9`K6Ra^z0i z%GW*Qob=cGt-6Bpqy@zvsMDGR4g-gSBfybhCO8Vr0!K?<uH7v=mTbf2R><er_1@^A zPRf*EPDVZIivqtyr=mv*qEpc&<r`g!KL2ex?dt7p>={nylY?$+DxbX6?Q7~xuD6Ku zne5u7+Y*CADYvO_$dZh0vu8JTcej}w9qGKA-H_;WC3{yQztO~!sgOl>>Fro~$(n*> zo28XBYROhhqA4?+x7fL{V{j;w%{NkkwIq>BWisi;6>f@}S2woJrD~JX<6dKtqct~Z zt!Z1iY*}!x?xmrhU5UPxy|PndXEMFn&04*g;cTDVxGL+qIjgm=&&}l;yJ>mOYIoNU z4-B|jUlrD>M0UW<H}<;ud@?<dvz8@OZev$sXvq9pGMr5H(}jFC5!lz;$7&nS<uikg z7rEQFX0rV`%WHdEW^jlyvig&YplMUo%HjObaK3R_DnTvXiN4JVX-0P<?WUxkjdI0w zxtlh;J()}7a_-=IDMu2Qr!wmksm7H<3}5mZ6>4WC9fg>D{-suAC{9a9la#KlYKe}^ zhLpQ4Z-%BTu}y}SG2SL!cC+b3%4!M!>UUF#?K><JVJt(+Hp)(|!~MyOl+a?5=V`V% z{X5WVHYZ9R7<AKlZ=W5SO_EI;=JcCZB+bqu^%(ggMA8Ztw{~@F@2aH*yKCv&TFl<I zT6v+4wZS@eH1>-%Sow`vH__j0$-X|<SaXmv$K)-f4<?dn(|^<SwVnc%dvz?oq_<=3 zvP{-Z4y0F^8ghkJnzT033KGp>wCA@WmlT(rXWHd+js14{;+B@d#J0iQP>V0{V)_(L zXtp#VTtKsxbyIF4=SK6-w>%YTx%2Vj{w=h~FI9h`Xv4%-R`xFP()CzFc2B&fAl|0A z%^cE}$ga<%%}hf+6ws8*53je{w)ds*n}rJ~a81y<G}-JW>MCR`6weVZpU-M5X$94V zetYSvn?ic=_o9|ma(!_3(9cEaVgSzwW{64(c`#m4m8nEC?O>9xhN=esKWN}o>Xb7M zIlGWG;07S8d0Dy3DqYs8at1H}WMwa_cv-Q_8Oy~$&Wu(8S<A{9%}HPhkTW_tW0bS5 z#X!zTS&N!8-$lf7#yK0v*_WIV$eB?GkgEu?wmcXd2ITB<Cg2!kt_;Xo$~qutRnx%X zK+ZJgfF>{>%mB?m&U{Y>=Ye*x6f6hJz*%4+I3LKGOV+HDK^u^@*l9q{zT`}ct2pMY zN!G@4R^<RW)AHB6vQ}#W6Tnem7C00f4UPeg;8<`RI37#_CjdEPoCr<?7lKY8XPt6} zDQ8u3R(Szv1uK9oCS@&n2pF4SO6*y=Qbw>4YL|6%E+u8s@}5g%cqP==`|~(UQ%yfY z<0Cbmsqs-7&(iqlKsn>I95J6dNk`YF9AZ-ru_=exltVl#uz%e|7IrM@)@KvhBnvqP zLu)xqV=)Luuof-bw@#h7kqdP@o!cH+jMfUjYk&4gW2$kd&AEc7RoUkN4im)=2nTOS z^=*}7)3&CKevscyG9wT)o3J89)z%>wCblHnQnEnJHEl{{P42+v@{aDtuGN=&)@06# z4(f7QWH+(`4rJQ{dI6!eySvl0q_(|t`I^4X$$nYuuI}X=B6z~(_wFF=U9oQ)H;$@z z+N?mA_n@KsQC6dXx|q}3I<B;rE^1_2E(ENoIoX+zsrT6pwpfZ*`HU<z+T7h5a2J`p zOT&{-K4~fHTi&+r{oZ80bNB8ijR*aEEq}0YORg`G%b(kqN$2ufzZ{sJ-o5*Wj}|<b zq5Su@L!6L6J#w^bm%EqdXK>;$B5y;o9PRzbg_t7bpj;ZrClh>4vAnYRjv(K-QRI^q z#wnx7C##S%Mv+fe0H=;3pR5vUN0Cof5jY)NQD=F*$ZFyIQRI^qR>w&Bq_S$LYM`ot zz1D!7Ej%Ch^*mULt2KP^zLxQC;biHhdtF1dfaj_Pu4F|LwTm=%@g5#Cl=-|G4onTm zqDB^%5>L4AoH_G%?|$hMQB`0&)o`F|Ab$CKpljto>wobWa-j9R+TV}{rYyQ~mt1<5 zWyO?5w>)i*Aev*!qL+L_>HZs4ujrbwm6Hy~+^87MP)qL0p}t^9aZ^o0a22apcq9U{ z4HVsg#QYgCH;wANM?eBu_KX&;1M@KGn)~-`-?-d?tA%mN$n2eE5}v8JWE~e&*fTBk zK;Lie+FU-7eTFv|#zuLz+*B-i4ry%4u9i~Oz;i+a{%vFP;8@CiPPBPU8_Cg5o(-sm zss@Y(<b*wwYRzp=_tl*{{?@v4JJ)%dsj=!Vzvdf>yt_J?-`KV>kxfW?t|Q%(NDsJ{ za|O?%wzUmsbD6AFzje8rU)G(;S#@jLcv3O%noR9(t}mM$;^AGZzHbFtE|vexf27Bi zCu;l1wIY%3#|dlirL6X3B9$3vcQ+)4Q~8d(JIKFBwJqyT4G(mr*>%<SA-AL5s{dA7 zBHxwS!cM38d!*dF%l}OASZu1TNB)c7xtSg0anekhXE}S^4cvURYIpIJaB5X%vzzAe zRIC1??j`N3$k)+lrF-c;&j4+1Th_Whmq`uh-Bmn;Y@RCKl1TL?(|zu|MQ1Fq>VM8- zx80f4cB}pYcI_P=a<grjbUsVJ>R;6}xJ7p3-<wHm&n5=CGX2R7NjICbYVK=W)}F{G zJmqu^=My|PYt^pryx84pjk};X-`_Kkw(7TccCl+04{o-*TatYgwQMPm^}3Q+v!gdL z=<-B?JSxn?I-Ol8ZCN(amtUIpO54!7)GJ@~Zq+}o9hAosybez5Ub154kW1m|?PkQS zy0iOTdT!NTP5Y94`D7-Y$Zn?%JTaVWP4{1#NDcE?i*s>jyPIl5GlOZ%IkIh8Z$8VD zk8O#eWImA+b=GX^Ua~ry%)6$hn%~QSGQdV3H6LlE<Sp`(=XiVFtm#_qf*u!LZ{bnz zBu_5aJw&amHoAjumzy45lE|*$snm^mt7cq#7rNX^pEl<+Lp|;QZM14XyqYI&dxzKa z)H4HKyPJ{AW)s_c+@TbYforqtUe>`)XN(Q2aFbiq+;|$~0eawK7=sv+<mDv5-sPVN zi23t~m09)5W{TyQ6B7UALCz#3$YWMst~y}^dqsPrSzxua4h^M}SU7FXHJ&2R2=Vmy zqElNE^8B$pue@MxS8sQ-Fd>Z#n$BpF$HS^&ztDh~h&+D1Uv%b~cA|J5sSfi@3wrMF zXA}^lh5hB(ol%U?NdL?w56@23D@4=G%_e!^)VrN9L;r>AFik&PA9X##n}c~M*UZH{ znCm?Ob(E&h(rZ0OYkZ8#8};|G8XspKW0i+txpG7}LGzuc^_^tmiR5-nO6_8K?5Dbt zHp;4Qyj6hsGP<ZScHuvLxTt!rbs*b^O!;CLi{+mK9L~J?pRlS$9LN^o^*vx0a#sYq zF#jIP`K0{UY1KjwR0|2%MU6a`*V5Ixrje@;so{P%S2c?R(JcC<(*e7f;n@Y(461f< zAlif9=crvw*L7#kyjP$)SNM85AmhM%aTw>e{*}wU(}lU9_5bx2ws&^EcfHsj_l|!W zMvOp?943x-d#|5HpwzK=R;Fvo#qG3hakPD7@jLPwkruh$pLZM0`&FXverahP&S&QE zh{k}MFG-8M3ME=@_*E|6i);LM%Cv-D?GoM7G$r_|muQCQt6!q&;a9;#Q$w$Yi6$26 z)>p+u)1$ABiKd@*_C<vk!o;P8UJw(Pq2z@zahdc5GI2@%i)5l{k$2q0Cl}s%Q<A)_ zi=LI3z_L}{`l_1f4)U+Y^6r{J?q$l$ecY0LO^#0Pnhx_mo%qzQo(s8UWX6j(=fqaw zy__dLt(+>P=Jrfq;q~Uxg1ysD?_Zz2*Zf3tgkA|0O$@#hC@!s{3B<lLD6W(;Cg8tQ zC~lW>`Ut&qD7s_l9Yk6}qj9j#WG-e>D83L$Zu)JUv$AAtq={aV7>2y{DOzVBM;SL< zolN)0o0s(6NYMheoqbkWFO;;3Lm(NJZtHV-Ws}^ejJE*EG@`3YrZQcWB!4{Q=^OvG zO)a5mGn5jVGeaqbNlRZ7#`A1}5~H(aC^0-$hLS?_WGJOjpN>u_F?2i$r34Qqp@it9 z8csAX7Ap*OOj=>q3Z)h2rjWRFVk%88%u1z6;VG#!UFW0HgxJB3&P1WzN~fVva%c_; zr9=+Q;k2TEhOI<=F60&^yOo%GNe;F361lwOtW>BUmxv}5Uw;-#3C%;Hl*n8VN)tEp z-_KT(P`<meTgenqvVUcT1f0KQPv02)H>QQXz90>Gd_h|9KHu95DN#=^B!s=ZAP#wW zL0TwZy}OVQ^6Y{%=+y;b)T4_DVQ-Ge3!Yq%7rnS3D)r!SQo(z};;`q2)6{Fj!jeIX zdTSwjsizi_LS9;sMm)4A4|r!t7&6sRN{JDMQq?0vGV#W+Ks_-iEP7!<8uGw`G~#^) zdC>Dh!uYPldR%C~@*NF$T4;~Z0PcwKu^r*_5VP}+mV*6<{A))`tat5biSex+Ev23n zC^zU=JHqE*+Jq9H+R+m0QHW#w$(M$`iIx^t>sn12PukI962g9@!Wb{ol%Nl(C^7)C z{<A~x@&uRL+PqTV+0hc`IY^^^<B3X5&6CHQl9v|r7*A607yTLZ79)!IiVSJsy`9>b zI6v9ZQsO0^D6Zk<J;d9mT&JSm;pO&+rts3vuzM86p<_@{T;e3fq^O@1Q^KxNl!v^f zC@$2Y4pU4C9f^wKpxYFsQO^magq<gvQ1G8(LeYhavQjUKq!k<~A`kmgBvIWdA}t-Z zs8bbpC_O3_(?YIQ6i2)(kPvXNury?<;iM9a3@59ng@xj55sCU+NLqBcqB!JrMRCOO ziU~pA3roxNDb@qSdsgUjzz@UwgvT^;obs|p4phFd;2{2y%1?-Q!RWEd&mH4_rAI42 zbBycJy1->ZKV!Vx`NyWh`CK8p@x_SC1&>*N#&Yf!J!*yW$GKYgxE0DC9g=t_i#v4r z#l$!m$BOXFqy4<WqgPNCV}{-#sEn0)i6OW0L`A34-yxSWvZzBv4q|?@Vx1{`81u7= zy~p;Tf*X}Nk_C&5bWaM4jF$I?<hbLRzBf9&>eIq?uW~M>$z>c%Q{#?rew}en7OgXM zobz{#b2!~G#_cqvjPv=aamPKsK5s=Cbwu4Wdi?WuD(jTGpGl7#2SfYDI%sg`(D5*| zYy9w+aak?0+_BLwIL>`_*LWxP6HAVheu*X5SHgBD$>rQSP<Gh*0|@~a4@$$1UQ8)* zcTI{phWZ_dcYWPY+|a+y67E>JX&|s;$(5GU5=KysR1&M2;PjwxXAe&dzA&`R^@Syq zfu9ha27GyV0`R3F*Y|~mveoH*dC1*;VbIZiS=7Y~^00G<#Ra$a#YKnqC8e$$N+~#T zNE&wEP?9=sNank2P#C-;<I79k)K3XHs4tATW<eZq%AhQCbP6VvSX(er?JOt~=L`K- zw+qOM4(AI)uI39PPUee)?iG~9_CPY1xKwbjvfT@~Q80gGwA6D$H!3u{CdE0ECKb%y zU$TbxEaO<ZbF6!5TAY(b>kPY^rp7s(CdIg&rj&6$KQ-0`Ly1vG)Wi~ZRC!sa45mk2 zGnf|Zpur4bHw~u54}bLd8Xm{8j;jU7xvwV0JF%Zw>dJwXIClsnm$UmomauaN5&|wB zl!hI>m{Q{IniS{sniTK)niw+y1X3#WyV7J3C}9NEluitReSQ1TFPManuf8xeCHTUU z$-qyDP6NI?JOTL9kn8)xLfPu{zC7gazA)(MzAWnE1$o%H!{UNl`{JTQ`;t;u4y6>F zI3x|bZzxF}HzbP=Nz_^W%%yJXr-U5T7e-vOAPzWXP!=-FU_yzt1ryZ;gCcRh&~J6S zfUM|nzA)r!zA)lszBuS!L0N1MVqGe@SK00b+$fkoGFs|dq2sG&*Q7XS(xigf`^VSt zo@E?McaC*0O^b7~Xq{nK)6_VJ)1(-;)08sK=cmTHU??%_h?-d9jw&zfl)?0<YX;L| z9W<CB?54q#_~9?(vbtkg$JO*W_tm6$C-xIdT{(~v=MI77a&{lc5_axDLcqm?(y*f! zQ%c-jlj59Slj2=p6JsWTKuU#vSDFk0C5)h&(upCkZ`eMX<BqS*;Y(Vc&o`Ie$@CNA zr-A0ky-YuMjOz!=4mo{u_;#jWLaC!Sm)y|w^G5DyhQ$%Lrp1MOntsM|uG}2Cs~O54 z=f1i_$Z=H`9g=uwl^0pa_YH%$HvL*-9JD!leb~<%ygnS1#h4{!;K60A%}WfqpeHIi zpZ*THosmTyP6j$~lhbcjtdli|Zgcus#pYvsP{F0VlFD|k#ErcCk<n7uiaEYEYf{Yd z)lVvOeD#ydIF^<hcYO8tjB_&Gtx#v!)igEc`0AG#<951J{PES_FWv?HUCqHa>WG?H z;*KgW>y*Lt$nn*0joCNWL4!Mo-87gIKm27}R(CAxxSAg4zM2$!eD(Vh<I4VS_-&j! z1d_|yeIQHNxdRCS7Y|Cqj$TYDad%CMb9zmRcYRG1&-AYk>jV%;snG9AlR=<_5mZw; zF$DJY?L)t$89u)H!qAl93k#0vFSh-J=rrKV!xMln4Y|HAER?NI@5@8(?hAvC?#rSs zUXX_u&tY-Ft$lIPp?yiID~D1FP8^bk-8Yn^jvJCiha~E(e&$j)^;1F)>I);TSr7*n zy+K*XEQ1Lp))q`u7YvHT`9i<d?E<o*!}-FHtNFr+llkJHdj(~&J&1Lw;9h0B7jUCs zet)$3<)ge|_whs_=kY`Z^Y&fG6Gt7#lZM^KlZBkd6Se!Fh*p>Jq#=j#L_v4)BvEHk zY1mbQ!h)lC!lIjaze}AYATPK`Ko)k8K!UnQKoVAW)HS?}rH<jrLvG=TB2J;gfJ+o5 zA#*B<OYEhXq|Q(jh${qssUs95MK|z7At&%e5f|`;K?f*GV%i&P{KY-WbR}T;#k~GF z$kW|?J2`ClzA$9^zOdalRNwghgsA!Z@~{K=(vS=I!a~{V1in1v2EH)p2)-=p3I%!C z8N%X%JNV+FL->+Xmk6a4oFXI*yG1BT9U~-*4oTEG{LH29;irTg#1}?fq#zDBNl+Ft zyI?|zbp;dERe~aMme6l?mw>G3FupM4GQKe4G`=|KHbGfz4`N*>xL4Wk1>7f?KRjA% z;v8sA_`-&__nOiR8-7B(1FeZ%*zj}5I8dPMkOQp=U)b<VD0QGUB^NgQypgl2usGsC zw776#!_QdGf!0JWY=rX1IgsuUav+sOha}#C*2G-c@N126pf%A88-Cv4*-%gxV}6u@ zx0SIlFEQjmo~Y<R`a9%6MizA-8R)=;4Zm5j4zwn8VZ+ZV)*jn~3J&CzRJMC14&>$c zM{6wpExcOBfuaHL?U4scZ>#;>_cSnFUltwv4vu}Vxz!d`HSllKK=7;Vi&}EYfpj7@ zZ%3%Q!F}PY?2grK-k4<GniOi@0rz9t$!#m!m!8~sa(nBlR-*2XwpAw|NLncUE<j)= z=LP4Z`j|ZVM)fgy@{Q_a^5m0`$*&#hqv_;3l6)h6OrCu5G5K|)C{I2nzkU??<YV%E zBjrPtGe*-s@>M@3kD{ufs)2n<1Kx+@_pV6}?=u~vz&t@&<I{Y@X3%YNx0U(2*J7#8 zRLaJW_qYkwbIUze*?zb~U^TEG_O9BcQET9U|Il&uYgnVUl>;qf^=nv+`2O=2=CS^k zcll%Jv$vXata|TGx!ilx+iOubJxV^L7!~g6?{(}T9|zpi{i6A$oUX3UB~f|wcV}{a zV+S9?%;p>ES~S)B-PPT>EIy?u9aTB2+uDnJJTtbA-FkX^%CvO!WlA}#mabXVl*sbE z$Gr=tob?+k7P3S>X_`qlu5eRB<uaOb`pTtx@~+j5-re)Eqow`on?1WyNuw{Pa)U-+ zPT6joX6`{b6$=`5IqtTK<y6w0pJv9Z@~~SYwdYU@Gvy5RRV-<wa&`vFsWkGVE@uR< z;L!kI4P|4~FFr+EDPYDtcTg#ZWvyvjIpX{yd6tbZll5o%hAY=Ja_Ty=WOLcdPBC&Z zmXwp*m|8zlR-W4!p;wfXA0Cr(q%BP-X{0t)O7GUhrc9+=-k6TuGup!!uSV=#g{s#1 z?b*vglX5QRbJ1E{d}McZb&udT@jC{ki}_(5a4NIRFnPz1#W9eQY;O+B5AMx^qcDeU z;&t+-dGQ<O9_d(oqDoDB1~*j9Gn&M`9B#h~v-WICRGv02Z0%7W<qhsJVX?}Z`cet` zG<Uf$8vV$=O#{h_3L15LHYH-)>$h*D_Q<$PXu2jj<gxheXv*<c*YeGXGG;&XIlj7< zk4D6XJzQOvFK3Ka*DIG?*cjW;fUv83wSQD9+n(;uy_&d9ZR^;M#Y`vVn3-jSV;h$0 zt**=V$}gwV8jCZpQI}J>L8C9Hq66+hdxk0&H0t&|+pFs`<0Uhc8TZkyuFI6OGf+;Y zksnDvg>ov+yV(4wSJ&<UP1~#R9A6ce8L>TH6_+hXl>2P0ibpfAn)d8NtKz_aki^?z z{l0eO9@8Vr7<h7GXsGgeMZ8`^(sleAi#4y5Gn(^KvW*z948D3K*A>ew>Za{$meJMO zu_sqdy$;6cVGpmomM>?|uDq5nXN=Z{W9m7Tmp;Wci}b3@)lP3sSLuixSc{EVPUQv_ zj_o6sQ*jBk2mKo5T5P2DJlkurGVR&pwOE;QcH(dTny%8wk2GF|a>if=-`CbqG9``0 znuY)Mn%~?Q_@65&I2fky(ODG*1$PeeJ@Vuc%NeC7k66wqJ$dAEDi&0*)RD^RcPn1^ z3F@;PH+rskry($7mT6DHlQ&lKzdb2ulr!B(?a5^O%k_J-a(`y2lz*i0+R4s-Ih8at z>T*W7-9S0!pE4`8Ik{&mn=+cVtR$C*D%B%tE7x!GuMU+hNAfjQz7%W)?kQI;XRPj7 zq>>eHHH^AFBi#EKwSF?|H;JCgg;AH2bt_zTwk$CoH>X2Zt}=5ayj)^cUe!QV162(i z02**6c`uSkCHoTcS>)0#hiA(0uhQIANmT>;y9TO0u)mLRwSW7%2C6=|ua8i*eb1H# zs=n}SX}Vg^zOI3)FYN0hRBhk0rGXk==fXcD`YzGc+p+Z7s=8XwzNvwY`TS7J+_~~( zdsA*W-PD&EoI8}w^bhytb8|QKZ=O4^Y2IA!Kjh{nhLUsl%|7f^t7_OglWNUvPxsZG zJO0+Xb3500<<(eqmtXUZMBZJU%x`Sln8+q1J=c-$Nu&o{%ekW0&9}7;XLFgXRljw) zn_t$Q$ys%4+OjS?nN00&t}mM$%1e&E6=b<I!~Y>X(&NfM%W-+lU6Dxlr(CP{Udn1u zCQ_M!c6UQ!IF;|nyMvZ}NZYdR)bKz@nq60IA96d|t@>}ZCGuUFE$nofzemc=yOw<v zuZ~W&^|*a`%ek2y<h$$qLq|H_<8J8VI$rIrj&we?Dzn*5C$Dj>`ir`kw67vxN1v7M zrT3O~_U5)_t?P4{)NtNil^k@*?`F3oQoYG^pF3~S84IlXpLZpOx-+TmR{aC)+B-bt zX4^99e3pLIzp7_&i|l4u?<TE1n;7WI^d~nY-E7XPxvy<mdm^9kl+!hwPpp@IukXCr z-D-`ypf}&&Gmy6Gw|922YgZzfZg;mN`zUJJ(rhB<N@C59US4a$i%|Pq`6q+k&MuU; zESu=dFHL);ZD?KUl`nd?>L1q*%0pOQ2d8x}S+R1+rSSB2GvZd=+5N8EOs~C~_9gq| zf@dPToi<$LZqK!*`!7wThPk=qT-@32rrOZVVA^tyY+Kfw&nD9YZTLh!krH**Z0cUJ zI-AV9rly+T%YZV#MjtgFX{F>X^3&ax??tE5wb}*Tl***GxUH#V0>gQTT32m!2i-0= zJ-j55UEwANHs-CGaqV5`aw~n>oX-sPxC3%gw)VrT`E+vc@cO(cz^dKN$YryM?LF>L zD$(a^v+G{gk<QV;6jtFTx2U=CJjes|z{M~IF(k=rHF!2(-9|L9@4ewC(!kQ6{?WZO zWuKP#&6YQ(Ioi@i#4<liSOd(<iiqXkmFj?mo4`23EbBwW^~xV6_O1H2@Pj<LEpMzF zue^!)VC5GRPf#v*r6(%Co>=xF*!QqG#8AtAh*%yJA=tlUGucqfk+w`xej@Qy<>wMl zQ+_G2ywQ!|Y-1yDfg?C?Vk2+LBRC&tBX7eaINxC-Z@eQozhfhBwIkF>J@V!{Ld^m; z@^(5x&GXoZ9tkz_zo$nVYSr9Ge2j9@RipB+5g)7k7sSVTyjI5Hc;&L+3Cg7}(l<h_ z=<Os!nM8^8^@z1M!%tE9hlx*B{%zvZls`>8+v9bjztfe=Q&e-5KcBcs`4(bbgVf2m zpP}-*i03K)B5||w$B5^9e4N;q=!h^*^mL}7);Ot4Kp5A{W}%_hIMLhL%3n?_wn!Lv zJDV0mt#O|rK1cZviA67jaWY2d8EVx_zs^@K{kuSUC-GwC9OtZ7<<}A~QT}$~Hszln zZdWe$uvGbPiI;i2LF{_Da?$+?<rflnC|^%3zX=Un*<56()$lrEX%nI0eQdf6wHiK8 zEMrV)*u`e0F!*2DbQ@|NBsTjz<)Wt^<uZ1nQ^G+xHmeM^4!VK(66LoMU#k3L#H*Em zi+GLlUlU*E@$nAv<;ulBqz=M(8UHH`wZ@AMu2e3vtCSBDuT}mU;&sa3MVwGBZ4ez1 z#y`xa&roapuZa6Se(*SA88gDcGudn~)H+z&FrZv?yivL2O)7r@@h0Ur6K_`j9^#bp z2Z+V~2nX+ClNJX51DlMY)`U9ZA>}e3T&-MuBCA~NLiA3UAUen!YE2NC=z=go^dNpk znDBl!ViSZ353<>2s5Rk7#M_mNZC~T@iJ}MT4`HIT;f01;6Pt-&q+IN7hjM9y*f(LK zv~i~}_^a5w*idWYe-OV!`8~wfDgP4jOO;D|UZ(u_#4q>wq*~%vD4#|AO6AfXse>>{ zZ2Z-RT9d>Uu2(KP5xXQzl627vVbbkvZZy=I^iks1D*r0+>y+;ze!cR)5Z~nSL#7em zto$V6Hz+@o_>IcNN8hAeZ1oo9GPZA4F8zCpa*5xn{9fX>DVO%VUHShJiyjGw{GH7^ z47CoOMEp+WClcSP{9NMyR4)E^n{u%!=|AC6(cc}0T8G|B{4VA95x-mcH;M05{!3!9 zX~JZi&3g^CCX1cCPx*Xeu{pxz<!tUU)S4_l_W|W%U;m|C^l`Uxk%@f}CVzpA=z=i$ zCu}}ws5M#o{vnS~nL_;E%4ZXQSa~b)N0f{HWsC_^q~4DiYE6-G{<w0{jr5r?MbbZE zs5Ry5#Gh3D3*t{H-%b2!k58RW{2AqE5Z|wSCGlsKr-{Y?2~)-PKWC^lRmT1E%BAnp zXTnrT|DvJR)JKWGr2G%W|Kss#<B1<sehl%Kl`kZINV)jMSCp?K7JDL0+s5W=hFa6a z_NAYMX)@;DFw~kRdXTXvO#2oa0b$zXY#uh$nqEWvZRLj%e@FT0#NSokPW(OPGFN<G zd5-uI<>H$^P%d`;L*+7V(tpBqsYm7r!gR629~){-|1+`J2Vus+Y<3BQH?sMuF!-5l zerBjOLv-?U<?DzaQ@)+}f0c{x%6JoIh^<L|gc&j>(tpAXX|MPsVa6ZX{K`=4utSM| zt$Z%=6Uw`Yf1^A}{G{@i5<jI}?C@#jVr#!uF8ceOa;fY09zR^{Uu=SKxYQ+Sgu|D! z`IDj6;RD2?Bf{a=vH6Rk*5P*$|5drz^52xpn23)N4wwD@VW@S)VZ{Gb-c0;2<tvHB z9|%X#FPRo39PvuH{y5_Oa7X2zhl|}1jzEWYt#bNd*LnQNL*V0-p9Zg2PQUC1<q7yf z%6G!YE598sc0f3i@v<i<$42al%IUW`XW-||NpR|uF!Ol0jGypx;gglGf{U&RGdIDf zD!&#!P5CYG>B{ed&rp6pTy#g6iS65mD}M@pgvXDfulAA3Nw;SzN6+?A%2&W=Der?H zt$Zu|809y>8<jJ@_OZ$tU;8-a55wuFgrl%o`vm2Tr+uQwXVG5!B;^a>Co32IpQ3y< z{8Z(e;f#}nSv%pg4Yg*y5q`RI(a9X;_rsf%V{i6c<=Cu!hR2Ua$M!tsw8a*iBOKiV zpRfE9IPH^g^bq_^<*$XGrThc%g~}g<pRN2c_#%%VgKgTBE8!S)Y@ef?{cP+&!ZA|U zdCIf!^OZ|o7bw3IzF7H};H}Dk4qxK&M(o{gQ_dLL?aFD3y;QmAcA4_6aP%&r@g_KS zVEEne4&~CX3za_(zsTdq;s<u8a>m*2QZ72YSh?8tO63`NxAIrRpQl{<)ua5g@LuJ+ z;OsBqxEeS*GF-;%QswBzrawl08GMcMG@Rc?ejWUB<!^^SU-^H-uTcJF_?60k0>4W6 zpW$mge*6UZI^~UU<_HPLGv@Ys<@D9=Q@#P-uY4QaRW5oaO~Uc-fe$GE9DJkl@4=JG zpMY=j_z5z;_=AKKWPDS~u~~aiIb&the+ehh4;#H3E@O=y8~z6P)yhTx*qo7n6rNN5 z5InDZ7kpUxAK_a(exm4vawVMD2&bPCP856FuAH&5uTf6f_6wB19R5P(Z-u`|`G?^< zlz#($t@5YfJ3W5VMEHx9p9+78@^(1mE#V}_#D1xA%C=vo{1!NMOE^jDdWG_D!C$Fd z>Ux#OPp*e!uM$o^8GgO;Huw$7`{A!qPTTDpmA?i4TIHhK*D3!V{PoIz2gfEPoN@^K zX64c^#!12{E8uTb&iLDJQcnMD`Xk{K(cznwi)~Z4gj2o_C(ZC*!QbZbQ>9<{gM?F$ zh5v{0#qf71$CmAPDwpxPRXH;IKb3zRew*^I!EaaobNC&~{{erO$4{FEf4B0};CCv& z0FFOMIBhljy~?q1`+drH!r!l)zS?&wzZ?Dm<zIyVm-6q!Nt1Az==mOx&u)O<tNeKQ z2bC{`e@J;J96d^yE#r%=7%t=c5#@}P{ZZw#(f*k7Ps7oRgxTMN->3W!@K1RBbkYAO zl^+KGl=9hd_Lp$_V)$nawNAeTe!p_j$!C@Cgg>BM?Co>PX`}sl<qyNZp!^qbbR^;Q zzrnxc@j27s|D*g2_=Cz<!oRGXImTSa<mVjx!~TlO8E5;e%4v&@9Y~n-BRKYF_@CkU zvxFw8>zm4(;onj&b<tJ{O#|?6D}M$2JIb*y`@72NpN)PcH2oOPcpLs#_#+;lE4uxG z@`dmpD(`_msyqXytrF%+zbMOa?9u*-@`vENls^XlsdCZb&pdvH*fw@A;f%R(@)>?1 z{C|~8zZe4}e=+=*%5Q}~uADKn|4+G$*RPcChX2~*^NxT&p}YzH8|7{ACzW3Te@b~C z{<QK}!+)#%o$%i&|0w+T${AZ5dzCP67yOTgTJ!z_|C7g?4}t$#`AKlnBs8B5XABG% zJ)<MTH^Tp}{5m-Ef|1_>|EKc1;QvxC<4d0<G&3fSN3CYssNYJl=8uPK!u+G*HD0Fq zjI~p%d=<P-Ir=x(-1#|wE4*Ii*TWl>-wHoS`G?`uAz?l`aSm3#3qC<PeRU>!e8CL( zB<1tr=t#nXW$;6lUk;zF9G`NgDBlU6svMm-*pq|>AAsXChU51Rbr}9__+iSi5$AB_ z=+ePHB%De8&XLMbgwIso0zXRmO86}0YvJfo!kMC<W0Z@28kOGxKUVoi;KwO{5PrP! zpTJL0{%1IKOE^o$3tKUqvYnHa&x4<$d<Fbe<$dtel;`2ImA?djy7D)`=P17ujz35^ z>pu8g<zI(0uSqxy-*u?ZaBS9T_V_|{?=WT(7E*?@K=}pmGnGFNewOkL@P*1>0LShn zER^;vQjR@4=vu<U2jJ%@{~r8Y<xj!S^Z41=taH9{#?zs031`!GXEB6u_HuZu@~hxW zln=q%l)oC@uKZT`Qstk3V~Y~b7M)O*;g7-5yW#ky)8X+&V$T;UNB7P}%Bj=oRDLPE zOL+!<vGN<>E0w<!-mUy@IC_+@=yP!92*bY*?^XUA_$rULh)yn1E;^w;2`yqXtCdry zvqt%5_+`p>z%N&R6a4wg#ZInJ{z>?i%D)3grxIGE4QoAqP7QpWa%n?Cxs1zt<>=VK zUL~AE{Z7B~tKqKlSHiIy3FnAT29)0m->Cc{cv898>L%qfF7!>pxrf42%JD5{P&szw zq?Mx^hw+ebE_og7!|?0iw8`*W;92GOz;nvK3ePLw1s_)aG<=K4&y#W4s+{@8+?(X* zdEz_URW3TYM!Dz&Kap@AbviFp{#y8pl-~ts%p{!m8Thpx4{Rq|Hiv>bB(;mVki;+l z1UrzaN)JR0*mQa~fvCpVMN12xNSu?&ZPO|EKvYV#&zOQ|7mK;cz}#WCboF*tEuv}| z0lRQKyGZn{>}}*ZMfn0m)j|$b3kldojm0y4<|x8bt*PODH&-=_1JNuJ(&>O*O!w>} zH#Dbe7YCv}_<fGr#SC3{<}$<CKDRno_<A}Z<G_4zm^?+yD;!x~lz##20jZ>Frw<qn zbS1VmuI$yzbO%hY10Ahis|qNiN;&7Oen+vQ83f)jS>~PB998$lw|Q5;qu5q%V7+%6 z>y45!nF{ZMEj#M`dx(6mvQKYn?0q>E3mSEMp6$1bm(kCm=)-^KZW+}W@kssJ87OB| z@9r(ro<cc#ugO#%vl;!DUSf6*h-gOjJBk5)L}~Rqiq-EZMs0%M)$b_AC?zNwi*L$M zo?IB<ecyUhJy=12kNUfX)$b?<v{s~Y4D_zJ@G+}0pWLyk-%<3wc3$>-Ut_hpu6{>x z_Uy*8TJ~47mDX5trZd{_F^+O|Jz{$*E{gY{J)``h#YpXWwpZ6>+Ox;2>oVo+WQOur z>6J!)q;W5lGiIx6SD#CxfzL4PYu^AG%~#w4tKu>v#y`mK+1JI(mLqB%i*FK{a`Y*` zazj=9j$%2@tRtayXh@%=ESGC!xs)@eUxOP1Pp*DPapZ9;pF>7;tSqDY9mUFe9#hY$ zy!0uqS;~A*Pg?3-S*&zK4y?sSET?jV3di;l%NgZbY~*q(7BuSiJlkurGX2`)wOE;Q zcKYMax3MdY{7CvKlrsi1_`bG=LPcY;W~qKhQ8ZaD6fCU5SKjpA$LKtHq;jg?Q9LVd zEDAGA^*f4j>M^qFcNEL2#(&+N)l~hCVpji^tW;SwrJ|~&s)1)w1Jm_gQs$n_vsiDn zs;UO|H4RjKU|$=NYI~|0sA}NZ)<E^Ew$HZ4tMxtCHBenUJl99C+WzOd2C6>zTpz(| z`^QQHRbLn@O;*c!u4|y`3(xftthRrwG%#_j3aXa#T-Ctp)}G7vy6x3Db+1)eEnvUU zK-ClWi(#yGVlOlxJ}^2zsIes!GI#ZM@Q&naIFL24F`pl5nLBq=VoRbaH=J(j%M8vP z%4Yh9`|`QDoBB7;o!2yPE)N6e=JEycx%;7}@SF<>^6B-OG_H~U**#t_#~oT*clEAd zk89F98?B=xXHfb~_&RnPv;Xku>eRRJmv2enT{dO^E3B)#Q{T?Nm*tGnJ8|~w|Jq%z zFWfJq>LrO(Dw9b!u5eRjpR@L!!!A>RiVM$kmmT$(|2T;`mW;lfQU1rti0vucZPT;S zx2O8wzi}3_6Jhngf8#V`WDXBd%QC6BR4SWwe@~cpa@)%Gr6)I@+}^sXm8iR;ZPm&9 zd#8i_t6sAUYU6<9)oXSK<giye{qNC0%=+@*Q&F|lss{E^4Tukn&JV~{y*?qMSiL?` z-j>&qG^TH|s9vAYuT7TfT>t;QG$A0VUZ3czc!6sq{p>`S)$0=hgNo4053;Pq)?h9l zdDF+!cU#ucB9FXP%07h`tcqN}&*>L8^*+mL&~j=X_obF~F!{%6IYIeM@;h2iP=1yi z%cc!w-3`|DGk*%7;FWdObmH-z{Fb-E^=$gAV<e9!KT^IoItdWYn$2dCC;#+E;fIJ6 z`63RN<2?E2rJeGE1j51#kpIAwAOBJWd`DNp2}fCcrgJcF-mVom&QAUXi93<Yw?>0< zc?-j#$fYd-`IPtY`-H)KO5So7kT1WP-;IO$oai|qKb3lG7YybHkO%cM8GTxl1~Ym6 zwkp3&n1w!VtGhFox2}I|1|q(vDq&7HdOm${C`bNaIaB2Ot*0=K5&7hI6y>tNAC`2$ z8V0$V>`T0O`G<(_7)(UpKDOj}$Y&URc077L{3I{`W%a~YdGcS;W=k&tUFO2?@Z?MR zeyt__Buth&2@OVGzwJ)?qHnoa!FORNeaw@8LF5Zfc55!*W34;XlmFue<Y#;GMSR<J zoM%@J$NUR9b|B${^DXOG$K-D~VJ-3&PriVC?Ru}AH~$8?e)D+A0D5fn<oEL(SpWOS z7tBHK*;W1Z??<lRLY{mv<<)xSH(i1Je6Rc|e;_{6D`%U79Q%{d_)a$Gd-7W)|6+a< zrrgNJv*-G6VzW-G5nFFPi2mN_m46<#@8}(zhtEXr>8+u81@bm8|I$~`FV)YdW+HF* z<lm>ghdk=l`@}fpdO!EL_mbZ1mEZ9Qav2Yb$llJd?DX>gtqJ*ZBexz$&o!Q&>)*&X zm;LWCA1`*Y-pl{wH<61y5tiM;=KG%fm9vn0-)XjAaC~9B>Yw-kay^PprH?v4G@Sl4 z@=hrQJLzHL%@6heXhhy6Qr!4BHs1VDzx^=e7aOs)TIPc<d-Z;N0`iqAr;qmGp8Q(T zC;lVhozl+t7<ohUJmg~Egfqo|n>_iUXCRk$5N>5W9j$l6UGQE{e&%P1kMqjkdM<MP zKJ=MCN3MGNbQ1X`Uj8N6r!~dP{~>JI|8DehnMc%q9>r$-Z%9vNEVRE3hwVbHAF8>N zGOe4ucAhtk{4#zM?)*EOO<ws|OM5OiVr%jjiT!zrZzTKSHp(f?hXMIi@f&|W49F*6 zh1{PHgYq<T$~W_2P<|tFwc9Drr#*mRPrAF{?+q)lVgI|=?_u8X{e4>_@+-akv+z^( z_xiW|6S=g5a*lsN!Qbm2dldOvBe#xbF7o|7JA{0lC;tGtQh#q~MK}I8vwt1%_d8#V ze7%={@|%d&-_LGG-sj1ue1+H>uZ9!nBJcO)$A~?szi-B7{cmhf`2}+I_b-V3Z!r1o z_7~A#_4nz2L{2{m_Js!{*Lm{64<g@a<W}R4Nc8-@L3F0y<hEB%E%<xGiIb7*_qmVR z&3>N0*MA+G)Ngg$S3Onq_g7={`rU4O06SEFZ<u@!@<FW^AMySDrr#o$@g^MiLpGkj zH>`UZa`q?Ko31O4*I&PboH3Aa>~GlUynX2xkY8=Y)|9sstG_>mE&Jd9ZlrC#zyJ7^ z$a7x)d)`Q_{{G#!A=j6=JUO4r)!*-U5;@~7;W(R(`unkOK)%I@t$W2@Jb$nMI%Vp& z!|fsF2jAa!9s%E``Cmiq`Fq3Z=+^(H_!@NL_pAH0$glD8-zM{%=kE>k#6GcC3HRR3 zM*aPEjvfAY$8QsR_vV>~=_`?A9}=FDa@5~v$$0HBV(Z=qiPhgfbtm#`MgIQ)dT95e diff --git a/externals/grill/trunk/flext/tutorial/signal1/.svn/text-base/signal1.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/signal1/.svn/text-base/signal1.vcproj.svn-base deleted file mode 100644 index 136003b77..000000000 --- a/externals/grill/trunk/flext/tutorial/signal1/.svn/text-base/signal1.vcproj.svn-base +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="signal1" - SccProjectName="max/flext/tutorial/signal1" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/signal1.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/signal1~.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/signal1~.pdb" - ImportLibrary=".\msvc/signal1~.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/signal1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/signal1.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - BrowseInformationFile=".\msvc-debug/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile="msvc-debug/signal1~.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/signal1~.pdb" - ImportLibrary=".\msvc-debug/signal1~.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/signal1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/signal1/Makefile.am b/externals/grill/trunk/flext/tutorial/signal1/Makefile.am deleted file mode 100644 index 857be41e5..000000000 --- a/externals/grill/trunk/flext/tutorial/signal1/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = signal1 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/signal1/main.cpp b/externals/grill/trunk/flext/tutorial/signal1/main.cpp deleted file mode 100644 index 3714e1f66..000000000 --- a/externals/grill/trunk/flext/tutorial/signal1/main.cpp +++ /dev/null @@ -1,129 +0,0 @@ -// signal1~ - a flext tutorial external written by Frank Barknecht -// -// This is a commented port of the pan~ example from the PD-Externals-Howto to -// illustrate the usage of flext. You can get the original code at -// http://iem.kug.ac.at/pd/externals-HOWTO/ - -#include <flext.h> - -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401) -#error You need at least flext version 0.4.1 -#endif - - -// A flext dsp external ("tilde object") inherits from the class flext_dsp -class signal1: - public flext_dsp -{ - // Each external that is written in C++ needs to use #defines - // from flbase.h - // - // The define - // - // FLEXT_HEADER(NEW_CLASS, PARENT_CLASS) - // - // should be somewhere in your dsp file. - // A good place is here: - - FLEXT_HEADER(signal1, flext_dsp) - - public: - signal1(): - f_pan(0) // initialize f_pan - { - // The constructor of your class is responsible for - // setting up inlets and outlets and for registering - // inlet-methods: - // The descriptions of the inlets and outlets are output - // via the Max/MSP assist method (when mousing over them in edit mode). - // PD will hopefully provide such a feature as well soon - - AddInSignal("left audio in"); // left audio in - AddInSignal("right audio in"); // right audio in - AddInFloat("panning parameter"); // 1 float in - AddOutSignal("audio out"); // 1 audio out - - // Now we need to bind the handler function to our - // panning inlet, which is inlet 2 (counting all inlets - // from 0). We want the function "setPan" to get - // called on incoming float messages: - - FLEXT_ADDMETHOD(2,setPan); - - // We're done constructing: - post("-- pan~ with flext ---"); - - } // end of constructor - - - protected: - // here we declare the virtual DSP function - virtual void m_signal(int n, float *const *in, float *const *out); - private: - float f_pan; // holds our panning factor - - // Before we can use "setPan" as a handler, we must register this - // function as a callback to PD or Max. This is done using the - // FLEXT_CALLBACK* macros. There are several of them. - // - // FLEXT_CALLBACK_F is a shortcut, that registers a function - // expecting one float arg (thus ending in "_F"). There are - // other shortcuts that register other types of functions. Look - // into flext.h. No semicolon at the end of line!!! - FLEXT_CALLBACK_F(setPan) - - // Now setPan can get declared and defined here. - void setPan(float f) - { - // set our private panning factor "f_pan" to the inlet - // value float "f" in the intervall [0,1] - f_pan = (f<0) ? 0.0f : (f>1) ? 1.0f : f ; - - // if you want to debug if this worked, comment out the - // following line: - //post("Set panning to %.2f, maybe clipped from %.2f", f_pan,f); - } // end setPan -}; // end of class declaration for signal1 - - -// Before we can run our signal1-class in PD, the object has to be registered as a -// PD object. Otherwise it would be a simple C++-class, and what good would -// that be for? Registering is made easy with the FLEXT_NEW_* macros defined -// in flext.h. For tilde objects without arguments call: - -FLEXT_NEW_DSP("signal1~ pan~", signal1) -// T.Grill: there are two names for the object: signal1~ as main name and pan~ as its alias - -// Now we define our DSP function. It gets this arguments: -// -// int n: length of signal vector. Loop over this for your signal processing. -// float *const *in, float *const *out: -// These are arrays of the signals in the objects signal inlets rsp. -// oulets. We come to that later inside the function. - -void signal1::m_signal(int n, float *const *in, float *const *out) -{ - - const float *ins1 = in[0]; - const float *ins2 = in[1]; - // As said above "in" holds a list of the signal vectors in all inlets. - // After these two lines, ins1 holds the signal vector ofthe first - // inlet, index 0, and ins2 holds the signal vector of the second - // inlet, with index 1. - - float *outs = out[0]; - // Now outs holds the signal vector at the one signal outlet we have. - - // We are now ready for the main signal loop - while (n--) - { - - // The "++" after the pointers outs, ins1 and ins2 walks us - // through the signal vector with each n, of course. Before - // each step we change the signal value in the outlet *outs - // according to our panning factor "f_pan" and according to the - // signals at the two signal inlets, *ins1 and *ins2 - - *outs++ = (*ins1++) * (1-f_pan) + (*ins2++) * f_pan; - } -} // end m_signal diff --git a/externals/grill/trunk/flext/tutorial/signal1/package.txt b/externals/grill/trunk/flext/tutorial/signal1/package.txt deleted file mode 100644 index b48618589..000000000 --- a/externals/grill/trunk/flext/tutorial/signal1/package.txt +++ /dev/null @@ -1,2 +0,0 @@ -NAME=signal1~ -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/signal1/signal1.mcp b/externals/grill/trunk/flext/tutorial/signal1/signal1.mcp deleted file mode 100644 index 32e827710d1f6c13dd097903d8d0fe657ff9d6e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101183 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 diff --git a/externals/grill/trunk/flext/tutorial/signal1/signal1.vcproj b/externals/grill/trunk/flext/tutorial/signal1/signal1.vcproj deleted file mode 100644 index 136003b77..000000000 --- a/externals/grill/trunk/flext/tutorial/signal1/signal1.vcproj +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="signal1" - SccProjectName="max/flext/tutorial/signal1" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/signal1.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/signal1~.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/signal1~.pdb" - ImportLibrary=".\msvc/signal1~.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/signal1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/signal1.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - BrowseInformationFile=".\msvc-debug/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile="msvc-debug/signal1~.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/signal1~.pdb" - ImportLibrary=".\msvc-debug/signal1~.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/signal1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/signal2/.svn/all-wcprops b/externals/grill/trunk/flext/tutorial/signal2/.svn/all-wcprops deleted file mode 100644 index bdd6f4c61..000000000 --- a/externals/grill/trunk/flext/tutorial/signal2/.svn/all-wcprops +++ /dev/null @@ -1,35 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 47 -/ext/!svn/ver/1247/trunk/flext/tutorial/signal2 -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/signal2/Makefile.am -END -package.txt -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/signal2/package.txt -END -signal2.mcp -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/signal2/signal2.mcp -END -signal2.vcproj -K 25 -svn:wc:ra_dav:version-url -V 62 -/ext/!svn/ver/1247/trunk/flext/tutorial/signal2/signal2.vcproj -END -main.cpp -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/signal2/main.cpp -END diff --git a/externals/grill/trunk/flext/tutorial/signal2/.svn/entries b/externals/grill/trunk/flext/tutorial/signal2/.svn/entries deleted file mode 100644 index 69e0704ab..000000000 --- a/externals/grill/trunk/flext/tutorial/signal2/.svn/entries +++ /dev/null @@ -1,198 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/tutorial/signal2 -https://svn.grrrr.org/ext - - - -2006-09-20T18:21:19.690651Z -1173 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -Makefile.am -file - - - - -2012-05-13T23:08:36.932556Z -dfaa6f1719ad746212e312f049d4cf8f -2005-01-26T11:58:31.157320Z -992 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -914 - -package.txt -file - - - - -2012-05-13T23:08:36.933556Z -b2963e17c525510f9dff481f4363ccf5 -2006-09-20T18:21:19.690651Z -1173 -thomas - - - - - - - - - - - - - - - - - - - - - -30 - -signal2.mcp -file - - - - -2012-05-13T23:08:36.934556Z -1b0d4d5fdc0e272d446f999ad2a25091 -2005-01-04T13:28:16.495520Z -953 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -101183 - -signal2.vcproj -file - - - - -2012-05-13T23:08:36.931556Z -0a75265608d01d964e7c0ac912195272 -2003-11-12T01:58:35.000000Z -727 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4912 - -main.cpp -file - - - - -2012-05-13T23:08:36.932556Z -7e5b38cda8e6dcd2bb8b6f6350867b41 -2005-07-06T10:29:31.042815Z -1093 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1700 - diff --git a/externals/grill/trunk/flext/tutorial/signal2/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/signal2/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/tutorial/signal2/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/tutorial/signal2/.svn/prop-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/signal2/.svn/prop-base/main.cpp.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/signal2/.svn/prop-base/main.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/signal2/.svn/prop-base/signal2.mcp.svn-base b/externals/grill/trunk/flext/tutorial/signal2/.svn/prop-base/signal2.mcp.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/tutorial/signal2/.svn/prop-base/signal2.mcp.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/signal2/.svn/prop-base/signal2.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/signal2/.svn/prop-base/signal2.vcproj.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/signal2/.svn/prop-base/signal2.vcproj.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/signal2/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/signal2/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index 6aaf483d5..000000000 --- a/externals/grill/trunk/flext/tutorial/signal2/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = signal2 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/signal2/.svn/text-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/signal2/.svn/text-base/main.cpp.svn-base deleted file mode 100644 index 7793bb00a..000000000 --- a/externals/grill/trunk/flext/tutorial/signal2/.svn/text-base/main.cpp.svn-base +++ /dev/null @@ -1,69 +0,0 @@ -/* -flext tutorial - signal 2 - -Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is an object showing varous parameters of the pd audio system -*/ - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400) -#error You need at least flext version 0.4.0 -#endif - - -// define the class that stands for a pd/Max object -// Attention: the class name must be the same as the object name!! (without the ~) - -class signal2: - // inherit from flext dsp class - public flext_dsp -{ - // obligatory flext header (class name,base class name) - FLEXT_HEADER(signal2,flext_dsp) - -public: - // constructor - signal2(); - -protected: - void m_bang(); // method for bang - -private: - FLEXT_CALLBACK(m_bang) // callback for method "m_bang" -}; - -// instantiate the class -FLEXT_NEW_DSP("signal2~",signal2) - - -signal2::signal2() -{ - // define inlets: - // first inlet must always by of type anything (or signal for dsp objects) - AddInAnything(); // add one inlet for any message - - // add outlets for sample rate, block size, audio in and out channel count - AddOutFloat(1); - AddOutInt(3); // although PD knows no int type, flext does! - - // register methods - FLEXT_ADDBANG(0,m_bang); // register method "m_bang" for bang message into inlet 0 -} - -void signal2::m_bang() -{ - // output various parameters of the pd audio system - ToOutFloat(0,Samplerate()); - ToOutInt(1,Blocksize()); - ToOutInt(2,CntInSig()); - ToOutInt(3,CntOutSig()); -} - diff --git a/externals/grill/trunk/flext/tutorial/signal2/.svn/text-base/package.txt.svn-base b/externals/grill/trunk/flext/tutorial/signal2/.svn/text-base/package.txt.svn-base deleted file mode 100644 index a258255c9..000000000 --- a/externals/grill/trunk/flext/tutorial/signal2/.svn/text-base/package.txt.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -NAME=signal2~ -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/signal2/.svn/text-base/signal2.mcp.svn-base b/externals/grill/trunk/flext/tutorial/signal2/.svn/text-base/signal2.mcp.svn-base deleted file mode 100644 index 260893e22dae2a9be3ecb858f881a8adfe90e124..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101183 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 OSpEGIcOt)5<o^%*Zw7Jz diff --git a/externals/grill/trunk/flext/tutorial/signal2/.svn/text-base/signal2.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/signal2/.svn/text-base/signal2.vcproj.svn-base deleted file mode 100644 index 4923b1a72..000000000 --- a/externals/grill/trunk/flext/tutorial/signal2/.svn/text-base/signal2.vcproj.svn-base +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="signal2" - SccProjectName="max/flext/tutorial/signal2" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/signal2.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - BrowseInformationFile=".\msvc-debug/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile="msvc-debug/signal2~.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/signal2~.pdb" - ImportLibrary=".\msvc-debug/signal2~.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/signal2.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/signal2.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/signal2~.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/signal2~.pdb" - ImportLibrary=".\msvc/signal2~.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/signal2.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/signal2/Makefile.am b/externals/grill/trunk/flext/tutorial/signal2/Makefile.am deleted file mode 100644 index 6aaf483d5..000000000 --- a/externals/grill/trunk/flext/tutorial/signal2/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = signal2 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/signal2/main.cpp b/externals/grill/trunk/flext/tutorial/signal2/main.cpp deleted file mode 100644 index 7793bb00a..000000000 --- a/externals/grill/trunk/flext/tutorial/signal2/main.cpp +++ /dev/null @@ -1,69 +0,0 @@ -/* -flext tutorial - signal 2 - -Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is an object showing varous parameters of the pd audio system -*/ - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400) -#error You need at least flext version 0.4.0 -#endif - - -// define the class that stands for a pd/Max object -// Attention: the class name must be the same as the object name!! (without the ~) - -class signal2: - // inherit from flext dsp class - public flext_dsp -{ - // obligatory flext header (class name,base class name) - FLEXT_HEADER(signal2,flext_dsp) - -public: - // constructor - signal2(); - -protected: - void m_bang(); // method for bang - -private: - FLEXT_CALLBACK(m_bang) // callback for method "m_bang" -}; - -// instantiate the class -FLEXT_NEW_DSP("signal2~",signal2) - - -signal2::signal2() -{ - // define inlets: - // first inlet must always by of type anything (or signal for dsp objects) - AddInAnything(); // add one inlet for any message - - // add outlets for sample rate, block size, audio in and out channel count - AddOutFloat(1); - AddOutInt(3); // although PD knows no int type, flext does! - - // register methods - FLEXT_ADDBANG(0,m_bang); // register method "m_bang" for bang message into inlet 0 -} - -void signal2::m_bang() -{ - // output various parameters of the pd audio system - ToOutFloat(0,Samplerate()); - ToOutInt(1,Blocksize()); - ToOutInt(2,CntInSig()); - ToOutInt(3,CntOutSig()); -} - diff --git a/externals/grill/trunk/flext/tutorial/signal2/package.txt b/externals/grill/trunk/flext/tutorial/signal2/package.txt deleted file mode 100644 index a258255c9..000000000 --- a/externals/grill/trunk/flext/tutorial/signal2/package.txt +++ /dev/null @@ -1,2 +0,0 @@ -NAME=signal2~ -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/signal2/signal2.mcp b/externals/grill/trunk/flext/tutorial/signal2/signal2.mcp deleted file mode 100644 index 260893e22dae2a9be3ecb858f881a8adfe90e124..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101183 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 OSpEGIcOt)5<o^%*Zw7Jz diff --git a/externals/grill/trunk/flext/tutorial/signal2/signal2.vcproj b/externals/grill/trunk/flext/tutorial/signal2/signal2.vcproj deleted file mode 100644 index 4923b1a72..000000000 --- a/externals/grill/trunk/flext/tutorial/signal2/signal2.vcproj +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="signal2" - SccProjectName="max/flext/tutorial/signal2" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/signal2.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - BrowseInformationFile=".\msvc-debug/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile="msvc-debug/signal2~.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/signal2~.pdb" - ImportLibrary=".\msvc-debug/signal2~.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/signal2.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/signal2.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/signal2~.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/signal2~.pdb" - ImportLibrary=".\msvc/signal2~.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/signal2.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/simple1/.svn/all-wcprops b/externals/grill/trunk/flext/tutorial/simple1/.svn/all-wcprops deleted file mode 100644 index f79d12305..000000000 --- a/externals/grill/trunk/flext/tutorial/simple1/.svn/all-wcprops +++ /dev/null @@ -1,35 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 47 -/ext/!svn/ver/1247/trunk/flext/tutorial/simple1 -END -main.cpp -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/simple1/main.cpp -END -simple1.mcp -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/simple1/simple1.mcp -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/simple1/Makefile.am -END -package.txt -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/simple1/package.txt -END -simple1.vcproj -K 25 -svn:wc:ra_dav:version-url -V 62 -/ext/!svn/ver/1247/trunk/flext/tutorial/simple1/simple1.vcproj -END diff --git a/externals/grill/trunk/flext/tutorial/simple1/.svn/entries b/externals/grill/trunk/flext/tutorial/simple1/.svn/entries deleted file mode 100644 index 3149df288..000000000 --- a/externals/grill/trunk/flext/tutorial/simple1/.svn/entries +++ /dev/null @@ -1,198 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/tutorial/simple1 -https://svn.grrrr.org/ext - - - -2005-01-26T11:58:31.157320Z -992 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -simple1.mcp -file - - - - -2012-05-13T23:08:37.241556Z -2c1c016ad43c167b4cc71988a5990ece -2005-01-04T13:28:16.495520Z -953 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -147321 - -Makefile.am -file - - - - -2012-05-13T23:08:37.241556Z -649817bd1fdba21971bb7340e393c74a -2005-01-26T11:58:31.157320Z -992 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -914 - -package.txt -file - - - - -2012-05-13T23:08:37.242556Z -c5a2c5f09e86bb56641149753180d902 -2005-01-04T13:57:44.777172Z -954 -thomas - - - - - - - - - - - - - - - - - - - - - -29 - -simple1.vcproj -file - - - - -2012-05-13T23:08:37.243556Z -988b70f98d40c6f0a5752cd3b7c66777 -2003-11-12T01:58:35.000000Z -727 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4889 - -main.cpp -file - - - - -2012-05-13T23:08:37.239556Z -e9e7075ed6f7155df4acea03fa632170 -2003-06-17T22:42:40.000000Z -646 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1866 - diff --git a/externals/grill/trunk/flext/tutorial/simple1/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/simple1/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/tutorial/simple1/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/tutorial/simple1/.svn/prop-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/simple1/.svn/prop-base/main.cpp.svn-base deleted file mode 100644 index fe7d6daf7..000000000 --- a/externals/grill/trunk/flext/tutorial/simple1/.svn/prop-base/main.cpp.svn-base +++ /dev/null @@ -1,13 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 14 -svn:executable -V 1 -* -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/simple1/.svn/prop-base/simple1.mcp.svn-base b/externals/grill/trunk/flext/tutorial/simple1/.svn/prop-base/simple1.mcp.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/simple1/.svn/prop-base/simple1.mcp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/simple1/.svn/prop-base/simple1.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/simple1/.svn/prop-base/simple1.vcproj.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/simple1/.svn/prop-base/simple1.vcproj.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/simple1/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/simple1/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index d918a68de..000000000 --- a/externals/grill/trunk/flext/tutorial/simple1/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = simple1 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/simple1/.svn/text-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/simple1/.svn/text-base/main.cpp.svn-base deleted file mode 100644 index ed3c3ea31..000000000 --- a/externals/grill/trunk/flext/tutorial/simple1/.svn/text-base/main.cpp.svn-base +++ /dev/null @@ -1,73 +0,0 @@ -/* -flext tutorial - simple 1 - -Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is an example of a simple object doing a float inversion -*/ - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400) -#error You need at least flext version 0.4.0 -#endif - - -// define the class that stands for a pd/Max object -// Attention: the class name must be the same as the object name!! (without an eventual ~) -// Special names are possible with the usage of libraries (see the lib1 tutorial example) - -class simple1: - // inherit from basic flext class - public flext_base -{ - // obligatory flext header (class name,base class name) - FLEXT_HEADER(simple1,flext_base) - -public: - // constructor - simple1() - { - // define inlets: - // first inlet must always be of type anything (or signal for dsp objects) - AddInAnything(); // add one inlet for any message - - // define outlets: - AddOutFloat(); // add one float outlet (has index 0) - - // register methods - FLEXT_ADDMETHOD(0,m_float); // register method (for float messages) "m_float" for inlet 0 - } - -protected: - void m_float(float input) // method for float values - { - float result; - - if(input == 0) { - // special case 0 - post("%s - zero can't be inverted!",thisName()); - result = 0; - } - else - // normal case - result = 1/input; - - // output value to outlet - ToOutFloat(0,result); // (0 stands for the outlet index 0 - the leftmost outlet) - } - -private: - FLEXT_CALLBACK_1(m_float,float) // callback for method "m_float" (with one float argument) -}; - -// instantiate the class -FLEXT_NEW("simple1",simple1) - - diff --git a/externals/grill/trunk/flext/tutorial/simple1/.svn/text-base/package.txt.svn-base b/externals/grill/trunk/flext/tutorial/simple1/.svn/text-base/package.txt.svn-base deleted file mode 100644 index 8a3da4168..000000000 --- a/externals/grill/trunk/flext/tutorial/simple1/.svn/text-base/package.txt.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -NAME=simple1 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/simple1/.svn/text-base/simple1.mcp.svn-base b/externals/grill/trunk/flext/tutorial/simple1/.svn/text-base/simple1.mcp.svn-base deleted file mode 100644 index 6e778ba54d91954ad37e411669fc75ff75e7f182..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147321 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 diff --git a/externals/grill/trunk/flext/tutorial/simple1/.svn/text-base/simple1.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/simple1/.svn/text-base/simple1.vcproj.svn-base deleted file mode 100644 index e6ad7d68f..000000000 --- a/externals/grill/trunk/flext/tutorial/simple1/.svn/text-base/simple1.vcproj.svn-base +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="simple1" - SccProjectName="simple1" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/simple1.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - BrowseInformationFile=".\msvc-debug/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile=".\msvc-debug/simple1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/simple1.pdb" - ImportLibrary=".\msvc-debug/simple1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/simple1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/simple1.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/simple1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/simple1.pdb" - ImportLibrary=".\msvc/simple1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/simple1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/simple1/Makefile.am b/externals/grill/trunk/flext/tutorial/simple1/Makefile.am deleted file mode 100644 index d918a68de..000000000 --- a/externals/grill/trunk/flext/tutorial/simple1/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = simple1 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/simple1/main.cpp b/externals/grill/trunk/flext/tutorial/simple1/main.cpp deleted file mode 100755 index ed3c3ea31..000000000 --- a/externals/grill/trunk/flext/tutorial/simple1/main.cpp +++ /dev/null @@ -1,73 +0,0 @@ -/* -flext tutorial - simple 1 - -Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is an example of a simple object doing a float inversion -*/ - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400) -#error You need at least flext version 0.4.0 -#endif - - -// define the class that stands for a pd/Max object -// Attention: the class name must be the same as the object name!! (without an eventual ~) -// Special names are possible with the usage of libraries (see the lib1 tutorial example) - -class simple1: - // inherit from basic flext class - public flext_base -{ - // obligatory flext header (class name,base class name) - FLEXT_HEADER(simple1,flext_base) - -public: - // constructor - simple1() - { - // define inlets: - // first inlet must always be of type anything (or signal for dsp objects) - AddInAnything(); // add one inlet for any message - - // define outlets: - AddOutFloat(); // add one float outlet (has index 0) - - // register methods - FLEXT_ADDMETHOD(0,m_float); // register method (for float messages) "m_float" for inlet 0 - } - -protected: - void m_float(float input) // method for float values - { - float result; - - if(input == 0) { - // special case 0 - post("%s - zero can't be inverted!",thisName()); - result = 0; - } - else - // normal case - result = 1/input; - - // output value to outlet - ToOutFloat(0,result); // (0 stands for the outlet index 0 - the leftmost outlet) - } - -private: - FLEXT_CALLBACK_1(m_float,float) // callback for method "m_float" (with one float argument) -}; - -// instantiate the class -FLEXT_NEW("simple1",simple1) - - diff --git a/externals/grill/trunk/flext/tutorial/simple1/package.txt b/externals/grill/trunk/flext/tutorial/simple1/package.txt deleted file mode 100644 index 8a3da4168..000000000 --- a/externals/grill/trunk/flext/tutorial/simple1/package.txt +++ /dev/null @@ -1,2 +0,0 @@ -NAME=simple1 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/simple1/simple1.mcp b/externals/grill/trunk/flext/tutorial/simple1/simple1.mcp deleted file mode 100755 index 6e778ba54d91954ad37e411669fc75ff75e7f182..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147321 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 diff --git a/externals/grill/trunk/flext/tutorial/simple1/simple1.vcproj b/externals/grill/trunk/flext/tutorial/simple1/simple1.vcproj deleted file mode 100644 index e6ad7d68f..000000000 --- a/externals/grill/trunk/flext/tutorial/simple1/simple1.vcproj +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="simple1" - SccProjectName="simple1" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/simple1.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - BrowseInformationFile=".\msvc-debug/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile=".\msvc-debug/simple1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/simple1.pdb" - ImportLibrary=".\msvc-debug/simple1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/simple1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/simple1.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/simple1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/simple1.pdb" - ImportLibrary=".\msvc/simple1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/simple1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/simple2/.svn/all-wcprops b/externals/grill/trunk/flext/tutorial/simple2/.svn/all-wcprops deleted file mode 100644 index 81895285c..000000000 --- a/externals/grill/trunk/flext/tutorial/simple2/.svn/all-wcprops +++ /dev/null @@ -1,35 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 47 -/ext/!svn/ver/1247/trunk/flext/tutorial/simple2 -END -simple2.vcproj -K 25 -svn:wc:ra_dav:version-url -V 62 -/ext/!svn/ver/1247/trunk/flext/tutorial/simple2/simple2.vcproj -END -main.cpp -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/simple2/main.cpp -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/simple2/Makefile.am -END -package.txt -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/simple2/package.txt -END -simple2.mcp -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/simple2/simple2.mcp -END diff --git a/externals/grill/trunk/flext/tutorial/simple2/.svn/entries b/externals/grill/trunk/flext/tutorial/simple2/.svn/entries deleted file mode 100644 index 749384d37..000000000 --- a/externals/grill/trunk/flext/tutorial/simple2/.svn/entries +++ /dev/null @@ -1,198 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/tutorial/simple2 -https://svn.grrrr.org/ext - - - -2005-01-26T11:58:31.157320Z -992 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -main.cpp -file - - - - -2012-05-13T23:08:37.268556Z -3ae462386312b733f6e8581390af7280 -2003-01-01T23:54:16.000000Z -465 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1854 - -Makefile.am -file - - - - -2012-05-13T23:08:37.269556Z -38b47aeb161b6cff2e25b32c0fce206f -2005-01-26T11:58:31.157320Z -992 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -914 - -package.txt -file - - - - -2012-05-13T23:08:37.269556Z -72b67edbf892e5771c1082c807059107 -2005-01-04T13:57:44.777172Z -954 -thomas - - - - - - - - - - - - - - - - - - - - - -29 - -simple2.mcp -file - - - - -2012-05-13T23:08:37.270556Z -16dccf206189d02dbf88b6b7a0c55cf2 -2005-01-04T13:28:16.495520Z -953 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -101183 - -simple2.vcproj -file - - - - -2012-05-13T23:08:37.271556Z -e7c0cfcaebbb1df3dce9e30f458d9698 -2003-11-12T01:58:35.000000Z -727 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4847 - diff --git a/externals/grill/trunk/flext/tutorial/simple2/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/simple2/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/tutorial/simple2/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/tutorial/simple2/.svn/prop-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/simple2/.svn/prop-base/main.cpp.svn-base deleted file mode 100644 index fe7d6daf7..000000000 --- a/externals/grill/trunk/flext/tutorial/simple2/.svn/prop-base/main.cpp.svn-base +++ /dev/null @@ -1,13 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 14 -svn:executable -V 1 -* -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/simple2/.svn/prop-base/simple2.mcp.svn-base b/externals/grill/trunk/flext/tutorial/simple2/.svn/prop-base/simple2.mcp.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/simple2/.svn/prop-base/simple2.mcp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/simple2/.svn/prop-base/simple2.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/simple2/.svn/prop-base/simple2.vcproj.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/simple2/.svn/prop-base/simple2.vcproj.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/simple2/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/simple2/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index 696c144bd..000000000 --- a/externals/grill/trunk/flext/tutorial/simple2/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = simple2 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/simple2/.svn/text-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/simple2/.svn/text-base/main.cpp.svn-base deleted file mode 100644 index 894ceb47c..000000000 --- a/externals/grill/trunk/flext/tutorial/simple2/.svn/text-base/main.cpp.svn-base +++ /dev/null @@ -1,77 +0,0 @@ -/* -flext tutorial - simple 2 - -Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is an example of a simple object doing a float addition -*/ - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400) -#error You need at least flext version 0.4.0 -#endif - - -class simple2: - public flext_base -{ - FLEXT_HEADER(simple2,flext_base) - -public: - // constructor with float argument - simple2(float init); - -protected: - void m_float1(float f); - void m_float2(float f); - - // stored argument of right inlet - float arg; - -private: - // FLEXT_CALLBACK_F(...) is a shortcut for FLEXT_CALLBACK_1(...,float) - FLEXT_CALLBACK_F(m_float1) // callback for method "m_float1" (with one float argument) - FLEXT_CALLBACK_F(m_float2) // callback for method "m_float2" (with one float argument) -}; - -// instantiate the class (constructor has one float argument) -FLEXT_NEW_1("simple2",simple2,float) - - -simple2::simple2(float init): - arg(init) // store argument -{ - // define inlets - AddInAnything(); // first inlet of type anything (index 0) - AddInFloat(); // additional float inlet (index 1) - - // define outlets - AddOutFloat(); // one float outlet (has index 0) - - // register methods - FLEXT_ADDMETHOD(0,m_float1); // register method (for floats) "m_float1" for inlet 0 - FLEXT_ADDMETHOD(1,m_float2); // register method (for floats) "m_float2" for inlet 1 -} - -void simple2::m_float1(float f) -{ - float res; - res = arg+f; - - // output value to outlet - ToOutFloat(0,res); // (0 stands for the outlet index 0) -} - -void simple2::m_float2(float f) -{ - // store float - arg = f; -} - diff --git a/externals/grill/trunk/flext/tutorial/simple2/.svn/text-base/package.txt.svn-base b/externals/grill/trunk/flext/tutorial/simple2/.svn/text-base/package.txt.svn-base deleted file mode 100644 index fd8b2a252..000000000 --- a/externals/grill/trunk/flext/tutorial/simple2/.svn/text-base/package.txt.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -NAME=simple2 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/simple2/.svn/text-base/simple2.mcp.svn-base b/externals/grill/trunk/flext/tutorial/simple2/.svn/text-base/simple2.mcp.svn-base deleted file mode 100644 index 6ada3deb7536f581e1a0bc0d518c5d00a21a99c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101183 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 M|HK{0uNL|L10Jvh5C8xG diff --git a/externals/grill/trunk/flext/tutorial/simple2/.svn/text-base/simple2.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/simple2/.svn/text-base/simple2.vcproj.svn-base deleted file mode 100644 index 5402924e4..000000000 --- a/externals/grill/trunk/flext/tutorial/simple2/.svn/text-base/simple2.vcproj.svn-base +++ /dev/null @@ -1,176 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="simple2" - SccProjectName="simple2" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/simple2.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile=".\msvc-debug/simple2.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/simple2.pdb" - ImportLibrary=".\msvc-debug/simple2.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/simple2.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/simple2.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/simple2.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/simple2.pdb" - ImportLibrary=".\msvc/simple2.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/simple2.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/simple2/Makefile.am b/externals/grill/trunk/flext/tutorial/simple2/Makefile.am deleted file mode 100644 index 696c144bd..000000000 --- a/externals/grill/trunk/flext/tutorial/simple2/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = simple2 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/simple2/main.cpp b/externals/grill/trunk/flext/tutorial/simple2/main.cpp deleted file mode 100755 index 894ceb47c..000000000 --- a/externals/grill/trunk/flext/tutorial/simple2/main.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/* -flext tutorial - simple 2 - -Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is an example of a simple object doing a float addition -*/ - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400) -#error You need at least flext version 0.4.0 -#endif - - -class simple2: - public flext_base -{ - FLEXT_HEADER(simple2,flext_base) - -public: - // constructor with float argument - simple2(float init); - -protected: - void m_float1(float f); - void m_float2(float f); - - // stored argument of right inlet - float arg; - -private: - // FLEXT_CALLBACK_F(...) is a shortcut for FLEXT_CALLBACK_1(...,float) - FLEXT_CALLBACK_F(m_float1) // callback for method "m_float1" (with one float argument) - FLEXT_CALLBACK_F(m_float2) // callback for method "m_float2" (with one float argument) -}; - -// instantiate the class (constructor has one float argument) -FLEXT_NEW_1("simple2",simple2,float) - - -simple2::simple2(float init): - arg(init) // store argument -{ - // define inlets - AddInAnything(); // first inlet of type anything (index 0) - AddInFloat(); // additional float inlet (index 1) - - // define outlets - AddOutFloat(); // one float outlet (has index 0) - - // register methods - FLEXT_ADDMETHOD(0,m_float1); // register method (for floats) "m_float1" for inlet 0 - FLEXT_ADDMETHOD(1,m_float2); // register method (for floats) "m_float2" for inlet 1 -} - -void simple2::m_float1(float f) -{ - float res; - res = arg+f; - - // output value to outlet - ToOutFloat(0,res); // (0 stands for the outlet index 0) -} - -void simple2::m_float2(float f) -{ - // store float - arg = f; -} - diff --git a/externals/grill/trunk/flext/tutorial/simple2/package.txt b/externals/grill/trunk/flext/tutorial/simple2/package.txt deleted file mode 100644 index fd8b2a252..000000000 --- a/externals/grill/trunk/flext/tutorial/simple2/package.txt +++ /dev/null @@ -1,2 +0,0 @@ -NAME=simple2 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/simple2/simple2.mcp b/externals/grill/trunk/flext/tutorial/simple2/simple2.mcp deleted file mode 100755 index 6ada3deb7536f581e1a0bc0d518c5d00a21a99c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101183 zcmeI5349!7{r_hsNfSz2=t-dz!hMvc^x$Z?nkGF035`ji1%Y;(Ow(;QyJ2_J1GQA~ zKtWUx@fHQe0|it(@WvDI##_{?sQf$t@7w<0-)FwFJ2N}GNonL?$Ud)p=K1XRdFDC3 z&-eSxv$K<VdNY}nWmz?rWuIu-yAHDK=bvF&;~S7|u^pSp3$2+xcTFOjO=hx<UD?cL zw>R%6jg|O7IywPN1e3r)pcaUdL|+Gk$zTc?59+`HpdL&G)4+5v0~`Wof<wV!U>0z| z;ovwh8yo?S1jmCDKqEK`91SEK0~j}J95@l21WpEXz$suZXrfr!<WQGG-41m*)a6jG zLpvSX;?ORKdL8O?sMDcNrx8$>LtPH_IL89o<<J&~wm8)1P@hA64)r<I=g=pIIvw=j z&|gRDo(E0^^T7hJ5G<ly7lF&bCEyCM4qOf{2A6`hU_D5H4WJkF0T*lp{a_PFg3VwH z5IY_KX^;Vf;Mw3xuo|oZS&##HFa)-OZD2dN3Opa|1lNEUf){}2fUCjtz>C0(!Arok z;HBVY;5u+UcsaNMyaK!uyb9b1ZUV0cH-lZ^HDCvLF1Q7}7Q7C;9=rj(5xfb!1-t{? z2HpwY1?~X1g4@B{z`MbFz@6Z|;C<jOa5uOIydQi3d=T6VJ_J4tJ_0@p?gMWJ9|La& zZv`I*p8%f(p8}r-p8@xS{{v5e--ADbKY>4h-+;%!@4%nIU%+3%-@xC&Kfpi1zrer2 zf53mi9?ykro7e$0pceV##C61vg5Sc&fqKvY4gll9fnWmZp92qqFM+RuuYs?C&w~fR z7s1!TH^4W+x4=W-+u%FkyWo4^```!Qhu}xxVen({6Yx{;Ww0B37JLEx4E!AY0z3kK z34R5B4Ne7TfJI<2Xa;A3`QS9L5S#_h2Iqit!FgZ_XaP$>D`*4Dz;dtxtOV`gd~g9c z9dv+sU;*d^7lKuw3p@*SgC2a3ybg6aw8fz=X9=KQhju!&#i5-JbvxAUP`5+f4s|=! z?NGNv-41m-)a_8WL%k05In?J+pF@2P^*Qv(p-zW>I`r9*x>tjXz{Ow<SPL!z&juU7 zI?xAP&<idD>%kRZBj^X4KoV>QTR;j7fHcT}L2xC=f*i<$A+QxBz&3CxxEyQ;JHS=o zIpDeAd0?kyS;t~mzXN{)Pk_IGzk)x5--ADZ$HCvg-@!k?Kf%AizrlaNf59Hgqd2*c zIuNG@)Pg!N4%Cz9kHihczXgxM4*=uAfnWld2quApNT+@F3&Hcji@{64ivVr5UjTN2 zYr#vw%fNNudhl{^19$~^C3qFM5!?h`4Q>Xn0k?qHf@{F*06MX+2CoNi0B;0u0&fOy z0k;Ci(Pr%I%K$pI8B2RTU~KKn0pn{ko^~H#Y;DHUW-M*S(q=4e#?odiZN}1OEN#Zp zW-M*S(q=4e#?odi?JEG|X=6J!V`ww3HsfkDrZ!_~GnO`EX)~7g7s1!SgWwzBo8ar< zOW-Tu%ivq!A@FVR9q?W7J@9?-1MoxeBk(ZzG587iDcB8u27V5{3Vs2;03HC3fM0@N zfnS41!T*8ZfVY8nfp>uSfIGpv!EN9U@OJQC@IG)CxEtI9-VZ(iJ_zmw9|9i+9|0c) z_koXrkAqKucY;rXw}RWjr@*JdXTbg7v*2^!^I#!p24{e?!8zb8un3$9P6y|L^S~0& z0+xbS&<2))<zNL^3EIK=-~!MAI>CitF<1o_fYU%1coygeJzzDs2wV&%f$3lhI0VcD zGr&P$Dwqro1&4uI;BYV-90865jo>J7G&lwv3yuTFgA>4s;3O~&oD3#{gTWkd3YZI; zz&vm&m~Rz>t(0~d$Ci(jWz`5F&`+z@FmJxDQ;rU-amp_vu2-HWZcsi*e1P&@#N(B} zg!n+^uOXhG{5E3RZo=Ih(VGd_iCLS<2kgSEOND<0pgR+O#1Z|P@H>v^)r5a=L@yHL zdTZ9J!ll2AfdtW^S-%QrEX_JrICf#yv%(oyv#u4sfdk_tLHyaQafR>Vz_>|}`N^zz zg};#l<0wIF*=iI9|0oB>Rf71ozYZ2(HEUs!|BM6UEkWjKvz8YAPY#T~1etTqdRjQP zW!BEZu@^Iz!evac4GFTwHEU|&_=#Ct3&-}&8e4cLhbBOfYn!<i3tz_p8<HT`D|77^ zp69Rt5agO;)&jz><FE)2oEtfaehH4~<a9$VM|2|XAUN;mfS*cmm<Npg3I8ky{91w| zx;o2H%lQ@Y*~<S&jK51T=8K;jF7}1L8;*}zOANJYL_aOcrLRksOL?uzFC=DOkWeFf z5FHU}dO0jN)T$9XU!nYZ;+4wZOx&*gUBu@rmp)#gT>99d{0qdQcS6m#IY`}vnjdpu zu8~ml7>6!Ht(w0QKg;8_VgudEnQLTiB%zi$#C%r}F7|Q}Ak>P!FE-Sw6`e`n2({9u zwT4=?(ymLCUrH<>)b??BwxL#Siuf|+&mq2C`8C8>D8G?d?1oT#8;AA6;CFFI7;4pi zf_Q`SuMvxW3ANwnAoUSyf6l=*)T))S-stf<hqzz)6yi<Fk0wqkmpN~<@+HJ#yM#K? zne>5BC-n>%YSnEePAk8bIHUaa#4_H`gdlqJ22w`t0MKZ207uBRK)5;B1WW$vuSe1V z8f!U#*<cbl1k417g2TWpa5$J9ET{ItBbYgytHCZD^&!s@`P^p;b1s<mjl}l3ncU*$ zgh(2w`$Xc#J$ruI$OWcl6URW1=1C94@}*5RfGW*Zsg78Jq>VRh^bcYMyRe!&^@3Nl z3Ws(X<&mSVpgd_o@dN6#CV@l1OmHYT49o(DgW2E+>C4r7<iwI=xZDc)9J}5dJ(@(B z63mxTkNTp(C()_sQG)1HbV>O}m!i-AnNB-<IvTr&()r|o+mgyBFLryII+7bK;(R8% zZrS$4z+lR4>K(KsW9ytbO<i5BCP#ZZ?`Ah9dR@uhnaFQ4v1BS_kyCowS6#HWAlYtd zC5>9L)tqR`4CO6OZfqYI%w+S8RA4Plq*9qox^bnOqUJS?t@Ehbq;$JiS>$NR4OnYi zS1n&2JgaM2=woN1cU6y^)Yy?sZ*j9$Pi83F>o%^=x^B*D>FsrMxyCM9p0nEA4MY9? zZq`?YwK|dQck_)sZa$w(_vftT$&}mJnHU^2pOy|KQ+;$HpG^eL_0F+chjRJMK;s4O zj%}H2U(WK{-kKR0q>QY7<R)m^6t!w7KRA?cT%Jl$OIM<IOG28_l}NiO>1U(dF<s%N z4R1^461ki^utCa^#1*N`hD54y)gZ%{yh?@ISxHABCZB(+6&Z@t($OTPYpa^0<FYa3 zZqJ*c=}c^wp=FG>OPAejI+3!P!=L)xRAR?Y%S0H<pt4PJQp-?ZG9x84o8<YLZEoLA zw3^L{lKThTbly8>r)HC6(}uZyrWHwZvPeBfz6g=Dg2k;{)6%ngS;6j_d$$#{x2{oM zsAFBQj-8EtVhvV)Q`SxNEwJQVpKGi+NSSN$7Sab2$+YReY5F=(fy%u)R$SE6zHWIY z>n8itt4$5LLMu&LD`^FZ<}ljx+mK6&OU^g#^0~%-yL@qT^FU(zKyI+v7kDv!3MVYE zG$CBT0xRpL+(gce=3i)eD$;Tn;>CSiX^~&5enQcPiLI>aS?s0jwTA4Tcx^$vU2~f` zq&1P<kV%`FhI}ZXDVHDGV72b(P2o3ZETX`*LF>|FbC#&9kg-raSGasWtF5FJR2TZ} zrK@fV>BY~Bn^VaR!P7$@7o&@QJR_JPDv>-ocA_a$M^xhHDb~AP&sxA`pc<+g7<CPt zM2Yf^L%v<e8gL`n1Z3qdt8`hB%UV^w1@r@1-OEZ|R_(Gvmv1f?f-bNc$eLEZ*&Gj+ z0{Lbq-yG%J*AgJ#Oj(nfZ@`O*<(uamAm75|n}K{oY6o&RLDrZDf<wSzU>4w7WbP2i zx0UrkzFkcNGl6{Lm<yV~LNEh}<H$GQ6Tms34J-pIz;bXpkZ)$^0$F>>+I2E$1+peP z8OXOV`NlO5B!H}u<=d45<Qtd2_LVhTGnfDl2eZM!;0SOeXaq-rqrov?5;zvfH^+(K zIB-7b0IPs})0_h2+vRzn1*`-%kTu~!VBdl%se9Eb8M#8JUEbcYjJ{7=(S4B&tAzS` ze;#LPD(RegsK$qBJWJ!lHJ+{U5rJ~XX*psxb&^g!rW|5Z4zVeR*px#&J8*v8L>6`| z={95&*(3`&20=?XMB|w(?XbcFoZEKQ)IM_JZ>9CMkIa6hW$$vF+wK)Rw{D$U^KT-X z?+TtaML34TM6m<Hfg4l3+vMW3y=jvl<a3kE2n5Y0tVqR84mv-vHPM=q1!}Hob0TYU z2M(9EcQtmdxzw{J^R4KBPM1Y?BP-xQw!NU|5n8&sI!sGy+d5XP?cI{>leO-e9=<~a zzi|1zJ3xC^?AxYIBkG+tE70Y=Xy`L2t5HB*%-7pG?x>sfUtm=u6K^13MGKN037K-A z+F*;NXq8XOQlrh?qXBo3NxL*W_Sj>VqQ3bJ>)+!|;=A_jdCYjw|JL#cdbj3!6S@4^ zy_s|_ul36X>4`mie)Mp`gBi;IZ9BvX3DhH3xi<Or(tHd~97g0FNS3R-|F{rSgj|eE z1Nr1iUsEivY`#OuH*N&^WMy&U2=dA5<J1x4lPmv8BgiMKgW3_~lhp%G$5GT-UN5pr zIClj3WM$PpTt2C+8mbzoYG9u=Am0+6jr)2YEXCCtp1JSfX?$~7`o4Xxp<2MxRRfo^ zB8l3?Aa*fj&z^U^_37HFYP<JY1G1=*#ihg(?mKJlsy%ydeq*#$Y^NH=x(4Exzhhl1 zW3B(iYsgsZd9}YG4NO^l!*03dEX#^1i*I?tTtPI)l*KRjhSFzlRK25X##X*`$U`wB z3&ZEDFBnqXRKpK7MX}!DkqF2!(1->k=Ff=vv8c{_1SF7U?`YvZF!%S@etPfDjmsUl zTNsy&%-&Td;mL|i)^S0FJ=sFX`g!Zt<?@N_ll*aEbd+bykBKGEA&pMi)l#Y&cv@({ z|Jm3)IF@ps7HuBYMsl^2X9B9BssW<``NEz_wd8iBd+W{~e{0>@9qT>K)L3<wUiFPc z-d&T-Z))9?$R;E`*PiZ9r2AdVxs2ygTU&>+xlGoo-?qZdFYn6ath%+WJgJy>O{O+C z*PBfa^6;)z-@B457t4R<|DfBICu)1iwK9?J!wGBep{%xKB9-ZHb2lc2Qu+40JHWq3 zwJz^U4fVIDId%1pLASlls{dANBHx+W%1I~tXQbS`%l}OASZu1bTmFmRxrr0xanekh zXF0pwjr{m%)$Zmg;neEP7B|h~saE|3T}#_mldrwkO83xvp8eU<y1ZpWE|VI{yQ_Hy z**sOeHIeE`rhDD_i%(r-)&GLWZo4w69ajDQoZ2%q=w@3p>3o)c)xWfRV5^+Qzc-WC zmQD0`X8MvFlWsO=)!f&*ye*MWc*^M<$|rbk)~emmaiP1-8h2h#zOTDKZPoAS=;YK+ z9^7nmw<dcjYWXrA>vbiuW@k@gz~zYoc~qE(bUHdw+VX6oH@__HmA0{EnODB(-Ku|7 zJ1CDOcpaS9wRGjGL6^eQJIsh%b!Yau^xUewlJ+Hg^T|v)k=;QXcw#u$lJ2`Wks9K$ z7U#l_HaFFZW(Lxhb6D&0o_v-kA6pZH$$TOu>a5w^wRBB3nRiW1HGh%;Wq^%7YChCL z$y?<k&++!SS<|)JMcppC-pZriNuFG;dyraJZ*m9RPB%TYG?87&Q>mNsR?WD!PIS4A zK5fZo2D{yU+Gy3@yM`xjdxkdf)H4HKyN8j>W)nNQ-N6)(forqtUewNy&KMh3;U>4L zx$!i}{q(@aFa|Ir$;+1jd$<2ZK+K;<tIVob4pS`0d?E3_Jjgc*3G#TAm#a<~!Cu+c zXckz_ErWxpBo<CvbB!m;GeSK5z4)Z&ggk#N&nqvQ*V)sxK$wumMNOwR$zx&F@Ql!a zn20=n{fy|$lkG(Dd!#zdlP&1!f1Xi5j250L&+d$1gogWPE_rBns@@@*rvC&yUGMVD z(0}1NMAK(l-i&*wHwW`Du9=H@AlG{W>Tpe;t@nD4(D+D|H|po3G(OrqzA6vFa_5L} ztmZpT>pR}W6UptEl-eco*iUsOZIo3#c&h;MWpq(v?81NgaB=m!)>yU=nexRhmdHN^ z@Gqgw{7+cbBF3^sczqAph51)uz6Z#^hw^<={_C`AA!F4-0(Ma&kL5LYwybUB?n7#* z&&^fMVl0|PpL9B47c)G&;GRL%F2<rg_<fGr#dKYF=FEEqs&j>}r!g4^=8Hr4ZtLH< z+&5jA8(RNgf5P^@o$p&Oo{4A2KMf;BAXg3(N4vexPa{z3Xgn*^x%9#|+O{OxzR~y` zd5uW3-0#o3jpqF-(RaTzw+!Vob9qFg-_4h#MP7vxEjRos7w^S2{ySxwL$7v;o@tsA zeAP=dL-f@z(e&`EV4|s^SHnaT3w7(OVxsBMSI0!tPe1d5!V6*I(n2qYiOW#(!kD;B z`U07_B>zP+(X_}rZsL;*@4P8VUfxO1N=#t+>Mng%P4oo$S7Uj1%>ch;%FBJ+l5<Ut z4t_Nq;(a>tsh!>D^OKPoFW#IJTZQ*>p7^wKs*sx7GQEY@n@0=wzIJ;5`s}^tCz>Pl zN}y<B@SQ+$X%$T%_MJg-rIaxN|D8f{r<Bu2=$%8+6GQJH(h?etgLNcxF_S{^g-G(F z-=?{%O2$T-=p~6^$XlPHbp~>jal<vqbho^DN#BhWEnxeZr<e6YNvk*nl405QUYA!k z$?uf$79g31bydk!ri+r~kB2;c<G;44IW%pCQbKcPD5WrI>1)Dxo-I&fbhZp7hNsF< zQfQtGr4;JZ(FrAnt|y_C;Kd}A5S>)RiRQ&(g`ti~E6iG<wBp<p5|>U)rOAa^sWd4( zC6%V@d{mkcJJ`{gD0EusG!#k>%|W4*$b~taR`k!Xm59%U+@j>P5_2!fp|)NkmzSKC z3UzadXhQMzXQ7nPJQPZa%mtw|aWnt@Y$XZhyDO)aOaUe5S5`>C`Ag39jlq9oTG;Cg z(vZg&qy_Kuy}ghU_4GnQ*vkvzkcStfh4R(A3kf05E=Yr3T@Xe+x|k65=7_xD$pv}Q ziwmMs4-O|4yf-Wkdu}*Qy*4Z?8KkJU7P6OmY9T4)r3GokLyPi&cZP%^Qw^n*7-1+? zJu)N{Zww366NAE{7Z#);4=hL{-dB(ZJuf7T?@Fx4h0ZJA(SWCg&Ik?Q&KMut8U7w( zPTtvEu>X*M?QD+quAR*>zO}Qt)UyKR2K{Ph`1_YOp~R<lHphAt;uwGOrD1QPrG?eH zR#V24b~c-Yupg-~#)~v1=tC-s3_z^^?9^X*g3E1fUa9ZwY>x9Bq*1@|M5U(Y$>UAQ zOAC68Cn@-gehhkx5k-7OhBWZrPVG#bpX_Wd@e)rI*YNTl;+<2jQ&I2ma{EJ5cxh+Y zJ&NMcHK-^qagt(E)K7{jVOJ^2L*7yp7wS-lDW-(3L`8AXZHm&U=LAy1&J#^2_)jsR z=t4zVsTW1k3XT+!hkYrMsO}VzmJVCgsfs6*UX_YzA=fI3Bi<EA2sl_+8Zy;zQi(-| zlhxD0LUFc;MExx!ExKG$9P+xNIO2H4grM(*rDggQ>w)1jD|9*Fhv9R=V;Z?md08VD zDqmP|5dTW$C&as8^jhWTj&Z-ztCgQQ#`S1j;5MP3G2ZR`Yg6I-Tp_#h#fZxVuUUS^ za_$zrYK8L0xmx(T70MnRl6WVJyL9=*#5fq&itx*${k*}eS5OvXhTbKpjFowbA-D2G zMW@owA(t|;s6$0AVt%t?ohf`7^RtS*$M&Ft8<n||1&fSyPYR2SmiLC_xa*m|H#)rP z)57(vaxSIGWgJUW<F0RhopDYUtuu6;^G}R(I6X1O?KGu~^ZBW9*FC>JZ$%k(L_ITl z{qs*M>y&z)Nsn9yL+8diXz=9F^)Pg5{P34?SuL{Mwb3s)&VBXNcqjG~ORkfCi6!?} z!geRg<=i?@cG&s@2>}-mO2dv`Oet}9O^UgO`W=XOeLYXy(7(?T?pV2LAaG*IotDxP zhEa`F604fv^q_BN4^IrfFtp6|g(Z`LpAek}e0g{R@TDQw_l1SB)#-hC$lZNm(9wNa z)Wr+(uycpS1-JIaMThn!rLG)GDL8RR8g}1Mk~(fk=DTcA82m-XmzTP!pAvFVUl?)C zf;ixmL0RbP6ig_wwqT;#Sx_X-7y7Jj7myVl&KHJU%@;<T%ohjUD=3TYfn+Xmso+^< zyBBbyVE)Kxspp1%sL<@16z5EuR4{vg$r?VhjAQA^vF@d5aZVPkGwf=b8s~7D6ytW9 zQpWlG)L0h`B}N@l6HDAt<z<~Rm>zY_U|Ot$1~Y`+G?)@U{L$-ccpS?*t`;2UzM2&8 z#C~F_D+f~I+#!%$&h7(Q!p<E?2)KAq8g}$zN{PE`Qk>IkQoQSHV$1{(NU6~8N|QmL zgke-uIxz&!_3cCV$p~LxePL)y@P#Flfu9ha27GyV0`R3F*Y|~mveoH*dC1*;VbIZi zS=7Y~^00G<#Ra$a#YKnqC8e$$N+~#TNE&wEP?9=sNERKEsI&T+OWo8@2|1`QjJRe& z9B|5@EM%6!gc55DCaMbtMdEy+&+2voS<&HqVaU~dVZ_ONanQYjve+KPx>WG2vfT@~ zQ80gGwA8gi*H_K1Npa4kNd>d_udm@V%Q%*v9P3`17UyKqI>WA}sc{acNilAxDP^3` zPmOiKP-4^(HL=7URbJL9gXvM%45r08XfQ+AO@k@%!(YZ_^~AD{tLbs>t4Z-r>?fAG zav&wn9RkVa>^_hs?A(EbfQtvEVMi~fl(@Sl#W}qu#k;;H#!LW#lnVW>G#La+7)CXv z6GPzKuzf6uyS^?6-_r7YenIIknSMh2G_WA@Tc)2o#`Obbhn#*v_~%T&gi=ReQ1XMO zpEvT0W>_3?Yg%0RP1Da<&XpHLe$@=+k8@u=A>_C!iw;S=v&xGs<R93AKW+N8#yIGL z=>1_oZ}9$bP!?mBlz|7Au{JL;<bs~4=zRJ)<aS0DbvPO5z>l1MvtpfWLFi{rKdab$ zY!529lvh&O?v=Qamp?LE>RK_^*9DpsbA9!b%3NRl<T8$><;GoK{WIg7OiwG+8Fn>I zjk&)1WyZLjo)mw5_0NlULH|^9@r^p7CYHFP%F8-sFg<d8^;=`kjdjrA$zeAQro<0_ z8JE=)%Q~*6$GNX2#a>_izQnk)e;R%p=MI77a&{lc5_axDLcqm?(y*f!Q%c-jlj59S zlj2=p6U8(A`@=c`1X3#WyV7J3C}9}YluitRbA9{JoixMOS6>*K5`1C7G5y81pAek} ze0g{R@TDQw_l1SB)#-hC$lZNm(9wNa)Wr+(@ZvcvF1WQXE;_U?DRt#gO2LUk(y;r6 zlGJfSvgnXRoz>4=>ZX25$U%K!#5D`zz@j%O3z=mwp~TvPiRywukvL!Iv$|bCR&+RD z7;-gV7;!RR9CWXsEVc)+E)_hhZ1)0g6wL3BR-bIj8+IR06mlL<R4{Mfbv$v@aXe|* zZ9G}XX*^MzzeTjVj3*5_j3)}ZizkUXi%P?;5)>93#S<3Y#QR+8BmsHBMFO(0g9H-P zJpz)jx}&b)Wh`|JPabj$PZV(q6$V_QC<&QUQCwm##UyoxqCi|B@JSt^ASt?mCki=% zCyKa$Ck#43Q4-VMSmQ6AQKl;a!!PFb$3dR%X7A*%;rqgn>HESq-%x$y_Y<P#@5{pu z;7da;;0p_7s}uP0kQ?~Ipd<LQs4EoYVP^=73+~{Hiw@ySN?jt9QgDipH0&0kBz26C zEIK4n=kPO^x`&?<au8n_agl;J;3Pp=$n1g%CDs*8R96X##92b0)m;LzqQm&YkjwbO zh|~DupxXpxu|0@&o#0tzyBBbuVE*uEt&MY_wc#5Z-q~wQZ*2Gp@eZ^$a%02K9pgZO zvO^BEHhg2lFQL?d)|TAZ@bgB#RfWY72cpG=8ykMcat^dMa$_TuKhA;lgpdQNEIK6d z4zxDr#)e;Oj03HW-q`T-2EPpjWijSQ8F*V63-b~~4&;f74y2z$4rF9e2a<sf+}QA& z73)B2LpL`3tYYo4J*eP7UP)!USK>fket)z^<KM!oWsDUKR5zm<D<i$X_H(+vEIRfb z9Q$jdtL>_4;D4Zj;I8b8oAuskxSoOiVOMs?>N0OkGH*=^w{NU{ns!3#s<ve(G@j7b zvbu$+tG#vg31dkKrTYQ|W^!I|KBCR!$v2|S<jFUp&E&}^o5`;mZqsz~9Y(%kH<Kry zY$m^c1m($Q@*75wPd1b99WEcLoH3I2k*~U$Jc_D@ss{Ee4R{;J?^}}`-e)>Wfq8<m z#;4iCX25N7x3hgtTv#GPQz-{Oj>}k4R{d^SQ9WZMF|ZmKBR#HmGgbp*exu{+ZdkE) zQ5Et6T4u>HzZ=#w=Pk^#8Qy5_<z4<7`qZuF9IM{@rCfe{)1TL(u6wv_q!<<M?dSEJ zAe#g3?RnAsQch=Q$I_@g`ne;yp|PEfFthnax)x3KK6iF?ERRnqN=H=An%1`B8BdO_ z=d|vg?lLVMd6`nq>Sb$JHzl&{_qcDtl(S(|#X^?KmZq6><4QL*ST3U}r?*_HC+}R- z=>2+LcC@r#y>sSNDrw~9RBq77%PHG!)6Bgnr(!`PF2~(ov7Ab}^V7_DRUUS0xb_@O zVWynH-ijp+SI(|LIh96!#N`a*6+9Z?tD$Uc`o&hXl>%nWa|e}jSk~IsRm09dl4toa zGg)7zcc^kr!>6t%OE#CS>=eTnV@Wx=O{opTW#zezVR}V5`JquMN7~Yal7?$jrSvXM zY|2#1<&Ej^J)=GBcr|S2Dpa-JZ_hpsnv`=P+eK?}@sZux*)@#c#Ge?HF5!cDz^TkK z!{i-58rMKdvb{MhKd>(gj=~(anb*mi=EWbFd!%FWi7GYi8Q54c&qxyYak%{|%-XXl zQF+=pzolD!lsCA?ge59#>P;nNYwmJkB>ItaoBER#6*S`ZY)-_s*Kgl&?U8Yp&~#OD z&|~q(k(A@Du4T`NGG;&PX}-FaO(SB%UaqdomorMM>s3q7Z;WkdK-k%}#=k0+ZBJLn zK26-Fw)GrGW2TdG%*-;(wGB)4R@Y^F<(E@wjm0;w5tmcBK_f4xq66+ldj=~OG~)I= z)vN0=<0Uhc8TXN{uFI6OD^O0QksnS!g>ov+yV(4QSJ!SoP1~pNG+z~$8L_=y6_+hX zl>1bzibpc9n)d8RtKz_aki^?z{r-049@Q(#D0p&WaIo_Cig>+-r0e-K8f#uDXC&WC z$u?}jGT8M<?kkpA)J@ypETgldeQ)lVdL4|>!(QHbEnm*w-FYov&M2)7N7ZvGFMWz@ z7U@-)yPe*euF@4buofG(oXQO<T-%2&r{WT7FZwmYwb*d&d8*f9W!kgXYq2ur?84vt zHC?5VA8xz~<&44%zQ3)ZWJ(&1H4FdiwQxaW;D4^9;9!`(SKq2AD0p&^@0BMHTh0hQ zdDwDB=*h#EQ?a0er4Cn4pIh<1Pf(xbxY2XPUm5~4W|{UBJb6<k|J$2#MmW<A*Pcwa zuUx-JD)(oWO8JKyuU(w%ms3eYBQ9r{pBpI0{8MJ7HYfLPWm87emX+l8P^Ee#ZPkX& z{@tOn<w(A!%C~~8z;DWx%NecTEK<peKQ)ZFJ;VI=F=G8>Hf$C>l?x*-C+k+Y>ugzK zJZ?^htXyU0PI$S*s=TU!ss^eW7y}w`CV4NCNF{p{vMq9Hm%}q<_)}@_s-&ucXSxQe zKJZK*;cEZ(cMVj1aDN}6YWtol4OD&MsnT?{p8Z_|RbSZON2uDqr%D4gyv~JxM)X~x zv!{L8Q&n}fp8Zn;oAUX==6Unv$@Zq)P`ar%Gca#3o9P?s&FAKA?%OhNe$)JU{Qi)e zml#aW+duoTPpzuq>`ba9w<FzKclP*O>(1_2@0C|$)m?hkHxhYwO)|f!byFgnkn~)8 zx;v5XcP;0#9yj0GI+V?2vR3`J6>ffcS0-oGt!>S^oMbY!xw+nKaxgDBdRLO=;tc<X z@Plqw{#lOOYwpTKx-aEgwf9g~TQZT#^tZVi6GN$dd)^(e?1NgDccq5<+tZx7ddHyK z-e%Q*t2L4D%xvYPll?PNZr-)*!+CXds<qqg&0Ee*oFMzI^A8>Ae7C!?m-~3NyW7+G z)auL@H=Vr7wdybETH3aneC@qfx`*Cd)|p#cm$z)lWl}?VcXe{WCBK{9nn?8|)4lHe z#iuT^>VMIh80^ZVc3AcIb864fpqp*Yr1M$&RsYiNfvs|yWxa#6wrrxmGt-ycm~^u_ ztLDDe<!y<4!c$J?P(HCi`n{p!LU)@r?!2CSUw41ns^8Jk$*G-*WV+4Wn(U>h<;${( zoGXbnJ9~Jo2`@tJb>*K7dOA8$+VX6oH@__HmA0{EnODB(-Ku|7J17rfc^#bAwRGjG zL6^eQJIsh%b!Yau@?(1Km9#I}D>pn7*&Vdu0(VEQCEa&%A~nR1OU{KIZEmU+%?zY1 z=djl0J^5@h-QS8&<P#}TXU*oWrE9XuylZNz`I8JN18nqB^Pv_>-YOs6?fD*bDqX8x z#E(*$)K<48l}unb4^r#uP40l(>86L4CbBEtWdEkTRWq)w6J2hjPh0Yt!EU!-Zpzl) zyN0ckdxkdTMFCdr9!4&kP3-7)2UCe&SDRh;qV{x-2BxqIH@Q{Kjpsq`rw1;EF@PaS zUaP^g`RXyEf&K3dKamEOe)O;Ir78Qh#Ba8|InB|QE+&@wS;AUiURFdb|E^RAB-{wb z8D?1@Ag)*b5V3F7e}Et0$!&RK-FW3q#0M(Bka&V}`Bi$N^6QA@9D;o}hl32Y><5YE zK@o!eYYvkQwH#^76y?VePgQ<4@igTZ6U!Uj2+np6@)kIP^BNBFraXf4Q4aDpJc9Eb z4)Vr3g7ZfX@>V-SjnpG=t|Qbe;vjFQBh);LgXob^BmaAPgrQc=4a7$(7hN?f{~Ga8 z%6~<Cw8v{@9F9>g=N+qD`XYTJ)QaAYH<U?~SYMA=dlURbmETKzlJaj8pRD`|;yE6# z6aAf{T%MwutNhu-P0F_t>l&m^#{E>4-$^`Q`4@;6D1U@_p~uIGeTj|;<3vxV8ETD_ zx&(xAJsi$3)EXyxJ5%|KiNzKP<8I^7Y^XKvQ^aQ}{}Hk1g)mOW=o~|>dg<4>%B6qj zDeoX&qMYlT)uQ}r;-$*pNZhLYW5jLB#U7R^{{!)Ik2i>2uTU<!U#a|j;&$a5h~+b( zVH<}F47D0wNi1z5G`yQbr=eEE=ZIyD2@ShBtP%$Q2Zt_0tpmhnpQT*%)U8~`PIO8* zAje^~q1FM{6JMnKZNwKV{|NCK<=-M+tNgdbmw0@<Lwu=n@eiqkFkZ(0GDEHLqJzto zi|h*JL&WQpznplz^0yNwluH{#M}+YYap*PF8vh&OK93(bj#$QwaNsNs8x6G%ls5D$ z7aea>E_sv6pF_M^`Ax)Il)sZWrTl(ku|L9ryE&wV!T-!5W2iNuj(AYH%m-I07oW%~ z7rPL>6DEib@`hRyL?*f*Ob|VYUlAs}hlAJzVZs9(wi{|q_%ZPg<zm}cd3>ViLHa|O zC~bJIq1MC&#LrVMcDGZxv_b5fFj3mLOBnp69G-8eHStZvFHn9r@iof7Nc=+O(w-M7 z{}b_xJwB<H_$A6`6JM)b+9P!kCW(!|%us8R*ur(nMJHmHgh`SvdLc}@jl&IwT9ZCZ z{0ik?C4Qyy-Ndg_{&(UVJ$}$M;+vEoPyA}-rxD+*TzvF3%EeZ1Q7&WqTIJHe*D06y z^~&!deuHvp&l{EhAF=3>aL~UvyxCCe;7P=9QGOipt;)|PeyeivzqctDo09$$4i^30 zZm4zet;BCvejo8Wlz)@>4&}cl7MmtawmH1ZP;0W-$-9*=Bo><^OkTm^PD8E9;&bm+ zF81|4<)V+fl#5L4gE0B?97Gp{$v@@renYLv()SN|e99E!4=SHSe6R8r;tweo{mU2= zrbxXXG1QtO<NQ(Oq8sTmVTz=G%us8}*NH!_{8z-EP`-!wlOCTso%mDAPbL1e@>Rs2 zQJy9i|0hfp+yAVg)>Iky&ncI_OP>i-CH)JAT2mh;{-W|f6MxC$)5a4&p!`VUFDpNT z_(A337hh4no>=UOFl{@BuNi7h6Wf=55~j(Rf5T8~n&?5so-plO90Y`Ek8*g(P-}V( z@wb&9Li`=&rx1Tvc^mQfl*?T4edRggA1D{!{GoEO>mMnXag+WNrb|6CM-Zlq9sa~n zYx>`a#Xbl#4&<;~7`&0g&xFBG<M4Astr?<|UnpNs{D|@$#J^N7zANKRm?5?%^$}*s zm`MK#Go-!ZlY|+6;qV(ntwRnb{;l$P#J^MCN&I`|N#e(pzmWKG<zk0VC>LA%gL2W| zAC*g8fAaWDv461%!c3`4(g-tGaQLgC*35ol(Gg+hH5~qKs5SF;;(sU?TmGkV858j_ z!b~~u--cR;9zy&d<qL@at9%u)_ygfk`X$qXghQ`|>xV<%19w#ZIk?yj;ZSsF*D9wU zcAdu$I|x2b`N{Bl<@C#LP@aGvpnMm6yz<-NVh4o77%zK*a%{w&sGNSA?+kpLH3?3A z5@sC(m+=#RHhi-3)o{@@Vb*5&ROMI0rzyV$K3(~p@EOWK4Hw-JW?}pGOy!Tm5B2!r z^wmC0IqCK+<>=WyT=`1)Y~{W1Bb0B0AF2F$c%yR0*FH))<7*$S{2@5~lyEpUYagqe z@wAWg_-xv1AFq57`~>Bq{}Yw3fuE#&3!HJ1Fnbq#j-l4<o8hM@7oE&i{%LrVa_r5X zryQHLPxbf_=-8gGoVM6vbA%(B;R}^t1gCuxju?cWru-G~)0Mv$eunY~;Abj-1iskg zM`D{c<w`gb9ouIq=R6xbkZ`2bb&m2Z{9NTy*LlkCfG<)0MR<$yU%;1oyb*i1Ta`10 zcAIkAVlPuJx?Qe(8yvk$XuJ`Q9T<KWyj{8U>wM*p!Y}anQTTz~p`3BHJC%zLFH|nJ zy-Ilo-lhCy@MkHPeswGV47^AAZaC*lIJyRojtrOax>z~7vFVSIUjkpNJPqfwkzWJ9 zRQVg>&sP3H_+`q!48L6YPvKW6{~LUr$B&r+U$49o&Kx1(7{=V*pq#$iy~;Pj`;>2o zyUIn+q)9mDo$!9;pM`Hy{ylh7`S0MHJ$|f=Fa99mSQ+1xa%|QfP|jG{^k2fU^utE) zhRaxE$A-Teex-8JKQ?FNABN|YKM2n&-whv9{ulUGj~^#Gp<D^aHNxqqgyY2Cb|`18 z?5mVhw*4ICFNQx?`Rn1&Q+_Xer}A&WuU7sze3!?Mp9p`x@{`~%P~HY-yd@mZnAk5= zPTBU0l-~lUZVAUrT`y7oE%>#{rLLEH{DgWq_A23o6X4e=Z-rm4ybu0z<+R<tLHX<8 zuTU<!eWmj6!C$5Pk8o^4!ifjLZ&EJ(Vw@zLxDtM|a>n0&jdJ>D(;o>ZiVk0^Tx^@V zC7k$mIBACe2L1+*pCtXlA0(V~6#Pxfm%!hw99y>EqFl!7R^`a-w<`ZA{B6p=2ER@D zFW|Q;|2O>Y9zS^+{2j_qhToz5JUIR!;p8>&cPYol?RP8R1%Hon`fA^){4V%=m45;L zKIPwslP2M0(evFNpVI)pNBJ@E_bWdG{sHA3aP%l)j*Kt1Vz`X&hm<o`_J@_zM*Abm zKM6-K66SmlexLF`!$0QnQ$+tCSAGcm6UyhnIbXslOW>a})H>xN_@|YNPClc27yN$Z zVsD>SP8;pdDSrt5dF8)?qaz8Y{1g5~kI$VB|B~`k;SVTZ1^=>g<`{DylaF)p5Bn=B zXPoV?DyJ<rb|7KykKx##;eUhU&k~xXu5T(|0RNV9sf)HsXzGW5Tlq`i-%*Zz+22)8 z|7`Rtq3I`Z#@q0Jz<=QJd7|4NDnA4MBjw%jhm~jGv{k}9=@(@gjy>8xRsJA+xAI5e zKT|F`{JF<Z72C${C7e1BPCmoWhyPN!^oubt^5?^Ut^8K_qskdW`~Q^7c>PBC9{6uP zKL1eo@02&ef3Lh1{+RO1;EyZM!=F(8GWZ{qzXkqB<sXLsNjYO{W3LkC?}q=yP;36* z;eYk`f`j0HQ+_<0GzkmNgfj+)i=NSu;hW(9Qhp7bdBMnUf&WMOo$&uEm+_^~5*9Ef zjz_Hpv{Cm;u@;VpYr?`K;5A;Rg^aaRt9&)QPC5EF_uTooa2vc{<=4R*l-~+JK>59J z>X5Jyoj3<7-wmIjoW42}J-%oLe3J5oaC9VL(Q^2~$}fdaR*p|OQ<U$5PgRai9PCNL zqW8k_8N=~=hdK=ZHvACf*oZSzIl6SP4+*DHzjK)K<KVNDH^UECz6w5D`8qgylyI8p z=SbzEpGM`k!;ez_A^6eCAAldD{HO3^mH!P+-4afh@xoRNr)=j0<@4buDqjgdNqH~) zWaWAI9OW;7pQ8NL@VUzGfa4DmPQMR6Px;s3%xe-($9Em-GaQ?B7I^#&bnh@`63(Cu zXOZ&r;HN2n7W{PO8{uate-0eGmvDx(XR&hZ*+JJ5&bS|bmh$hx&sP38{2Y&;iOo9a zDrY<$>XvXOZFiPH2xqQ<w<x~?zEt@jyjA(j;BCrpg)dY7F*vp;;Y`s9Wf}em9K9Qk zUpnm`Uo7@~zH)T$T%epfoet#}!#kB{;1?>t9==NXTi{*F?}DR835!1qXO1xZ`|uv+ zzlX2(c(dr_BITkJ>XXncHnT=KbvkR6Z-HN;d?)-;<u}5gtz7KnGUXqKU#|Q+aC9o6 zS=zA9<7d^t*DIGcB$UgzY*3Dl9qd)YS=8_JDZdi#D!&$v-AFh~bkeW<9{48Z55kkm z#a1^fmvNzQ63#vto>Go)IRnbEBPXpK-8hVggtN)(U>}BG1E)=f-vZAnzZ;%Y{#AHh z`EK}-@+aV1J${ai%QofAH|DoVKAt1KvqR;gldF`APVf^6=TN8fT;;ETKTr9caK=o+ zIiG@G?eV~IqGfX_s6$e_gd0hG^1omQGF9nV)PPN=_YjC`j9oN0vqj?EOm4eQ!DCS= z)jneio?R^AM+W8&yScNcqiPXV!wA@g?9hQ-Bzjl%H1eFH>;O@<kg;kZ0lTQNc&5)> zMR=+;HPq+ks%9}3%_1S44%o$X&n|L<bE|eS7VW|BbJQ+o=(;nP8Orv$)w#mg)0m6{ z^Ti?Z6tTCwDE|W3F{z|#r^k#2IuqL)SM}&^x-rx1Ku4?hsshTWQoeIm_ff2927z}> zmU-tjSJnOTZQj*=6kE#;toLqX{h_2xroy{m%Z@t#9wPfy_Uexs`(94Pf=1k)r~2*U zW%P3}`taYmTShfTJY2ta1<D!GyL-#Dr%;am)?_M=IgEU#mza|SBAQX%M=_v}D6Q_J zSlvf4Y7=~}?xPr^l%Qxd_LQMKxiP@|zV%1-U<Cm_;(ZIN`zQvqR-|$b^zOK@nN^uB zcdY6@ir#MLW%v6Ut<`mPAH_Ly8p~?gU(HrpW63w2k?zMh!qxS#?WwpZ-i!8(a7T;b z+VfPeuFJG%uUFS)%Gt#X<*(8!jr?%qUMOeOR@bgRmqr7hWZ2*K02;|IZh=*CnGxe3 z<o9lO@v`NJT1R6~B2$h&<yUT~s{1IG)69AjS_TL8Ny>7$hL=k@qq-a1D0p&pAI0Iv zt$Yp{(b2Mu>OP8<^*pMcQ+erAT(gwfPfuFv-C3-3MGmaRhApRZg9_L7VapleT5R}o zDi$>2_B_>Vu`>PI>$O;!a(4OS&feISMt(T`6v`Qe8GL_RL!qKkS+i94Q4~#<3k3_S zu*;kN_AxR~9<H3~K8mNujYVN*sqUi~rye7#?xR>%HU8`FtfuNdidp?vvQlN$l!~g7 zss^4y4NTW}Ntxedp2B*oRaG^xziFWA1N+;ERNGV4Kve@zwFauY+CJ49uh#c;*Fbgc z@N^%+YWtt=8mRi<(|rW1?H?@-RDEHzG+8a@>8^pQFFf5xu-g97(!j*gDyUk{(^Ug& zTDmXY=eAep)O}WAwSZ@Y2CAO$j2OmhC-y-D;sYb|gBn{xA#-O>JMT!YhOw-HP5Jy_ z^SpVR6I&BaxuJAZZ)RZLU^de?)SJ)E+uXNh-u$Nd^LQ9IH;)~}=RE^8h3A|{kgeBi z(zr(Y=XZO(9CvVS-Icq8J+4XbYP1fQoI&Z6;p;hR)c(VxvqRs)U%n-QciEKvudvRp z4t+cSK9(~|@5FgV|JUvYec^r?RWD7XQkhJ;aiyCo`<%7+9Cn!kR9twTyX>gP{KrYm zwPfVwjPO5BhHX#TZkwKsygk+b{*AMcT?niH{TrtlBXf9wT9!%0rBd0f&-8?8C$z3= zTXsU@32iN_TZp>aTUVd(Oz(8Cf7N?-L2ZmlUcF~GCWpP+>Hm!eV%C@cn~JKXRyDAn zYCwEoWPU)d>ir2B#p?Zu^0vI5q)~m7MfLuK?lxJfbN&DK(u9DddViv~;tj6h^s@_H zR_{*)3@Sn|J;1V-SOd9y<V_z>++|ruh&=LEDf>iTuqtxhpVKdH>V1~gpykv&>Ps!_ zK=O~%a)R<%<ae~3p!{^XmQ5SXx*M(QX8jC4!7J<Z>BQqb`7N)9>$mCCkCZ%~{4m*X zbP^z(K8M33PyWdd!w(WE^2J;($9eM4Njv2Q34}AwL;gcge#{FIu#c{UV-L63rgI=~ z-mVq6&QAUniMx=?UZX*|yoKRl<kFUae9AldeC$9zC2u(k$XDFN=f;72PV^j*pG3X2 ziw5%j$b<Tsj6SVN1DU+;t;#18W}{Er>gvelt?M3{fr$N7CCu$Y&!-Fw=Exr`XNv6K zdLrW(kxzbeQ7-5EVQD+8VSu~IzQl`He1Q1&fkgD}V@scfe1_3y`@`44kN5IlQcrw^ zC;ts?w)7UzB`*ASPri)(Yc1&~VY2*^&|u{C+wY(+`j(58><c^TBcA;8B0s}qx8|`Q zYu&+~{NL9jKhu*hW^dPVo?SH@`CsJNfrR%jw5+2XlfU8Eb;z4N`6AA>>%DSb`+MZN z=kd~h^w{XhKg~X{{{F}3%|-6nRsD7EL9TltPri`yYQ6HCE<=8<SN@bg6CdW4v)w_C z{Yhwi3x{((`K^+F37-j5Zs6eAbNx55S*OK_t=Atwe{b;0KL^`)^cS3mPDAeLtzp4R z<gH%*WiO#$s-I8HLf+=dzfXG)df2P?cjJ)j@3}|6i}VFv`RzYIF5^KF+1nVFU0(iw zHX&bO<kq9;xyI9T{mtyT?C-~XjM&KrFaKlTL@xG3SbhtK?|brVXCwFaX||tpOkuq0 zfA?PGdKH~YA9a3cIOPfC9a0K*(#^q}AL{?zh`dvzxbe{(y!oMi$05isG-7Lw%m-ig z>iy^h<f~LpAMKf*{A$rB{v+Wn($04pdBcMF$i==1r-}bIdGdo#MK0|i+{$=5TJOd? z;XR)Gw9gP9?UldnY~;E>^l869u6p}q68S}5{-xNbHO0&S0c_ddH+qH4BWgbnV>A99 z(o-1=?Qg>&yOHZgHFr>^b)(nLbB2&#!e_!A|KhOOEB{Jq&!t9eP5uJ0KQFOIvLD_? zIfeN!AfGCJ<Ijfy`Q$5*`}1K?o<>gjW<CtcZ$PegJLTE52N3K@cNP4-VHGy)?|c1D z<_+K9w>Kic+{-^3KUIIPf8BqOOFJm%nCBGyz5bDhk*_my>j>r|-`}%?$k%)F_o6HH z_l6d9<L{aM+kn5{@qFYPy!?}2L#+OOW*hQePd?=<#NK!{95)YnpC><3>_Po~3pVTT zu|4Hi$kpFJFZRFD<hR?NM}O7dr~d^x{Uq4uABbG%$p_w#e3Ow|jXx&Q^Y;ePneNGL zubNu$_lDypBiH@8kKDs~p1;?B9h=m>y6r0-FZ%n-uzB6L+wR8>)!!Q?-;I1g>%~WW zf4}h$$Ys0<NB@X}=kE>cUxb|V3HIh|isSW<?;vLkBpmg74mxjN{CVV88nHFyjl}Bj zk7LXJ{@;zX&G+}8T#G#C<-hx8V)gg$z5%(u%;m9#RIdJh`(wx%ZwW`+9Ms>BdNuN` zMr_?9_Tu?_{nsf|_YSuQnIC+A-*qT_yXJp6vFGm%r=VMZPw}<r#P3(vE0AC1<$s&Z zbDqC9%oqE_UM1Xf7YFtC+qic4`;Na&?A@DZ8m6y8j(tdYT*^^@pDp9H(}=Bm9w1hK M|HK{0uNL|L10Jvh5C8xG diff --git a/externals/grill/trunk/flext/tutorial/simple2/simple2.vcproj b/externals/grill/trunk/flext/tutorial/simple2/simple2.vcproj deleted file mode 100644 index 5402924e4..000000000 --- a/externals/grill/trunk/flext/tutorial/simple2/simple2.vcproj +++ /dev/null @@ -1,176 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="simple2" - SccProjectName="simple2" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/simple2.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile=".\msvc-debug/simple2.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/simple2.pdb" - ImportLibrary=".\msvc-debug/simple2.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/simple2.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/simple2.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/simple2.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/simple2.pdb" - ImportLibrary=".\msvc/simple2.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/simple2.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/simple3/.svn/all-wcprops b/externals/grill/trunk/flext/tutorial/simple3/.svn/all-wcprops deleted file mode 100644 index 436f6d7e1..000000000 --- a/externals/grill/trunk/flext/tutorial/simple3/.svn/all-wcprops +++ /dev/null @@ -1,35 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 47 -/ext/!svn/ver/1247/trunk/flext/tutorial/simple3 -END -main.cpp -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/simple3/main.cpp -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/simple3/Makefile.am -END -package.txt -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/simple3/package.txt -END -simple3.mcp -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/simple3/simple3.mcp -END -simple3.vcproj -K 25 -svn:wc:ra_dav:version-url -V 62 -/ext/!svn/ver/1247/trunk/flext/tutorial/simple3/simple3.vcproj -END diff --git a/externals/grill/trunk/flext/tutorial/simple3/.svn/entries b/externals/grill/trunk/flext/tutorial/simple3/.svn/entries deleted file mode 100644 index 2df6da3fd..000000000 --- a/externals/grill/trunk/flext/tutorial/simple3/.svn/entries +++ /dev/null @@ -1,198 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/tutorial/simple3 -https://svn.grrrr.org/ext - - - -2006-09-22T09:19:20.556532Z -1174 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -simple3.vcproj -file - - - - -2012-05-13T23:08:37.296556Z -24d24add2b9ccaa3d491f97274ace5f9 -2003-11-12T01:58:35.000000Z -727 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4847 - -main.cpp -file - - - - -2012-05-13T23:08:37.290556Z -7aa59f39aa8adfc165ad69009b761730 -2006-09-22T09:19:20.556532Z -1174 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -2198 - -Makefile.am -file - - - - -2012-05-13T23:08:37.291556Z -93dac5ee3a8fcd5944c998c5126fb328 -2005-01-26T11:58:31.157320Z -992 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -914 - -package.txt -file - - - - -2012-05-13T23:08:37.291556Z -64435993ecace78b285ec09617fdae44 -2005-01-04T13:57:44.777172Z -954 -thomas - - - - - - - - - - - - - - - - - - - - - -29 - -simple3.mcp -file - - - - -2012-05-13T23:08:37.292556Z -a3630490689360ffb6ae67615c524459 -2005-01-04T13:28:16.495520Z -953 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -101183 - diff --git a/externals/grill/trunk/flext/tutorial/simple3/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/simple3/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/tutorial/simple3/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/tutorial/simple3/.svn/prop-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/simple3/.svn/prop-base/main.cpp.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/simple3/.svn/prop-base/main.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/simple3/.svn/prop-base/simple3.mcp.svn-base b/externals/grill/trunk/flext/tutorial/simple3/.svn/prop-base/simple3.mcp.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/tutorial/simple3/.svn/prop-base/simple3.mcp.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/simple3/.svn/prop-base/simple3.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/simple3/.svn/prop-base/simple3.vcproj.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/simple3/.svn/prop-base/simple3.vcproj.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/simple3/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/simple3/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index f4436562e..000000000 --- a/externals/grill/trunk/flext/tutorial/simple3/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = simple3 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/simple3/.svn/text-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/simple3/.svn/text-base/main.cpp.svn-base deleted file mode 100644 index d1630e774..000000000 --- a/externals/grill/trunk/flext/tutorial/simple3/.svn/text-base/main.cpp.svn-base +++ /dev/null @@ -1,91 +0,0 @@ -/* -flext tutorial - simple 3 - -Copyright (c) 2002-2006 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. - -------------------------------------------------------------------------- - -This is an example of an object digesting several "tagged" messages - -*/ - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 500) -#error You need at least flext version 0.5.0 -#endif - -class simple3: - public flext_base -{ - FLEXT_HEADER(simple3,flext_base) - -public: - // constructor with no arguments - simple3(); - -protected: - void m_tag(); - void m_tag_and_int(int i); - void m_sym(t_symbol *s); - - // override default flext help function - void m_help(); - -private: - - FLEXT_CALLBACK(m_tag) // callback for method "m_tag" (no arguments) - FLEXT_CALLBACK_I(m_tag_and_int) // callback for method "m_tag_and_int" (int arguments) - FLEXT_CALLBACK_S(m_sym) // callback for method "m_sym" (with one symbol argument) - - FLEXT_CALLBACK(m_help) // callback for method "m_help" (no arguments) -}; - -// instantiate the class (constructor takes no arguments) -FLEXT_NEW("simple3",simple3) - - -simple3::simple3() -{ - // define inlets - AddInAnything(); // add inlet of type anything (index 0) - - // register methods - FLEXT_ADDMETHOD_(0,"born",m_tag); // register method for tag "born" - FLEXT_ADDMETHOD_(0,"to",m_tag); // register method for tag "to" - FLEXT_ADDMETHOD_(0,"hula",m_tag); // register method for tag "hula" - FLEXT_ADDMETHOD_I(0,"hula",m_tag_and_int); // register method for tag "hula" and int argument - - FLEXT_ADDMETHOD(0,m_sym); // register method for all other symbols - - FLEXT_ADDMETHOD_(0,"help",m_help); // register method for "help" message -} - -void simple3::m_tag() -{ - post("tag recognized"); -} - -void simple3::m_tag_and_int(int i) -{ - post("tag recognized (has int arg: %i)",i); -} - -void simple3::m_sym(t_symbol *s) -{ - post("symbol: %s",GetString(s)); -} - - -void simple3::m_help() -{ - // post a help message - // thisName() returns a char * for the object name - post("%s - example for tagged messages",thisName()); -} - - diff --git a/externals/grill/trunk/flext/tutorial/simple3/.svn/text-base/package.txt.svn-base b/externals/grill/trunk/flext/tutorial/simple3/.svn/text-base/package.txt.svn-base deleted file mode 100644 index acfca5e29..000000000 --- a/externals/grill/trunk/flext/tutorial/simple3/.svn/text-base/package.txt.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -NAME=simple3 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/simple3/.svn/text-base/simple3.mcp.svn-base b/externals/grill/trunk/flext/tutorial/simple3/.svn/text-base/simple3.mcp.svn-base deleted file mode 100644 index bda7a203b2d210d1bc8c3d8eb8e2fd12c97ab028..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101183 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 diff --git a/externals/grill/trunk/flext/tutorial/simple3/.svn/text-base/simple3.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/simple3/.svn/text-base/simple3.vcproj.svn-base deleted file mode 100644 index cfb4fc087..000000000 --- a/externals/grill/trunk/flext/tutorial/simple3/.svn/text-base/simple3.vcproj.svn-base +++ /dev/null @@ -1,176 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="simple3" - SccProjectName="simple3" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/simple3.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/simple3.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/simple3.pdb" - ImportLibrary=".\msvc/simple3.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/simple3.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/simple3.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile=".\msvc-debug/simple3.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/simple3.pdb" - ImportLibrary=".\msvc-debug/simple3.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/simple3.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/simple3/Makefile.am b/externals/grill/trunk/flext/tutorial/simple3/Makefile.am deleted file mode 100644 index f4436562e..000000000 --- a/externals/grill/trunk/flext/tutorial/simple3/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = simple3 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/simple3/main.cpp b/externals/grill/trunk/flext/tutorial/simple3/main.cpp deleted file mode 100644 index d1630e774..000000000 --- a/externals/grill/trunk/flext/tutorial/simple3/main.cpp +++ /dev/null @@ -1,91 +0,0 @@ -/* -flext tutorial - simple 3 - -Copyright (c) 2002-2006 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. - -------------------------------------------------------------------------- - -This is an example of an object digesting several "tagged" messages - -*/ - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 500) -#error You need at least flext version 0.5.0 -#endif - -class simple3: - public flext_base -{ - FLEXT_HEADER(simple3,flext_base) - -public: - // constructor with no arguments - simple3(); - -protected: - void m_tag(); - void m_tag_and_int(int i); - void m_sym(t_symbol *s); - - // override default flext help function - void m_help(); - -private: - - FLEXT_CALLBACK(m_tag) // callback for method "m_tag" (no arguments) - FLEXT_CALLBACK_I(m_tag_and_int) // callback for method "m_tag_and_int" (int arguments) - FLEXT_CALLBACK_S(m_sym) // callback for method "m_sym" (with one symbol argument) - - FLEXT_CALLBACK(m_help) // callback for method "m_help" (no arguments) -}; - -// instantiate the class (constructor takes no arguments) -FLEXT_NEW("simple3",simple3) - - -simple3::simple3() -{ - // define inlets - AddInAnything(); // add inlet of type anything (index 0) - - // register methods - FLEXT_ADDMETHOD_(0,"born",m_tag); // register method for tag "born" - FLEXT_ADDMETHOD_(0,"to",m_tag); // register method for tag "to" - FLEXT_ADDMETHOD_(0,"hula",m_tag); // register method for tag "hula" - FLEXT_ADDMETHOD_I(0,"hula",m_tag_and_int); // register method for tag "hula" and int argument - - FLEXT_ADDMETHOD(0,m_sym); // register method for all other symbols - - FLEXT_ADDMETHOD_(0,"help",m_help); // register method for "help" message -} - -void simple3::m_tag() -{ - post("tag recognized"); -} - -void simple3::m_tag_and_int(int i) -{ - post("tag recognized (has int arg: %i)",i); -} - -void simple3::m_sym(t_symbol *s) -{ - post("symbol: %s",GetString(s)); -} - - -void simple3::m_help() -{ - // post a help message - // thisName() returns a char * for the object name - post("%s - example for tagged messages",thisName()); -} - - diff --git a/externals/grill/trunk/flext/tutorial/simple3/package.txt b/externals/grill/trunk/flext/tutorial/simple3/package.txt deleted file mode 100644 index acfca5e29..000000000 --- a/externals/grill/trunk/flext/tutorial/simple3/package.txt +++ /dev/null @@ -1,2 +0,0 @@ -NAME=simple3 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/simple3/simple3.mcp b/externals/grill/trunk/flext/tutorial/simple3/simple3.mcp deleted file mode 100644 index bda7a203b2d210d1bc8c3d8eb8e2fd12c97ab028..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101183 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 diff --git a/externals/grill/trunk/flext/tutorial/simple3/simple3.vcproj b/externals/grill/trunk/flext/tutorial/simple3/simple3.vcproj deleted file mode 100644 index cfb4fc087..000000000 --- a/externals/grill/trunk/flext/tutorial/simple3/simple3.vcproj +++ /dev/null @@ -1,176 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="simple3" - SccProjectName="simple3" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/simple3.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/simple3.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/simple3.pdb" - ImportLibrary=".\msvc/simple3.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/simple3.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/simple3.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile=".\msvc-debug/simple3.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/simple3.pdb" - ImportLibrary=".\msvc-debug/simple3.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/simple3.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/sndobj1/.svn/all-wcprops b/externals/grill/trunk/flext/tutorial/sndobj1/.svn/all-wcprops deleted file mode 100644 index dcf46d2c9..000000000 --- a/externals/grill/trunk/flext/tutorial/sndobj1/.svn/all-wcprops +++ /dev/null @@ -1,35 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 47 -/ext/!svn/ver/1247/trunk/flext/tutorial/sndobj1 -END -sndobj1.mcp -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/sndobj1/sndobj1.mcp -END -sndobj1.vcproj -K 25 -svn:wc:ra_dav:version-url -V 62 -/ext/!svn/ver/1247/trunk/flext/tutorial/sndobj1/sndobj1.vcproj -END -main.cpp -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/sndobj1/main.cpp -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/sndobj1/Makefile.am -END -package.txt -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/sndobj1/package.txt -END diff --git a/externals/grill/trunk/flext/tutorial/sndobj1/.svn/entries b/externals/grill/trunk/flext/tutorial/sndobj1/.svn/entries deleted file mode 100644 index c89a422c6..000000000 --- a/externals/grill/trunk/flext/tutorial/sndobj1/.svn/entries +++ /dev/null @@ -1,198 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/tutorial/sndobj1 -https://svn.grrrr.org/ext - - - -2006-09-22T09:19:20.556532Z -1174 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -sndobj1.mcp -file - - - - -2012-05-13T23:08:36.960556Z -5f6877f922f93345b550d252c6e2d9f0 -2005-01-04T13:28:16.495520Z -953 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -101183 - -sndobj1.vcproj -file - - - - -2012-05-13T23:08:36.956556Z -21a143ed080415b8e714107715a068e3 -2003-11-12T01:58:35.000000Z -727 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -5023 - -main.cpp -file - - - - -2012-05-13T23:08:36.957556Z -9aa0d63eeea9210bc160bcb976e35d2d -2006-09-22T09:19:20.556532Z -1174 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1921 - -Makefile.am -file - - - - -2012-05-13T23:08:36.958556Z -77a3895782edc07ec638d28e125d1814 -2005-01-26T11:58:31.157320Z -992 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -914 - -package.txt -file - - - - -2012-05-13T23:08:36.958556Z -7aeeac0716239227ad1e3ebe916fc52f -2006-09-20T18:21:19.690651Z -1173 -thomas - - - - - - - - - - - - - - - - - - - - - -30 - diff --git a/externals/grill/trunk/flext/tutorial/sndobj1/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/sndobj1/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/tutorial/sndobj1/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/tutorial/sndobj1/.svn/prop-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/sndobj1/.svn/prop-base/main.cpp.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/sndobj1/.svn/prop-base/main.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/sndobj1/.svn/prop-base/sndobj1.mcp.svn-base b/externals/grill/trunk/flext/tutorial/sndobj1/.svn/prop-base/sndobj1.mcp.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/tutorial/sndobj1/.svn/prop-base/sndobj1.mcp.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/sndobj1/.svn/prop-base/sndobj1.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/sndobj1/.svn/prop-base/sndobj1.vcproj.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/sndobj1/.svn/prop-base/sndobj1.vcproj.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/sndobj1/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/sndobj1/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index 40dcd384e..000000000 --- a/externals/grill/trunk/flext/tutorial/sndobj1/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = sndobj1 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/sndobj1/.svn/text-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/sndobj1/.svn/text-base/main.cpp.svn-base deleted file mode 100644 index d5587c737..000000000 --- a/externals/grill/trunk/flext/tutorial/sndobj1/.svn/text-base/main.cpp.svn-base +++ /dev/null @@ -1,101 +0,0 @@ -/* -flext tutorial - sndobj 1 - -Copyright (c) 2002-2006 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. - -------------------------------------------------------------------------- - -This is an example of an external using the SndObj library. -See http://www.may.ie/academic/music/musictec/SndObj/ - -The SndObj library should be compiled multithreaded. - -This external features simple stereo pitch shifting. - -*/ - -#define FLEXT_ATTRIBUTES 1 - -#include <flsndobj.h> - -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401) -#error You need at least flext version 0.4.1 with sndobj support -#endif - - -class sndobj1: - public flext_sndobj -{ - FLEXT_HEADER_S(sndobj1,flext_sndobj,Setup) - -public: - sndobj1(); - - // these are obligatory! - virtual bool NewObjs(); - virtual void FreeObjs(); - virtual void ProcessObjs(); - - // space for a few sndobjs - Pitch *obj1,*obj2; - - float sh1,sh2; - -private: - static void Setup(t_classid c); - - FLEXT_ATTRVAR_F(sh1) - FLEXT_ATTRVAR_F(sh2) -}; - -FLEXT_NEW_DSP("sndobj1~",sndobj1) - - -sndobj1::sndobj1(): - sh1(1),sh2(1), - obj1(NULL),obj2(NULL) -{ - AddInSignal(2); // audio ins - AddOutSignal(2); // audio outs -} - -void sndobj1::Setup(t_classid c) -{ - FLEXT_CADDATTR_VAR1(c,"shL",sh1); - FLEXT_CADDATTR_VAR1(c,"shR",sh2); -} - -// construct needed SndObjs -bool sndobj1::NewObjs() -{ - // set up objects - obj1 = new Pitch(.1f,&InObj(0),sh1,Blocksize(),Samplerate()); - obj2 = new Pitch(.1f,&InObj(1),sh2,Blocksize(),Samplerate()); - return true; -} - -// destroy the SndObjs -void sndobj1::FreeObjs() -{ - if(obj1) delete obj1; - if(obj2) delete obj2; -} - -// this is called on every DSP block -void sndobj1::ProcessObjs() -{ - // set current pitch shift - obj1->SetPitch(sh1); - obj2->SetPitch(sh2); - - // do processing here!! - obj1->DoProcess(); - obj2->DoProcess(); - - // output - *obj1 >> OutObj(0); - *obj2 >> OutObj(1); -} - diff --git a/externals/grill/trunk/flext/tutorial/sndobj1/.svn/text-base/package.txt.svn-base b/externals/grill/trunk/flext/tutorial/sndobj1/.svn/text-base/package.txt.svn-base deleted file mode 100644 index 21948caa5..000000000 --- a/externals/grill/trunk/flext/tutorial/sndobj1/.svn/text-base/package.txt.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -NAME=sndobj1~ -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/sndobj1/.svn/text-base/sndobj1.mcp.svn-base b/externals/grill/trunk/flext/tutorial/sndobj1/.svn/text-base/sndobj1.mcp.svn-base deleted file mode 100644 index 8385296a9fd4d23241326b6fbf2d14779d63405f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101183 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%0Ajq-J9E*joV}lJzkmHp(_6yIk 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 WjMq*hw(fa=SpEG|cObu7<o^$6rtvKR diff --git a/externals/grill/trunk/flext/tutorial/sndobj1/.svn/text-base/sndobj1.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/sndobj1/.svn/text-base/sndobj1.vcproj.svn-base deleted file mode 100644 index 013442b4e..000000000 --- a/externals/grill/trunk/flext/tutorial/sndobj1/.svn/text-base/sndobj1.vcproj.svn-base +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="sndobj1" - SccProjectName="sndobj1" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source,f:\prog\audio\sndobj\include" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/sndobj1.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - BrowseInformationFile=".\msvc-debug/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib sndobj.lib" - OutputFile="msvc-debug/sndobj1~.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc,f:\prog\audio\sndobj\lib" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/sndobj1~.pdb" - ImportLibrary=".\msvc-debug/sndobj1~.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/sndobj1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source,f:\prog\audio\sndobj\include" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/sndobj1.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib sndobj.lib" - OutputFile="../pd-msvc/sndobj1~.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc,f:\prog\audio\sndobj\lib" - ProgramDatabaseFile=".\msvc/sndobj1~.pdb" - ImportLibrary=".\msvc/sndobj1~.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/sndobj1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/sndobj1/Makefile.am b/externals/grill/trunk/flext/tutorial/sndobj1/Makefile.am deleted file mode 100644 index 40dcd384e..000000000 --- a/externals/grill/trunk/flext/tutorial/sndobj1/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = sndobj1 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/sndobj1/main.cpp b/externals/grill/trunk/flext/tutorial/sndobj1/main.cpp deleted file mode 100644 index d5587c737..000000000 --- a/externals/grill/trunk/flext/tutorial/sndobj1/main.cpp +++ /dev/null @@ -1,101 +0,0 @@ -/* -flext tutorial - sndobj 1 - -Copyright (c) 2002-2006 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. - -------------------------------------------------------------------------- - -This is an example of an external using the SndObj library. -See http://www.may.ie/academic/music/musictec/SndObj/ - -The SndObj library should be compiled multithreaded. - -This external features simple stereo pitch shifting. - -*/ - -#define FLEXT_ATTRIBUTES 1 - -#include <flsndobj.h> - -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401) -#error You need at least flext version 0.4.1 with sndobj support -#endif - - -class sndobj1: - public flext_sndobj -{ - FLEXT_HEADER_S(sndobj1,flext_sndobj,Setup) - -public: - sndobj1(); - - // these are obligatory! - virtual bool NewObjs(); - virtual void FreeObjs(); - virtual void ProcessObjs(); - - // space for a few sndobjs - Pitch *obj1,*obj2; - - float sh1,sh2; - -private: - static void Setup(t_classid c); - - FLEXT_ATTRVAR_F(sh1) - FLEXT_ATTRVAR_F(sh2) -}; - -FLEXT_NEW_DSP("sndobj1~",sndobj1) - - -sndobj1::sndobj1(): - sh1(1),sh2(1), - obj1(NULL),obj2(NULL) -{ - AddInSignal(2); // audio ins - AddOutSignal(2); // audio outs -} - -void sndobj1::Setup(t_classid c) -{ - FLEXT_CADDATTR_VAR1(c,"shL",sh1); - FLEXT_CADDATTR_VAR1(c,"shR",sh2); -} - -// construct needed SndObjs -bool sndobj1::NewObjs() -{ - // set up objects - obj1 = new Pitch(.1f,&InObj(0),sh1,Blocksize(),Samplerate()); - obj2 = new Pitch(.1f,&InObj(1),sh2,Blocksize(),Samplerate()); - return true; -} - -// destroy the SndObjs -void sndobj1::FreeObjs() -{ - if(obj1) delete obj1; - if(obj2) delete obj2; -} - -// this is called on every DSP block -void sndobj1::ProcessObjs() -{ - // set current pitch shift - obj1->SetPitch(sh1); - obj2->SetPitch(sh2); - - // do processing here!! - obj1->DoProcess(); - obj2->DoProcess(); - - // output - *obj1 >> OutObj(0); - *obj2 >> OutObj(1); -} - diff --git a/externals/grill/trunk/flext/tutorial/sndobj1/package.txt b/externals/grill/trunk/flext/tutorial/sndobj1/package.txt deleted file mode 100644 index 21948caa5..000000000 --- a/externals/grill/trunk/flext/tutorial/sndobj1/package.txt +++ /dev/null @@ -1,2 +0,0 @@ -NAME=sndobj1~ -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/sndobj1/sndobj1.mcp b/externals/grill/trunk/flext/tutorial/sndobj1/sndobj1.mcp deleted file mode 100644 index 8385296a9fd4d23241326b6fbf2d14779d63405f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101183 zcmeI5349!7{r_hsNfSz2dQ&Kca37`V$<c5%O?m_p8k0f`0_`@LrfE03VRzF5wN&vy zK~zxj1_i|f1w2sk#uHId@fNizKg0|0zU}}0edas6Gqbaslt%ug+2@tdJfHnO&pgNX z`F@{y=EzKUI-RsEtID$MlPr7JA(s8ZGc0Rt9kMO9V-tCyIo;!~Nn|p8=}dh`CcWA1 z&iP5BB|eyrjsxSt1aJtb2BIX<*F-Q0Oa@~?4LAtYf+=7sm<FbUL%|Gi7&siv1P(X? z91muJBf(MN1aKm#2S<ZrfP`ZK<7SNkCxMf}DPT4@70dw*6ib^N>T;;tp)QBI9O`vw zr$bvD+T~EML!AzFI@IaZ1L|_9%b_0UI6%7`+Tzd_hx#1qbEwauK8N}o`s7fjgB~3E z>qy;m!8|Y@EC36^BHDEkxC~qZt^n)6<=|p)DOd~Eg9O+Bx<L<c!A8&vHi15{8EgS! z$NeA$(qI5Q7hDNegEb%nvLFWr!B(&hYzJ3?7lNJO8t`K9BJezLHFyDd33w@Z8Mqd_ z9J~Tt2d)RN1UG<JfmegqfE&S0;I-g&U>A5j*a4moZU%1vZv<}wZw7AxZw0r2cY)i$ zyTN<F9pF}QJ9r0pFL)og6TBaM0Ne%c2KRsuf)9ZYgO7lF!AHTzz{kOT;GN(T;BDaT z;FI7};M3qU;IrU!;C}FH@D%tx_#^le_yhP2cmn(m{2BZO{1yBS{2lxQ{1f~O{2TlS z{1@!;T*$VG9Z&_Tkv~aXL;N`SEqn~91$E#cFcusP#*zL7@F4gK_&WFo_!{^kcmRAE zJOsW8z6HJw9tPh5-v!?T-v>VcKLkGlKL(G0pMal&pMkG}-Qe@!OW^0=7vPuRQSg7@ zG4Lxe51auOfyJN^oC)TG)4)P-7C0N61I`8KfhC{`ECtP=1uO&0!3wYvw1V@&1>khh z2IhhVpdDNYR)G%i9MB26@ICT6)aB3?hq|04fO;L;>ChI3b~@DUP`5+f4s|=!?NGNv z-41m-)a_8WL){MbI@IS-pF@2P^*Pk%&?kpF9s23eXGiK@4K4x~gEe3+xCA^GYyj&( z4{$*@xD2cZSAdP67i<E3U^CbPlAs@?KpG5yD?tWiK@JRptsnumflI;VU_00Wt^&^k z&j&96J1xsP4!imt_!D>v{000K{2BZn`~f@({s#UI{sI08{ssOG{saCC_D~+h$$`{? zI8~q;)POOdmOOtXt|R^}cmjS97z+*t<G^?@0USa)?XzDDUI<<aUItzQXtVtyunSxZ zUJhOXt^?PDSArYBtH7(lYru`*Ch%JDI`DdMGk62I2D}lV6Z>lLCh%tP7VuW^HgF5L z6)=uAV`pCm(6P-}+Uo&hYhMl+Uz_o?djMl=GnO`EX)~5KV`(#%He+csmNsK)GnO`E zX)~5KV`(#%He+dD0T@pk+p!r#n{l-nSDP`l8B3e7v>8jAv9!Moz5yNt-vr+R4}q_M zuYs?EZ-a-ycffbS_rUkT55Nz>kHC+?Bj6|Cr{HH`H~2aD1^7DnCHN9}06Yr*4?G5b z1s(^#2EPIC0Pg|s0`CKNg7<>kz#ZV7;QinO;4W}CxCeX?d<c9Pd<5JJJ_<etJ`U~! zp8%f(p91d&p9XISw}a1s&w|f^`@!eI7r+<6LeL1#0B3`9z*%4sI1`)>&IRXzC7=l` z1<jxZECb8I3a}Eig7d)zpbfNx3&CQr3M>Gpfe!E-&<VQ0YH$&_7)$`uz+`YJm;t7P zL%<X;2^<Cv2Q$GDU=}zM90lsZ(cl<xEI1Av4^99lf|J0>U@ABTj0Y3JY;Y==0~)|w zFb~YP3c*%NyNqMYPs*~Ygb?VbRc)9zU)Lx{2i6$nml4-0PZ8HCA0R$R`7YwI%3nr& zu=3Xvk5hgdF>N>DZno&n1nk7DP2~r6Vb-O>zXs5q2|s3weogotTl8weKiHxd339wO z>s8^>U&cU!=+LZRg)^3B9V;BWFzZ?2jH_AK3g5tnagreZY}UBKcd=pIB*^?^*1N*r z!iI5_AhvAP3xj{04dW_7eA{0Ki?5osu*iSThVhml^R!t@3;!n@#$STWxn?~r9NRK$ zXW`h38B5_Zrr3rAS>u{DwQ&5ztgVG(`(}+Tyq!%0Ajq-J9E*joV}lJzkmHp(_6yIk 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 WjMq*hw(fa=SpEG|cObu7<o^$6rtvKR diff --git a/externals/grill/trunk/flext/tutorial/sndobj1/sndobj1.vcproj b/externals/grill/trunk/flext/tutorial/sndobj1/sndobj1.vcproj deleted file mode 100644 index 013442b4e..000000000 --- a/externals/grill/trunk/flext/tutorial/sndobj1/sndobj1.vcproj +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="sndobj1" - SccProjectName="sndobj1" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source,f:\prog\audio\sndobj\include" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/sndobj1.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - BrowseInformationFile=".\msvc-debug/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib sndobj.lib" - OutputFile="msvc-debug/sndobj1~.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc,f:\prog\audio\sndobj\lib" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/sndobj1~.pdb" - ImportLibrary=".\msvc-debug/sndobj1~.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/sndobj1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source,f:\prog\audio\sndobj\include" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/sndobj1.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib sndobj.lib" - OutputFile="../pd-msvc/sndobj1~.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc,f:\prog\audio\sndobj\lib" - ProgramDatabaseFile=".\msvc/sndobj1~.pdb" - ImportLibrary=".\msvc/sndobj1~.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/sndobj1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/stk1/.svn/all-wcprops b/externals/grill/trunk/flext/tutorial/stk1/.svn/all-wcprops deleted file mode 100644 index 7ad1eabfe..000000000 --- a/externals/grill/trunk/flext/tutorial/stk1/.svn/all-wcprops +++ /dev/null @@ -1,29 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 44 -/ext/!svn/ver/3716/trunk/flext/tutorial/stk1 -END -main.cpp -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/3716/trunk/flext/tutorial/stk1/main.cpp -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/stk1/Makefile.am -END -package.txt -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/stk1/package.txt -END -stk1.vcproj -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/stk1/stk1.vcproj -END diff --git a/externals/grill/trunk/flext/tutorial/stk1/.svn/entries b/externals/grill/trunk/flext/tutorial/stk1/.svn/entries deleted file mode 100644 index 9c95b6bc2..000000000 --- a/externals/grill/trunk/flext/tutorial/stk1/.svn/entries +++ /dev/null @@ -1,164 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/tutorial/stk1 -https://svn.grrrr.org/ext - - - -2010-01-11T16:08:54.107375Z -3716 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -Makefile.am -file - - - - -2012-05-13T23:08:36.606556Z -b92969c58dd22e4fdff388e68f39a677 -2005-01-26T11:58:31.157320Z -992 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -911 - -package.txt -file - - - - -2012-05-13T23:08:36.606556Z -d9c5b993c7389251217076d7126ff989 -2006-09-20T18:21:19.690651Z -1173 -thomas - - - - - - - - - - - - - - - - - - - - - -27 - -stk1.vcproj -file - - - - -2012-05-13T23:08:36.604556Z -d49fafc138118c946fa6ece6f430657c -2003-11-12T01:58:35.000000Z -727 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -5058 - -main.cpp -file - - - - -2012-05-13T23:08:36.605556Z -29bc3ed7a4f3f3a23a1b3e0280764b70 -2010-01-11T16:08:54.107375Z -3716 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1796 - diff --git a/externals/grill/trunk/flext/tutorial/stk1/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/stk1/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/tutorial/stk1/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/tutorial/stk1/.svn/prop-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/stk1/.svn/prop-base/main.cpp.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/stk1/.svn/prop-base/main.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/stk1/.svn/prop-base/stk1.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/stk1/.svn/prop-base/stk1.vcproj.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/stk1/.svn/prop-base/stk1.vcproj.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/stk1/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/stk1/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index 3449f4106..000000000 --- a/externals/grill/trunk/flext/tutorial/stk1/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = stk1 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/stk1/.svn/text-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/stk1/.svn/text-base/main.cpp.svn-base deleted file mode 100644 index 278529e02..000000000 --- a/externals/grill/trunk/flext/tutorial/stk1/.svn/text-base/main.cpp.svn-base +++ /dev/null @@ -1,90 +0,0 @@ -/* -flext tutorial - stk 1 - -Copyright (c) 2002-2010 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. - -------------------------------------------------------------------------- - -This is an example of an external using the STK ("synthesis toolkit") library. -For STK see http://ccrma-www.stanford.edu/software/stk - -STK needs C++ exceptions switched on. - -The STK tutorial examples assume that a static stk library exists which contains all the -source files (except rt*.cpp) of the stk/src directory. -The library should be compiled multithreaded and with the appropriate compiler flags for -the respective platform (e.g. __OS_WINDOWS__ and __LITTLE_ENDIAN__ for Windows) - -*/ - -#include <flstk.h> - -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401) -#error You need at least flext version 0.4.1 with STK support -#endif - -#include "Noise.h" - -using namespace stk; - -class stk1: - public flext_stk -{ - FLEXT_HEADER(stk1,flext_stk) - -public: - stk1(); - -protected: - // these are obligatory! - virtual bool NewObjs(); // create STK instruments - virtual void FreeObjs(); // destroy STK instruments - virtual void ProcessObjs(int n); // do DSP processing - -private: - Noise *inst; -}; - -FLEXT_NEW_DSP("stk1~",stk1) - - -stk1::stk1(): - inst(NULL) -{ - AddInAnything(); - AddOutSignal(); -} - - -// create STK instruments -bool stk1::NewObjs() -{ - bool ok = true; - - // set up objects - try { - inst = new Noise; - } - catch (StkError &) { - post("%s - Noise() setup failed!",thisName()); - ok = false; - } - return ok; -} - - -// destroy the STK instruments -void stk1::FreeObjs() -{ - if(inst) delete inst; -} - -// this is called on every DSP block -void stk1::ProcessObjs(int n) -{ - while(n--) Outlet(0).tick(inst->tick()); -} - - diff --git a/externals/grill/trunk/flext/tutorial/stk1/.svn/text-base/package.txt.svn-base b/externals/grill/trunk/flext/tutorial/stk1/.svn/text-base/package.txt.svn-base deleted file mode 100644 index 5f31c5af3..000000000 --- a/externals/grill/trunk/flext/tutorial/stk1/.svn/text-base/package.txt.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -NAME=stk1~ -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/stk1/.svn/text-base/stk1.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/stk1/.svn/text-base/stk1.vcproj.svn-base deleted file mode 100644 index b1d9edfab..000000000 --- a/externals/grill/trunk/flext/tutorial/stk1/.svn/text-base/stk1.vcproj.svn-base +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="stk1" - SccProjectName="stk1" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source,f:\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD;FLEXT_THREADS" - BasicRuntimeChecks="3" - RuntimeLibrary="1" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/stk1.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - BrowseInformationFile=".\msvc-debug/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib pthreadVC.lib flext_td-pdwin.lib stk_d.lib" - OutputFile="msvc-debug/stk1~.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc,f:\prog\audio\stk\lib" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/stk1~.pdb" - ImportLibrary=".\msvc-debug/stk1~.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/stk1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source,f:\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD;FLEXT_THREADS" - StringPooling="TRUE" - RuntimeLibrary="0" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/stk1.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib pthreadVC.lib flext_t-pdwin.lib stk.lib" - OutputFile="../pd-msvc/stk1~.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc,f:\prog\audio\stk\lib" - ProgramDatabaseFile=".\msvc/stk1~.pdb" - ImportLibrary=".\msvc/stk1~.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/stk1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;FLEXT_THREADS;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;FLEXT_THREADS;$(NoInherit)"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/stk1/Makefile.am b/externals/grill/trunk/flext/tutorial/stk1/Makefile.am deleted file mode 100644 index 3449f4106..000000000 --- a/externals/grill/trunk/flext/tutorial/stk1/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = stk1 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/stk1/main.cpp b/externals/grill/trunk/flext/tutorial/stk1/main.cpp deleted file mode 100644 index 278529e02..000000000 --- a/externals/grill/trunk/flext/tutorial/stk1/main.cpp +++ /dev/null @@ -1,90 +0,0 @@ -/* -flext tutorial - stk 1 - -Copyright (c) 2002-2010 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. - -------------------------------------------------------------------------- - -This is an example of an external using the STK ("synthesis toolkit") library. -For STK see http://ccrma-www.stanford.edu/software/stk - -STK needs C++ exceptions switched on. - -The STK tutorial examples assume that a static stk library exists which contains all the -source files (except rt*.cpp) of the stk/src directory. -The library should be compiled multithreaded and with the appropriate compiler flags for -the respective platform (e.g. __OS_WINDOWS__ and __LITTLE_ENDIAN__ for Windows) - -*/ - -#include <flstk.h> - -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401) -#error You need at least flext version 0.4.1 with STK support -#endif - -#include "Noise.h" - -using namespace stk; - -class stk1: - public flext_stk -{ - FLEXT_HEADER(stk1,flext_stk) - -public: - stk1(); - -protected: - // these are obligatory! - virtual bool NewObjs(); // create STK instruments - virtual void FreeObjs(); // destroy STK instruments - virtual void ProcessObjs(int n); // do DSP processing - -private: - Noise *inst; -}; - -FLEXT_NEW_DSP("stk1~",stk1) - - -stk1::stk1(): - inst(NULL) -{ - AddInAnything(); - AddOutSignal(); -} - - -// create STK instruments -bool stk1::NewObjs() -{ - bool ok = true; - - // set up objects - try { - inst = new Noise; - } - catch (StkError &) { - post("%s - Noise() setup failed!",thisName()); - ok = false; - } - return ok; -} - - -// destroy the STK instruments -void stk1::FreeObjs() -{ - if(inst) delete inst; -} - -// this is called on every DSP block -void stk1::ProcessObjs(int n) -{ - while(n--) Outlet(0).tick(inst->tick()); -} - - diff --git a/externals/grill/trunk/flext/tutorial/stk1/package.txt b/externals/grill/trunk/flext/tutorial/stk1/package.txt deleted file mode 100644 index 5f31c5af3..000000000 --- a/externals/grill/trunk/flext/tutorial/stk1/package.txt +++ /dev/null @@ -1,2 +0,0 @@ -NAME=stk1~ -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/stk1/stk1.vcproj b/externals/grill/trunk/flext/tutorial/stk1/stk1.vcproj deleted file mode 100644 index b1d9edfab..000000000 --- a/externals/grill/trunk/flext/tutorial/stk1/stk1.vcproj +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="stk1" - SccProjectName="stk1" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source,f:\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD;FLEXT_THREADS" - BasicRuntimeChecks="3" - RuntimeLibrary="1" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/stk1.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - BrowseInformationFile=".\msvc-debug/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib pthreadVC.lib flext_td-pdwin.lib stk_d.lib" - OutputFile="msvc-debug/stk1~.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc,f:\prog\audio\stk\lib" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/stk1~.pdb" - ImportLibrary=".\msvc-debug/stk1~.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/stk1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source,f:\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD;FLEXT_THREADS" - StringPooling="TRUE" - RuntimeLibrary="0" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/stk1.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib pthreadVC.lib flext_t-pdwin.lib stk.lib" - OutputFile="../pd-msvc/stk1~.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc,f:\prog\audio\stk\lib" - ProgramDatabaseFile=".\msvc/stk1~.pdb" - ImportLibrary=".\msvc/stk1~.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/stk1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;FLEXT_THREADS;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;FLEXT_THREADS;$(NoInherit)"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/stk2/.svn/all-wcprops b/externals/grill/trunk/flext/tutorial/stk2/.svn/all-wcprops deleted file mode 100644 index 84b0a045b..000000000 --- a/externals/grill/trunk/flext/tutorial/stk2/.svn/all-wcprops +++ /dev/null @@ -1,29 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 44 -/ext/!svn/ver/3723/trunk/flext/tutorial/stk2 -END -main.cpp -K 25 -svn:wc:ra_dav:version-url -V 53 -/ext/!svn/ver/3723/trunk/flext/tutorial/stk2/main.cpp -END -stk2.vcproj -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/stk2/stk2.vcproj -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/stk2/Makefile.am -END -package.txt -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/stk2/package.txt -END diff --git a/externals/grill/trunk/flext/tutorial/stk2/.svn/entries b/externals/grill/trunk/flext/tutorial/stk2/.svn/entries deleted file mode 100644 index 1517bc893..000000000 --- a/externals/grill/trunk/flext/tutorial/stk2/.svn/entries +++ /dev/null @@ -1,164 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/tutorial/stk2 -https://svn.grrrr.org/ext - - - -2010-01-29T15:27:10.761428Z -3723 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -main.cpp -file - - - - -2012-05-13T23:08:36.617556Z -4b84305fa05fe0a1c35ac3f12ea7738b -2010-01-29T15:27:10.761428Z -3723 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -2372 - -stk2.vcproj -file - - - - -2012-05-13T23:08:36.618556Z -4f992d35659a206b3b0ea9e503208399 -2003-11-12T01:58:35.000000Z -727 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -5058 - -Makefile.am -file - - - - -2012-05-13T23:08:36.619556Z -1fb9334b75e89d8717eb1da700c50f0f -2005-01-26T11:58:31.157320Z -992 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -911 - -package.txt -file - - - - -2012-05-13T23:08:36.619556Z -2ddbc20cfef2d1b8faeabdecf40de84b -2006-09-20T18:21:19.690651Z -1173 -thomas - - - - - - - - - - - - - - - - - - - - - -27 - diff --git a/externals/grill/trunk/flext/tutorial/stk2/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/stk2/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/tutorial/stk2/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/tutorial/stk2/.svn/prop-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/stk2/.svn/prop-base/main.cpp.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/stk2/.svn/prop-base/main.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/stk2/.svn/prop-base/stk2.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/stk2/.svn/prop-base/stk2.vcproj.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/stk2/.svn/prop-base/stk2.vcproj.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/stk2/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/stk2/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index fe13e6a3c..000000000 --- a/externals/grill/trunk/flext/tutorial/stk2/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = stk2 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/stk2/.svn/text-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/stk2/.svn/text-base/main.cpp.svn-base deleted file mode 100644 index 3fd120fdf..000000000 --- a/externals/grill/trunk/flext/tutorial/stk2/.svn/text-base/main.cpp.svn-base +++ /dev/null @@ -1,112 +0,0 @@ -/* -flext tutorial - stk 2 - -Copyright (c) 2002-2010 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. - -------------------------------------------------------------------------- - -This is an example of an external using the STK ("synthesis toolkit") library. -For STK see http://ccrma-www.stanford.edu/software/stk - -STK needs C++ exceptions switched on. - -The STK tutorial examples assume that a static stk library exists which contains all the -source files (except rt*.cpp) of the stk/src directory. -The library should be compiled multithreaded and with the appropriate compiler flags for -the respective platform (e.g. __OS_WINDOWS__ and __LITTLE_ENDIAN__ for Windows) - -*/ - -#include <flstk.h> - -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401) -#error You need at least flext version 0.4.1 with STK support -#endif - -#include "PitShift.h" - -using namespace stk; - -class stk2: - public flext_stk -{ - FLEXT_HEADER_S(stk2,flext_stk,Setup) - -public: - stk2(); - - void m_sh1(float f) { if(inst[0]) inst[0]->setShift(f); } - void m_sh2(float f) { if(inst[1]) inst[1]->setShift(f); } - - // these are obligatory! - virtual bool NewObjs(); // create STK instruments - virtual void FreeObjs(); // destroy STK instruments - virtual void ProcessObjs(int n); // do DSP processing - - PitShift *inst[2]; - StkFrames vec; - -private: - static void Setup(t_classid c); - - FLEXT_CALLBACK_F(m_sh1) - FLEXT_CALLBACK_F(m_sh2) -}; - -FLEXT_NEW_DSP("stk2~",stk2) - - -stk2::stk2() -{ - AddInSignal(); - AddOutSignal(2); - - inst[0] = inst[1] = NULL; -} - -void stk2::Setup(t_classid c) -{ - FLEXT_CADDMETHOD_F(c,0,"shL",m_sh1); - FLEXT_CADDMETHOD_F(c,0,"shR",m_sh2); -} - - -// create STK instruments -bool stk2::NewObjs() -{ - bool ok = true; - - try { - // set up objects - for(int i = 0; i < 2; ++i) - inst[i] = new PitShift; - - // reserve one signal vector too - vec.resize(Blocksize()); - } - catch (StkError &) { - post("%s - Creation failed!",thisName()); - ok = false; - } - return ok; -} - - -// destroy the STK instruments -void stk2::FreeObjs() -{ - for(int i = 0; i < 2; ++i) - if(inst[i]) delete inst[i]; -} - -// this is called on every DSP block -void stk2::ProcessObjs(int n) -{ - for(int i = 0; i < 2; ++i) { - Inlet(0).tick(vec); - inst[i]->tick(vec); - Outlet(i).tick(vec); - } -} diff --git a/externals/grill/trunk/flext/tutorial/stk2/.svn/text-base/package.txt.svn-base b/externals/grill/trunk/flext/tutorial/stk2/.svn/text-base/package.txt.svn-base deleted file mode 100644 index 27b74e307..000000000 --- a/externals/grill/trunk/flext/tutorial/stk2/.svn/text-base/package.txt.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -NAME=stk2~ -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/stk2/.svn/text-base/stk2.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/stk2/.svn/text-base/stk2.vcproj.svn-base deleted file mode 100644 index 2958a08b9..000000000 --- a/externals/grill/trunk/flext/tutorial/stk2/.svn/text-base/stk2.vcproj.svn-base +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="stk2" - SccProjectName="stk2" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source,f:\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD;FLEXT_THREADS" - StringPooling="TRUE" - RuntimeLibrary="0" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/stk2.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib pthreadVC.lib flext_t-pdwin.lib stk.lib" - OutputFile="../pd-msvc/stk2~.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc,f:\prog\audio\stk\lib" - ProgramDatabaseFile=".\msvc/stk2~.pdb" - ImportLibrary=".\msvc/stk2~.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/stk2.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source,f:\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD;FLEXT_THREADS" - BasicRuntimeChecks="3" - RuntimeLibrary="1" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/stk2.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - BrowseInformationFile=".\msvc-debug/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib pthreadVC.lib flext_td-pdwin.lib stk_d.lib" - OutputFile="msvc-debug/stk2~.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc,f:\prog\audio\stk\lib" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/stk2~.pdb" - ImportLibrary=".\msvc-debug/stk2~.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/stk2.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;FLEXT_THREADS;$(NoInherit)"/> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;FLEXT_THREADS;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/stk2/Makefile.am b/externals/grill/trunk/flext/tutorial/stk2/Makefile.am deleted file mode 100644 index fe13e6a3c..000000000 --- a/externals/grill/trunk/flext/tutorial/stk2/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = stk2 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/stk2/main.cpp b/externals/grill/trunk/flext/tutorial/stk2/main.cpp deleted file mode 100644 index 3fd120fdf..000000000 --- a/externals/grill/trunk/flext/tutorial/stk2/main.cpp +++ /dev/null @@ -1,112 +0,0 @@ -/* -flext tutorial - stk 2 - -Copyright (c) 2002-2010 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. - -------------------------------------------------------------------------- - -This is an example of an external using the STK ("synthesis toolkit") library. -For STK see http://ccrma-www.stanford.edu/software/stk - -STK needs C++ exceptions switched on. - -The STK tutorial examples assume that a static stk library exists which contains all the -source files (except rt*.cpp) of the stk/src directory. -The library should be compiled multithreaded and with the appropriate compiler flags for -the respective platform (e.g. __OS_WINDOWS__ and __LITTLE_ENDIAN__ for Windows) - -*/ - -#include <flstk.h> - -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401) -#error You need at least flext version 0.4.1 with STK support -#endif - -#include "PitShift.h" - -using namespace stk; - -class stk2: - public flext_stk -{ - FLEXT_HEADER_S(stk2,flext_stk,Setup) - -public: - stk2(); - - void m_sh1(float f) { if(inst[0]) inst[0]->setShift(f); } - void m_sh2(float f) { if(inst[1]) inst[1]->setShift(f); } - - // these are obligatory! - virtual bool NewObjs(); // create STK instruments - virtual void FreeObjs(); // destroy STK instruments - virtual void ProcessObjs(int n); // do DSP processing - - PitShift *inst[2]; - StkFrames vec; - -private: - static void Setup(t_classid c); - - FLEXT_CALLBACK_F(m_sh1) - FLEXT_CALLBACK_F(m_sh2) -}; - -FLEXT_NEW_DSP("stk2~",stk2) - - -stk2::stk2() -{ - AddInSignal(); - AddOutSignal(2); - - inst[0] = inst[1] = NULL; -} - -void stk2::Setup(t_classid c) -{ - FLEXT_CADDMETHOD_F(c,0,"shL",m_sh1); - FLEXT_CADDMETHOD_F(c,0,"shR",m_sh2); -} - - -// create STK instruments -bool stk2::NewObjs() -{ - bool ok = true; - - try { - // set up objects - for(int i = 0; i < 2; ++i) - inst[i] = new PitShift; - - // reserve one signal vector too - vec.resize(Blocksize()); - } - catch (StkError &) { - post("%s - Creation failed!",thisName()); - ok = false; - } - return ok; -} - - -// destroy the STK instruments -void stk2::FreeObjs() -{ - for(int i = 0; i < 2; ++i) - if(inst[i]) delete inst[i]; -} - -// this is called on every DSP block -void stk2::ProcessObjs(int n) -{ - for(int i = 0; i < 2; ++i) { - Inlet(0).tick(vec); - inst[i]->tick(vec); - Outlet(i).tick(vec); - } -} diff --git a/externals/grill/trunk/flext/tutorial/stk2/package.txt b/externals/grill/trunk/flext/tutorial/stk2/package.txt deleted file mode 100644 index 27b74e307..000000000 --- a/externals/grill/trunk/flext/tutorial/stk2/package.txt +++ /dev/null @@ -1,2 +0,0 @@ -NAME=stk2~ -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/stk2/stk2.vcproj b/externals/grill/trunk/flext/tutorial/stk2/stk2.vcproj deleted file mode 100644 index 2958a08b9..000000000 --- a/externals/grill/trunk/flext/tutorial/stk2/stk2.vcproj +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="stk2" - SccProjectName="stk2" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source,f:\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD;FLEXT_THREADS" - StringPooling="TRUE" - RuntimeLibrary="0" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/stk2.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib pthreadVC.lib flext_t-pdwin.lib stk.lib" - OutputFile="../pd-msvc/stk2~.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc,f:\prog\audio\stk\lib" - ProgramDatabaseFile=".\msvc/stk2~.pdb" - ImportLibrary=".\msvc/stk2~.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/stk2.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source,f:\prog\audio\stk\include" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD;FLEXT_THREADS" - BasicRuntimeChecks="3" - RuntimeLibrary="1" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/stk2.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - BrowseInformationFile=".\msvc-debug/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib pthreadVC.lib flext_td-pdwin.lib stk_d.lib" - OutputFile="msvc-debug/stk2~.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc,f:\prog\audio\stk\lib" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/stk2~.pdb" - ImportLibrary=".\msvc-debug/stk2~.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/stk2.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;FLEXT_THREADS;$(NoInherit)"/> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;FLEXT_THREADS;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/thread1/.svn/all-wcprops b/externals/grill/trunk/flext/tutorial/thread1/.svn/all-wcprops deleted file mode 100644 index 8f2b046af..000000000 --- a/externals/grill/trunk/flext/tutorial/thread1/.svn/all-wcprops +++ /dev/null @@ -1,35 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 47 -/ext/!svn/ver/1247/trunk/flext/tutorial/thread1 -END -main.cpp -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/thread1/main.cpp -END -thread1.mcp -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/thread1/thread1.mcp -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/thread1/Makefile.am -END -package.txt -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/thread1/package.txt -END -thread1.vcproj -K 25 -svn:wc:ra_dav:version-url -V 62 -/ext/!svn/ver/1247/trunk/flext/tutorial/thread1/thread1.vcproj -END diff --git a/externals/grill/trunk/flext/tutorial/thread1/.svn/entries b/externals/grill/trunk/flext/tutorial/thread1/.svn/entries deleted file mode 100644 index 211e509b9..000000000 --- a/externals/grill/trunk/flext/tutorial/thread1/.svn/entries +++ /dev/null @@ -1,198 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/tutorial/thread1 -https://svn.grrrr.org/ext - - - -2005-01-26T11:58:31.157320Z -992 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -main.cpp -file - - - - -2012-05-13T23:08:36.660556Z -c0fcb8eb7d4a11a7dc352701338cec7f -2003-01-01T23:54:16.000000Z -465 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -1924 - -thread1.mcp -file - - - - -2012-05-13T23:08:36.662556Z -db61d68204f8107284da61a07cf56c5a -2005-01-04T13:28:16.495520Z -953 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -149552 - -Makefile.am -file - - - - -2012-05-13T23:08:36.662556Z -1222eb274d5e0f83b14be88ab5202b57 -2005-01-26T11:58:31.157320Z -992 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -914 - -package.txt -file - - - - -2012-05-13T23:08:36.663556Z -6b44adbebbf3deae2b19480bbfa31f24 -2005-01-04T13:57:44.777172Z -954 -thomas - - - - - - - - - - - - - - - - - - - - - -46 - -thread1.vcproj -file - - - - -2012-05-13T23:08:36.664556Z -6c4ec75d37d8271177a1a162bb159ec9 -2003-11-12T10:21:57.000000Z -729 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4984 - diff --git a/externals/grill/trunk/flext/tutorial/thread1/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/thread1/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/tutorial/thread1/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/tutorial/thread1/.svn/prop-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/thread1/.svn/prop-base/main.cpp.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/thread1/.svn/prop-base/main.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/thread1/.svn/prop-base/thread1.mcp.svn-base b/externals/grill/trunk/flext/tutorial/thread1/.svn/prop-base/thread1.mcp.svn-base deleted file mode 100644 index 5e9587e65..000000000 --- a/externals/grill/trunk/flext/tutorial/thread1/.svn/prop-base/thread1.mcp.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/thread1/.svn/prop-base/thread1.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/thread1/.svn/prop-base/thread1.vcproj.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/thread1/.svn/prop-base/thread1.vcproj.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/thread1/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/thread1/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index e8965b142..000000000 --- a/externals/grill/trunk/flext/tutorial/thread1/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = thread1 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/thread1/.svn/text-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/thread1/.svn/text-base/main.cpp.svn-base deleted file mode 100644 index e5e0c0e3b..000000000 --- a/externals/grill/trunk/flext/tutorial/thread1/.svn/text-base/main.cpp.svn-base +++ /dev/null @@ -1,83 +0,0 @@ -/* -flext tutorial - threads 1 - -Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This shows an example of a method running as a thread -*/ - -/* define FLEXT_THREADS for thread usage. Flext must also have been compiled with that defined! - it's even better to define that as a compiler flag (-D FLEXT_THREADS) for all files of the - flext external -*/ -#ifndef FLEXT_THREADS -#define FLEXT_THREADS -#endif - -#include <flext.h> - -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400) -#error You need at least flext version 0.4.0 -#endif - - -class thread1: - public flext_base -{ - FLEXT_HEADER(thread1,flext_base) - -public: - thread1(); - -protected: - void m_start(); // method function - -private: - // define threaded callback for method m_start - // the same syntax as with FLEXT_CALLBACK is used here - FLEXT_THREAD(m_start) -}; - -FLEXT_NEW("thread1",thread1) - - - -thread1::thread1() -{ - AddInAnything(); - AddOutInt(); - - FLEXT_ADDBANG(0,m_start); // register method -} - -void thread1::m_start() -{ - // Please note that this functions needs about 10 seconds to complete - // Without threads it would block the real-time system - - // Okay, that functionality would be far more elegant with timers - // ... but hey, it's a demo! - - for(int i = 0; i < 20 && !ShouldExit(); ++i) { - ToOutInt(0,i); // output loop count -// post("%i",i); - - // wait for half a second - for(int j = 0; j < 5 && !ShouldExit(); ++j) Sleep(0.1f); - // note: we shall not block a thread for a longer time. - // The system might want to destroy the object in the meantime and - // expects thread termination. In such a case flext waits - // for 1 second by default, then it aborts the thread brutally - } - - // output a final zero - ToOutInt(0,0); -// post("end"); -} - - - diff --git a/externals/grill/trunk/flext/tutorial/thread1/.svn/text-base/package.txt.svn-base b/externals/grill/trunk/flext/tutorial/thread1/.svn/text-base/package.txt.svn-base deleted file mode 100644 index 3b07a03eb..000000000 --- a/externals/grill/trunk/flext/tutorial/thread1/.svn/text-base/package.txt.svn-base +++ /dev/null @@ -1,3 +0,0 @@ -NAME=thread1 -BUILDTYPE=multi -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/thread1/.svn/text-base/thread1.mcp.svn-base b/externals/grill/trunk/flext/tutorial/thread1/.svn/text-base/thread1.mcp.svn-base deleted file mode 100644 index 54fc8624dbb34f579d67463b0a7b21afec83e21e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149552 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 diff --git a/externals/grill/trunk/flext/tutorial/thread1/.svn/text-base/thread1.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/thread1/.svn/text-base/thread1.vcproj.svn-base deleted file mode 100644 index 3cf34ebfe..000000000 --- a/externals/grill/trunk/flext/tutorial/thread1/.svn/text-base/thread1.vcproj.svn-base +++ /dev/null @@ -1,176 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="thread1" - SccProjectName="thread1" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD;FLEXT_THREADS" - StringPooling="TRUE" - RuntimeLibrary="0" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/thread1.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_t-pdwin.lib pthreadVC.lib" - OutputFile="../pd-msvc/thread1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="C:\Programme\audio\pd\bin;..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/thread1.pdb" - ImportLibrary=".\msvc/thread1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/thread1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FLEXT_THREADS" - BasicRuntimeChecks="3" - RuntimeLibrary="1" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/thread1.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_td-pdwin.lib pthreadVC.lib" - OutputFile=".\msvc-debug/thread1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="C:\Programme\audio\pd\bin; ..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/thread1.pdb" - ImportLibrary=".\msvc-debug/thread1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/thread1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;FLEXT_THREADS;$(NoInherit)"/> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;FLEXT_THREADS;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/thread1/Makefile.am b/externals/grill/trunk/flext/tutorial/thread1/Makefile.am deleted file mode 100644 index e8965b142..000000000 --- a/externals/grill/trunk/flext/tutorial/thread1/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = thread1 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/thread1/main.cpp b/externals/grill/trunk/flext/tutorial/thread1/main.cpp deleted file mode 100644 index e5e0c0e3b..000000000 --- a/externals/grill/trunk/flext/tutorial/thread1/main.cpp +++ /dev/null @@ -1,83 +0,0 @@ -/* -flext tutorial - threads 1 - -Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This shows an example of a method running as a thread -*/ - -/* define FLEXT_THREADS for thread usage. Flext must also have been compiled with that defined! - it's even better to define that as a compiler flag (-D FLEXT_THREADS) for all files of the - flext external -*/ -#ifndef FLEXT_THREADS -#define FLEXT_THREADS -#endif - -#include <flext.h> - -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400) -#error You need at least flext version 0.4.0 -#endif - - -class thread1: - public flext_base -{ - FLEXT_HEADER(thread1,flext_base) - -public: - thread1(); - -protected: - void m_start(); // method function - -private: - // define threaded callback for method m_start - // the same syntax as with FLEXT_CALLBACK is used here - FLEXT_THREAD(m_start) -}; - -FLEXT_NEW("thread1",thread1) - - - -thread1::thread1() -{ - AddInAnything(); - AddOutInt(); - - FLEXT_ADDBANG(0,m_start); // register method -} - -void thread1::m_start() -{ - // Please note that this functions needs about 10 seconds to complete - // Without threads it would block the real-time system - - // Okay, that functionality would be far more elegant with timers - // ... but hey, it's a demo! - - for(int i = 0; i < 20 && !ShouldExit(); ++i) { - ToOutInt(0,i); // output loop count -// post("%i",i); - - // wait for half a second - for(int j = 0; j < 5 && !ShouldExit(); ++j) Sleep(0.1f); - // note: we shall not block a thread for a longer time. - // The system might want to destroy the object in the meantime and - // expects thread termination. In such a case flext waits - // for 1 second by default, then it aborts the thread brutally - } - - // output a final zero - ToOutInt(0,0); -// post("end"); -} - - - diff --git a/externals/grill/trunk/flext/tutorial/thread1/package.txt b/externals/grill/trunk/flext/tutorial/thread1/package.txt deleted file mode 100644 index 3b07a03eb..000000000 --- a/externals/grill/trunk/flext/tutorial/thread1/package.txt +++ /dev/null @@ -1,3 +0,0 @@ -NAME=thread1 -BUILDTYPE=multi -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/thread1/thread1.mcp b/externals/grill/trunk/flext/tutorial/thread1/thread1.mcp deleted file mode 100644 index 54fc8624dbb34f579d67463b0a7b21afec83e21e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149552 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 diff --git a/externals/grill/trunk/flext/tutorial/thread1/thread1.vcproj b/externals/grill/trunk/flext/tutorial/thread1/thread1.vcproj deleted file mode 100644 index 3cf34ebfe..000000000 --- a/externals/grill/trunk/flext/tutorial/thread1/thread1.vcproj +++ /dev/null @@ -1,176 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="thread1" - SccProjectName="thread1" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD;FLEXT_THREADS" - StringPooling="TRUE" - RuntimeLibrary="0" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/thread1.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_t-pdwin.lib pthreadVC.lib" - OutputFile="../pd-msvc/thread1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="C:\Programme\audio\pd\bin;..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/thread1.pdb" - ImportLibrary=".\msvc/thread1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/thread1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FLEXT_THREADS" - BasicRuntimeChecks="3" - RuntimeLibrary="1" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/thread1.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_td-pdwin.lib pthreadVC.lib" - OutputFile=".\msvc-debug/thread1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="C:\Programme\audio\pd\bin; ..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/thread1.pdb" - ImportLibrary=".\msvc-debug/thread1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/thread1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;FLEXT_THREADS;$(NoInherit)"/> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;FLEXT_THREADS;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/thread2/.svn/all-wcprops b/externals/grill/trunk/flext/tutorial/thread2/.svn/all-wcprops deleted file mode 100644 index f1c19704c..000000000 --- a/externals/grill/trunk/flext/tutorial/thread2/.svn/all-wcprops +++ /dev/null @@ -1,35 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 47 -/ext/!svn/ver/1247/trunk/flext/tutorial/thread2 -END -thread2.vcproj -K 25 -svn:wc:ra_dav:version-url -V 62 -/ext/!svn/ver/1247/trunk/flext/tutorial/thread2/thread2.vcproj -END -main.cpp -K 25 -svn:wc:ra_dav:version-url -V 56 -/ext/!svn/ver/1247/trunk/flext/tutorial/thread2/main.cpp -END -thread2.mcp -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/thread2/thread2.mcp -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/thread2/Makefile.am -END -package.txt -K 25 -svn:wc:ra_dav:version-url -V 59 -/ext/!svn/ver/1247/trunk/flext/tutorial/thread2/package.txt -END diff --git a/externals/grill/trunk/flext/tutorial/thread2/.svn/entries b/externals/grill/trunk/flext/tutorial/thread2/.svn/entries deleted file mode 100644 index dbd6ba719..000000000 --- a/externals/grill/trunk/flext/tutorial/thread2/.svn/entries +++ /dev/null @@ -1,198 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/tutorial/thread2 -https://svn.grrrr.org/ext - - - -2005-01-26T11:58:31.157320Z -992 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -main.cpp -file - - - - -2012-05-13T23:08:36.683556Z -190f00a00e18b85f98f8072cc777103c -2003-01-01T23:54:16.000000Z -465 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -3112 - -thread2.mcp -file - - - - -2012-05-13T23:08:36.685556Z -316e17d310f5f0f57c5158469ed602fc -2005-01-04T13:28:16.495520Z -953 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -148836 - -Makefile.am -file - - - - -2012-05-13T23:08:36.686556Z -829ad068548afb736a7ee460e4c8e4a5 -2005-01-26T11:58:31.157320Z -992 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -914 - -package.txt -file - - - - -2012-05-13T23:08:36.686556Z -538a9d71e39680241167de83732a5bc7 -2005-01-04T13:57:44.777172Z -954 -thomas - - - - - - - - - - - - - - - - - - - - - -46 - -thread2.vcproj -file - - - - -2012-05-13T23:08:36.687556Z -2aee4a451a2ea4c6b9925cc57edda22e -2003-11-12T10:21:57.000000Z -729 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -5003 - diff --git a/externals/grill/trunk/flext/tutorial/thread2/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/thread2/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/tutorial/thread2/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/tutorial/thread2/.svn/prop-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/thread2/.svn/prop-base/main.cpp.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/thread2/.svn/prop-base/main.cpp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/thread2/.svn/prop-base/thread2.mcp.svn-base b/externals/grill/trunk/flext/tutorial/thread2/.svn/prop-base/thread2.mcp.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/thread2/.svn/prop-base/thread2.mcp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/thread2/.svn/prop-base/thread2.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/thread2/.svn/prop-base/thread2.vcproj.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/thread2/.svn/prop-base/thread2.vcproj.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/thread2/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/thread2/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index 8b0e89da0..000000000 --- a/externals/grill/trunk/flext/tutorial/thread2/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = thread2 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/thread2/.svn/text-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/thread2/.svn/text-base/main.cpp.svn-base deleted file mode 100644 index 40e82b3c6..000000000 --- a/externals/grill/trunk/flext/tutorial/thread2/.svn/text-base/main.cpp.svn-base +++ /dev/null @@ -1,134 +0,0 @@ -/* -flext tutorial - threads 2 - -Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This shows an example of multiple threads and syncing with a thread conditional -*/ - -/* define FLEXT_THREADS for thread usage. Flext must also have been compiled with that defined! - it's even better to define that as a compiler flag (-D FLEXT_THREADS) for all files of the - flext external -*/ -#ifndef FLEXT_THREADS -#define FLEXT_THREADS -#endif - -#include <flext.h> - -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400) -#error You need at least flext version 0.4.0 -#endif - - -class thread2: - public flext_base -{ - FLEXT_HEADER(thread2,flext_base) - -public: - thread2(int del); - -protected: - void m_start(int st); - void m_stop(); - void m_text(); - - void m_textout(); - -private: - FLEXT_THREAD_I(m_start) // define threaded callback for method m_start - FLEXT_CALLBACK(m_stop) // normal callback for m_stop - FLEXT_CALLBACK(m_text) // turn on console output - - FLEXT_THREAD(m_textout) // text output - - float delay; - volatile int count; - - // caution: CodeWarrior seems to ignore volatile modifier!! - volatile bool stopit,running,blipping; // flags for running and stopping - - // thread conditional for stop signal - ThrCond cond; -}; - -FLEXT_NEW_1("thread2",thread2,int) - - - -thread2::thread2(int del): - delay(del/1000.f), - stopit(false), - running(false),blipping(false) -{ - AddInAnything(); - AddOutInt(2); - - FLEXT_ADDMETHOD(0,m_start); // register start for integer numbers (floats in PD) - FLEXT_ADDMETHOD_(0,"text",m_text); // register m_text method for "text" tag - FLEXT_ADDMETHOD_(0,"stop",m_stop); // register m_text method for "stop" tag -} - -void thread2::m_start(int st) -{ - // if already running, just set back the counter - if(running) { count = st; return; } - - running = true; - - // loop until either the system exit flag or the "stopit" flag is set - for(count = st; !ShouldExit() && !stopit; ++count) - { - Sleep(delay); - ToOutInt(0,count); // output loop count - } - - running = false; // change state flag -// cond.Lock(); // lock conditional - cond.Signal(); // signal changed flag to waiting "stop" method -// cond.Unlock(); // unlock conditional -} - -void thread2::m_stop() -{ -// cond.Lock(); // lock conditional - stopit = true; // set termination flag - - while(*(&running) || *(&blipping)) // workaround for CodeWarrior (doesn't honor volatile modifier!) - { - cond.Wait(); // wait for signal by running threads - } - - // --- Here, the threads should have stopped --- - - stopit = false; // reset flag -// cond.Unlock(); // unlock conditional -} - - -void thread2::m_text() -{ - FLEXT_CALLMETHOD(m_textout); -} - -void thread2::m_textout() -{ - if(blipping) return; - blipping = true; - - while(!ShouldExit() && !stopit) { - post("%i",count); - Sleep(1.f); - } - - blipping = false; // change state flag -// cond.Lock(); // lock conditional - cond.Signal(); // signal changed flag to waiting "stop" method -// cond.Unlock(); // unlock conditional -} - diff --git a/externals/grill/trunk/flext/tutorial/thread2/.svn/text-base/package.txt.svn-base b/externals/grill/trunk/flext/tutorial/thread2/.svn/text-base/package.txt.svn-base deleted file mode 100644 index 5d7ae4e8c..000000000 --- a/externals/grill/trunk/flext/tutorial/thread2/.svn/text-base/package.txt.svn-base +++ /dev/null @@ -1,3 +0,0 @@ -NAME=thread2 -BUILDTYPE=multi -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/thread2/.svn/text-base/thread2.mcp.svn-base b/externals/grill/trunk/flext/tutorial/thread2/.svn/text-base/thread2.mcp.svn-base deleted file mode 100644 index 9d0511538f3b110a3a244c2efdc7f0acdc3bc91d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148836 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 diff --git a/externals/grill/trunk/flext/tutorial/thread2/.svn/text-base/thread2.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/thread2/.svn/text-base/thread2.vcproj.svn-base deleted file mode 100644 index 99a25bad6..000000000 --- a/externals/grill/trunk/flext/tutorial/thread2/.svn/text-base/thread2.vcproj.svn-base +++ /dev/null @@ -1,176 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="thread2" - SccProjectName="max/flext/tutorial/thread2" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD;FLEXT_THREADS" - StringPooling="TRUE" - RuntimeLibrary="0" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/thread2.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_t-pdwin.lib pthreadVC.lib" - OutputFile="../pd-msvc/thread2.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="C:\Programme\audio\pd\bin;..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/thread2.pdb" - ImportLibrary=".\msvc/thread2.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/thread2.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FLEXT_THREADS" - BasicRuntimeChecks="3" - RuntimeLibrary="1" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/thread2.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_td-pdwin.lib pthreadVC.lib" - OutputFile=".\msvc-debug/thread2.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="c:\programme\audio\pd\bin;..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/thread2.pdb" - ImportLibrary=".\msvc-debug/thread2.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/thread2.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;FLEXT_THREADS;$(NoInherit)"/> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;FLEXT_THREADS;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/thread2/Makefile.am b/externals/grill/trunk/flext/tutorial/thread2/Makefile.am deleted file mode 100644 index 8b0e89da0..000000000 --- a/externals/grill/trunk/flext/tutorial/thread2/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = thread2 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/thread2/main.cpp b/externals/grill/trunk/flext/tutorial/thread2/main.cpp deleted file mode 100644 index 40e82b3c6..000000000 --- a/externals/grill/trunk/flext/tutorial/thread2/main.cpp +++ /dev/null @@ -1,134 +0,0 @@ -/* -flext tutorial - threads 2 - -Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This shows an example of multiple threads and syncing with a thread conditional -*/ - -/* define FLEXT_THREADS for thread usage. Flext must also have been compiled with that defined! - it's even better to define that as a compiler flag (-D FLEXT_THREADS) for all files of the - flext external -*/ -#ifndef FLEXT_THREADS -#define FLEXT_THREADS -#endif - -#include <flext.h> - -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400) -#error You need at least flext version 0.4.0 -#endif - - -class thread2: - public flext_base -{ - FLEXT_HEADER(thread2,flext_base) - -public: - thread2(int del); - -protected: - void m_start(int st); - void m_stop(); - void m_text(); - - void m_textout(); - -private: - FLEXT_THREAD_I(m_start) // define threaded callback for method m_start - FLEXT_CALLBACK(m_stop) // normal callback for m_stop - FLEXT_CALLBACK(m_text) // turn on console output - - FLEXT_THREAD(m_textout) // text output - - float delay; - volatile int count; - - // caution: CodeWarrior seems to ignore volatile modifier!! - volatile bool stopit,running,blipping; // flags for running and stopping - - // thread conditional for stop signal - ThrCond cond; -}; - -FLEXT_NEW_1("thread2",thread2,int) - - - -thread2::thread2(int del): - delay(del/1000.f), - stopit(false), - running(false),blipping(false) -{ - AddInAnything(); - AddOutInt(2); - - FLEXT_ADDMETHOD(0,m_start); // register start for integer numbers (floats in PD) - FLEXT_ADDMETHOD_(0,"text",m_text); // register m_text method for "text" tag - FLEXT_ADDMETHOD_(0,"stop",m_stop); // register m_text method for "stop" tag -} - -void thread2::m_start(int st) -{ - // if already running, just set back the counter - if(running) { count = st; return; } - - running = true; - - // loop until either the system exit flag or the "stopit" flag is set - for(count = st; !ShouldExit() && !stopit; ++count) - { - Sleep(delay); - ToOutInt(0,count); // output loop count - } - - running = false; // change state flag -// cond.Lock(); // lock conditional - cond.Signal(); // signal changed flag to waiting "stop" method -// cond.Unlock(); // unlock conditional -} - -void thread2::m_stop() -{ -// cond.Lock(); // lock conditional - stopit = true; // set termination flag - - while(*(&running) || *(&blipping)) // workaround for CodeWarrior (doesn't honor volatile modifier!) - { - cond.Wait(); // wait for signal by running threads - } - - // --- Here, the threads should have stopped --- - - stopit = false; // reset flag -// cond.Unlock(); // unlock conditional -} - - -void thread2::m_text() -{ - FLEXT_CALLMETHOD(m_textout); -} - -void thread2::m_textout() -{ - if(blipping) return; - blipping = true; - - while(!ShouldExit() && !stopit) { - post("%i",count); - Sleep(1.f); - } - - blipping = false; // change state flag -// cond.Lock(); // lock conditional - cond.Signal(); // signal changed flag to waiting "stop" method -// cond.Unlock(); // unlock conditional -} - diff --git a/externals/grill/trunk/flext/tutorial/thread2/package.txt b/externals/grill/trunk/flext/tutorial/thread2/package.txt deleted file mode 100644 index 5d7ae4e8c..000000000 --- a/externals/grill/trunk/flext/tutorial/thread2/package.txt +++ /dev/null @@ -1,3 +0,0 @@ -NAME=thread2 -BUILDTYPE=multi -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/thread2/thread2.mcp b/externals/grill/trunk/flext/tutorial/thread2/thread2.mcp deleted file mode 100755 index 9d0511538f3b110a3a244c2efdc7f0acdc3bc91d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148836 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 diff --git a/externals/grill/trunk/flext/tutorial/thread2/thread2.vcproj b/externals/grill/trunk/flext/tutorial/thread2/thread2.vcproj deleted file mode 100644 index 99a25bad6..000000000 --- a/externals/grill/trunk/flext/tutorial/thread2/thread2.vcproj +++ /dev/null @@ -1,176 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="thread2" - SccProjectName="max/flext/tutorial/thread2" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD;FLEXT_THREADS" - StringPooling="TRUE" - RuntimeLibrary="0" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/thread2.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_t-pdwin.lib pthreadVC.lib" - OutputFile="../pd-msvc/thread2.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="C:\Programme\audio\pd\bin;..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/thread2.pdb" - ImportLibrary=".\msvc/thread2.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/thread2.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FLEXT_THREADS" - BasicRuntimeChecks="3" - RuntimeLibrary="1" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/thread2.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_td-pdwin.lib pthreadVC.lib" - OutputFile=".\msvc-debug/thread2.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="c:\programme\audio\pd\bin;..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/thread2.pdb" - ImportLibrary=".\msvc-debug/thread2.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/thread2.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;FLEXT_THREADS;$(NoInherit)"/> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;FLEXT_THREADS;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/timer1/.svn/all-wcprops b/externals/grill/trunk/flext/tutorial/timer1/.svn/all-wcprops deleted file mode 100644 index 089af23a0..000000000 --- a/externals/grill/trunk/flext/tutorial/timer1/.svn/all-wcprops +++ /dev/null @@ -1,35 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 46 -/ext/!svn/ver/1247/trunk/flext/tutorial/timer1 -END -main.cpp -K 25 -svn:wc:ra_dav:version-url -V 55 -/ext/!svn/ver/1247/trunk/flext/tutorial/timer1/main.cpp -END -Makefile.am -K 25 -svn:wc:ra_dav:version-url -V 58 -/ext/!svn/ver/1247/trunk/flext/tutorial/timer1/Makefile.am -END -package.txt -K 25 -svn:wc:ra_dav:version-url -V 58 -/ext/!svn/ver/1247/trunk/flext/tutorial/timer1/package.txt -END -timer1.mcp -K 25 -svn:wc:ra_dav:version-url -V 57 -/ext/!svn/ver/1247/trunk/flext/tutorial/timer1/timer1.mcp -END -timer1.vcproj -K 25 -svn:wc:ra_dav:version-url -V 60 -/ext/!svn/ver/1247/trunk/flext/tutorial/timer1/timer1.vcproj -END diff --git a/externals/grill/trunk/flext/tutorial/timer1/.svn/entries b/externals/grill/trunk/flext/tutorial/timer1/.svn/entries deleted file mode 100644 index 043ff5b5e..000000000 --- a/externals/grill/trunk/flext/tutorial/timer1/.svn/entries +++ /dev/null @@ -1,198 +0,0 @@ -10 - -dir -3754 -https://svn.grrrr.org/ext/trunk/flext/tutorial/timer1 -https://svn.grrrr.org/ext - - - -2005-01-26T11:58:31.157320Z -992 -thomas - - - - - - - - - - - - - - -4d9ac71a-51e6-0310-8455-cad1006bcd31 - -timer1.mcp -file - - - - -2012-05-13T23:08:36.982556Z -ef62178e162f12122d626045651440ab -2005-01-04T13:28:16.495520Z -953 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -207765 - -timer1.vcproj -file - - - - -2012-05-13T23:08:37.007556Z -322370c9c9c6cddfce107358a680f2b2 -2003-11-12T01:58:35.000000Z -727 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -4851 - -main.cpp -file - - - - -2012-05-13T23:08:37.009556Z -c3e860643896a3a55185f249c44da06d -2003-05-16T17:45:50.000000Z -619 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -3217 - -Makefile.am -file - - - - -2012-05-13T23:08:37.011556Z -0d89e5f69edd9c59119d6b1e29bd4281 -2005-01-26T11:58:31.157320Z -992 -thomas -has-props - - - - - - - - - - - - - - - - - - - - -913 - -package.txt -file - - - - -2012-05-13T23:08:37.012556Z -784e58bf515375f9d7b78c385d1020d5 -2005-01-04T13:57:44.777172Z -954 -thomas - - - - - - - - - - - - - - - - - - - - - -28 - diff --git a/externals/grill/trunk/flext/tutorial/timer1/.svn/prop-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/timer1/.svn/prop-base/Makefile.am.svn-base deleted file mode 100644 index bdbd30518..000000000 --- a/externals/grill/trunk/flext/tutorial/timer1/.svn/prop-base/Makefile.am.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -END diff --git a/externals/grill/trunk/flext/tutorial/timer1/.svn/prop-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/timer1/.svn/prop-base/main.cpp.svn-base deleted file mode 100644 index fe7d6daf7..000000000 --- a/externals/grill/trunk/flext/tutorial/timer1/.svn/prop-base/main.cpp.svn-base +++ /dev/null @@ -1,13 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 14 -svn:executable -V 1 -* -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/timer1/.svn/prop-base/timer1.mcp.svn-base b/externals/grill/trunk/flext/tutorial/timer1/.svn/prop-base/timer1.mcp.svn-base deleted file mode 100644 index dbc918b06..000000000 --- a/externals/grill/trunk/flext/tutorial/timer1/.svn/prop-base/timer1.mcp.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 14 -svn:executable -V 1 -* -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/externals/grill/trunk/flext/tutorial/timer1/.svn/prop-base/timer1.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/timer1/.svn/prop-base/timer1.vcproj.svn-base deleted file mode 100644 index df54a0603..000000000 --- a/externals/grill/trunk/flext/tutorial/timer1/.svn/prop-base/timer1.vcproj.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 6 -native -K 12 -svn:keywords -V 23 -author date id revision -END diff --git a/externals/grill/trunk/flext/tutorial/timer1/.svn/text-base/Makefile.am.svn-base b/externals/grill/trunk/flext/tutorial/timer1/.svn/text-base/Makefile.am.svn-base deleted file mode 100644 index c5ab15f39..000000000 --- a/externals/grill/trunk/flext/tutorial/timer1/.svn/text-base/Makefile.am.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = timer1 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/timer1/.svn/text-base/main.cpp.svn-base b/externals/grill/trunk/flext/tutorial/timer1/.svn/text-base/main.cpp.svn-base deleted file mode 100644 index d751c7842..000000000 --- a/externals/grill/trunk/flext/tutorial/timer1/.svn/text-base/main.cpp.svn-base +++ /dev/null @@ -1,100 +0,0 @@ -/* -flext tutorial - timer 1 - -Copyright (c) 2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is an example of an object using timers -*/ - -// enable flext attributes -#define FLEXT_ATTRIBUTES 1 - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 403) -#error You need at least flext version 0.4.3 -#endif - - -// define the class that stands for a pd/Max object - -class timer1: - // inherit from basic flext class - public flext_base -{ - // obligatory flext header (class name,base class name) - FLEXT_HEADER_S(timer1,flext_base,Setup) - -public: - // constructor - timer1(); - -protected: - // timers - Timer tmrA,tmrB; - - void m_getostime(float &f) { f = (float)GetOSTime(); } // method for operating system time attribute - void m_getrttime(float &f) { f = (float)GetTime(); } // method for real-time system time attribute - - void m_timerA(void *) { ToOutString(0,"Timer A"); } // timer A method - void m_timerB(void *) { ToOutString(0,"Timer B"); } // timer B method - - void m_resetA() { tmrA.Reset(); } // timer A reset - void m_resetB() { tmrB.Reset(); } // timer B reset - void m_oneshotA(int del) { tmrA.Delay(del*0.001); } // timer A one shot - void m_oneshotB(int del) { tmrB.Delay(del*0.001); } // timer B one shot - void m_periodicA(int del) { tmrA.Periodic(del*0.001); } // timer A periodic - void m_periodicB(int del) { tmrB.Periodic(del*0.001); } // timer B periodic - -private: - static void Setup(t_classid c); - - // register timer callbacks - FLEXT_CALLBACK_T(m_timerA) - FLEXT_CALLBACK_T(m_timerB) - - // register method callbacks - FLEXT_CALLGET_F(m_getostime) - FLEXT_CALLGET_F(m_getrttime) - FLEXT_CALLBACK(m_resetA) - FLEXT_CALLBACK(m_resetB) - FLEXT_CALLBACK_I(m_oneshotA) - FLEXT_CALLBACK_I(m_oneshotB) - FLEXT_CALLBACK_I(m_periodicA) - FLEXT_CALLBACK_I(m_periodicB) -}; - -// instantiate the class -FLEXT_NEW("timer1",timer1) - -// class setup function -void timer1::Setup(t_classid c) -{ - FLEXT_CADDATTR_GET(c,"ostime",m_getostime); // register attribute for OS time - FLEXT_CADDATTR_GET(c,"time",m_getrttime); // register attribute for RT time - - FLEXT_CADDMETHOD_(c,0,"resetA",m_resetA); // register reset method for timer A - FLEXT_CADDMETHOD_(c,0,"resetB",m_resetB); // register reset method for timer B - FLEXT_CADDMETHOD_(c,0,"oneshotA",m_oneshotA); // register one shot method for timer A - FLEXT_CADDMETHOD_(c,0,"oneshotB",m_oneshotB); // register one shot method for timer B - FLEXT_CADDMETHOD_(c,0,"periodicA",m_periodicA); // register periodic method for timer A - FLEXT_CADDMETHOD_(c,0,"periodicB",m_periodicB); // register periodic method for timer B -} - -// class constructor -timer1::timer1(): - tmrA(false),tmrB(false) -{ - AddInAnything("Control timers"); // add inlet for control commands - AddOutAnything("Timer output"); // add outlet for timer output - - // register methods - FLEXT_ADDTIMER(tmrA,m_timerA); // register method "m_timerA" for timer A - FLEXT_ADDTIMER(tmrB,m_timerB); // register method "m_timerB" for timer B -} diff --git a/externals/grill/trunk/flext/tutorial/timer1/.svn/text-base/package.txt.svn-base b/externals/grill/trunk/flext/tutorial/timer1/.svn/text-base/package.txt.svn-base deleted file mode 100644 index 4a23dcaef..000000000 --- a/externals/grill/trunk/flext/tutorial/timer1/.svn/text-base/package.txt.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -NAME=timer1 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/timer1/.svn/text-base/timer1.mcp.svn-base b/externals/grill/trunk/flext/tutorial/timer1/.svn/text-base/timer1.mcp.svn-base deleted file mode 100644 index af4e978a6b604243fc61578f46a1a9222a3d7dc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207765 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 UQDgGRczP!feI9ntgX_HDKi~ZzGXMYp diff --git a/externals/grill/trunk/flext/tutorial/timer1/.svn/text-base/timer1.vcproj.svn-base b/externals/grill/trunk/flext/tutorial/timer1/.svn/text-base/timer1.vcproj.svn-base deleted file mode 100644 index ba39e622b..000000000 --- a/externals/grill/trunk/flext/tutorial/timer1/.svn/text-base/timer1.vcproj.svn-base +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="timer1" - SccProjectName="timer1" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/timer1.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - BrowseInformationFile=".\msvc-debug/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile=".\msvc-debug/timer1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/timer1.pdb" - ImportLibrary=".\msvc-debug/timer1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/timer1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/timer1.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/timer1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/timer1.pdb" - ImportLibrary=".\msvc/timer1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/timer1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/timer1/Makefile.am b/externals/grill/trunk/flext/tutorial/timer1/Makefile.am deleted file mode 100644 index c5ab15f39..000000000 --- a/externals/grill/trunk/flext/tutorial/timer1/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -# -# automake template -# added by tim blechmann -# - -NAME = timer1 - -BUILT_SOURCES = main.cpp - -EXTRA_DIST = main.cpp \ - $(NAME).mcp \ - $(NAME).vcproj - -CXXFLAGS = @CXXFLAGS@ \ - @OPT_FLAGS@ \ - @INCLUDEDIR@ \ - -I../../source \ - $(DEFS) \ - -DFLEXT_SHARED - -LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \ - $(patsubst %,-framework %,$(FRAMEWORKS)) - -LIBS = @LIBS@ -lflext-pd - -FRAMEWORKS = @FRAMEWORKS@ - -TARGETDIR = @TARGETDIR@ - -TARGET =$(NAME).@EXTENSION@ - -OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES)) - -SYSDIR = @SYSDIR@ - - -# ----------------------------- targets -------------------------------- - -all-local: $(OBJECTS) - $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET) - strip --strip-unneeded ../$(TARGETDIR)/$(TARGET) - -./%.@OBJEXT@ : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ - -clean-local: - rm -f ../$(TARGETDIR)/$(TARGET) - rm -f ./$(OBJECTS) - -install-exec-local: - install ../$(TARGET) $(SYSDIR)extra diff --git a/externals/grill/trunk/flext/tutorial/timer1/main.cpp b/externals/grill/trunk/flext/tutorial/timer1/main.cpp deleted file mode 100755 index d751c7842..000000000 --- a/externals/grill/trunk/flext/tutorial/timer1/main.cpp +++ /dev/null @@ -1,100 +0,0 @@ -/* -flext tutorial - timer 1 - -Copyright (c) 2003 Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is an example of an object using timers -*/ - -// enable flext attributes -#define FLEXT_ATTRIBUTES 1 - -// include flext header -#include <flext.h> - -// check for appropriate flext version -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 403) -#error You need at least flext version 0.4.3 -#endif - - -// define the class that stands for a pd/Max object - -class timer1: - // inherit from basic flext class - public flext_base -{ - // obligatory flext header (class name,base class name) - FLEXT_HEADER_S(timer1,flext_base,Setup) - -public: - // constructor - timer1(); - -protected: - // timers - Timer tmrA,tmrB; - - void m_getostime(float &f) { f = (float)GetOSTime(); } // method for operating system time attribute - void m_getrttime(float &f) { f = (float)GetTime(); } // method for real-time system time attribute - - void m_timerA(void *) { ToOutString(0,"Timer A"); } // timer A method - void m_timerB(void *) { ToOutString(0,"Timer B"); } // timer B method - - void m_resetA() { tmrA.Reset(); } // timer A reset - void m_resetB() { tmrB.Reset(); } // timer B reset - void m_oneshotA(int del) { tmrA.Delay(del*0.001); } // timer A one shot - void m_oneshotB(int del) { tmrB.Delay(del*0.001); } // timer B one shot - void m_periodicA(int del) { tmrA.Periodic(del*0.001); } // timer A periodic - void m_periodicB(int del) { tmrB.Periodic(del*0.001); } // timer B periodic - -private: - static void Setup(t_classid c); - - // register timer callbacks - FLEXT_CALLBACK_T(m_timerA) - FLEXT_CALLBACK_T(m_timerB) - - // register method callbacks - FLEXT_CALLGET_F(m_getostime) - FLEXT_CALLGET_F(m_getrttime) - FLEXT_CALLBACK(m_resetA) - FLEXT_CALLBACK(m_resetB) - FLEXT_CALLBACK_I(m_oneshotA) - FLEXT_CALLBACK_I(m_oneshotB) - FLEXT_CALLBACK_I(m_periodicA) - FLEXT_CALLBACK_I(m_periodicB) -}; - -// instantiate the class -FLEXT_NEW("timer1",timer1) - -// class setup function -void timer1::Setup(t_classid c) -{ - FLEXT_CADDATTR_GET(c,"ostime",m_getostime); // register attribute for OS time - FLEXT_CADDATTR_GET(c,"time",m_getrttime); // register attribute for RT time - - FLEXT_CADDMETHOD_(c,0,"resetA",m_resetA); // register reset method for timer A - FLEXT_CADDMETHOD_(c,0,"resetB",m_resetB); // register reset method for timer B - FLEXT_CADDMETHOD_(c,0,"oneshotA",m_oneshotA); // register one shot method for timer A - FLEXT_CADDMETHOD_(c,0,"oneshotB",m_oneshotB); // register one shot method for timer B - FLEXT_CADDMETHOD_(c,0,"periodicA",m_periodicA); // register periodic method for timer A - FLEXT_CADDMETHOD_(c,0,"periodicB",m_periodicB); // register periodic method for timer B -} - -// class constructor -timer1::timer1(): - tmrA(false),tmrB(false) -{ - AddInAnything("Control timers"); // add inlet for control commands - AddOutAnything("Timer output"); // add outlet for timer output - - // register methods - FLEXT_ADDTIMER(tmrA,m_timerA); // register method "m_timerA" for timer A - FLEXT_ADDTIMER(tmrB,m_timerB); // register method "m_timerB" for timer B -} diff --git a/externals/grill/trunk/flext/tutorial/timer1/package.txt b/externals/grill/trunk/flext/tutorial/timer1/package.txt deleted file mode 100644 index 4a23dcaef..000000000 --- a/externals/grill/trunk/flext/tutorial/timer1/package.txt +++ /dev/null @@ -1,2 +0,0 @@ -NAME=timer1 -SRCS=main.cpp diff --git a/externals/grill/trunk/flext/tutorial/timer1/timer1.mcp b/externals/grill/trunk/flext/tutorial/timer1/timer1.mcp deleted file mode 100755 index af4e978a6b604243fc61578f46a1a9222a3d7dc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207765 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 UQDgGRczP!feI9ntgX_HDKi~ZzGXMYp diff --git a/externals/grill/trunk/flext/tutorial/timer1/timer1.vcproj b/externals/grill/trunk/flext/tutorial/timer1/timer1.vcproj deleted file mode 100644 index ba39e622b..000000000 --- a/externals/grill/trunk/flext/tutorial/timer1/timer1.vcproj +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="timer1" - SccProjectName="timer1" - SccAuxPath="" - SccLocalPath="." - SccProvider="MSSCCI:Jalindi Igloo"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory=".\msvc-debug" - IntermediateDirectory=".\msvc-debug" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD" - BasicRuntimeChecks="3" - RuntimeLibrary="5" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc-debug/timer1.pch" - AssemblerListingLocation=".\msvc-debug/" - ObjectFile=".\msvc-debug/" - ProgramDataBaseFileName=".\msvc-debug/" - BrowseInformation="1" - BrowseInformationFile=".\msvc-debug/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - DebugInformationFormat="4" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext_d-pdwin.lib" - OutputFile=".\msvc-debug/timer1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile=".\msvc-debug/timer1.pdb" - ImportLibrary=".\msvc-debug/timer1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc-debug/timer1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory=".\msvc" - IntermediateDirectory=".\msvc" - ConfigurationType="2" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - AdditionalIncludeDirectories="..\..\source" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD" - StringPooling="TRUE" - RuntimeLibrary="4" - EnableFunctionLevelLinking="TRUE" - UsePrecompiledHeader="2" - PrecompiledHeaderFile=".\msvc/timer1.pch" - AssemblerListingLocation=".\msvc/" - ObjectFile=".\msvc/" - ProgramDataBaseFileName=".\msvc/" - WarningLevel="3" - SuppressStartupBanner="TRUE" - CompileAs="0"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="pd.lib flext-pdwin.lib" - OutputFile="../pd-msvc/timer1.dll" - LinkIncremental="1" - SuppressStartupBanner="TRUE" - AdditionalLibraryDirectories="..\..\pd-msvc" - ProgramDatabaseFile=".\msvc/timer1.pdb" - ImportLibrary=".\msvc/timer1.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG" - MkTypLibCompatible="TRUE" - SuppressStartupBanner="TRUE" - TargetEnvironment="1" - TypeLibraryName=".\msvc/timer1.tlb" - HeaderFileName=""/> - <Tool - Name="VCPostBuildEventTool"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" - Culture="3079"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <File - RelativePath="main.cpp"> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)" - BasicRuntimeChecks="3" - BrowseInformation="1"/> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/> - </FileConfiguration> - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/externals/grill/trunk/flext/tutorial/tutorial.sln b/externals/grill/trunk/flext/tutorial/tutorial.sln deleted file mode 100644 index 7d3ab1e85..000000000 --- a/externals/grill/trunk/flext/tutorial/tutorial.sln +++ /dev/null @@ -1,473 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 8.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "adv1", "adv1\adv1.vcproj", "{A90E248D-52FD-458F-90A5-F20F7ED1D564}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "adv2", "adv2\adv2.vcproj", "{B0C13353-9F2E-4714-A85C-6904B75B4345}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "adv3", "adv3\adv3.vcproj", "{3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "attr1", "attr1\attr1.vcproj", "{9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "attr2", "attr2\attr2.vcproj", "{D891041F-303E-4E99-868F-11FF58E0C779}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "attr3", "attr3\attr3.vcproj", "{EA839AFE-95F0-47CF-9A78-72EF51CB9940}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bind1", "bind1\bind1.vcproj", "{C568D327-EA97-49C8-AF05-5FD7D35B6191}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "buffer1", "buffer1\buffer1.vcproj", "{723071BA-FE33-4C29-AB7B-6AB30B6057F7}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flext", "..\flext.vcproj", "{A0882797-7925-4AA3-93EA-7241487CECC5}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib1", "lib1\lib1.vcproj", "{4560EF26-304A-424F-B882-1F65A1F4DC67}" - ProjectSection(ProjectDependencies) = postProject - {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "signal1", "signal1\signal1.vcproj", "{5F58157D-ABB1-4066-A143-C14515A3D7F9}" - ProjectSection(ProjectDependencies) = postProject - {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "signal2", "signal2\signal2.vcproj", "{B6D40688-2D3E-4DAA-8004-706FAA731F18}" - ProjectSection(ProjectDependencies) = postProject - {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple1", "simple1\simple1.vcproj", "{CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}" - ProjectSection(ProjectDependencies) = postProject - {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple2", "simple2\simple2.vcproj", "{4880ABD9-1598-4D5E-B4D3-558E8648405D}" - ProjectSection(ProjectDependencies) = postProject - {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple3", "simple3\simple3.vcproj", "{325D0FC7-AED9-487E-9FE5-4DEC305C2799}" - ProjectSection(ProjectDependencies) = postProject - {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sndobj1", "sndobj1\sndobj1.vcproj", "{A9B22491-39A4-4010-ABDF-5C8EF80432D7}" - ProjectSection(ProjectDependencies) = postProject - {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stk1", "stk1\stk1.vcproj", "{AD7C94F9-BB76-4588-BF89-491D7C6D40EC}" - ProjectSection(ProjectDependencies) = postProject - {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stk2", "stk2\stk2.vcproj", "{18A3D222-AC98-4CFF-82C0-E5421AB39981}" - ProjectSection(ProjectDependencies) = postProject - {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "thread1", "thread1\thread1.vcproj", "{702908EB-47A9-45D0-BCC5-3448C98C73E6}" - ProjectSection(ProjectDependencies) = postProject - {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "thread2", "thread2\thread2.vcproj", "{4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}" - ProjectSection(ProjectDependencies) = postProject - {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "timer1", "timer1\timer1.vcproj", "{EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}" - ProjectSection(ProjectDependencies) = postProject - {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5} - EndProjectSection -EndProject -Global - GlobalSection(SourceCodeControl) = preSolution - SccNumberOfProjects = 21 - SccProjectUniqueName0 = adv1\\adv1.vcproj - SccProjectName0 = adv1 - SccLocalPath0 = adv1 - SccProvider0 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName1 = adv2\\adv2.vcproj - SccProjectName1 = adv2 - SccLocalPath1 = adv2 - SccProvider1 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName2 = adv3\\adv3.vcproj - SccProjectName2 = adv3 - SccLocalPath2 = adv3 - SccProvider2 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName3 = attr1\\attr1.vcproj - SccProjectName3 = attr1 - SccLocalPath3 = attr1 - SccProvider3 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName4 = attr2\\attr2.vcproj - SccProjectName4 = attr2 - SccLocalPath4 = attr2 - SccProvider4 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName5 = attr3\\attr3.vcproj - SccProjectName5 = attr3 - SccLocalPath5 = attr3 - SccProvider5 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName6 = bind1\\bind1.vcproj - SccProjectName6 = max/flext/tutorial/bind1 - SccLocalPath6 = bind1 - SccProvider6 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName7 = buffer1\\buffer1.vcproj - SccProjectName7 = max/flext/tutorial/buffer1 - SccLocalPath7 = buffer1 - SccProvider7 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName8 = ..\\flext.vcproj - SccProjectName8 = max/flext - SccLocalPath8 = .. - SccProvider8 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName9 = lib1\\lib1.vcproj - SccProjectName9 = lib1 - SccLocalPath9 = lib1 - SccProvider9 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName10 = signal1\\signal1.vcproj - SccProjectName10 = max/flext/tutorial/signal1 - SccLocalPath10 = signal1 - SccProvider10 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName11 = signal2\\signal2.vcproj - SccProjectName11 = max/flext/tutorial/signal2 - SccLocalPath11 = signal2 - SccProvider11 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName12 = simple1\\simple1.vcproj - SccProjectName12 = simple1 - SccLocalPath12 = simple1 - SccProvider12 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName13 = simple2\\simple2.vcproj - SccProjectName13 = simple2 - SccLocalPath13 = simple2 - SccProvider13 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName14 = simple3\\simple3.vcproj - SccProjectName14 = simple3 - SccLocalPath14 = simple3 - SccProvider14 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName15 = sndobj1\\sndobj1.vcproj - SccProjectName15 = sndobj1 - SccLocalPath15 = sndobj1 - SccProvider15 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName16 = stk1\\stk1.vcproj - SccProjectName16 = stk1 - SccLocalPath16 = stk1 - SccProvider16 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName17 = stk2\\stk2.vcproj - SccProjectName17 = stk2 - SccLocalPath17 = stk2 - SccProvider17 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName18 = thread1\\thread1.vcproj - SccProjectName18 = thread1 - SccLocalPath18 = thread1 - SccProvider18 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName19 = thread2\\thread2.vcproj - SccProjectName19 = max/flext/tutorial/thread2 - SccLocalPath19 = thread2 - SccProvider19 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - SccProjectUniqueName20 = timer1\\timer1.vcproj - SccProjectName20 = timer1 - SccLocalPath20 = timer1 - SccProvider20 = MSSCCI:Jalindi\u0020Igloo - CanCheckoutShared = true - EndGlobalSection - GlobalSection(SolutionConfiguration) = preSolution - Debug = Debug - Release = Release - Threads Debug = Threads Debug - Threads DLL Debug = Threads DLL Debug - Threads DLL Release = Threads DLL Release - Threads Release = Threads Release - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Debug.ActiveCfg = Debug|Win32 - {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Debug.Build.0 = Debug|Win32 - {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Release.ActiveCfg = Release|Win32 - {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Release.Build.0 = Release|Win32 - {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Threads Debug.ActiveCfg = Debug|Win32 - {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Threads Debug.Build.0 = Debug|Win32 - {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Threads DLL Debug.Build.0 = Debug|Win32 - {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Threads DLL Release.ActiveCfg = Release|Win32 - {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Threads DLL Release.Build.0 = Release|Win32 - {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Threads Release.ActiveCfg = Release|Win32 - {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Threads Release.Build.0 = Release|Win32 - {B0C13353-9F2E-4714-A85C-6904B75B4345}.Debug.ActiveCfg = Debug|Win32 - {B0C13353-9F2E-4714-A85C-6904B75B4345}.Debug.Build.0 = Debug|Win32 - {B0C13353-9F2E-4714-A85C-6904B75B4345}.Release.ActiveCfg = Release|Win32 - {B0C13353-9F2E-4714-A85C-6904B75B4345}.Release.Build.0 = Release|Win32 - {B0C13353-9F2E-4714-A85C-6904B75B4345}.Threads Debug.ActiveCfg = Debug|Win32 - {B0C13353-9F2E-4714-A85C-6904B75B4345}.Threads Debug.Build.0 = Debug|Win32 - {B0C13353-9F2E-4714-A85C-6904B75B4345}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {B0C13353-9F2E-4714-A85C-6904B75B4345}.Threads DLL Debug.Build.0 = Debug|Win32 - {B0C13353-9F2E-4714-A85C-6904B75B4345}.Threads DLL Release.ActiveCfg = Release|Win32 - {B0C13353-9F2E-4714-A85C-6904B75B4345}.Threads DLL Release.Build.0 = Release|Win32 - {B0C13353-9F2E-4714-A85C-6904B75B4345}.Threads Release.ActiveCfg = Release|Win32 - {B0C13353-9F2E-4714-A85C-6904B75B4345}.Threads Release.Build.0 = Release|Win32 - {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Debug.ActiveCfg = Debug|Win32 - {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Debug.Build.0 = Debug|Win32 - {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Release.ActiveCfg = Release|Win32 - {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Release.Build.0 = Release|Win32 - {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Threads Debug.ActiveCfg = Debug|Win32 - {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Threads Debug.Build.0 = Debug|Win32 - {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Threads DLL Debug.Build.0 = Debug|Win32 - {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Threads DLL Release.ActiveCfg = Release|Win32 - {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Threads DLL Release.Build.0 = Release|Win32 - {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Threads Release.ActiveCfg = Release|Win32 - {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Threads Release.Build.0 = Release|Win32 - {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Debug.ActiveCfg = Debug|Win32 - {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Debug.Build.0 = Debug|Win32 - {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Release.ActiveCfg = Release|Win32 - {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Release.Build.0 = Release|Win32 - {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Threads Debug.ActiveCfg = Debug|Win32 - {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Threads Debug.Build.0 = Debug|Win32 - {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Threads DLL Debug.Build.0 = Debug|Win32 - {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Threads DLL Release.ActiveCfg = Release|Win32 - {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Threads DLL Release.Build.0 = Release|Win32 - {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Threads Release.ActiveCfg = Release|Win32 - {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Threads Release.Build.0 = Release|Win32 - {D891041F-303E-4E99-868F-11FF58E0C779}.Debug.ActiveCfg = Debug|Win32 - {D891041F-303E-4E99-868F-11FF58E0C779}.Debug.Build.0 = Debug|Win32 - {D891041F-303E-4E99-868F-11FF58E0C779}.Release.ActiveCfg = Release|Win32 - {D891041F-303E-4E99-868F-11FF58E0C779}.Release.Build.0 = Release|Win32 - {D891041F-303E-4E99-868F-11FF58E0C779}.Threads Debug.ActiveCfg = Debug|Win32 - {D891041F-303E-4E99-868F-11FF58E0C779}.Threads Debug.Build.0 = Debug|Win32 - {D891041F-303E-4E99-868F-11FF58E0C779}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {D891041F-303E-4E99-868F-11FF58E0C779}.Threads DLL Debug.Build.0 = Debug|Win32 - {D891041F-303E-4E99-868F-11FF58E0C779}.Threads DLL Release.ActiveCfg = Release|Win32 - {D891041F-303E-4E99-868F-11FF58E0C779}.Threads DLL Release.Build.0 = Release|Win32 - {D891041F-303E-4E99-868F-11FF58E0C779}.Threads Release.ActiveCfg = Release|Win32 - {D891041F-303E-4E99-868F-11FF58E0C779}.Threads Release.Build.0 = Release|Win32 - {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Debug.ActiveCfg = Debug|Win32 - {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Debug.Build.0 = Debug|Win32 - {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Release.ActiveCfg = Release|Win32 - {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Release.Build.0 = Release|Win32 - {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Threads Debug.ActiveCfg = Debug|Win32 - {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Threads Debug.Build.0 = Debug|Win32 - {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Threads DLL Debug.Build.0 = Debug|Win32 - {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Threads DLL Release.ActiveCfg = Release|Win32 - {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Threads DLL Release.Build.0 = Release|Win32 - {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Threads Release.ActiveCfg = Release|Win32 - {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Threads Release.Build.0 = Release|Win32 - {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Debug.ActiveCfg = Debug|Win32 - {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Debug.Build.0 = Debug|Win32 - {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Release.ActiveCfg = Release|Win32 - {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Release.Build.0 = Release|Win32 - {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Threads Debug.ActiveCfg = Debug|Win32 - {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Threads Debug.Build.0 = Debug|Win32 - {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Threads DLL Debug.Build.0 = Debug|Win32 - {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Threads DLL Release.ActiveCfg = Release|Win32 - {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Threads DLL Release.Build.0 = Release|Win32 - {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Threads Release.ActiveCfg = Release|Win32 - {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Threads Release.Build.0 = Release|Win32 - {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Debug.ActiveCfg = Debug|Win32 - {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Debug.Build.0 = Debug|Win32 - {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Release.ActiveCfg = Release|Win32 - {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Release.Build.0 = Release|Win32 - {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Threads Debug.ActiveCfg = Debug|Win32 - {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Threads Debug.Build.0 = Debug|Win32 - {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Threads DLL Debug.Build.0 = Debug|Win32 - {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Threads DLL Release.ActiveCfg = Release|Win32 - {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Threads DLL Release.Build.0 = Release|Win32 - {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Threads Release.ActiveCfg = Release|Win32 - {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Threads Release.Build.0 = Release|Win32 - {A0882797-7925-4AA3-93EA-7241487CECC5}.Debug.ActiveCfg = Debug|Win32 - {A0882797-7925-4AA3-93EA-7241487CECC5}.Debug.Build.0 = Debug|Win32 - {A0882797-7925-4AA3-93EA-7241487CECC5}.Release.ActiveCfg = Release|Win32 - {A0882797-7925-4AA3-93EA-7241487CECC5}.Release.Build.0 = Release|Win32 - {A0882797-7925-4AA3-93EA-7241487CECC5}.Threads Debug.ActiveCfg = Threads Debug|Win32 - {A0882797-7925-4AA3-93EA-7241487CECC5}.Threads Debug.Build.0 = Threads Debug|Win32 - {A0882797-7925-4AA3-93EA-7241487CECC5}.Threads DLL Debug.ActiveCfg = Threads DLL Debug|Win32 - {A0882797-7925-4AA3-93EA-7241487CECC5}.Threads DLL Debug.Build.0 = Threads DLL Debug|Win32 - {A0882797-7925-4AA3-93EA-7241487CECC5}.Threads DLL Release.ActiveCfg = Threads DLL Release|Win32 - {A0882797-7925-4AA3-93EA-7241487CECC5}.Threads DLL Release.Build.0 = Threads DLL Release|Win32 - {A0882797-7925-4AA3-93EA-7241487CECC5}.Threads Release.ActiveCfg = Threads Release|Win32 - {A0882797-7925-4AA3-93EA-7241487CECC5}.Threads Release.Build.0 = Threads Release|Win32 - {4560EF26-304A-424F-B882-1F65A1F4DC67}.Debug.ActiveCfg = Debug|Win32 - {4560EF26-304A-424F-B882-1F65A1F4DC67}.Debug.Build.0 = Debug|Win32 - {4560EF26-304A-424F-B882-1F65A1F4DC67}.Release.ActiveCfg = Release|Win32 - {4560EF26-304A-424F-B882-1F65A1F4DC67}.Release.Build.0 = Release|Win32 - {4560EF26-304A-424F-B882-1F65A1F4DC67}.Threads Debug.ActiveCfg = Debug|Win32 - {4560EF26-304A-424F-B882-1F65A1F4DC67}.Threads Debug.Build.0 = Debug|Win32 - {4560EF26-304A-424F-B882-1F65A1F4DC67}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {4560EF26-304A-424F-B882-1F65A1F4DC67}.Threads DLL Debug.Build.0 = Debug|Win32 - {4560EF26-304A-424F-B882-1F65A1F4DC67}.Threads DLL Release.ActiveCfg = Release|Win32 - {4560EF26-304A-424F-B882-1F65A1F4DC67}.Threads DLL Release.Build.0 = Release|Win32 - {4560EF26-304A-424F-B882-1F65A1F4DC67}.Threads Release.ActiveCfg = Release|Win32 - {4560EF26-304A-424F-B882-1F65A1F4DC67}.Threads Release.Build.0 = Release|Win32 - {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Debug.ActiveCfg = Debug|Win32 - {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Debug.Build.0 = Debug|Win32 - {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Release.ActiveCfg = Release|Win32 - {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Release.Build.0 = Release|Win32 - {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Threads Debug.ActiveCfg = Debug|Win32 - {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Threads Debug.Build.0 = Debug|Win32 - {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Threads DLL Debug.Build.0 = Debug|Win32 - {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Threads DLL Release.ActiveCfg = Release|Win32 - {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Threads DLL Release.Build.0 = Release|Win32 - {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Threads Release.ActiveCfg = Release|Win32 - {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Threads Release.Build.0 = Release|Win32 - {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Debug.ActiveCfg = Debug|Win32 - {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Debug.Build.0 = Debug|Win32 - {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Release.ActiveCfg = Release|Win32 - {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Release.Build.0 = Release|Win32 - {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Threads Debug.ActiveCfg = Debug|Win32 - {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Threads Debug.Build.0 = Debug|Win32 - {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Threads DLL Debug.Build.0 = Debug|Win32 - {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Threads DLL Release.ActiveCfg = Release|Win32 - {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Threads DLL Release.Build.0 = Release|Win32 - {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Threads Release.ActiveCfg = Release|Win32 - {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Threads Release.Build.0 = Release|Win32 - {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Debug.ActiveCfg = Debug|Win32 - {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Debug.Build.0 = Debug|Win32 - {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Release.ActiveCfg = Release|Win32 - {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Release.Build.0 = Release|Win32 - {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Threads Debug.ActiveCfg = Debug|Win32 - {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Threads Debug.Build.0 = Debug|Win32 - {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Threads DLL Debug.Build.0 = Debug|Win32 - {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Threads DLL Release.ActiveCfg = Release|Win32 - {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Threads DLL Release.Build.0 = Release|Win32 - {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Threads Release.ActiveCfg = Release|Win32 - {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Threads Release.Build.0 = Release|Win32 - {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Debug.ActiveCfg = Debug|Win32 - {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Debug.Build.0 = Debug|Win32 - {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Release.ActiveCfg = Release|Win32 - {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Release.Build.0 = Release|Win32 - {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Threads Debug.ActiveCfg = Debug|Win32 - {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Threads Debug.Build.0 = Debug|Win32 - {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Threads DLL Debug.Build.0 = Debug|Win32 - {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Threads DLL Release.ActiveCfg = Release|Win32 - {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Threads DLL Release.Build.0 = Release|Win32 - {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Threads Release.ActiveCfg = Release|Win32 - {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Threads Release.Build.0 = Release|Win32 - {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Debug.ActiveCfg = Debug|Win32 - {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Debug.Build.0 = Debug|Win32 - {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Release.ActiveCfg = Release|Win32 - {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Release.Build.0 = Release|Win32 - {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Threads Debug.ActiveCfg = Debug|Win32 - {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Threads Debug.Build.0 = Debug|Win32 - {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Threads DLL Debug.Build.0 = Debug|Win32 - {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Threads DLL Release.ActiveCfg = Release|Win32 - {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Threads DLL Release.Build.0 = Release|Win32 - {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Threads Release.ActiveCfg = Release|Win32 - {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Threads Release.Build.0 = Release|Win32 - {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Debug.ActiveCfg = Debug|Win32 - {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Debug.Build.0 = Debug|Win32 - {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Release.ActiveCfg = Release|Win32 - {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Release.Build.0 = Release|Win32 - {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Threads Debug.ActiveCfg = Debug|Win32 - {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Threads Debug.Build.0 = Debug|Win32 - {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Threads DLL Debug.Build.0 = Debug|Win32 - {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Threads DLL Release.ActiveCfg = Release|Win32 - {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Threads DLL Release.Build.0 = Release|Win32 - {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Threads Release.ActiveCfg = Release|Win32 - {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Threads Release.Build.0 = Release|Win32 - {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Debug.ActiveCfg = Debug|Win32 - {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Debug.Build.0 = Debug|Win32 - {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Release.ActiveCfg = Release|Win32 - {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Release.Build.0 = Release|Win32 - {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Threads Debug.ActiveCfg = Debug|Win32 - {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Threads Debug.Build.0 = Debug|Win32 - {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Threads DLL Debug.Build.0 = Debug|Win32 - {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Threads DLL Release.ActiveCfg = Release|Win32 - {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Threads DLL Release.Build.0 = Release|Win32 - {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Threads Release.ActiveCfg = Release|Win32 - {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Threads Release.Build.0 = Release|Win32 - {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Debug.ActiveCfg = Debug|Win32 - {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Debug.Build.0 = Debug|Win32 - {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Release.ActiveCfg = Release|Win32 - {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Release.Build.0 = Release|Win32 - {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Threads Debug.ActiveCfg = Debug|Win32 - {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Threads Debug.Build.0 = Debug|Win32 - {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Threads DLL Debug.Build.0 = Debug|Win32 - {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Threads DLL Release.ActiveCfg = Release|Win32 - {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Threads DLL Release.Build.0 = Release|Win32 - {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Threads Release.ActiveCfg = Release|Win32 - {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Threads Release.Build.0 = Release|Win32 - {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Debug.ActiveCfg = Debug|Win32 - {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Debug.Build.0 = Debug|Win32 - {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Release.ActiveCfg = Release|Win32 - {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Release.Build.0 = Release|Win32 - {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Threads Debug.ActiveCfg = Debug|Win32 - {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Threads Debug.Build.0 = Debug|Win32 - {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Threads DLL Debug.Build.0 = Debug|Win32 - {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Threads DLL Release.ActiveCfg = Release|Win32 - {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Threads DLL Release.Build.0 = Release|Win32 - {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Threads Release.ActiveCfg = Release|Win32 - {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Threads Release.Build.0 = Release|Win32 - {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Debug.ActiveCfg = Debug|Win32 - {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Debug.Build.0 = Debug|Win32 - {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Release.ActiveCfg = Release|Win32 - {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Release.Build.0 = Release|Win32 - {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Threads Debug.ActiveCfg = Debug|Win32 - {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Threads Debug.Build.0 = Debug|Win32 - {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Threads DLL Debug.Build.0 = Debug|Win32 - {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Threads DLL Release.ActiveCfg = Release|Win32 - {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Threads DLL Release.Build.0 = Release|Win32 - {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Threads Release.ActiveCfg = Release|Win32 - {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Threads Release.Build.0 = Release|Win32 - {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Debug.ActiveCfg = Debug|Win32 - {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Debug.Build.0 = Debug|Win32 - {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Release.ActiveCfg = Release|Win32 - {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Release.Build.0 = Release|Win32 - {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Threads Debug.ActiveCfg = Debug|Win32 - {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Threads Debug.Build.0 = Debug|Win32 - {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Threads DLL Debug.ActiveCfg = Debug|Win32 - {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Threads DLL Debug.Build.0 = Debug|Win32 - {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Threads DLL Release.ActiveCfg = Release|Win32 - {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Threads DLL Release.Build.0 = Release|Win32 - {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Threads Release.ActiveCfg = Release|Win32 - {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Threads Release.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/pd/src/g_magicglass.c b/pd/src/g_magicglass.c index 3c73bb068..22b83cdb1 100644 --- a/pd/src/g_magicglass.c +++ b/pd/src/g_magicglass.c @@ -264,8 +264,6 @@ void magicGlass_hide(t_magicGlass *x) void magicGlass_moveText(t_magicGlass *x, int pX, int pY) { //fprintf(stderr,"magicglass_moveText\n"); - int bgSize; - x->x_x = pX; x->x_y = pY; magicGlass_updateText(x, 1); -- GitLab