diff options
author | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2005-04-11 23:35:57 +0000 |
---|---|---|
committer | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2005-04-11 23:35:57 +0000 |
commit | 5d0dcc449b10f1d21db167fe16da836462ee3103 (patch) | |
tree | c6cd38b81f0f448ab29b6527c9c49628fa77c656 /externals/build/README | |
parent | c6ba54641bcf5e44fa914476d72455a524ed172f (diff) |
updated docs to discuss multiple files and including libs
svn path=/trunk/; revision=2711
Diffstat (limited to 'externals/build/README')
-rw-r--r-- | externals/build/README | 46 |
1 files changed, 38 insertions, 8 deletions
diff --git a/externals/build/README b/externals/build/README index ccc691d6..8c547a2f 100644 --- a/externals/build/README +++ b/externals/build/README @@ -21,22 +21,52 @@ The build system is actually on top of the different externals packages that are in the CVS. Every external (the source code) is linked into the "src" directory. -In order to be platform independent this is done via c-includes. +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". -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 +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. |