Source

lrc / README

Full commit
.. -*- restructuredtext -*-


lrc - the Linux Resource Compiler
=================================

Programs may sometimes have more than just application libraries and an
executable file. Escpecially games have graphics and sounds, and most of the
time a lot of other stuff. One way to manage these additional items is to
install them file by file, but this looks (IMHO) not very professional [#]_.
It is often better to pack these files into one big file. Windows has for
that purpose the so called *resources*: a resource compiler reads a .rc
file. All listed files in that .rc file are merged toghether in one big .res
file. Unfortunately I haven't found anything like that for Linux, so I
decided to write one myself, based on that idea.

lrc consists of two parts: The compiler itself, a command line tool called
``lrc`` and a library to extract the resources from the generated Resource
Data file. The library is called ``liblrc``.

lrc
---
``lrc`` is the command line compiler. In the tradition of Unix programs, a
successful compilation will cause *no* output. Error or warning texts will
be displayed in the same manner as gcc does:
``<filename>:<line>:<column>: error: <Error cause>``

``lrc`` creates a so called .rdf [#]_ file which contains all data,
encrypted and/or compressed if desired. That file can be loaded at runtime
or directly linked to the executable at link time.

liblrc
------
``liblrc`` is the counterpart of the ``lrc`` command line program. It is a
C++ library that offers classes to load and de-compile a given .rdf file.

Contributions / Patches
-----------------------
Contributions in form of corrections, tanslations, etc. are welcome. You may
send them as patches (if possible git format), or - if you use Mercurial -
as bundle or I might pull from your repository if it is reachable in the
Net.

Licence and code
----------------
The licence for ``lrc`` and ``liblrc`` is the GNU GPL version 2 or any later
version. You'll find the GNU GPL
`here <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html#SEC1>`_.

The source code is hosted on a public repository at BitBucket_. The URL is
<https://bitbucket.org/StarFire/lrc>.


.. [#] It might also cause performance problems if there are many files to load

.. [#] rdf stands for Resource Data File

.. _BitBucket: http://bitbucket.org