]> git.mxchange.org Git - flightgear.git/blob - docs-mini/README.IRIX
Initial revision.
[flightgear.git] / docs-mini / README.IRIX
1 V. Procedure to build FGFS with Native SGI Irix Compilers from CVS Sources
2 ==========================================================================
3
4 (Contributed by Todd Smith <msmith@sikorsky.com> with modifications
5 and updates by Curt Olson)
6
7 Download the latest version of plib (1.0.18) from:
8
9     http://www.woodsoup.org/~sbaker/plib/
10
11 Configure it with the default prefix of /usr/local which places
12 everthing in a tree rooted at /usr/local/plib:
13
14     sh$ CC="cc -Xcpluscomm" CXX=CC ./configure
15
16 *Before* running make, fix up the plib Makefiles using the script
17 provided with the FlightGear distribution:
18
19     find . -name Makefile -exec .../src/FlightGear-0.7.x/irix-hack.pl {} \;
20
21 This applies a fix in all the Makefiles to the lib creation command
22 (to use CC -ar rather than ar) as per a tip in the SGI pipeline
23 periodical.
24
25 Now, make and install plib.
26
27 Download the latest fgfs source snapshot from:
28
29     ftp://ftp.flightgear.org/pub/fgfs/Source/Snapshots/
30
31 Configure and build fgfs as you did plib:
32
33     sh$ CC="cc -Xcpluscomm" CXX=CC ./configure
34     sh$ find . -name Makefile -exec .../src/FlightGear-0.7.x/irix-hack.pl {} \;
35
36
37 VI. Additional Notes for Building on IRIX from CVS Sources
38 ==========================================================
39
40 (Contributed by Todd Smith <msmith@sikorsky.com>)
41 and updates by Curt Olson)
42
43 Download the FlightGear-0.7.x via anonymous cvs as usual, then do:
44
45 > aclocal               # normal
46 > automake -a -i        # added '-i' flag to avoid dependency calc
47                         # that only sgi cc/CC doesn't support
48 > autoconf              # normal
49
50 Note the change in automake's command argument.
51
52 Now set env variables to use native compilers (csh syntax).
53
54 > setenv CC cc
55 > setenv CXX CC
56 > setenv CFLAGS '-Xcpluscomm -DEBUG:suppress=1001,1012,1014,
57                             1116,1172,1174,1401,1460,1551,1552'
58 > setenv CXXFLAGS '-DEBUG:suppress=1001,1012,1014,1116,1172,
59                           1174,1401,1460,1551,1552,3303,3322'
60
61 The '-DEBUG:suppress=' stuff just suppresses anonying warnings during
62 compile.  The meaning of each one is shown later in this file.
63 You can use all or none of these here.
64
65 > setenv CPPFLAGS '-woff 1014'
66
67 This is required so that configure will really believe that plib
68 is installed.  ( Otherwise a compiler warning makes configure
69 that plib/pu.h couldn't be found. )
70
71 > ./configure
72 > find . -name Makefile -exec irix-hack.pl {} \;        # normal irix hack
73 > gmake
74
75 Runs great.
76
77 Todd
78 msmith@sikorsky.com
79
80 -------------------------------------------
81 Warnings that I get. Ignore at your lesiure.
82
83 C and C++:
84 warning(1001): last line of file ends without a newline
85 warning(1012): parsing restarts here after previous syntax error
86 warning(1014): extra text after expected end of preprocessing directive         (breaks configure)
87 warning(1116): non-void function "poly_index_init" should return a value
88 warning(1172): subscript out of range
89 warning(1174): variable "j" was declared but never referenced
90 warning(1401): qualified name is not allowed in member declaration
91 warning(1460): function "..." redeclared "inline" after being called
92 warning(1551): variable "Altitude" is used before its value is set
93 warning(1552): variable "last" was set but never used
94
95 C++ only:
96 warning(3303): type qualifier on return type is meaningless
97 warning(3322): omission of explicit type is nonstandard ("int" assumed)
98
99
100 VII. Additional Native SGI Irix Compilers Notes
101 ==============================================
102
103 Fixing all the Makefiles' with irix-hack.pl is *VERY* important for
104 your success):
105
106   find . -name Makefile -exec irix-hack.pl {} \;
107
108 This touches up the Makefiles to build libfoo.a with 
109
110   CC -ar -o libfoo.a file1.o file2.o ...
111
112 The traditional method is to run:
113
114   ar cru libfoo.a file1.o file2.o
115
116 I wonder if this means that the native SGI "ar" is somewhat broke?
117
118 Note, you should make sure you have perl installed on your system.  The
119 "irix-hack.pl" script assumes that perl is located in /usr/bin/perl so
120 if this isn't the proper location on your system, change it in the first
121 line of "irix-hack.pl" before running the above command.  One way to see
122 if perl is on your system (and determine where) is to run:
123
124   which perl
125
126 Perl can be installed from "eoe.sw.gifts_perl" or can be fetched and
127 built from the net.
128
129 Finally you should run Gnu make.  The native Irix make utility just
130 can't handle the makefiles generated by the automake program.  Thus 
131 you will need to use Gnu make.  It's called "gmake" on my system so I 
132 just run:
133
134   gmake
135
136 Don't worry about the make failing in the Tools directory.  That's all
137 under construction stuff right now (10/7/99) and if you get that far, 
138 rejoice because it means the simulator was successfully built in the 
139 Simulator/Main subdirectory.
140
141 Special note for those Irix users using the native compilers *AND* checking
142 out the current source tree via CVS:
143
144 You will need to run "aclocal ; automake -a ; autoconf" as per 
145 README.autoconf, but you need an additional flag for automake to disable
146 automatic dependency building (which breaks the native Irix compilers.)
147 You should instead run:
148
149     aclocal ; automake -a --include-deps; autoconf
150
151 Then, proceed on to the configure step.  
152
153 Questions?  I realize this section is a big heap of random information so
154 if something isn't quite working for you, please ask.