[PD-cvs] externals/build README,1.3,1.4 TODO,1.1,1.2

Hans-Christoph Steiner eighthave at users.sourceforge.net
Tue Apr 12 01:35:59 CEST 2005


Update of /cvsroot/pure-data/externals/build
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15090

Modified Files:
	README TODO 
Log Message:
updated docs to discuss multiple files and including libs

Index: README
===================================================================
RCS file: /cvsroot/pure-data/externals/build/README,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** README	25 Oct 2002 17:04:46 -0000	1.3
--- README	11 Apr 2005 23:35:55 -0000	1.4
***************
*** 22,42 ****
  
  Every external (the source code) is linked into the "src" directory.
! In order to be platform independent this is done via c-includes.
  
  Then the build system just tries to build every external that it 
  finds in "src".
  
- Problems with this approach:
- - it can't be applied to externals that use additional libraries.
- - it might be hard for externals that use several source files
-   (not always, look at src/ann.c)
- - I could not find a way how this should work on windows with nmake ..
-   for now I just put the windows links in build/win/*.c ...
  
! Guenter
  
  
  
  
  
  
--- 22,72 ----
  
  Every external (the source code) is linked into the "src" directory.
! In order for the paths to be platform independent, this is done via c-includes.
  
  Then the build system just tries to build every external that it 
  finds in "src".
  
  
! Externals That Need Libraries
! =============================
! 
! In order to add an external that needs libraries to this build system, create
! a "libs" file with the exact same name as the source file (i.e. oggread~.c and
! oggread~.libs).  If the .libs file has cross-platforms library options, it
! should go into externals/build/src.  .libs files for platform-specific library
! options go in externals/build/PLATFORM (see TODO, this is totally implemented). 
! 
! 
! Externals That Are Built From Multiple Files
! ============================================
! 
! In the externals/build/src/*. file, #include the other files that need to be
! compiled and linked in.  See how the chaos externals are included:
! 
! attract1.c:#include "../../bbogart/chaos/lyapunov.c"
! attract1.c:#include "../../bbogart/chaos/attract1.c"
! 
! base.c:#include "../../bbogart/chaos/lyapunov.c"
! base.c:#include "../../bbogart/chaos/base.c"
! 
! base3.c:#include "../../bbogart/chaos/lyapunov.c"
! base3.c:#include "../../bbogart/chaos/base3.c"
  
+ dejong.c:#include "../../bbogart/chaos/lyapunov.c"
+ dejong.c:#include "../../bbogart/chaos/dejong.c"
  
  
  
+ Problems with this approach
+ ===========================
+ - no way to use autoconf/automake
+ 
+ - it might be hard for externals that use several source files
+ 
+ - I could not find a way how this should work on windows with nmake ..
+   for now I just put the windows links in build/win/*.c.  This should be
+   converted to a MinGW GNU Makefile, then it would work the same as on the
+   other platforms.
+ 
  
  

Index: TODO
===================================================================
RCS file: /cvsroot/pure-data/externals/build/TODO,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** TODO	7 Oct 2004 20:35:05 -0000	1.1
--- TODO	11 Apr 2005 23:35:57 -0000	1.2
***************
*** 2,3 ****
--- 2,19 ----
  - include mp3 externals from iem_mp3 and unauthorized and make mp3*.libs files
  
+ - put objects with conflicting names into a directory namespace
+ 
+   		maxlib/scale
+ 		Gem/scale
+ 		iem/prepend
+ 		cxc/prepend
+ 		flext/prepend
+ 
+ - move .libs files to externals/build/src from externals/build/PLATFORM.  The
+   platform-specific makefiles copy them before compiling.  If a
+   platform-specific .libs file is needed, create it in the
+   externals/build/PLATFORM directory.  The makefiles will use both:
+   `test -f $*.libs && cat $*.libs` `test -f ../src/$*.libs && cat ../src/$*.libs`
+ 
+ - make MinGW makefile for "win" so that the GNU Makefile method will be
+   standard on all platforms.





More information about the Pd-cvs mailing list