From f2bb747bf033500ddadbfa41634602ee94dffbe1 Mon Sep 17 00:00:00 2001 From: curt Date: Fri, 29 Jun 2001 16:54:24 +0000 Subject: [PATCH] Initial version ... needs to be updated. --- docs-mini/README.IRIX | 154 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 docs-mini/README.IRIX diff --git a/docs-mini/README.IRIX b/docs-mini/README.IRIX new file mode 100644 index 000000000..9b52a4930 --- /dev/null +++ b/docs-mini/README.IRIX @@ -0,0 +1,154 @@ +V. Procedure to build FGFS with Native SGI Irix Compilers from CVS Sources +========================================================================== + +(Contributed by Todd Smith with modifications +and updates by Curt Olson) + +Download the latest version of plib (1.0.18) from: + + http://www.woodsoup.org/~sbaker/plib/ + +Configure it with the default prefix of /usr/local which places +everthing in a tree rooted at /usr/local/plib: + + sh$ CC="cc -Xcpluscomm" CXX=CC ./configure + +*Before* running make, fix up the plib Makefiles using the script +provided with the FlightGear distribution: + + find . -name Makefile -exec .../src/FlightGear-0.7.x/irix-hack.pl {} \; + +This applies a fix in all the Makefiles to the lib creation command +(to use CC -ar rather than ar) as per a tip in the SGI pipeline +periodical. + +Now, make and install plib. + +Download the latest fgfs source snapshot from: + + ftp://ftp.flightgear.org/pub/fgfs/Source/Snapshots/ + +Configure and build fgfs as you did plib: + + sh$ CC="cc -Xcpluscomm" CXX=CC ./configure + sh$ find . -name Makefile -exec .../src/FlightGear-0.7.x/irix-hack.pl {} \; + + +VI. Additional Notes for Building on IRIX from CVS Sources +========================================================== + +(Contributed by Todd Smith ) +and updates by Curt Olson) + +Download the FlightGear-0.7.x 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) + + +VII. Additional Native SGI Irix Compilers Notes +============================================== + +Fixing all the Makefiles' with irix-hack.pl is *VERY* important for +your success): + + find . -name Makefile -exec irix-hack.pl {} \; + +This touches up the Makefiles to build libfoo.a with + + CC -ar -o libfoo.a file1.o file2.o ... + +The traditional method is to run: + + ar cru libfoo.a file1.o file2.o + +I wonder if this means that the native SGI "ar" is somewhat broke? + +Note, you should make sure you have perl installed on your system. The +"irix-hack.pl" script assumes that perl is located in /usr/bin/perl so +if this isn't the proper location on your system, change it in the first +line of "irix-hack.pl" before running the above command. One way to see +if perl is on your system (and determine where) is to run: + + which perl + +Perl can be installed from "eoe.sw.gifts_perl" or can be fetched and +built from the net. + +Finally you should run Gnu make. The native Irix make utility just +can't handle the makefiles generated by the automake program. Thus +you will need to use Gnu make. It's called "gmake" on my system so I +just run: + + gmake + +Don't worry about the make failing in the Tools directory. That's all +under construction stuff right now (10/7/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.