| version 1.4, 2002/10/09 14:10:36 |
version 1.5, 2003/08/09 23:58:13 |
|
|
| <!-- $Platon: libcfg+/doc/sgml/introduction.overview.sgml,v 1.3 2002/10/07 10:54:40 rajo Exp $ --> |
<!-- $Platon: libcfg+/doc/sgml/introduction.overview.sgml,v 1.4 2002/10/09 14:10:36 rajo Exp $ --> |
| |
|
| <sect1 id="introduction.overview"><title>Overview</title> |
<sect1 id="introduction.overview"><title>Overview</title> |
| |
|
| <para> |
<para> |
| |
|
| &name; is precise command line and config file parsing library. It is supposed |
&name; is a library for parsing command line arguments and/or configuration |
| to be used as an universal command line and config file parsing extension of |
files. Your program can utilize it whenever either kind of parsing is needed. |
| your program. It is written in C. C++ wrapper is currently under development |
C was our language of choice, but a C++ wrapper is currently under development |
| and will be available soon. |
and will be probably available soon. |
| |
|
| </para> |
</para> |
| <important><para> |
<important><para> |
| |
|
| Note that this is exactly one from the first releases of &name; library. |
|
| Although it seems to work fine, a lot of new features may be added in near |
|
| future without changing current API. So please, if you find some bug or missing |
|
| feature, notice us and we will fix this as soon as it will be possible. |
|
| |
|
| </para> |
|
| <para> |
|
| |
|
| Also if you find some typos or badly explained parts in documentation let us |
This is one of the first releases of &name;. If you find a bug or missing |
| know. We are not native english speakers, but we are improving our language |
feature, please notify us and we will try to address the issue as soon as |
| skills every day. |
possible. Also, let us know if you find typos or badly written portions of the |
| |
documentation. We are not native English speakers, but we are improving our |
| |
language skills every day! |
| |
|
| </para></important> |
</para></important> |
| <para> |
<para> |
| |
|
| There are two ways how to use &name;. |
There are two approaches to using &name;. |
| |
|
| <itemizedlist mark=opencircle> |
<itemizedlist mark=opencircle> |
| <listitem> |
<listitem> |
| <para> |
<para> |
| |
|
| Install it as a separate library on your and/or customer's system and link you |
You can install it as a separate library and dynamically link your application |
| application dynamically agains this library. You can always check in your |
against it. If you are planning to distribute your application, you can always |
| <filename>./configure</filename> script if &name; is or isn't installed on |
use the <filename>./configure</filename> script included with the application |
| target system and if not notice user to install it. |
to detect whether &name; has been installed on the target system. If not, user |
| |
can be noticed to install this library. |
| |
|
| </para> |
</para> |
| |
|
| <para> |
<para> |
| |
|
| We are working on possibility that your application will check installation of |
We are also working on the possibility of your application to check for the |
| &name; library automatically. Than if &name; not exists on target system or it |
installation of &name;. If it is determined that &name; does not exist on the |
| is not required version, it will be added to existing system. Your application |
target system or is not the required version, it will be added to that system |
| than can be properly compiled and linked agains shared library. |
automatically. Your application can then be properly compiled and linked. |
| |
|
| </para> |
</para> |
| <para> |
<para> |
| |
|
| We know that this is a little bit sophisticated thing with need of lot of |
We know that this is a little bit sophisticated thing with need of lot of |
| testing and improving on various systems and platforms. An enhanced examples how |
testing and improving on various systems and platforms. Detailed examples on |
| to detect and than install or reinstall &name; library will be included. Your |
how to detect, install or reinstall &name; will be included. Please let us |
| experiences in this topic will expressivelly help us to improve &name; library |
know of your experience because it will help us streamline the process. |
| in this way. |
|
| |
|
| </para> |
</para> |
| </listitem> |
</listitem> |
|
|
| <listitem> |
<listitem> |
| <para> |
<para> |
| |
|
| The second way of usage &name; is simply add library source codes to your |
The other method of using &name; is to simply add the library source code to |
| project source codes (in example into subdirectory <filename |
your project source tree. In the example, the library source code can be put |
| class=directory>&name;/</filename>) and include main library header file |
into a subdirectory called <filename class="directory">&name;/</filename>. |
| <filename class=headerfile>cfg+.h</filename> in particular files of your |
Appropriate files of your application include the main library header file |
| application. In your <filename>Makefile</filename> simply compile all &name; |
<filename class="headerfile">cfg+.h</filename>. Then compile the library and |
| C files and finally link it all together. |
your sources and link everything together. |
| |
|
| </para> |
</para> |
| </listitem> |
</listitem> |
| Line 75 C files and finally link it all together |
|
| Line 69 C files and finally link it all together |
|
| </para> |
</para> |
| <para> |
<para> |
| |
|
| Some of the ideas used in this project were inspired from |
Some of the ideas used in this project were inspired by |
| <productname>popt</productname> command line parsing library and |
<productname>popt</productname> (a command line parsing library) and |
| <productname>parsecfg</productname> configuration file parsing library. |
<productname>parsecfg</productname> (a library for parsing configuration |
| Although this, all code is written from scratch. |
files). However &name; was written from scratch. |
| |
|
| </para> |
</para> |
| </sect1> |
</sect1> |