From 1f3049e883ad5af30a8cf7ffdc93033a17769ffc Mon Sep 17 00:00:00 2001 From: curt Date: Thu, 22 Apr 1999 18:45:16 +0000 Subject: [PATCH] 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. --- Makefile.am | 2 +- README.Unix | 106 +++++++++++++++++++++++++++++++++++++++++++++------ Thanks | 4 ++ configure.in | 69 ++++++++++++--------------------- 4 files changed, 123 insertions(+), 58 deletions(-) diff --git a/Makefile.am b/Makefile.am index de875c521..81164feb9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,6 @@ 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 \ Thanks VERSION acsite.m4 acconfig.h irix-hack.pl diff --git a/README.Unix b/README.Unix index b5df61ca5..426d8d62e 100644 --- a/README.Unix +++ b/README.Unix @@ -1,12 +1,10 @@ -*** not much here yet *** - 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. -Compilers and Portability -========================= +I. Compilers and Portability +============================ 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 @@ -22,8 +20,8 @@ platforms, but I must depend on others to make sure their favorite platform and compiler is well supported. -GLUT -==== +II. 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. @@ -40,8 +38,8 @@ you can write a single OpenGL program that works on both Win32 PCs and X11 workstations. -Joystick Support -================ +III. Joystick Support +===================== 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, @@ -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. -Native SGI Irix Compilers -========================= +IV. Procedure to build FGFS with Native SGI Irix Compilers from CVS Sources +=========================================================================== + +(Contributed by Todd Smith ) + +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 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 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, rejoice because it means the simulator was successfully built in the 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. diff --git a/Thanks b/Thanks index ad386ac88..dba6496b3 100644 --- a/Thanks +++ b/Thanks @@ -120,6 +120,10 @@ Bruce Jackson of NASA flight model. Bruce has patiently answered my many, many questions. +Oliver L. K. + FAQ Maintainer. + + Tom Knienieder Ported Steve's Audio library to Win32 diff --git a/configure.in b/configure.in index 25c1fd2cd..75161b0a3 100644 --- a/configure.in +++ b/configure.in @@ -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 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 AC_CHECK_HEADER(plib/pu.h) 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 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 automake fold so it is potentially dangerous. But, we are 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 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) AC_PATH_XTRA @@ -148,7 +148,7 @@ AC_CHECK_LIB(Xmu, XmuLookupStandardColormap) dnl check for OpenGL related libraries 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) 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 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 echo "Building with glut.dll, glu.dll, and opengl.dll" WIN32_GLUT=glut @@ -209,34 +213,9 @@ else WIN32_OPENGL=opengl32 fi - if test -f `pwd`/Win32/${WIN32_GLUT}.dll; then - 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 -l${WIN32_GLUT} -l${WIN32_GLU} -l${WIN32_OPENGL}" LIBS="$LIBS -luser32 -lgdi32" - ac_cv_lib_glut_glutGetModifiers="yes" - ac_cv_lib_glut_glutGameModeString="yes" + echo "Will link apps with $LIBS" fi if test "x$ac_cv_lib_glut_glutGetModifiers" = "xno"; then -- 2.39.5