1
0
Fork 0
flightgear/docs-mini/README.IRIX

154 lines
5.2 KiB
Text

V. Procedure to build FGFS with Native SGI Irix Compilers from CVS Sources
==========================================================================
(Contributed by Todd Smith <msmith@sikorsky.com> 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 <msmith@sikorsky.com>)
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.