Difference between revisions of "Windows Development"

m (Installing the IDE)
m (Installing the IDE)
Line 12: Line 12:
  
 
* Code::Blocks nightly
 
* Code::Blocks nightly
* * requires a mingw dll that we recommend you put in %WINDOWS%\system32 and a wxWidgets dll that we make the same recommendation for.  Following this recommendation allows you to upgrade your Code::Blocks installation by just unzipping a new nightly snapshot.
+
** requires a mingw dll that we recommend you put in %WINDOWS%\system32 and a wxWidgets dll that we make the same recommendation for.  Following this recommendation allows you to upgrade your Code::Blocks installation by just unzipping a new nightly snapshot.
 
* Python.  2.4 is known to work, 2.5 is experimental for us at this time, but we'll be moving to 2.5 as various Linux distributions pick it up.
 
* Python.  2.4 is known to work, 2.5 is experimental for us at this time, but we'll be moving to 2.5 as various Linux distributions pick it up.
 
* NSIS is needed to build a binary distribution
 
* NSIS is needed to build a binary distribution
 
* Subversion client
 
* Subversion client
* * TortoiseSVN gives you a nice GUI around SVN, but is considered optional.
+
** TortoiseSVN gives you a nice GUI around SVN, but is considered optional.
* * Subversion, from subversion.tigris.org is required for the automated build to work, and many of the scripts needed to make a regular build likely require it.
+
** Subversion, from subversion.tigris.org is required for the automated build to work, and many of the scripts needed to make a regular build likely require it.
* * Neither of these clients are needed if you're building a source release.
+
** Neither of these clients are needed if you're building a source release.
 
* MingW
 
* MingW
* * Use the latest version of MingW available.  It can be a real pain to install, we hope they'll take care of that sometime soon.
+
** Use the latest version of MingW available.  It can be a real pain to install, we hope they'll take care of that sometime soon.
* * This has to be installed before Code::Blocks is run, ideally.  The requirement may be imaginary, but it's good practice to install MingW first anyway.
+
** This has to be installed before Code::Blocks is run, ideally.  The requirement may be imaginary, but it's good practice to install MingW first anyway.
* * You'll need gcc, g++, bison, and swig, at the very least to build the trunk.  A release tarball may not need bison and swig.
+
** You'll need gcc, g++, bison, and swig, at the very least to build the trunk.  A release tarball may not need bison and swig.
  
 
Note: At the time of writing, the trunk doesn't build in windows.  Hopefully we'll remember to update this page when it does.
 
Note: At the time of writing, the trunk doesn't build in windows.  Hopefully we'll remember to update this page when it does.

Revision as of 05:31, 16 January 2007

Here's straightforward instructions on how to set up a complete windows environment for building a distribution. If you just want to hack on the game, you only need these instructions up to big step 3. These are here to help newcomers to get into hacking the trunk quickly, but their also here to document how releases are built for windows.

There are 4 big steps, each comprising of many little steps. Each step is for building the trunk. Building a release tarball based on the trunk should follow logically from here, but may not. Consult specific release documentation for more information on building a release tarball, if it's there.

Installing the IDE

We use Code::Blocks. The trunk should be built with the latest available nightly snapshot. We're somewhat dismayed at this situation as we made the switch to Code::Blocks when 1.0rc2 was the latest release and we thought the 1.0 release was impending. We are open to alternatives, but we need feedback from actual windows developers, unless you all want us to pick a linux-centric build system.

The original instructions can be found here.

To build and run the game, you will need Python and Code::Blocks. Code::Blocks itself requires MingW, and additional tools available from MingW will be needed to build the trunk. Here's a list, in no particular order.

  • Code::Blocks nightly
    • requires a mingw dll that we recommend you put in %WINDOWS%\system32 and a wxWidgets dll that we make the same recommendation for. Following this recommendation allows you to upgrade your Code::Blocks installation by just unzipping a new nightly snapshot.
  • Python. 2.4 is known to work, 2.5 is experimental for us at this time, but we'll be moving to 2.5 as various Linux distributions pick it up.
  • NSIS is needed to build a binary distribution
  • Subversion client
    • TortoiseSVN gives you a nice GUI around SVN, but is considered optional.
    • Subversion, from subversion.tigris.org is required for the automated build to work, and many of the scripts needed to make a regular build likely require it.
    • Neither of these clients are needed if you're building a source release.
  • MingW
    • Use the latest version of MingW available. It can be a real pain to install, we hope they'll take care of that sometime soon.
    • This has to be installed before Code::Blocks is run, ideally. The requirement may be imaginary, but it's good practice to install MingW first anyway.
    • You'll need gcc, g++, bison, and swig, at the very least to build the trunk. A release tarball may not need bison and swig.

Note: At the time of writing, the trunk doesn't build in windows. Hopefully we'll remember to update this page when it does.

Satisfying Dependencies

yadayada

Building Armagetron Advanced

more yadayada

Building a Self-Extracting Installer

More stuff.