1. Andreas Tscharner
  2. lrc


lrc / README.rst

lrc 1.0 RC1 released!

Please test!

This is a release candidate. If you use lrc, please report a bug you find
here: <https://bitbucket.org/StarFire/lrc/issues>

lrc - the Linux Resource Compiler

Programs may sometimes have more than just application libraries and an
executable file. Especially 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 together 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.

Documentation about the compiler and the library can be found on the Wiki on
BitBucket_: <https://bitbucket.org/StarFire/lrc/wiki/Home>

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

Do you like ``lrc``? Do you hate ``lrc``? Either way, send me a message!
Either using the BitBucket message interface or directly an
`e-mail <mailto:andy@vis.ethz.ch>`_.

Licence and code
The licence for ``lrc`` and ``liblrc`` is the GNU Lesser General Public
License (LGPL) version 3 or any later version. You'll find the LGPL
`here <http://www.gnu.org/licenses/lgpl.html>`_.

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: http://bitbucket.org