[PD-cvs] externals/grill/flext build.txt,NONE,1.1 AUTHORS,1.1,1.2 INSTALL,1.1,1.2 NEWS,1.1,1.2 build.bat,1.3,1.4 build.sh,1.2,1.3 changes.txt,1.66,1.67 configure.ac,1.2,1.3 flext.doxy,1.11,1.12 license.txt,1.2,1.3 package.txt,1.3,1.4 readme.txt,1.47,1.48

Thomas Grill xovo at users.sourceforge.net
Wed Jan 5 06:04:10 CET 2005


Update of /cvsroot/pure-data/externals/grill/flext
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12682

Modified Files:
	AUTHORS INSTALL NEWS build.bat build.sh changes.txt 
	configure.ac flext.doxy license.txt package.txt readme.txt 
Added Files:
	build.txt 
Log Message:
made default configurations generic
two more flext tutorials
fixes for Max headers
cleanups
updated build system
updated tutorials
revised the documentation
updated for OSX
upgraded version number


Index: changes.txt
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/flext/changes.txt,v
retrieving revision 1.66
retrieving revision 1.67
diff -C2 -d -r1.66 -r1.67
*** changes.txt	3 Jan 2005 05:00:25 -0000	1.66
--- changes.txt	5 Jan 2005 05:04:07 -0000	1.67
***************
*** 14,18 ****
  Version history:
  
! 0.4.8:
  - fixes for 64 bit builds (size_t is integer type of pointer size)
  - finally added a autoconf system (many many thanks to Tim Blechmann)
--- 14,18 ----
  Version history:
  
! 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)
***************
*** 322,335 ****
  TODO list:
  
- for 0.4.8:
- - SIMD for gcc
- - Max/MSP MachO support
- 
- for 0.5.0:
  - optimizations for object initialization and messaging
  
  bugs:
- - recreation of object with different argument line forgets about eventually present attributes
- 
  - can't use MFC libraries because of global new and delete overloadings
  
--- 322,329 ----
  TODO list:
  
  - optimizations for object initialization and messaging
+ - SIMD for gcc
  
  bugs:
  - can't use MFC libraries because of global new and delete overloadings
  

Index: build.bat
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/flext/build.bat,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** build.bat	4 Jan 2005 04:58:46 -0000	1.3
--- build.bat	5 Jan 2005 05:04:07 -0000	1.4
***************
*** 1,40 ****
! @set flext=%~dp0
  
! @rem Arguments:
! @rem %1 - platform (win/lnx/mac)
! @rem %2 - system (pd/max)
! @rem %3 - compiler (msvc/gcc/mingw/cygwin/bcc/icc)
! @rem %4 - target (build/clean/install)
  
! @set platform=%1
! @set rtsys=%2
! @set compiler=%3
! @set target=%4
  
! @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 %subpatch% %subbatch% %platform% %rtsys% %target% %5 %6 %7 %8 %9
  
! @goto end
  
! @rem -----------------------------------------
  :syntax
  
! @echo .
! @echo SYNTAX: build [platform] [system] [compiler] {target}
! @echo platform ... win / lnx / mac
! @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.
  
  :end
--- 1,58 ----
! @echo off
  
! rem
! rem flext - C++ layer for Max/MSP and pd (pure data) externals
! rem
! rem Copyright (c) 2001-2005 Thomas Grill (gr at 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 ------------------------------------------------------------------------
  
! set flext=%~dp0
  
! rem Arguments:
! rem %1 - platform (win/lnx/mac)
! rem %2 - system (pd/max)
! rem %3 - compiler (msvc/gcc/mingw/cygwin/bcc/icc)
! rem %4 - target (build/clean/install)
  
! set platform=%1
! set rtsys=%2
! set compiler=%3
! set target=%4
  
! 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 %subpatch% %subbatch% %platform% %rtsys% %target% %5 %6 %7 %8 %9
! 
! goto end
! 
! rem -----------------------------------------
  :syntax
  
! echo .
! echo SYNTAX: build [platform] [system] [compiler] {target}
! echo platform ... win / lnx / mac
! 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 .
  
  :end

--- NEW FILE: build.txt ---
flext - C++ layer for Max/MSP and pd (pure data) externals

Copyright (c) 2001-2005 Thomas Grill (gr at 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:

1) Using the flext build system
1.1) Building flext
1.2) Building externals

2) Using autoconf

3) Other ways to compile flext and flext-based externals

----------------------------------------------------------------------------

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)
	Borland make (bmake)
- various compilers
	Microsoft Visual C/C++ 6.0 or .NET 2002/2003 (msvc)
	GNU gcc 2.95 and above (gcc,cygwin,mingw)
	Borland bcc32 (bcc)

Useful combinations of the above are

win pd msvc, using nmake
win pd cygwin, using gnumake
win pd mingw, using gnumake
win max msvc, using nmake
win pd bcc, using bmake
mac pd gcc, using gnumake
mac max gcc, using gnumake - 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 for 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) Building flext
===================

Flext can build itself using the build system.


More information about the Pd-cvs mailing list