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

4.115
Last change on this file since ffbfa5b was 128c920, checked in by Ralf Corsepius <ralf.corsepius@…>, on 03/22/10 at 10:38:03

Add with_pygdb.

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