1
0
Fork 0

Added Olivers FAQ.

Update README.Unix with additional Irix information.
configure script addes search paths before looking for plib.  Tweaked
  checks for win32 opengl/glut/glu libs.
This commit is contained in:
curt 1999-04-22 18:45:16 +00:00
parent 2def72783a
commit 1f3049e883
4 changed files with 123 additions and 58 deletions

View file

@ -1,6 +1,6 @@
SUBDIRS = Include Lib Simulator Tools Tests SUBDIRS = Include Lib Simulator Tools Tests
EXTRA_DIST = README.Unix README.Linux README.MacOS README.Win32 \ EXTRA_DIST = FG-FAQ.v3 README.Unix README.Linux README.MacOS README.Win32 \
README.autoconf README.gfc README.gpc README.plib README.running \ README.autoconf README.gfc README.gpc README.plib README.running \
Thanks VERSION acsite.m4 acconfig.h irix-hack.pl Thanks VERSION acsite.m4 acconfig.h irix-hack.pl

View file

@ -1,12 +1,10 @@
*** not much here yet ***
If you are reading this in hopes that you will find the answer to a If you are reading this in hopes that you will find the answer to a
specific question, please send the question to curt@me.umn.edu and specific question, please send the question to curt@flightgear.org and
suggest that I include the answer here. suggest that I include the answer here.
Compilers and Portability I. Compilers and Portability
========================= ============================
Flight Gear is known to build with egcs-1.1 and higher, as well as Flight Gear is known to build with egcs-1.1 and higher, as well as
gcc-2.8 and higher. Your mileage may vary with earlier versions of gcc-2.8 and higher. Your mileage may vary with earlier versions of
@ -22,8 +20,8 @@ platforms, but I must depend on others to make sure their favorite
platform and compiler is well supported. platform and compiler is well supported.
GLUT II. GLUT
==== ========
Flight Gear requires GLUT version 3.7 or later (aka GameGLUT._ GLUT Flight Gear requires GLUT version 3.7 or later (aka GameGLUT._ GLUT
needs to be installed on your system before you can build Flight Gear. needs to be installed on your system before you can build Flight Gear.
@ -40,8 +38,8 @@ you can write a single OpenGL program that works on both Win32 PCs and
X11 workstations. X11 workstations.
Joystick Support III. Joystick Support
================ =====================
GLUT only has win32 joystick support but even at that, it is not well GLUT only has win32 joystick support but even at that, it is not well
implimented. So we use Steve Backer's joystick library when possible, implimented. So we use Steve Backer's joystick library when possible,
@ -55,13 +53,82 @@ To make sure joystick support is included when building under Linux:
- /usr/include/linux/joystick.h must exist on your system. - /usr/include/linux/joystick.h must exist on your system.
Native SGI Irix Compilers IV. Procedure to build FGFS with Native SGI Irix Compilers from CVS Sources
========================= ===========================================================================
(Contributed by Todd Smith <msmith@sikorsky.com>)
Download the latest version of plib (1.0.3) from:
http://www.woodsoup.org/~sbaker/plib/
Install it both in /usr/local/plib and /usr/local/include/plib. I
think that I am using it from /usr/local/include.
Download the FlightGear-0.6 via anonymous cvs as usual, then do:
> aclocal # normal
> automake -a -i # added '-i' flag to avoid dependency calc
# that only sgi cc/CC doesn't support
> autoconf # normal
Note the change in automake's command argument.
Now set env variables to use native compilers (csh syntax).
> setenv CC cc
> setenv CXX CC
> setenv CFLAGS '-Xcpluscomm -DEBUG:suppress=1001,1012,1014,
1116,1172,1174,1401,1460,1551,1552'
> setenv CXXFLAGS '-DEBUG:suppress=1001,1012,1014,1116,1172,
1174,1401,1460,1551,1552,3303,3322'
The '-DEBUG:suppress=' stuff just suppresses anonying warnings during
compile. The meaning of each one is shown later in this file.
You can use all or none of these here.
> setenv CPPFLAGS '-woff 1014'
This is required so that configure will really believe that plib
is installed. ( Otherwise a compiler warning makes configure
that plib/pu.h couldn't be found. )
> ./configure
> find . -name Makefile -exec irix-hack.pl {} \; # normal irix hack
> gmake
Runs great.
Todd
msmith@sikorsky.com
-------------------------------------------
Warnings that I get. Ignore at your lesiure.
C and C++:
warning(1001): last line of file ends without a newline
warning(1012): parsing restarts here after previous syntax error
warning(1014): extra text after expected end of preprocessing directive (breaks configure)
warning(1116): non-void function "poly_index_init" should return a value
warning(1172): subscript out of range
warning(1174): variable "j" was declared but never referenced
warning(1401): qualified name is not allowed in member declaration
warning(1460): function "..." redeclared "inline" after being called
warning(1551): variable "Altitude" is used before its value is set
warning(1552): variable "last" was set but never used
C++ only:
warning(3303): type qualifier on return type is meaningless
warning(3322): omission of explicit type is nonstandard ("int" assumed)
V. Additional Native SGI Irix Compilers Notes
=============================================
If you are building with native SGI compilers try running configure like the If you are building with native SGI compilers try running configure like the
following (assuming sh syntax): following (assuming sh syntax):
CC=cc CXX=CC CFLAGS=-Xcpluscomm ./configure CC=cc CXX=CC CFLAGS="-Xcpluscomm -woff 1014" ./configure
Then (and this step is *VERY* important for your success) run the following Then (and this step is *VERY* important for your success) run the following
command: command:
@ -100,3 +167,18 @@ Don't worry about the make failing in the Tools directory. That's all
under construction stuff right now (3/9/99) and if you get that far, under construction stuff right now (3/9/99) and if you get that far,
rejoice because it means the simulator was successfully built in the rejoice because it means the simulator was successfully built in the
Simulator/Main subdirectory. Simulator/Main subdirectory.
Special note for those Irix users using the native compilers *AND* checking
out the current source tree via CVS:
You will need to run "aclocal ; automake -a ; autoconf" as per
README.autoconf, but you need an additional flag for automake to disable
automatic dependency building (which breaks the native Irix compilers.)
You should instead run:
aclocal ; automake -a --include-deps; autoconf
Then, proceed on to the configure step.
Questions? I realize this section is a big heap of random information so
if something isn't quite working for you, please ask.

4
Thanks
View file

@ -120,6 +120,10 @@ Bruce Jackson of NASA <e.b.jackson@larc.nasa.gov>
flight model. Bruce has patiently answered my many, many questions. flight model. Bruce has patiently answered my many, many questions.
Oliver L. K. <delise@rp-plus.de>
FAQ Maintainer.
Tom Knienieder <knienieder@ms.netwing.at> Tom Knienieder <knienieder@ms.netwing.at>
Ported Steve's Audio library to Win32 Ported Steve's Audio library to Win32

View file

@ -63,6 +63,23 @@ dnl Let the Win32 user specify if they want to build with the SGI
dnl opengl.dll as opposed to the more standard openg32.dll dnl opengl.dll as opposed to the more standard openg32.dll
AC_ARG_WITH(sgi-opengl, [ --with-sgi-opengl Build against SGI's opengl.dll glu.dll and glut.dll]) AC_ARG_WITH(sgi-opengl, [ --with-sgi-opengl Build against SGI's opengl.dll glu.dll and glut.dll])
dnl Check for MS Windows environment
AC_CHECK_HEADER(windows.h)
dnl extra library and include directories
EXTRA_DIRS="/usr/local /usr/X11R6"
if test -d /opt/X11R6 ; then
EXTRA_DIRS="$EXTRA_DIRS /opt/X11R6"
fi
if test "x$ac_cv_header_windows_h" = "xyes" ; then
EXTRA_DIRS="${EXTRA_DIRS} `pwd`/Win32"
# elif test `uname -s` = "SunOS" ; then
# EXTRA_DIRS="${EXTRA_DIRS} `pwd`/SunOS"
fi
wi_EXTRA_DIRS(no, ${EXTRA_DIRS})
dnl Check for "plib" without which we cannot go on dnl Check for "plib" without which we cannot go on
AC_CHECK_HEADER(plib/pu.h) AC_CHECK_HEADER(plib/pu.h)
if test "x$ac_cv_header_plib_pu_h" != "xyes"; then if test "x$ac_cv_header_plib_pu_h" != "xyes"; then
@ -76,9 +93,6 @@ if test "x$ac_cv_header_plib_pu_h" != "xyes"; then
exit exit
fi fi
dnl Check for MS Windows environment
AC_CHECK_HEADER(windows.h)
dnl Using AM_CONDITIONAL is a step out of the protected little dnl Using AM_CONDITIONAL is a step out of the protected little
dnl automake fold so it is potentially dangerous. But, we are dnl automake fold so it is potentially dangerous. But, we are
dnl beginning to run into cases where the standard checks are not dnl beginning to run into cases where the standard checks are not
@ -111,20 +125,6 @@ AM_CONDITIONAL(ENABLE_LINUX_JOYSTICK, test -r /usr/include/linux/joystick.h )
dnl Enable serial support on Unix type systems dnl Enable serial support on Unix type systems
AM_CONDITIONAL(ENABLE_UNIX_SERIAL, true) AM_CONDITIONAL(ENABLE_UNIX_SERIAL, true)
dnl extra library and include directories
EXTRA_DIRS="/usr/local /usr/X11R6"
if test -d /opt/X11R6 ; then
EXTRA_DIRS="$EXTRA_DIRS /opt/X11R6"
fi
if test "x$ac_cv_header_windows_h" = "xyes" ; then
EXTRA_DIRS="${EXTRA_DIRS} `pwd`/Win32"
# elif test `uname -s` = "SunOS" ; then
# EXTRA_DIRS="${EXTRA_DIRS} `pwd`/SunOS"
fi
wi_EXTRA_DIRS(no, ${EXTRA_DIRS})
dnl Check for X11 (fancy) dnl Check for X11 (fancy)
AC_PATH_XTRA AC_PATH_XTRA
@ -148,7 +148,7 @@ AC_CHECK_LIB(Xmu, XmuLookupStandardColormap)
dnl check for OpenGL related libraries dnl check for OpenGL related libraries
if test "x$ac_cv_header_windows_h" != "xyes" ; then if test "x$ac_cv_header_windows_h" != "xyes" ; then
dnl Reasonable stuff non-windoze variants ... :-) dnl Reasonable stuff for non-windoze variants ... :-)
AC_CHECK_LIB(GLcore, glNewList) AC_CHECK_LIB(GLcore, glNewList)
if test "x$ac_cv_lib_GLcore_glNewList" = "xno" ; then if test "x$ac_cv_lib_GLcore_glNewList" = "xno" ; then
@ -197,6 +197,10 @@ else
dnl force a failed check since we will be building under windoze dnl force a failed check since we will be building under windoze
AM_CONDITIONAL(ENABLE_XMESA_FX, test "no" = "yes") AM_CONDITIONAL(ENABLE_XMESA_FX, test "no" = "yes")
dnl just define these to true and hope for the best
ac_cv_lib_glut_glutGetModifiers="yes"
ac_cv_lib_glut_glutGameModeString="yes"
if test "x$with_sgi_opengl" = "xyes" ; then if test "x$with_sgi_opengl" = "xyes" ; then
echo "Building with glut.dll, glu.dll, and opengl.dll" echo "Building with glut.dll, glu.dll, and opengl.dll"
WIN32_GLUT=glut WIN32_GLUT=glut
@ -209,34 +213,9 @@ else
WIN32_OPENGL=opengl32 WIN32_OPENGL=opengl32
fi fi
if test -f `pwd`/Win32/${WIN32_GLUT}.dll; then LIBS="$LIBS -l${WIN32_GLUT} -l${WIN32_GLU} -l${WIN32_OPENGL}"
echo " found ${WIN32_GLUT}.dll, adding -l${WIN32_GLUT}"
LIBS="$LIBS -l${WIN32_GLUT}"
else
echo " Cannot find ${WIN32_GLUT}.dll"
exit 1
fi
if test -f `pwd`/Win32/${WIN32_GLU}.dll; then
echo " found ${WIN32_GLU}.dll"
else
echo " Can't find ${WIN32_GLU}.dll, assuming it's someplace"
fi
echo " adding -l${WIN32_GLU}"
LIBS="$LIBS -l${WIN32_GLU}"
if test -f `pwd`/Win32/${WIN32_OPENGL}.dll; then
echo " found ${WIN32_OPENGL}.dll"
else
echo " Can't find ${WIN32_OPENGL}.dll, assuming it's somplace"
fi
echo " adding -l${WIN32_OPENGL}"
LIBS="$LIBS -l${WIN32_OPENGL}"
echo " adding -luser32 -lgdi32"
LIBS="$LIBS -luser32 -lgdi32" LIBS="$LIBS -luser32 -lgdi32"
ac_cv_lib_glut_glutGetModifiers="yes" echo "Will link apps with $LIBS"
ac_cv_lib_glut_glutGameModeString="yes"
fi fi
if test "x$ac_cv_lib_glut_glutGetModifiers" = "xno"; then if test "x$ac_cv_lib_glut_glutGetModifiers" = "xno"; then