|
|
1.1 root 1: How to compile X11R5 (patch level 9) with GCC version 2:
2:
3: The patches include support for building the shared libraries with GCC 2 on
4: the Sparc and 68k machines.
5:
6: mit/config/Imake.tmpl -- Do not set -fstrength-reduce if we have GCC 2. If
7: -fstrength-reduce (or any other -f option) is a major win, then it will
8: most likely be turned on by -O2 optimization.
9:
10: mit/config/sunLib.rules -- If HasGcc2 is defined, then use -fpic to
11: generate PIC code.
12:
13: mit/config/site.def -- Define HasGcc2 to be YES.
14:
15: mit/config/sun.cf -- When compiling with GCC 2, use -O2 optimization.
16:
17: mit/rgb/Imakefile -- No longer need to compile some modules with
18: cc on the Sparc since GCC 2 produces proper -fpcc-struct-return code.
19:
20: mit/server/os/Imakefile -- Likewise.
21:
22: *** mit/config/Imake.tmpl.ORIG Tue Dec 31 11:07:56 1991
23: --- mit/config/Imake.tmpl Tue Dec 31 12:30:47 1991
24: ***************
25: *** 499,508 ****
26: --- 499,512 ----
27: #define HasGcc NO
28: #endif
29: #ifndef CcCmd
30: + #if HasGcc2
31: + #define CcCmd gcc -fpcc-struct-return
32: + #else
33: #if HasGcc
34: #define CcCmd gcc -fstrength-reduce -fpcc-struct-return
35: #else
36: #define CcCmd cc
37: + #endif
38: #endif
39: #endif
40: #if HasFortran
41: *** mit/config/sunLib.rules.ORIG Tue Dec 31 11:11:24 1991
42: --- mit/config/sunLib.rules Thu Jan 2 15:39:29 1992
43: ***************
44: *** 23,29 ****
45: --- 23,33 ----
46: #define SharedLibraryLoadFlags -assert pure-text
47: #endif
48: #ifndef PositionIndependentCFlags
49: + #if defined(HasGcc2)
50: + #define PositionIndependentCFlags -fpic
51: + #else
52: #define PositionIndependentCFlags -pic
53: + #endif
54: #endif
55:
56: /*
57: *** mit/config/site.def.ORIG Tue Dec 31 11:13:49 1991
58: --- mit/config/site.def Tue Dec 31 12:02:59 1991
59: ***************
60: *** 25,31 ****
61:
62: #ifdef BeforeVendorCF
63:
64: ! /* #define HasGcc YES */
65:
66: #endif /* BeforeVendorCF */
67:
68: --- 25,32 ----
69:
70: #ifdef BeforeVendorCF
71:
72: ! #define HasGcc YES
73: ! #define HasGcc2 YES
74:
75: #endif /* BeforeVendorCF */
76:
77: *** mit/config/sun.cf.ORIG Tue Dec 31 11:13:57 1991
78: --- mit/config/sun.cf Wed Jan 15 12:13:53 1992
79: ***************
80: *** 34,42 ****
81: --- 34,47 ----
82:
83: #if HasGcc
84:
85: + #define OptimizedCDebugFlags -O
86: + #if defined(HasGcc2)
87: + #define OptimizedCDebugFlags -O2
88: + #else
89: #define SharedLibraryCcCmd cc
90: #define ExtraLoadFlags -B/usr/bin/
91: #define AllocateLocalDefines /**/
92: + #endif
93:
94: .c.o:
95: $(CC) -c $(CFLAGS) $*.c
96:
97: *** mit/rgb/Imakefile.ORIG Wed Jan 15 16:43:18 1992
98: --- mit/rgb/Imakefile Thu Jan 2 13:34:09 1992
99: ***************
100: *** 17,23 ****
101: #if !(defined(SGIArchitecture) || SystemV4)
102: DBMLIB = -ldbm
103: #endif
104: ! #if defined(SparcArchitecture) && HasGcc
105: CC = cc
106: CCOPTIONS = /**/
107: EXTRA_LOAD_FLAGS = /**/
108: --- 17,23 ----
109: #if !(defined(SGIArchitecture) || SystemV4)
110: DBMLIB = -ldbm
111: #endif
112: ! #if defined(SparcArchitecture) && HasGcc && !defined(HasGcc2)
113: CC = cc
114: CCOPTIONS = /**/
115: EXTRA_LOAD_FLAGS = /**/
116: *** mit/server/os/Imakefile.ORIG Wed Jan 15 16:46:23 1992
117: --- mit/server/os/Imakefile Wed Jan 15 16:46:48 1992
118: ***************
119: *** 132,138 ****
120: SpecialObjectRule(osinit.o,$(ICONFIGFILES),$(ADM_DEFINES))
121: SpecialObjectRule(WaitFor.o,$(ICONFIGFILES),$(EXT_DEFINES))
122: SpecialObjectRule(fonttype.o,$(ICONFIGFILES),$(FONT_DEFINES))
123: ! #if defined(SparcArchitecture) && HasGcc
124: oscolor.o: $(ICONFIGFILES)
125: $(RM) $@
126: cc -c $(DBM_DEFINES) $(CDEBUGFLAGS) $(ALLDEFINES) $*.c
127: --- 132,138 ----
128: SpecialObjectRule(osinit.o,$(ICONFIGFILES),$(ADM_DEFINES))
129: SpecialObjectRule(WaitFor.o,$(ICONFIGFILES),$(EXT_DEFINES))
130: SpecialObjectRule(fonttype.o,$(ICONFIGFILES),$(FONT_DEFINES))
131: ! #if defined(SparcArchitecture) && HasGcc && !defined(HasGcc2)
132: oscolor.o: $(ICONFIGFILES)
133: $(RM) $@
134: cc -c $(DBM_DEFINES) $(CDEBUGFLAGS) $(ALLDEFINES) $*.c
135:
136:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.