Building Modules

From ReactOS Wiki
Revision as of 15:30, 24 September 2007 by Colin Finck (talk | contribs)
Jump to: navigation, search

There are many applications, tests, and extra subsystems in the ReactOS SVN. Most are not included by default and require a few easy steps.

Technical Information

In "reactos/modules" or "reactos\modules", depending on whether you're on a UNIX or Windows system, are two files, empty.rbuild and directory.rbuild. The Build system will read the directory.rbuild file and look if the subfolders named in this file exist.

If a folder exists, the Build System will process its directory.rbuild file. Otherwise it will fall back to the empty.rbuild file.

Integrating a module

If you want to integrate a module into the build, it's the easiest to copy the appropriate folder into the "modules" directory.

If you already downloaded a module into another directory and want to keep it there (e.g. for updating it via SVN), you can also create a symbolic link to that directory. This also saves disk space.

On Windows, a symbolic link can be created on NTFS partitions with the Junction utility. After you installed this utility, open a Command Prompt, jump to the "modules" directory and execute the following command:

junction rosapps X:\reactos\rosapps

In this case, I assume that you want to create a symbolic link to the "rosapps" module, which is located at X:\reactos\rosapps.

Under Unix-based operating systems such as Linux, you can use the following command to create a symbolic link:

ln -s /home/user/reactos/rosapps rosapps

This example assumes that you want to create a symbolic link to the "rosapps" module, which is located at /home/user/reactos/rosapps.


We currently have the following modules in the SVN Tree:

  • rosapps - Various applications such as a Paint replacement
  • rostests - Various tests to check for regressions

The following modules were removed from trunk some time ago. They are still in a branch called "unmaintained". As they probably don't work with newer ReactOS versions or didn't work at all, we don't support them.

  • os2 - An OS2 subsystem to run OS2 applications
  • posix - A POSIX subsystem to run Unix applications
  • rosky - A SkyOS subsystem to run SkyOS applications
  • vms - A VMS subsystem to run VMS applications