Welcome to the official LXR information site Information on this site comes from the LXR developers and is maintained as close as possible to the current version.

Introduction

LXR is a general purpose source code indexer and cross-referencer that provides web-based browsing of source code with links to the definition and usage of any identifier. It supports a wide choice of languages.

LXR used to stand for "Linux Cross-Referencer" but it has proved generic enough to be able to cross reference any project beyond the Linux kernel.

It is based on stock web technology (meaning its output is regular HTML), so the display client may be freely chosen from the available web browsers. It was a design choice not to use Java or any other client-side scripting language to minimise dependencies and system requirements.

People frequently ask for the difference between LXR and LXRng (available from http://lxr.linux.no). LXRng is an experimental fork from LXR to explore other technologies. It is based on AJAX and depends on many CPAN packages. It makes heavy use of scripting, meaning the computing load is shared between the server and the client.

CAUTION!

It looks like lxr.linux.no has closed without notice some time during the first half of 2014. Whether there is a backup of LXRng is unknown.

UPDATE: Good news, it seems the site came back to life around mid-2016!

On the server side, any web server with CGI-script capability should do nicely.

LXR is a valuable tool to keep a synthetic eye on a project during development. It is also very useful to study source-code from scratch. In this case, your learning curve is very steep.

Demo: the LXR tree cross-referenced by LXR itself

Safety procedures on SourceForge no longer allow to provide demos in web service. Releases 0.9.8 to latest can be displayed and compared. This demo exhibits two tree-variants:

Notes:

Project repository on SourceForge

Contact the developers

The developers can be reached through the forum or the trackers.

IMPORTANT!

If you choose to contact a developer through the "Send Message" of his profile, take care that your message can be answered, i.e. that your own "Send Message" feature is enabled in your profile.