lrc / README

.. -*- 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`` 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`` 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

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 <>`_.

The source code is hosted on a public repository at BitBucket_. The URL is

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

.. [#] rdf stands for Resource Data File

.. _BitBucket: