Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!

Close

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 [1]. 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

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 [2] 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.

Documentation

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 Net.

Contact

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.

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.

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

[1]It might also cause performance problems if there are many files to load
[2]rdf stands for Resource Data File

Recent activity

Andreas Tscharner

Andreas Tscharner pushed 4 commits to StarFire/lrc

0aa075d - gui: Use simple text comboboxed in edit dialog and set them up
234bffc - gui: Show edit dialog if [Edit] button is clicked
8d68b6c - gui: Rename AddRemoveHandlers.* to ButtonHandlers.*
569d121 - gui: Remove overly complicated ComboBox in Treeview code
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.