summaryrefslogtreecommitdiffstats
path: root/contrib/crossrpms/gcc
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2006-02-18 08:01:11 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2006-02-18 08:01:11 +0000
commitc7cc52a176418097d525a98614efd63107bcd66c (patch)
tree042a3aea2b07b91866cd1aef14cef0a60ef0c627 /contrib/crossrpms/gcc
parentMisc. sed magic. (diff)
downloadrtems-c7cc52a176418097d525a98614efd63107bcd66c.tar.bz2
New.
Diffstat (limited to 'contrib/crossrpms/gcc')
-rw-r--r--contrib/crossrpms/gcc/build.add64
-rw-r--r--contrib/crossrpms/gcc/prep.add55
2 files changed, 119 insertions, 0 deletions
diff --git a/contrib/crossrpms/gcc/build.add b/contrib/crossrpms/gcc/build.add
new file mode 100644
index 0000000000..4716ed48b6
--- /dev/null
+++ b/contrib/crossrpms/gcc/build.add
@@ -0,0 +1,64 @@
+%build
+ mkdir -p build
+
+ cd build
+
+ languages="c"
+%if %build_cxx
+ languages="$languages,c++"
+%endif
+%if %build_g77
+ languages="$languages,g77"
+%endif
+%if %build_f95
+ languages="$languages,f95"
+%endif
+%if %build_gcj
+ languages="$languages,java"
+%endif
+%if %build_objc
+ languages="$languages,objc"
+%endif
+%if %build_gnat
+ languages="$languages,ada"
+%endif
+%if %build_libgcj
+ optargs="--enable-libgcj"
+%endif
+%if "%{_prefix}" != "/usr"
+ export PATH="%{_bindir}:${PATH}"
+%endif
+
+ CC="%{__cc} ${RPM_OPT_FLAGS}" \
+ ../gcc-%{gcc_pkgvers}/configure \
+ --prefix=%{_prefix} \
+ --bindir=%{_bindir} \
+ --includedir=%{_includedir} \
+ --libdir=%{_libdir} \
+ --mandir=%{_mandir} \
+ --infodir=%{_infodir} \
+ --datadir=%{_datadir} \
+ --build=%_build --host=%_host \
+ --target=@tool_target@ \
+ --with-gnu-as --with-gnu-ld --verbose \
+ --with-newlib \
+ --with-system-zlib \
+ --disable-nls --without-included-gettext \
+ --disable-win32-registry \
+ --enable-version-specific-runtime-libs \
+ --with-sysroot=%{_prefix}/@tool_target@/sys-root \
+ --enable-languages="$languages" $optargs
+
+%if "%_host" != "%_build"
+ # Bug in gcc-3.2.1:
+ # Somehow, gcc doesn't get syslimits.h right for Cdn-Xs
+ mkdir -p gcc/include
+ cp ../gcc-%{gcc_pkgvers}/gcc/gsyslimits.h gcc/include/syslimits.h
+%endif
+
+ make all
+%if "%{_prefix}" != "/usr"
+ make info
+%endif
+ cd ..
+
diff --git a/contrib/crossrpms/gcc/prep.add b/contrib/crossrpms/gcc/prep.add
new file mode 100644
index 0000000000..51cb83462a
--- /dev/null
+++ b/contrib/crossrpms/gcc/prep.add
@@ -0,0 +1,55 @@
+%prep
+%setup -c -T -n %{name}-%{version}
+
+%setup -q -T -D -n %{name}-%{version} -a0
+%{?PATCH0:%patch0 -p0}
+
+%if %build_cxx
+%setup -q -T -D -n %{name}-%{version} -a1
+%{?PATCH1:%patch1 -p0}
+%endif
+
+%if %build_f95
+%setup -q -T -D -n %{name}-%{version} -a2
+%{?PATCH2:%patch2 -p0}
+%endif
+
+%if %build_gcj
+%setup -q -T -D -n %{name}-%{version} -a3
+%{?PATCH3:%patch3 -p0}
+%endif
+
+%if %build_gnat
+%setup -q -T -D -n %{name}-%{version} -a4
+%{?PATCH4:%patch4 -p0}
+%endif
+
+%if %build_objc
+%setup -T -D -n %{name}-%{version} -a5
+%{?PATCH5:%patch5 -p0}
+%endif
+
+%if %build_newlib
+%setup -q -T -D -n %{name}-%{version} -a50
+cd newlib-%{newlib_version}
+%{?PATCH50:%patch50 -p1}
+cd ..
+ # Copy the C library into gcc's source tree
+ ln -s ../newlib-%{newlib_version}/newlib gcc-%{gcc_version}
+%endif
+
+ cd gcc-%{gcc_pkgvers}
+
+ case @tool_target@ in
+ *rtems*)
+ sed -e 's/\(version_string.* = \"[^\"]*\)/\1 (RTEMS gcc-%{gcc_version}-@gcc_patch_version@\/newlib-%{newlib_version}-@newlib_patch_version@-@Release@)/' \
+ gcc/version.c > gcc/version.c~
+ mv gcc/version.c~ gcc/version.c
+ ;;
+ esac
+
+ # Fix timestamps
+ contrib/gcc_update --touch
+ cd ..
+
+