April 8, 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 in windows explorer. Be sure to read this package's README : http://www.cygnus.com/misc/gnu-win32/readme_toc.html After installing the cygnus compiler and the usertools you should find a program group "Cygnus" in your start menu. 2. 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. 3. Fetch the Flight Gear code and special Win32 libraries. These can be found at: http://www.menet.umn.edu/~curt/fgfs/Downloads/Source/ Grab the latest "FlightGear-X.XX.zip" and "win32-libs-X.XX.zip" files. 4. 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! 5. Change to the newly created FlightGear-X.XX directory and unpack the Win32 libraries. Run: cd FlightGear-X.XX pkunzip -d win32-libs-X.XX.zip 6. --> IMPORTANT <-- You will find a file called "install.exe" In the Win32 directory created when you unzip the win32-libs-X.XX.zip file. This version of install.exe should replace the one in your H-i386-cygwin32\bin directory - it's sole claim to fame is that it "understands" that when many calls to it say "install foo" they mean "install foo.exe". If you skip this step, and attempt an install with the older version present, "make install" will fail. 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. 7. 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". Run: ./configure --prefix=\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. 8. Build the executable. Run: make 9. 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". 10. Download and install the scenery and texture files. 11. Set the runtime environment variable to point to the base of your "install tree". Run: export FG_ROOT=/FlightGear (bash) set FG_ROOT=\FlightGear (command shell) 12. 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) 13. I appreciate feedback. Tell me if it works! If it doesn't, tell me what went wrong. My email is curt@me.umn.edu =========================================================================== !!!IMPORTANT ADDENDUM FOR FlightGear 0.48 and UP!!! For those using Cygwin32 to build from source on win95/NT ... I've run into a show stopping bug with the cygnus compiler where it can't compile legit C++ code that includes the string class as a part of a structure built from the STL. Fortunately, EGCS fixes this and many other problems with the cygwin32 compiler. If you are a cygwin32 user and want to be able to compile FG 0.48 you will have to upgrade your Cygnus installation from beta 19 to beta 19.1, and overlay the EGCS update over top of the Cygnus installation. If anyone is interested I can send them a small test program that exercises this bug in the cygwin32 compiler, but passes with flying colors through EGCS. The Cygwin32 beta 19.1 upgrade is available from: ftp://ftp.cygnus.com/pub/gnu-win32/latest/b19.1-update/ Make sure to follow the directions you find there (it's less than 200Kb to download.) The EGCS upgrade is available from: http://www.xraylith.wisc.edu/~khan/software/gnu-win32/egcs.html Again, make sure you follow the directions. (This is several megabytes to download.) It is recommended that you unroll the egcs stuff over top of your cygwin32 installation. It will replace many of the files. I did this today and if you carefully follow the directions you shouldn't have any trouble. :-) Note: you don't have to wait for FG 0.48 to be released to upgrade to EGCS, it should build earlier versions of FG just fine. I hope ... :-) I've gone through the process once myself, so I guess that makes me the expert. Feel free to forward questions to me at: