March 15, 1998 ============= Here is a quick outline of *one* way you can build FG for Win32 using a completely free development environment. 1. Install and configure the Cygnus Gnu-Win32 development environment. The latest version is Beta 19. The main Cygnus Gnu-Win32 page is at: http://www.cygnus.com/misc/gnu-win32/ You can download the Cygnus Gnu-Win32 compiler from: ftp://ftp.cygnus.com/pub/gnu-win32/latest/cdk.exe To install, just run the file: "cdk.exe" by double-clicking on it from windows explorer. Be sure to read this package's README: http://www.cygnus.com/misc/gnu-win32/readme_toc.html and install them as well. After installing the cygnus compiler and the usertools you should find a program group "Gygnus" in your start menu. 2. Fetch the Flight Gear source code and win32 libs. They can be found at: http://www.menet.umn.edu/~curt/fgfs/Downloads/ Grab the latest source-X.XX.zip file. In addition, you need the win32 libraries from win32-libs-X.XX.zip Also, don't forget to download scenery and textures. These aren't needed to built the code, but you'll need them before you can run the executable. 3. Unpack the FG prototype code and the libraries. Run: pkunzip -d .zip Be sure to use the -d option. This will create all the needed subdirectories. Otherwise you will have one big mess! This should create a directory called ``FlightGear'' with several subdirectories. Do the same with the libraries. 4. The win32-libs zip file provides the necessary OpenGL/GLUT headers and libraries for the build process. Before trying to run the executable, you should copy glut.dll from ...\FlightGear\Win32\glut.dll into someplace in your path such as: ...\FlightGear\Src\Main\glut.dll 5. Install the Silicon Graphics OpenGL dynamic link libraries. For this purpose, get the file sgi-opengl2.exe from the flight gear project site. This is a win95/winnt self extracting installation program. Install it by double-clicking in windows explorer. 6. Edit the ``commondefs'' file, if necessary. Go to the main FlightGear source directory. From where ever you extracted the FG code, cd to ``FlightGear\Src''. Edit the file called ``commondefs''. Find the part of the file that says: ``Uncomment one of the following sections depending on your system'' Uncomment all the makefile defines in the ``Cygnus Win32 beta19'' section. Also, you should comment out any of the defines in the other platform dependent sections. Depending on the version, you may find, that the appropriate settings are already done and you can skip this step. 7. Prepare the shell. Call the Cygnus shell from the start menu. At first, you have to mount your flight gear drive (assuming it is g:) with mount g:/ /mnt (Be careful writing slashes; you are working within a strange mixture of DOS/WIN95/UNIX here.) If anything went wrong with mounting you can unmount the drive with mount --reset. Now change to the flight gear source directory with cd /mnt/FlightGear/Src (make sure you're correct with the "pwd" command) Next, you have to set the environment variables as: SET FG_ROOT=/mnt/FlightGear SET FG_ROOT_SRC=${FG_ROOT}/Src SET FG_ROOT_LIB=${FG_ROOT}/Lib 8. Build the executable. Type first make depend and after that's done type make You will see a few warning messages from the compiler, but none of these are serious. Be prepared flight gear to need 10 minutes or more for compilation (depending of your system). 9. Try it out! When make is done close the Cygnus shell. There are several possibilities running flight gear. The one which should always work is as follows: Open an ordinary DOS shell. Within this one reset the flight gear root environment variable to SET FG_ROOT=g:\flightgear (or whatever your drive is.) This is absolutely necessary as win95 does not recover your "mounted" drive. Goto the directory where your freshly build executable sits, i.e. cd g:\flightgear\src\main and type fg0.exe. 10. Tell me that it works! If it doesn't, tell me what goes wrong. My email is curt@me.umn.edu. Please send me email and let me know what changes need to be made to this document and these procedures to make them easier to understand and follow.