[rtems-source-builder commit] Clean up 4.9 build issues.

Chris Johns chrisj at rtems.org
Tue Mar 1 03:36:26 UTC 2016


Module:    rtems-source-builder
Branch:    master
Commit:    b537e5536459e207fc8e56a1df3774c1700606d5
Changeset: http://git.rtems.org/rtems-source-builder/commit/?id=b537e5536459e207fc8e56a1df3774c1700606d5

Author:    Chris Johns <chrisj at rtems.org>
Date:      Tue Mar  1 14:33:22 2016 +1100

Clean up 4.9 build issues.

Add support so 4.9 builds on a recent FreeBSD using clang.

---

 .../tools/rtems-gcc-4.3.2-newlib-1.16.0-1.cfg      | 12 ++++
 rtems/config/tools/rtems-gdb-6.8-1.cfg             |  8 +++
 rtems/config/tools/rtems-kernel-4.9.6-1.cfg        |  2 +
 source-builder/config/gcc-4.3-1.cfg                |  7 +-
 source-builder/config/gdb-6-1.cfg                  | 83 +++++++++++++++++-----
 5 files changed, 92 insertions(+), 20 deletions(-)

diff --git a/rtems/config/tools/rtems-gcc-4.3.2-newlib-1.16.0-1.cfg b/rtems/config/tools/rtems-gcc-4.3.2-newlib-1.16.0-1.cfg
index d1af911..2ef31bb 100644
--- a/rtems/config/tools/rtems-gcc-4.3.2-newlib-1.16.0-1.cfg
+++ b/rtems/config/tools/rtems-gcc-4.3.2-newlib-1.16.0-1.cfg
@@ -24,6 +24,18 @@
 %patch  add newlib %{rtems_newlib_patches}/newlib-1.16.0-rtems4.9-20090324.diff
 
 #
+# Checksums.
+#
+%hash sha512 gcc-core-4.3.2.tar.bz2 7fa7cfd57b3cb37990f41132037666d511a480df28d6d5a0620520501488abad89c7843067188bbe23f0c4d3eb5d113537a6a9375135596b58b3d7a848dc8a39
+%hash sha512 gcc-core-4.3.2-rtems4.9-20090825.diff d326372a756a7289404031eb16dcc51c15259342ea3f8697f23cfa754ee38305d5e6aaeef56c83f11cdd28c85711c430d894a87303ad932b024a17fa4aaa4f63
+%hash sha512 gcc-g++-%{gcc_version}.tar.bz2 b349344a9ea67418cca4b7465263e7c28b28008b9fbd76d7db2fb4ad38e63a943c601bc33e641319d48a48a8848562afff96c9ddaf90141d9ab835be6b955bb7
+%hash sha512 mpfr-2.4.2.tar.bz2 c004b3dbf86c04960e4a1f8db37a409a7cc4cb76135e76e98dcc5ad93aaa8deb62334ee13ff84447a7c12a5e8cb57f25c62ac908c24920f1fb1a38d79d4a4c5e
+%hash sha512 mpc-0.8.2.tar.gz dcaac3897adf1411e1199e295e88d7438afc600f412565c3b450b0102b83751eb160f85b7522891195ff0a0a29fccedd07dc011a950969a0979c4e3d4efc1e10
+%hash sha512 gmp-5.0.5.tar.bz2 64ba88a4a64fefb16eae9c644ea81194011ea0b42664a5af6b014e7da3d0f09605dee518b9a361b06510311cdfd496ab68d09da3d85d6680bdac3f765eb67f61
+%hash sha512 newlib-1.16.0.tar.gz 40eb96bbc6736a16b6399e0cdb73e853d0d90b685c967e77899183446664d64570277a633fdafdefc351b46ce210a99115769a1d9f47ac749d7e82837d4d1ac3
+%hash sha512 newlib-1.16.0-rtems4.9-20090324.diff 6222e85dc8a5f49089742b09348b4f9663861d8c41dba79227d0ff343d4a9f71a5a1d7aacd61567401b924c6453f0e44bc8045226f25ded2bd3fa8ede4c9742f
+
+#
 # The gcc/newlib build instructions. We use 4.7 Release 1.
 #
 %include %{_configdir}/gcc-4.3-1.cfg
diff --git a/rtems/config/tools/rtems-gdb-6.8-1.cfg b/rtems/config/tools/rtems-gdb-6.8-1.cfg
index 9159352..16f087c 100644
--- a/rtems/config/tools/rtems-gdb-6.8-1.cfg
+++ b/rtems/config/tools/rtems-gdb-6.8-1.cfg
@@ -8,11 +8,19 @@
 %define gdb_version 6.8
 
 #
+# Force the standard of C code for GCC.
+#
+%define build_cflags %{build_cflags} --std=gnu89 -Wno-return-type
+
+#
 # RTEMS Build Set patches.
 #
 %source set gdb http://ftp.gnu.org/gnu/gdb/gdb-6.8a.tar.bz2
 %patch  add gdb %{rtems_gdb_patches}/gdb-6.8-rtems4.9-20091111.diff
 
+%hash sha512 gdb-6.8a.tar.bz2 5114fe14ab25dc085590acff3a6feb75eb93347e501c634548308c4f51b31416ea23b8e612dfc54da466d3e7471e210d8f7a12ff6c050e9e89920884e5a64008
+%hash sha512 gdb-6.8-rtems4.9-20091111.diff 2e6eb2bdeac4bba7c2fcaf701399148fc5de82dfa81e021111f5a20654afe5aad77d6fd0edbc31965107f2fe9a43738938d79a313836267ad69dc8509fcbf691
+
 #
 # The gdb build instructions. We use 6.xx Release 1.
 #
diff --git a/rtems/config/tools/rtems-kernel-4.9.6-1.cfg b/rtems/config/tools/rtems-kernel-4.9.6-1.cfg
index f78533b..d48bc44 100644
--- a/rtems/config/tools/rtems-kernel-4.9.6-1.cfg
+++ b/rtems/config/tools/rtems-kernel-4.9.6-1.cfg
@@ -9,6 +9,8 @@
 %define rtems_kernel_version     4.9.6
 %define rtems_kernel_compression bz2
 
+%hash sha512 rtems-4.9.6.tar.bz2 16ab7b2f9119208a24dc0bd21361a5fd910e73044c42d7b68174490ca9cc5c226543664831f9a036f28d1cf8b61d19a15404516d7a87d424e0bc2c09e60767e3
+
 #
 # The RTEMS build instructions. We use 4.xx Release 1.
 #
diff --git a/source-builder/config/gcc-4.3-1.cfg b/source-builder/config/gcc-4.3-1.cfg
index d499a15..a7b825b 100644
--- a/source-builder/config/gcc-4.3-1.cfg
+++ b/source-builder/config/gcc-4.3-1.cfg
@@ -1,11 +1,16 @@
 #
-# GCC 4.7 Version 1.
+# GCC 4.3.1 Version 1.
 #
 # This configuration file configure's, make's and install's gcc. It uses
 # newlib, MPFR, MPC, and GMP in a one-tree build configuration.
 #
 
 #
+# Force the standard of C code for GCC.
+#
+%define build_cflags %{build_cflags} --std=gnu89
+
+#
 # Source
 #
 #
diff --git a/source-builder/config/gdb-6-1.cfg b/source-builder/config/gdb-6-1.cfg
index deca448..09c112c 100644
--- a/source-builder/config/gdb-6-1.cfg
+++ b/source-builder/config/gdb-6-1.cfg
@@ -4,6 +4,24 @@
 # This configuration file configure's, make's and install's gdb.
 #
 
+#
+# See if the simulator has been disabled for Windows.
+#
+%if %{_host_os} == win32
+ %if %{defined win32-gdb-disable-sim}
+  %define gdb-disable-sim 1
+  %endif
+%endif
+
+#
+# Default to building simulators.
+#
+%ifn %{defined gdb-disable-sim}
+ %define gdb-disable-sim 0
+%else
+ %undefine gdb-sim-options
+%endif
+
 %include %{_configdir}/checks.cfg
 
 Name:      %{_target}-gdb-%{gdb_version}-%{_host}-%{release}
@@ -19,30 +37,55 @@ BuildRoot: %{_tmppath}/%{name}-root-%(%{__id_u} -n)
 %source set gdb http://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2
 
 #
+# Disable Python on Cxc builds for now.
+#
+%if "%{_build}" != "%{_host}"
+  %define without_python
+%endif
+
+#
 # Prepare the source code.
 #
 %prep
-  %source setup gdb -q -c -n %{name}-%{version}
-  cd gdb-%{gdb_version}
+  build_top=$(pwd)
+
+  gdb_source=%{?gdb_external:%{gdb_expand_name}}%{!?gdb_external:"gdb-%{gdb_version}"}
+
+  source_dir_gdb=${gdb_source}
+  %source setup gdb -q -n ${gdb_source}
   %patch setup gdb -p1
-  cd ..
+
+  cd ${build_top}
 
 %build
-  export PATH="%{_bindir}:${PATH}"
-  mkdir -p build
-  cd build
-%if "%{_build}" != "%{_host}"
-  CFLAGS_FOR_BUILD="-g -O2 -Wall" \
-%endif
-  CFLAGS="$SB_CFLAGS" \
-  ../gdb-%{gdb_version}/configure \
+  build_top=$(pwd)
+
+  %{build_directory}
+
+  mkdir -p ${build_dir}
+  cd ${build_dir}
+
+  %{host_build_flags}
+
+  if test "%{_build}" != "%{_host}" ; then
+    GDB_LIBS_STATIC="-lexpat"
+  else
+    GDB_LIBS_STATIC="-lexpat"
+    GDB_LIBS="%{_forced_static}"
+  fi
+
+  LIBS_STATIC=${GDB_LIBS_STATIC} \
+  LIBS=${GDB_LIBS} \
+  ../${source_dir_gdb}/configure \
     --build=%{_build} --host=%{_host} \
     --target=%{_target} \
     --verbose --disable-nls \
     --without-included-gettext \
     --disable-win32-registry \
     --disable-werror \
-    --enable-sim \
+    %{!?gdb-disable-sim:--enable-sim}%{?gdb-disable-sim:--disable-sim} \
+    %{?gdb-sim-options:%{gdb-sim-options}} \
+    --without-zlib \
     --with-expat \
     %{!?without_python:--with-python} \
     --prefix=%{_prefix} --bindir=%{_bindir} \
@@ -51,19 +94,21 @@ BuildRoot: %{_tmppath}/%{name}-root-%(%{__id_u} -n)
     --mandir=%{_mandir} --infodir=%{_infodir}
 
   %{__make} %{?_smp_mflags} all
-  cd ..
+
+  cd ${build_top}
 
 %install
-  export PATH="%{_bindir}:${PATH}"
-  rm -rf $SB_BUILD_ROOT
+  build_top=$(pwd)
+
+  %{__rmdir} $SB_BUILD_ROOT
 
-  cd build
+  cd ${build_dir}
   %{__make} DESTDIR=$SB_BUILD_ROOT install
 
   # Dropped in FSF-binutils-2.9.5, but Cygwin still ships it.
-  rm -rf $SB_BUILD_ROOT%{_infodir}/configure.info*
+  %{__rmdir} $SB_BUILD_ROOT%{_infodir}/configure.info*
 
-  rm -f $SB_BUILD_ROOT%{_infodir}/dir
+  %{__rmfile} $SB_BUILD_ROOT%{_infodir}/dir
   touch $SB_BUILD_ROOT%{_infodir}/dir
 
-  cd ..
+  cd ${build_top}



More information about the vc mailing list