1 | %install |
---|
2 | %if "%{_prefix}" != "/usr" |
---|
3 | export PATH="%{_bindir}:${PATH}" |
---|
4 | %endif |
---|
5 | rm -rf $RPM_BUILD_ROOT |
---|
6 | |
---|
7 | cd build |
---|
8 | |
---|
9 | make DESTDIR=$RPM_BUILD_ROOT install |
---|
10 | cd .. |
---|
11 | |
---|
12 | %if %build_newlib |
---|
13 | cd build/@tool_target@/newlib |
---|
14 | make DESTDIR=$RPM_BUILD_ROOT install-info |
---|
15 | cd ../../.. |
---|
16 | %endif |
---|
17 | |
---|
18 | %if "%{gcc_version}" <= "4.1.2" |
---|
19 | # Misplaced header file |
---|
20 | if test -f $RPM_BUILD_ROOT%{_includedir}/mf-runtime.h; then |
---|
21 | mv $RPM_BUILD_ROOT%{_includedir}/mf-runtime.h \ |
---|
22 | $RPM_BUILD_ROOT%{_gcclibdir}/gcc/@tool_target@/%{gcc_version}/include/ |
---|
23 | fi |
---|
24 | %endif |
---|
25 | |
---|
26 | # host library |
---|
27 | %if "%{gcc_version}" >= "4.2.0" |
---|
28 | # libiberty doesn't honor --libdir, but always installs to a |
---|
29 | # magically guessed _libdir |
---|
30 | rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty.a |
---|
31 | %else |
---|
32 | # libiberty installs to --libdir=... |
---|
33 | rm -f ${RPM_BUILD_ROOT}%{_gcclibdir}/libiberty.a |
---|
34 | %endif |
---|
35 | |
---|
36 | # We use the version from binutils |
---|
37 | rm -f $RPM_BUILD_ROOT%{_bindir}/@tool_target@-c++filt%{_exeext} |
---|
38 | |
---|
39 | %if %build_gnat |
---|
40 | # Seemingly a VAX tool. Not meaningful, here. |
---|
41 | rm -f $RPM_BUILD_ROOT%{_bindir}/vxaddr2line%{_exeext} |
---|
42 | %endif |
---|
43 | |
---|
44 | %if %build_infos |
---|
45 | # We don't ship info/dir |
---|
46 | rm -f $RPM_BUILD_ROOT%{_infodir}/dir |
---|
47 | touch $RPM_BUILD_ROOT%{_infodir}/dir |
---|
48 | %else |
---|
49 | # Conflict with a native GCC's infos |
---|
50 | rm -rf $RPM_BUILD_ROOT%{_infodir} |
---|
51 | |
---|
52 | # Conflict with a native GCC's man pages |
---|
53 | rm -rf $RPM_BUILD_ROOT%{_mandir}/man7 |
---|
54 | %endif |
---|
55 | |
---|
56 | # We don't want libffi's man-pages |
---|
57 | rm -f $RPM_BUILD_ROOT%{_mandir}/man3/*ffi* |
---|
58 | |
---|
59 | # Bug in gcc-3.4.0pre |
---|
60 | rm -f $RPM_BUILD_ROOT%{_bindir}/@tool_target@-@tool_target@-gcjh%{_exeext} |
---|
61 | |
---|
62 | # Bug in gcc-3.3.x/gcc-3.4.x: Despite we don't need fixincludes, it installs |
---|
63 | # the fixinclude-install-tools |
---|
64 | rm -rf ${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/@tool_target@/%{gcc_version}/install-tools |
---|
65 | rm -rf ${RPM_BUILD_ROOT}%{_libexecdir}/gcc/@tool_target@/%{gcc_version}/install-tools |
---|
66 | |
---|
67 | # Bug in gcc > 4.1.0: Installs an unused, empty directory |
---|
68 | if test -d ${RPM_BUILD_ROOT}%{_prefix}/@tool_target@/include/bits; then |
---|
69 | rmdir ${RPM_BUILD_ROOT}%{_prefix}/@tool_target@/include/bits |
---|
70 | fi |
---|
71 | |
---|
72 | # gcc >= 4.5.0: installs weird libstdc++ python bindings. |
---|
73 | %if ! %{with pygdb} |
---|
74 | if test -d ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python; then |
---|
75 | rm -rf ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python/libstdcxx |
---|
76 | fi |
---|
77 | %endif |
---|
78 | |
---|
79 | # Collect multilib subdirectories |
---|
80 | multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` |
---|
81 | |
---|
82 | %if %build_newlib |
---|
83 | echo "%defattr(-,root,root,-)" > build/files.newlib |
---|
84 | TGTDIR="%{_exec_prefix}/@tool_target@/lib" |
---|
85 | for i in $multilibs; do |
---|
86 | case $i in |
---|
87 | \.) echo "%dir ${TGTDIR}" >> build/files.newlib |
---|
88 | ;; |
---|
89 | *) echo "%dir ${TGTDIR}/$i" >> build/files.newlib |
---|
90 | ;; |
---|
91 | esac |
---|
92 | done |
---|
93 | %endif |
---|
94 | |
---|
95 | rm -f dirs ; |
---|
96 | echo "%defattr(-,root,root,-)" >> dirs |
---|
97 | TGTDIR="%{_gcclibdir}/gcc/@tool_target@/%{gcc_version}" |
---|
98 | for i in $multilibs; do |
---|
99 | case $i in |
---|
100 | \.) ;; # ignore, handled elsewhere |
---|
101 | *) echo "%dir ${TGTDIR}/$i" >> dirs |
---|
102 | ;; |
---|
103 | esac |
---|
104 | done |
---|
105 | |
---|
106 | # Collect files to go into different packages |
---|
107 | cp dirs build/files.gcc |
---|
108 | cp dirs build/files.gfortran |
---|
109 | cp dirs build/files.objc |
---|
110 | cp dirs build/files.gcj |
---|
111 | cp dirs build/files.g++ |
---|
112 | cp dirs build/files.go |
---|
113 | |
---|
114 | TGTDIR="%{_gcclibdir}/gcc/@tool_target@/%{gcc_version}" |
---|
115 | f=`find ${RPM_BUILD_ROOT}${TGTDIR} ! -type d -print | sed -e "s,^$RPM_BUILD_ROOT,,g"`; |
---|
116 | for i in $f; do |
---|
117 | case $i in |
---|
118 | *lib*.la) rm ${RPM_BUILD_ROOT}/$i ;; # ignore: gcc produces bogus libtool libs |
---|
119 | *f771) ;; |
---|
120 | *f951) ;; |
---|
121 | *cc1) ;; |
---|
122 | *cc1obj) ;; |
---|
123 | *cc1plus) ;; # ignore: explicitly put into rpm elsewhere |
---|
124 | *collect2) ;; |
---|
125 | *libobjc*) echo "$i" >> build/files.objc ;; |
---|
126 | *go1) ;; # ignore: explicitly put into rpm elsewhere |
---|
127 | *include/objc*) ;; |
---|
128 | *include/g++*);; |
---|
129 | *include/c++*);; |
---|
130 | *include-fixed/*);; |
---|
131 | *finclude/*);; |
---|
132 | */go/*);; |
---|
133 | *adainclude*);; |
---|
134 | *adalib*);; |
---|
135 | *gnat1);; |
---|
136 | *jc1) ;; |
---|
137 | *jvgenmain) ;; |
---|
138 | */libgfortran*.*) echo "$i" >> build/files.gfortran ;; |
---|
139 | */libgo*.a) echo "$i" >> build/files.go ;; |
---|
140 | %{!?with_pygdb:*/libstdc++*gdb.py*) rm ${RPM_BUILD_ROOT}/$i ;;} # ignore for now |
---|
141 | %{?with_pygdb:*/libstdc++*gdb.py*) >> build/files.g++ ;;} |
---|
142 | */libstdc++.*) echo "$i" >> build/files.g++ ;; |
---|
143 | */libsupc++.*) echo "$i" >> build/files.g++ ;; |
---|
144 | *) echo "$i" >> build/files.gcc ;; |
---|
145 | esac |
---|
146 | done |
---|
147 | |
---|
148 | TGTDIR="%{_exec_prefix}/@tool_target@/lib" |
---|
149 | f=`find ${RPM_BUILD_ROOT}${TGTDIR} ! -type d -print | sed -e "s,^$RPM_BUILD_ROOT,,g"`; |
---|
150 | for i in $f; do |
---|
151 | case $i in |
---|
152 | *lib*.la) rm ${RPM_BUILD_ROOT}/$i;; # ignore - gcc produces bogus libtool libs |
---|
153 | *libiberty.a) rm ${RPM_BUILD_ROOT}/$i ;; # ignore - GPL'ed |
---|
154 | # all other files belong to newlib |
---|
155 | *) echo "$i" >> build/files.newlib ;; |
---|
156 | esac |
---|
157 | done |
---|