source: rtems/contrib/crossrpms/gcc/install.add @ d09e7fc

4.104.115
Last change on this file since d09e7fc was b0e80d9b, checked in by Ralf Corsepius <ralf.corsepius@…>, on 09/07/09 at 04:10:45

Don't push . into multilib subdirs.

  • Property mode set to 100644
File size: 4.0 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  # Bug in gcc-3.4.0pre
57  rm -f $RPM_BUILD_ROOT%{_bindir}/@tool_target@-@tool_target@-gcjh%{_exeext}
58
59  # Bug in gcc-3.3.x/gcc-3.4.x: Despite we don't need fixincludes, it installs
60  # the fixinclude-install-tools
61  rm -rf ${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/@tool_target@/%{gcc_version}/install-tools
62  rm -rf ${RPM_BUILD_ROOT}%{_libexecdir}/gcc/@tool_target@/%{gcc_version}/install-tools
63
64  # Bug in gcc > 4.1.0: Installs an unused, empty directory
65  if test -d ${RPM_BUILD_ROOT}%{_prefix}/@tool_target@/include/bits; then
66    rmdir ${RPM_BUILD_ROOT}%{_prefix}/@tool_target@/include/bits
67  fi
68
69  # Collect multilib subdirectories
70  multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'`
71
72%if %build_newlib
73  echo "%defattr(-,root,root,-)" > build/files.newlib
74  TGTDIR="%{_exec_prefix}/@tool_target@/lib"
75  for i in $multilibs; do
76    case $i in
77    \.) echo "%dir ${TGTDIR}" >> build/files.newlib
78      ;;
79    *)  echo "%dir ${TGTDIR}/$i" >> build/files.newlib
80      ;;
81    esac
82  done
83%endif
84
85  rm -f dirs ;
86  echo "%defattr(-,root,root,-)" >> dirs
87  TGTDIR="%{_gcclibdir}/gcc/@tool_target@/%{gcc_version}"
88  for i in $multilibs; do
89    case $i in
90    \.) ;; # ignore, handled elsewhere
91    *)  echo "%dir ${TGTDIR}/$i" >> dirs
92      ;;
93    esac
94  done
95
96  # Collect files to go into different packages
97  cp dirs build/files.gcc
98  cp dirs build/files.gfortran
99  cp dirs build/files.objc
100  cp dirs build/files.gcj
101  cp dirs build/files.g++
102
103  TGTDIR="%{_gcclibdir}/gcc/@tool_target@/%{gcc_version}"
104  f=`find ${RPM_BUILD_ROOT}${TGTDIR} ! -type d -print | sed -e "s,^$RPM_BUILD_ROOT,,g"`;
105  for i in $f; do
106    case $i in
107    *lib*.la) rm ${RPM_BUILD_ROOT}/$i ;; # ignore: gcc produces bogus libtool libs
108    *f771) ;;
109    *f951) ;;
110    *cc1) ;;
111    *cc1obj) ;;
112    *cc1plus) ;; # ignore: explicitly put into rpm elsewhere
113    *collect2) ;;
114    *libobjc*) echo "$i" >> build/files.objc ;;
115    *include/objc*) ;;
116    *include/g++*);;
117    *include/c++*);;
118    *include-fixed/*);;
119    *finclude/*);;
120    *adainclude*);;
121    *adalib*);;
122    *gnat1);;
123    *jc1) ;;
124    *jvgenmain) ;;
125    */libgfortran*.*) echo "$i" >> build/files.gfortran ;;
126    */libstdc++.*) echo "$i" >> build/files.g++ ;;
127    */libsupc++.*) echo "$i" >> build/files.g++ ;;
128    *) echo "$i" >> build/files.gcc ;;
129    esac
130  done
131
132  TGTDIR="%{_exec_prefix}/@tool_target@/lib"
133  f=`find ${RPM_BUILD_ROOT}${TGTDIR} ! -type d -print | sed -e "s,^$RPM_BUILD_ROOT,,g"`;
134  for i in $f; do
135    case $i in
136    *lib*.la) rm ${RPM_BUILD_ROOT}/$i;; # ignore - gcc produces bogus libtool libs
137    *libiberty.a) rm ${RPM_BUILD_ROOT}/$i ;; # ignore - GPL'ed
138# all other files belong to newlib
139    *) echo "$i" >> build/files.newlib ;;
140    esac
141  done
Note: See TracBrowser for help on using the repository browser.