Support OpenKore:
Learn about
the Fund Pool

Setting up the development environment

Contents

Before you continue...

Are you only looking for information about how to run OpenKore from source code? Then you should read this guide instead. You can skip the rest of this page.


Setting up the development environment

This section teaches Windows developers how to setup the development environment. If you're a Linux developer you should already have Perl and GCC. All tools listed here are free. You don't necessarily have to use these tools if you prefer other alternative tools, but this guide will only teach you how to setup and use these tools.

This is the recommended toolchain:

the build system we use to compile OpenKore. There is no need to install Win32 Python, or to install SCons seperately.


Step 1: ActiveState ActivePerl - the Win32 Perl interpreter

Installing the interpreter

You need a Perl interpreter if you want to work on Kore. The best Perl interpreter for Win32 is probably ActivePerl: http://www.activestate.com/Products/ActivePerl/. You should download and install version 5.8. Install it to the default path (C:\perl).

Installing additional Perl modules

Once it is installed, you must install additional Perl modules (think of them as third party libraries). These modules are not part of the default Perl installation. Kore requires this module:

Click Start -> Programs -> ActiveState ActivePerl 5.8 > Perl Package Manager. You will now get a big DOS-like black window with a command prompt. Don't be scared by it - it isn't that hard to use.

Type in the following commands:

install Time-HiRes
install Carp-Assert
exit

And that's it. If you don't get an error message, then you are done installing. If you do get an error message, you could ask the forum for help. Make sure you copy & paste the entire output of Perl Package Manager.

Note: If you get "Error: 500 Can't connect to ppm.ActiveState.com:80 (Bad hostname 'ppm.ActiveState.com')" messages, then take a look at http://forums.openkore.com/viewtopic.php?t=1347 for more information about how to solve it.


Step 2: GNU Compiler Collection (GCC) - the C++ compiler

You need a C++ compiler and ActivePerl if you want to work on XSTools.dll and/or NetRedirect.dll. If you aren't interested in them, you can skip this step. You should already have ActivePerl installed if you followed step 2.

GCC is a suite which contains a C and C++ compiler. It's originally meant for Unix systems (and is the standard compiler for Linux), but Win32 ports are available. One of the Win32 ports is called Cygwin: http://sources.redhat.com/cygwin/

Installing Cygwin

Download the installer from the Cygwin website and run it. After clicking Next a few times, it will ask you what components to install. Make sure the following components will be installed:


Editors

You can of course edit the source code in any text editor. It is, however, not recommended to use Notepad. Notepad doesn't support LF (Unix line endings; at least one of the developers develop OpenKore mainly in Linux) and doesn't support auto-indent.

For Windows, I hightly recommend Crimson Editor, a freeware general-purpose code editor which supports syntax highlighting for many languages (including Perl and C++).


The XSTools library

As explained earlier, parts of OpenKore are written in C++. In order to run OpenKore from source using ActivePerl, you must have XSTools.dll (or XSTools.so on Unix).

On both Unix and Windows, you can compile XSTools by typing 'make' in the bash shell in the OpenKore source folder. If you're a Windows user and you don't want to compile, or can't compile for whatever reason, you can also download a pre-compiled http://www.openkore.com/misc/XSTools.zip XSTools.dll.