May 10, 1999 ============= Here is a quick outline of *one* way you can build FG for Win32 using a completely free development environment. 1. Install cygwin (latest is version 20.1) http://sourceware.cygnus.com/cygwin/ Now called "full.exe" (I believe "user.exe" is included in full.exe so you don't need to install those separately) 2. This step may now be optional. I haven't tried without, but cygwin is now egcs-1.1 (which should work I think.) This step just upgrades to the latest greatest version of egcs. Install egcs binary release for cygwin-20.x (latest egcs is version 1.1.2) http://www.xraylith.wisc.edu/~khan/software/gnu-win32/egcs.html For instance, if you've downloaded egcs to /tmp: cd //c/cygnus/cygwin-b20 tar xzvf //c/tmp/egcs-1.1.2-cygb20.tar.gz 3. Install the free win32 api library (latest version is 0.1.5) from: http://www.acc.umu.se/~anorland/gnu-win32/w32api.html (Recommend you install in /usr/local) Run "make; make install" 4. Also download glut import libraries from extra section at: http://www.acc.umu.se/~anorland/gnu-win32/w32api.html copy these libs to /usr/local/lib/lib*.a 5. Install the Mesa-3.0 includes: Feel free to download mesa from www.mesa3d.org and grab them from there. Line #453 of glut.h needs to be edited to look like the following: GLUTAPI int APIENTRY glutCreateMenu(void (GLUTCALLBACK * func)(int)); Or you can grab just these headers from the fgfs ftp site. ftp:://ftp.flightgear.org/pub/fgfs/Win32/Mesa-3.0-includes.zip Copy these includes to /usr/local/include/gl/*.h 6. Install the glut dll's somewhere in your path: You can fetch these from the fgfs site: ftp:://ftp.flightgear.org/pub/fgfs/Win32/glut-dll-3.7.zip 7. Build and install plib (latest version is 1.0.5/6?) from: http://www.woodsoup.org/~sjbaker/plib (check url) Recommend you run configure as follows: CFLAGS="-O2 -Wall" CXXFLAGS="-O2 -Wall" CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./configure --prefix=/usr/local --includedir=/usr/local/include/plib make; make install 8. Fetch the Flight Gear code which can be found at: ftp://ftp.flightgear.org/pub/fgfs/Downloads/Source/ Grab the latest "FlightGear-X.XX.zip" or if you want to live on the edge you can try one of the nightly snapshots in: ftp://ftp.flightgear.org/pub/fgfs/Downloads/Source/Snapshots 9. Unpack the FG source code. Run: pkunzip -d FlightGear-X.XX.zip Be sure to use the -d option. This will create all the needed subdirectories. Otherwise you will have one big mess! Trust me! Side Note: we need to make a distinction between the "build tree" and the "install tree." The "build tree" is what we've been talking about up until this point. This is where the source code lives and all the compiling takes place. Once the executables are built, they need to be installed someplace. We shall call this install location the "install tree". This is where the executables, the scenery, the textures, and any other run-time files will be located. Open the Cygnus bash via its entry in the Start menu. Mount the drive as follows (assuming you unpacked the code on d:): mkdir /mnt mount d: /mnt You only have to do this once. The drive stays mounted (until you umount it) even through reboots and switching off the machine. 10. Configure the make system for your environment and your "install tree". Tell the configure script where you would like to install the exectuables and all the scenery and textures by using the "--prefix" option. In the following example the base of the "install tree" is "\FlightGear". Stay within the bash shell. Run: ./configure --prefix=/mnt/FlightGear Side Note: the make procedure is designed to link against opengl.dll, glu.dll, and glut.dll. However, some accelerated video cards require you to link against opengl32.exe, glu32.exe, and glut32.exe. If this is the case for your video card, you can edit .../Simulator/Main/Makefile and rename these three libraries to their version "32" counterparts. There is only one place in this make file where these files are listed. 11. Build the executable. Run: make 12. Assuming you have installed the updated version of install.exe (see earlier instructions) you can now create and populate the install tree. Run: make install You can save a significant amount of space by stripping all the debuging symbols off of the executables. To do this run: strip file.exe Important Note: so far you've built and installed the simulator and related tools. Before you can actually try it out, you need to make sure you have the appropriate scenery and texture downloaded and unzip'ed in your "install tree". 13. Download and install the (most recent!) scenery and texture files. 14. In Windows explorer, change to /FlightGear/bin within your install tree. Call runfg.bat which will set the environment variable FG_ROOT and call the executable. 15. Try it out! There are several ways to run flight gear once it has been installed. The simplest is as follows. Run: \FlightGear\bin\runfg.bat (command shell) 16. I appreciate feedback. Tell me if it works! If it doesn't, tell me what went wrong. My email is curt@me.umn.edu