Difference between revisions of "Building Modules"

From ReactOS Wiki
Jump to: navigation, search
(Reorganized the article, added some more information)
Line 1: Line 1:
 +
'''work in progress by Z98'''
 +
 +
There are many applications, tests, and extra subsystems in the ReactOS SVN. Most are not installed into the Boot CD by default and require a few easy steps.
 +
 +
== Technical Information ==
 +
In "reactos/modules" 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 fallback 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.
 +
 +
A symbolic link can be created on NTFS partitions with the [http://www.microsoft.com/technet/sysinternals/FileAndDisk/Junction.mspx 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.
 +
 
== Modules ==
 
== Modules ==
 +
We currently have the following modules in the SVN Tree:
  
'''work in progress by Z98'''
+
* rosapps - Various applications such as a Paint replacement
 +
* rostests - Various tests to check for regressions
  
There are many applications, tests, and extra subsystems in the ReactOS SVN.  Most are not installed into the bootcd by default and requires a few easy steps.  In the reactos\modules (reactos/modules) are two files, empty.rbuild and directory.rbuild.  If the build environment does not detect anything in the modules folder, it will automatically revert to the empty.rbuild.  If there are folders, the BE will use directory.rbuild to figure out what to do.  Within it, there are several <directory name ="x">.  The names are of various folders within the SVN and signify the folders that can be built into ReactOS as modules.
 
  
* os2 - An OS2 subsystem to run OS2 applications (unmaintained).
+
The following modules have been deleted from the Trunk tree 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.
* posix - A POSIX subsystem to run Unix applications (unmaintained).
 
* rosapps - Various applications such as a Paint replacement.
 
* rosky - A SkyOS subsystem to run Sky applications (unmaintained).
 
* rostests - Various tests to check for regressions.
 
* vms - A VMS subsystem to run VMS applications (unmaintained).
 
* windows - Have no idea what this is for.
 
  
In your local repository, copy in the folder that you want to build in.  So if you want to include the rostests, put the rostests folder into modules.  Then enter make bootcd to build them in.  If they are not picked up, delete the makefile.auto file and retry.
+
* 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

Revision as of 19:45, 11 May 2007

work in progress by Z98

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

Technical Information

In "reactos/modules" 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 fallback 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.

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.

Modules

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 have been deleted from the Trunk tree 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