aboutsummaryrefslogtreecommitdiff
path: root/src/3rd/flibs/README
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rd/flibs/README')
-rw-r--r--src/3rd/flibs/README117
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.