Compiling
Contents
Windows & Linux[edit]
On Windows you will need to install Windows compiling requirements
On Linux, you will need the Linux library requirements (which you probably all already have).
After you have installed FreeBasic, a C/C++ compiler, Python, and SCons, you can just run scons to compile Game and Custom, or scons debug=0 to compile a smaller, faster release build. Type scons --help for information about compile options and compiling the other utilities.
The 'SConscript' script assumes GCC is used, and may have to be edited for a different compiler, especially a non-Unix compiler.
Mac OS X[edit]
Compiling for Mac has some complications, since FreeBasic does not officially support Mac. A full article on the subject is here: Compiling in Mac OS X
Android[edit]
The Android port is a work in progress. See Compiling for Android.
FreeBSD[edit]
Compiling on FreeBSD is highly experimental, but is identical to compiling on Linux (including library requirements?). You need the highly experimental (and increasingly stale) FreeBSD build of FreeBASIC. This has not been tested in several years, so you'll probably have to compile FreeBASIC yourself.
DOS[edit]
DOS has not been supported since Hasta-la-qb, but here are instructions for ancient versions: Compiling the DOS version.
Utilities[edit]
scons hspeak requires Euphoria 4.0+ from http://openeuphoria.org/
Run scons unlump relump to produce the utilities for packing and unpacking the Lump Format used by .rpg files.
There are numerous other utilities and test programs. See scons --help.
gfx_directx[edit]
gfx_directx.dll is provided precompiled in the SVN respository, but it is not updated every time that the source is.
To compile, you will need Visual C++ and the DirectX SDK, see Windows compiling requirements.
After that, run scons gfx_directx.dll. This will overwrite the precompiled dll.
If you want to compile from within the IDE instead of using scons, read gfx_directx/readme.txt (in that case you'll probably need to add the DirectX SDK header directory to the include path.)
Via either method, the resultant .dll does not have any nonstandard dependencies.
64 bit[edit]
64 bit builds work fine. Compiling 64-bit builds has a few details.
Cross-compiling[edit]
You can crosscompile too. Linux-to-android and linux-to-win32 are tested. See Cross-compiling.