aotus / README.md

Harald Klimach 853ba8f 

Harald Klimach 834311d 
Harald Klimach 853ba8f 

Harald Klimach 834311d 
Harald Klimach 7d9ff99 
Harald Klimach 834311d 
Harald Klimach 7d9ff99 

Harald Klimach 834311d 
Harald Klimach 7d9ff99 
Harald Klimach 834311d 

































































Harald Klimach 7d9ff99 
Harald Klimach 834311d 














Advanced Options and Tables in Universal Scripting
==================================================

The AOTUS library provides a Fortran wrapper around the C-API of the
[Lua](http://www.lua.org) scripting language, allowing a convenient usage of Lua
scripts as configuration files in Fortran applications.
Please have a look at the [Wiki](https://bitbucket.org/haraldkl/aotus/wiki/Home)
for more information on its usage.
And for a detailed interface reference visit its
[Doxygen generated documentation](https://geb.sts.nt.uni-siegen.de/aotus)

*This library is released under a simplified MIT licence, please have a look into the COPYRIGHT file for details.*

How To Build
------------

[Waf](http://code.google.com/p/waf/) is used as build system.
Run:

~~~~~~~~~~~{.sh}
./waf configure build
~~~~~~~~~~~

to build the aotus library.
If you want to select a specific Fortran compiler, set the environment variable
*FC*.
And for a specific C compiler, set the environment variable *CC*.
The Fortran compiler flags are set with the help of fc_flags, which provide
a set of compiler flag combinations for various compilers.
They are found in the waflib/extras directory, and the waflib directory is
created upon execution of waf in a:

~~~~~~~~~~~{.sh}
.waf-*
~~~~~~~~~~~

directory, if you need to have a look at them.
By running:

~~~~~~~~~~~{.sh}
./waf --help
~~~~~~~~~~~

you get a list of available options to the waf script.


What is Built
-------------

For your convenience the Lua library is included in version 5.2.1 (released
2012-06-08).
Its objects are completely gathered into the final *libaotus* library, so it is
only necessary to link against this single static library to gain the
configuration features of aotus in your Fortran application.
Due to the compiler specific module information required by any application
using the libaotus, the suggested approach to incorporate libaotus is to include
its building in the build process of the final application. This is straight
forward if waf is used for the complete project. But also in other build
environments it should not be too hard to make use of the generated *build*
directory.
Yet if you would rather install the *libaotus.a* and the module files into a
*$PREFIX* directory, you can make use of:

~~~~~~~~~~~{.sh}
./waf install
~~~~~~~~~~~

The default build process will also create some unit test executables and
execute them to ensure functionality of the various parts in the library.

The doxygen documentation can be built by running:

~~~~~~~~~~~{.sh}
./waf doxy
~~~~~~~~~~~

This will build a html directory in the build directory with the resulting
documentation. Note, that this requires an installed doxygen.
It is also online available at
[Aotus documentation](https://geb.sts.nt.uni-siegen.de/aotus).

### Example

There is an example program built, called aotus_sample, which you will find in
the *build* directory.
It can be used with the provided *config.lua* in the *sample* directory, where
also the source of this small program is found.

Related Projects
----------------

Some projects with similar goals or related information:

* [f2k3-lua](https://github.com/MaikBeckmann/f2k3-lua/tree/simple)
* [FortLua](https://github.com/adolgert/FortLua)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.