source: rtems/contrib/crossrpms/gcc/install.add @ 2b29f934

4.9
Last change on this file since 2b29f934 was 2b29f934, checked in by Ralf Corsepius <ralf.corsepius@…>, on 08/07/11 at 03:49:49

Sync with cvs-HEAD.

  • Property mode set to 100644
File size: 4.3 KB
Line 
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  # Collect multilib subdirectories
73  multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'`
74
75%if %build_newlib
76  echo "%defattr(-,root,root,-)" > build/files.newlib
77  TGTDIR="%{_exec_prefix}/@tool_target@/lib"
78  for i in $multilibs; do
79    case $i in
80    \.) echo "%dir ${TGTDIR}" >> build/files.newlib
81      ;;
82    *)  echo "%dir ${TGTDIR}/$i" >> build/files.newlib
83      ;;
84    esac
85  done
86%endif
87
88  rm -f dirs ;
89  echo "%defattr(-,root,root,-)" >> dirs
90%if "%{_prefix}" != "/usr"
91  echo "%dir %{_prefix}" >> dirs
92  echo "%dir %{_libdir}" >> dirs
93%if "%{gcc_version}" >= "3.4"
94  echo "%dir %{_libexecdir}" >> dirs
95%endif
96%endif
97  echo "%dir %{_gcclibdir}/gcc" >> dirs
98  echo "%dir %{_gcclibdir}/gcc/@tool_target@" >> dirs
99
100  TGTDIR="%{_gcclibdir}/gcc/@tool_target@/%{gcc_version}"
101  for i in $multilibs; do
102    case $i in
103    \.) echo "%dir ${TGTDIR}" >> dirs
104      ;;
105    *)  echo "%dir ${TGTDIR}/$i" >> dirs
106      ;;
107    esac
108  done
109
110  # Collect files to go into different packages
111  cp dirs build/files.gcc
112  cp dirs build/files.gfortran
113  cp dirs build/files.objc
114  cp dirs build/files.gcj
115  cp dirs build/files.g++
116
117  TGTDIR="%{_gcclibdir}/gcc/@tool_target@/%{gcc_version}"
118  f=`find ${RPM_BUILD_ROOT}${TGTDIR} ! -type d -print | sed -e "s,^$RPM_BUILD_ROOT,,g"`;
119  for i in $f; do
120    case $i in
121    *lib*.la) rm ${RPM_BUILD_ROOT}/$i ;; # ignore: gcc produces bogus libtool libs
122    *f771) ;;
123    *f951) ;;
124    *cc1) ;;
125    *cc1obj) ;;
126    *cc1plus) ;; # ignore: explicitly put into rpm elsewhere
127    *collect2) ;;
128    *libobjc*) echo "$i" >> build/files.objc ;;
129    *include/objc*) ;;
130    *include/g++*);;
131    *include/c++*);;
132    *adainclude*);;
133    *adalib*);;
134    *gnat1);;
135    *jc1) ;;
136    *jvgenmain) ;;
137    */libgfortran*.*) echo "$i" >> build/files.gfortran ;;
138    */libstdc++.*) echo "$i" >> build/files.g++ ;;
139    */libsupc++.*) echo "$i" >> build/files.g++ ;;
140    *) echo "$i" >> build/files.gcc ;;
141    esac
142  done
143
144  TGTDIR="%{_exec_prefix}/@tool_target@/lib"
145  f=`find ${RPM_BUILD_ROOT}${TGTDIR} ! -type d -print | sed -e "s,^$RPM_BUILD_ROOT,,g"`;
146  for i in $f; do
147    case $i in
148    *lib*.la) rm ${RPM_BUILD_ROOT}/$i;; # ignore - gcc produces bogus libtool libs
149    *libiberty.a) rm ${RPM_BUILD_ROOT}/$i ;; # ignore - GPL'ed
150# all other files belong to newlib
151    *) echo "$i" >> build/files.newlib ;;
152    esac
153  done
Note: See TracBrowser for help on using the repository browser.