Difference between revisions of "User:Dzonatas Sol/Cross compiling the viewer (i686-mingw32)"

From Second Life Wiki
Jump to navigation Jump to search
Line 39: Line 39:
The first time you run the script, it will first download additional files and automatically build the cross compiler. It will continue onto the sl-viewer and build that. If you re-run the script, it will try to build the sl-viewer again. The script sets up the environment to run linden/indra/SConstruct with the cross compiler options.
The first time you run the script, it will first download additional files and automatically build the cross compiler. It will continue onto the sl-viewer and build that. If you re-run the script, it will try to build the sl-viewer again. The script sets up the environment to run linden/indra/SConstruct with the cross compiler options.


== Libraries ==


The dependencies of the code libraries are dependent on compile-time libraries and run-time libraries. A few of the run-time libraries you will not be able to cross compiler do to copyright restrictions on the source distribution. Use the pre-built code libraries of the target platform (Win32 DLLs) for those that you cannot cross compile from the host build environment.


== Known Issues ==
== Known Issues ==

Revision as of 23:57, 10 March 2007

Listed below is the process to cross compile the Second Life viewer on Linux with a Win32 target. This process has only been used on debian and debian based systems like ubuntu. For other platforms, see Get source and compile.

This process is not trivial.

Installation

These instructions are intended for those already familiar on how to compile the viewer on Windows and Linux environments. Please refer to those pages for additional help on how to retrieve and setup dependencies to the related host and target platform.

SDKs

Under Windows or WINE, you will need to install these Software Development Kits:

We'll use the C/C++ includes and code libraries of these packages.

There are a few header files needed from either the Microsoft Platform SDK or the WINE source code.

GCC (i686-mingw32)

Under Linux, we'll use the Minimalist GNU for Windows Compiler to cross compile. We can recompile binutils and GCC for the i686 and win32, and mingw32 adds the compatible headers, libraries, and compiler support as normally found under the Windows environment.

SLViewer

Patches are being made for the slviewer source to let this compilation happen. You can help!

OSLCC Project

The Open Second Life Cross Compiler project is a collection of scripts and patches to help automate the build of mingw32 and Second Life. You must have Subversion installed on your Linux system to access this project.

Within Linux, create a new workspace directory and cd to it. Run this command:

svn co https://oslcc.svn.sourceforge.net/svnroot/oslcc/i686-mingw32-FL-1.13.3.58390/trunk oslcc

You can then run "sh oslcc/build.sh"

The first time you run the script, it will first download additional files and automatically build the cross compiler. It will continue onto the sl-viewer and build that. If you re-run the script, it will try to build the sl-viewer again. The script sets up the environment to run linden/indra/SConstruct with the cross compiler options.


Known Issues

There are some known issues with the source in relation to cross compilation: