Add support for build set patch options.

Remove the hard coded dependency on all patches bring -p1 and allow
a patch to optionally provide a patch option. The ARM EABI patch is
a -p0 patch.
This commit is contained in:
Chris Johns 2013-03-11 13:55:56 +11:00
parent d007f05937
commit 3bab09c8eb
5 changed files with 72 additions and 47 deletions

View File

@ -19,7 +19,8 @@
#
# Patch to enable EABI
#
%define rtems_gcc_patch2 %{rtems_gcc_patches}/arm/gcc-4.7-arm-to-eabi-20120511.diff
%define rtems_gcc_patch2 %{rtems_gcc_patches}/arm/gcc-4.7-arm-to-eabi-20120511.diff
%define rtems_gcc_patch2_opts -p0
#
# Tools configuration.

View File

@ -3,25 +3,49 @@
#
%if %{defined rtems_gcc_patch1}
Patch1: %{rtems_gcc_patch1}
%if %{defined rtems_gcc_patch1_opts}
%define patch1_opts %{rtems_gcc_patch1_opts}
%endif
%endif
%if %{defined rtems_gcc_patch2}
Patch2: %{rtems_gcc_patch2}
%if %{defined rtems_gcc_patch2_opts}
%define patch2_opts %{rtems_gcc_patch2_opts}
%endif
%endif
%if %{defined rtems_gcc_patch3}
Patch3: %{rtems_gcc_patch3}
%if %{defined rtems_gcc_patch3_opts}
%define patch3_opts %{rtems_gcc_patch3_opts}
%endif
%endif
%if %{defined rtems_gcc_patch4}
Patch4: %{rtems_gcc_patch4}
%if %{defined rtems_gcc_patch4_opts}
%define patch4_opts %{rtems_gcc_patch4_opts}
%endif
%endif
%if %{defined rtems_gcc_patch11}
Patch11: %{rtems_gcc_patch11}
%if %{defined rtems_gcc_patch11_opts}
%define patch11_opts %{rtems_gcc_patch11_opts}
%endif
%endif
%if %{defined rtems_gcc_patch12}
Patch12: %{rtems_gcc_patch12}
%if %{defined rtems_gcc_patch12_opts}
%define patch12_opts %{rtems_gcc_patch12_opts}
%endif
%endif
%if %{defined rtems_gcc_patch13}
Patch13: %{rtems_gcc_patch13}
%if %{defined rtems_gcc_patch13_opts}
%define patch13_opts %{rtems_gcc_patch13_opts}
%endif
%endif
%if %{defined rtems_gcc_patch14}
Patch14: %{rtems_gcc_patch14}
%if %{defined rtems_gcc_patch14_opts}
%define patch14_opts %{rtems_gcc_patch14_opts}
%endif
%endif

View File

@ -25,19 +25,19 @@ BuildRoot: %{_tmppath}/%{name}-root-%(%{__id_u} -n)
# Prepare the source code.
#
%prep
%setup -q -c -n %{name}-%{version}
cd binutils-%{binutils_version}
%{?patch0:%patch0 -p1}
%{?patch1:%patch1 -p1}
%{?patch2:%patch2 -p1}
%{?patch3:%patch3 -p1}
%{?patch4:%patch4 -p1}
%{?patch5:%patch5 -p1}
%{?patch6:%patch6 -p1}
%{?patch7:%patch7 -p1}
%{?patch8:%patch8 -p1}
%{?patch9:%patch9 -p1}
cd ..
%setup -q -c -n %{name}-%{version}
cd binutils-%{binutils_version}
%{?patch0:%patch0 %{?patch0_opts:%{patch0_opts}}%{!?patch0_opts:-p1}}
%{?patch1:%patch1 %{?patch1_opts:%{patch1_opts}}%{!?patch1_opts:-p1}}
%{?patch2:%patch2 %{?patch2_opts:%{patch2_opts}}%{!?patch2_opts:-p1}}
%{?patch3:%patch3 %{?patch3_opts:%{patch3_opts}}%{!?patch3_opts:-p1}}
%{?patch4:%patch4 %{?patch4_opts:%{patch4_opts}}%{!?patch4_opts:-p1}}
%{?patch5:%patch5 %{?patch5_opts:%{patch5_opts}}%{!?patch5_opts:-p1}}
%{?patch6:%patch6 %{?patch6_opts:%{patch6_opts}}%{!?patch6_opts:-p1}}
%{?patch7:%patch7 %{?patch7_opts:%{patch7_opts}}%{!?patch7_opts:-p1}}
%{?patch8:%patch8 %{?patch8_opts:%{patch8_opts}}%{!?patch8_opts:-p1}}
%{?patch9:%patch9 %{?patch9_opts:%{patch9_opts}}%{!?patch9_opts:-p1}}
cd ..
%build
export PATH="%{_bindir}:${PATH}"

View File

@ -61,31 +61,31 @@ Source22: ftp://ftp.gnu.org/gnu/gmp/gmp-%{gmp_version}.tar.bz2
%setup -q -c -n %{name}-%{version}
%{?source1:%setup -q -D -T -n %{name}-%{version} -a1}
cd gcc-%{gcc_version}
%{?patch0:%patch0 -p1}
%{?patch1:%patch1 -p1}
%{?patch2:%patch2 -p1}
%{?patch3:%patch3 -p1}
%{?patch4:%patch4 -p1}
%{?patch5:%patch5 -p1}
%{?patch6:%patch6 -p1}
%{?patch7:%patch7 -p1}
%{?patch8:%patch8 -p1}
%{?patch9:%patch9 -p1}
%{?patch0:%patch0 %{?patch0_opts:%{patch0_opts}}%{!?patch0_opts:-p1}}
%{?patch1:%patch1 %{?patch1_opts:%{patch1_opts}}%{!?patch1_opts:-p1}}
%{?patch2:%patch2 %{?patch2_opts:%{patch2_opts}}%{!?patch2_opts:-p1}}
%{?patch3:%patch3 %{?patch3_opts:%{patch3_opts}}%{!?patch3_opts:-p1}}
%{?patch4:%patch4 %{?patch4_opts:%{patch4_opts}}%{!?patch4_opts:-p1}}
%{?patch5:%patch5 %{?patch5_opts:%{patch5_opts}}%{!?patch5_opts:-p1}}
%{?patch6:%patch6 %{?patch6_opts:%{patch6_opts}}%{!?patch6_opts:-p1}}
%{?patch7:%patch7 %{?patch7_opts:%{patch7_opts}}%{!?patch7_opts:-p1}}
%{?patch8:%patch8 %{?patch8_opts:%{patch8_opts}}%{!?patch8_opts:-p1}}
%{?patch9:%patch9 %{?patch9_opts:%{patch9_opts}}%{!?patch9_opts:-p1}}
cd ..
# newlib
%setup -q -D -T -n %{name}-%{version} -a10
cd newlib-%{newlib_version}
%{?patch10:%patch10 -p1}
%{?patch11:%patch11 -p1}
%{?patch12:%patch12 -p1}
%{?patch13:%patch13 -p1}
%{?patch14:%patch14 -p1}
%{?patch15:%patch15 -p1}
%{?patch16:%patch16 -p1}
%{?patch17:%patch17 -p1}
%{?patch18:%patch18 -p1}
%{?patch19:%patch19 -p1}
%{?patch10:%patch10 %{?patch10_opts:%{patch10_opts}}%{?!patch10_opts:-p1}}
%{?patch11:%patch11 %{?patch11_opts:%{patch11_opts}}%{?!patch11_opts:-p1}}
%{?patch12:%patch12 %{?patch12_opts:%{patch12_opts}}%{?!patch12_opts:-p1}}
%{?patch13:%patch13 %{?patch13_opts:%{patch13_opts}}%{?!patch13_opts:-p1}}
%{?patch14:%patch14 %{?patch14_opts:%{patch14_opts}}%{?!patch14_opts:-p1}}
%{?patch15:%patch15 %{?patch15_opts:%{patch15_opts}}%{?!patch15_opts:-p1}}
%{?patch16:%patch16 %{?patch16_opts:%{patch16_opts}}%{?!patch16_opts:-p1}}
%{?patch17:%patch17 %{?patch17_opts:%{patch17_opts}}%{?!patch17_opts:-p1}}
%{?patch18:%patch18 %{?patch18_opts:%{patch18_opts}}%{?!patch18_opts:-p1}}
%{?patch19:%patch19 %{?patch19_opts:%{patch19_opts}}%{?!patch19_opts:-p1}}
cd ..
# Link newlib into the gcc source tree

View File

@ -25,19 +25,19 @@ BuildRoot: %{_tmppath}/%{name}-root-%(%{__id_u} -n)
# Prepare the source code.
#
%prep
%setup -q -c -n %{name}-%{version}
cd gdb-%{gdb_version}
%{?patch0:%patch0 -p1}
%{?patch1:%patch1 -p1}
%{?patch2:%patch2 -p1}
%{?patch3:%patch3 -p1}
%{?patch4:%patch4 -p1}
%{?patch5:%patch5 -p1}
%{?patch6:%patch6 -p1}
%{?patch7:%patch7 -p1}
%{?patch8:%patch8 -p1}
%{?patch9:%patch9 -p1}
cd ..
%setup -q -c -n %{name}-%{version}
cd gdb-%{gdb_version}
%{?patch0:%patch0 %{?patch0_opts:%{patch0_opts}}%{!?patch0_opts:-p1}}
%{?patch1:%patch1 %{?patch1_opts:%{patch1_opts}}%{!?patch1_opts:-p1}}
%{?patch2:%patch2 %{?patch2_opts:%{patch2_opts}}%{!?patch2_opts:-p1}}
%{?patch3:%patch3 %{?patch3_opts:%{patch3_opts}}%{!?patch3_opts:-p1}}
%{?patch4:%patch4 %{?patch4_opts:%{patch4_opts}}%{!?patch4_opts:-p1}}
%{?patch5:%patch5 %{?patch5_opts:%{patch5_opts}}%{!?patch5_opts:-p1}}
%{?patch6:%patch6 %{?patch6_opts:%{patch6_opts}}%{!?patch6_opts:-p1}}
%{?patch7:%patch7 %{?patch7_opts:%{patch7_opts}}%{!?patch7_opts:-p1}}
%{?patch8:%patch8 %{?patch8_opts:%{patch8_opts}}%{!?patch8_opts:-p1}}
%{?patch9:%patch9 %{?patch9_opts:%{patch9_opts}}%{!?patch9_opts:-p1}}
cd ..
%build
export PATH="%{_bindir}:${PATH}"