diff options
Diffstat (limited to 'src/3rd/flibs/README')
-rw-r--r-- | src/3rd/flibs/README | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/src/3rd/flibs/README b/src/3rd/flibs/README new file mode 100644 index 0000000..1b923de --- /dev/null +++ b/src/3rd/flibs/README @@ -0,0 +1,117 @@ +Flibs, version 0.9, december 2008 +--------------------------------- + +What is Flibs +------------- +Flibs is a collection of Fortran modules for various tasks: +- [cgi] facilitate web programming via CGI +- [checking] checking various aspects of the code via instrumentation + and static analysis +- [computing] computational tasks, such as automatic differentiation +- [controlstructures] flow control structures such as finite state machines +- [datastructures] support for implementing linked lists, dictionaries + and the like +- [filedir] OS-level tasks regarding files and directories +- [funit] a framework for unit testing, inspired by JUnit +- [ipc] inter-process communication +- [lemon] Lex/Yacc-like parser generation +- [platform] utilities to query the OS and the platform running the + program +- [reporting] tools for generating reports in various formats + (notably LaTex and HTML) +- [specs] tool to generate a robust reading routine from specifications, + geared to tabular input +- [sqlite] interface to the SQLite database management system (http//www.sqlite.org) +- [streams] modules to treat files as "streams" rather than record-oriented +- [strings] modules to manipulate strings (tokenizing, varying-length strings) +- [tools] preprocessor tool to manipulate the source code +- [wrapper] tool to generate Fortran 90 and Fortran 2003 interfaces to C + routines from the C header files + +Furthermore: +- [app] a tool for generating makefile dependencies from the Fortran + source code and an experiment at "literate programming". +- [chksys] a collection of programs to probe the properties of the + Fortran compiler (with a similar program for C) +- [doc] documentation for the various modules (in HTML form) and several + articles. +- [experiments] various experiments with different programming + paradigms. +- [testmake] a program suite to generate test programs from + simple specifications. + +Documentation is not complete, but most if not all modules and utilities +come with a comprehensive example/test case. + +The Flibs project is located on SourceForge: http://flibs.sf.net + + +Building the modules +-------------------- + +Each directory under the "src" directory contains one or more modules or +tools. The corresponding directory under "tests" contains the +test/example programs and makefiles (or in some case project files for +MS Developer Studio with Compaq Visual Fortran as the Fortran compiler). +Each set can be built on its own. + +The makefiles are set up using macros to take care of differences in +compilers and compiler options. In principle it should not be necessary +to adapt the makefiles to your particular compiler, unless it is doing +things in a completely different way than: +- Compile the individual sources +- Link the resulting object files into an executable + +The simple configuration system (configure.sh and configure.bat) helps +to set up the macros for the makefiles: +- configure.sh probes various compilers under Linux, Cygwin or MinGW +- configure.bat is meant for Windows + +You can select the compiler you prefer, g95, gfortran, f95, cvf, +for instance: + + > configure.sh gfortran + +Or you can select a type of build (normal, debug, optimise): + + > configure.sh -optimise + + +Status of the modules +--------------------- + +Not all modules and utilities included in the 0.9 release are fully +functional yet. They have been included mainly for completeness and +as a reminder: + +- the genetic_algorithms module typically converges too fast, so that + a suboptimal solution is returned. +- the tupleserver program is not quite finished yet, but as tuple spaces + are a very interesting construct to achieve concurrency, it is + included here. +- the fwrapper program, meant to generate C/C++ interfaces from Fortran + code is still in its infancy. The cwrap program (written in Tcl) is + functional though. + + +Tcl utilities +------------- + +While most of the code is written in standard Fortran 90, as far as the +authors are aware, the collection also contains several utilities +written in Tcl. If you do not have a Tcl installation, you can either +get a full installation from www.activestate.com or you can use a +standalone runtime executable from www.equi4.com. + + +Copyright +--------- + +Most of the source files have been written by Arjen Markus. The modules +under "filedir", "platform" and several modules in other directories +have been written by Michael Baudin. The date/time module under +"computing" has been supplied by Arjan van Dijk. + +All source code in this project is licensed via the BSD license (see +the "Copyright" file). Basically this means: +Do what you want with it, but do not claim it is your original work. |