Restructure RTEMS Config Files

Add arch build files. This allows archs to have different versions
and patches for specific tools.

Break the RTEMS config directory up into separate directories to
make long term maintenance easier. This required a change to config.py
to handle the config files being in subdirs of the config directory.

The defaults have been updated to include the install SB root so
packages built before a package are available.

Add makeinfo to the required tools. GDB (and others) need it to
build without error.
This commit is contained in:
Chris Johns 2013-02-13 11:30:47 +11:00
parent aa46b9cec0
commit d963553b51
25 changed files with 167 additions and 15 deletions

View File

@ -14,6 +14,6 @@
#
# Tools configuration.
#
rtems-binutils-2.22-1
rtems-gcc-4.6.3-newlib-1.20.0-1
rtems-gdb-7.5-1
tools/rtems-binutils-2.22-1
tools/rtems-gcc-4.6.3-newlib-1.20.0-1
tools/rtems-gdb-7.5-1

View File

@ -0,0 +1,19 @@
#
# Tools Set for RTEMS AVR 4.11 Stable
#
%define _target avr-rtems4.11
%define release 1
#
# The RTEMS 4.11 base defines.
#
%include rtems-4.11-base.bset
#
# Tools configuration.
#
tools/rtems-binutils-2.22-1
tools/rtems-gcc-4.7.2-newlib-1.20.0-1
tools/rtems-gdb-7.5.1-1

View File

@ -0,0 +1,19 @@
#
# Tools Set for RTEMS BFIN 4.11 Stable
#
%define _target bfin-rtems4.11
%define release 1
#
# The RTEMS 4.11 base defines.
#
%include rtems-4.11-base.bset
#
# Tools configuration.
#
tools/rtems-binutils-2.22-1
tools/rtems-gcc-4.7.2-newlib-1.20.0-1
tools/rtems-gdb-7.5.1-1

View File

@ -0,0 +1,19 @@
#
# Tools Set for RTEMS H8300 4.11 Stable
#
%define _target h8300-rtems4.11
%define release 1
#
# The RTEMS 4.11 base defines.
#
%include rtems-4.11-base.bset
#
# Tools configuration.
#
tools/rtems-binutils-2.22-1
tools/rtems-gcc-4.7.2-newlib-1.20.0-1
tools/rtems-gdb-7.5.1-1

View File

@ -0,0 +1,19 @@
#
# Tools Set for RTEMS M32C 4.11 Stable
#
%define _target m32c-rtems4.11
%define release 1
#
# The RTEMS 4.11 base defines.
#
%include rtems-4.11-base.bset
#
# Tools configuration.
#
tools/rtems-binutils-2.22-1
tools/rtems-gcc-4.7.2-newlib-1.20.0-1
tools/rtems-gdb-7.5.1-1

View File

@ -0,0 +1,19 @@
#
# Tools Set for RTEMS M32R 4.11 Stable
#
%define _target m32r-rtems4.11
%define release 1
#
# The RTEMS 4.11 base defines.
#
%include rtems-4.11-base.bset
#
# Tools configuration.
#
tools/rtems-binutils-2.22-1
tools/rtems-gcc-4.7.2-newlib-1.20.0-1
tools/rtems-gdb-7.5.1-1

View File

@ -0,0 +1,19 @@
#
# Tools Set for RTEMS M68K 4.11 Stable
#
%define _target m68k-rtems4.11
%define release 1
#
# The RTEMS 4.11 base defines.
#
%include rtems-4.11-base.bset
#
# Tools configuration.
#
tools/rtems-binutils-2.22-1
tools/rtems-gcc-4.7.2-newlib-1.20.0-1
tools/rtems-gdb-7.5.1-1

View File

@ -0,0 +1,19 @@
#
# Tools Set for RTEMS MIPS 4.11 Stable
#
%define _target mips-rtems4.11
%define release 1
#
# The RTEMS 4.11 base defines.
#
%include rtems-4.11-base.bset
#
# Tools configuration.
#
tools/rtems-binutils-2.22-1
tools/rtems-gcc-4.7.2-newlib-1.20.0-1
tools/rtems-gdb-7.5.1-1

View File

@ -20,6 +20,7 @@ package: rtems-%{rtems_version}-%{_target}-%{release}
#
# Tools configuration.
#
rtems-nios2-binutils-2.20-1
rtems-nios2-gcc-4.1-newlib-1.19.0-1
rtems-nios2-gdb-7.0-1
tools/rtems-nios2-binutils-2.20-1
tools/rtems-nios2-gcc-4.1-newlib-1.19.0-1
expat-2.1.0-1
tools/rtems-nios2-gdb-7.0-1

View File

@ -14,6 +14,6 @@
#
# Tools configuration.
#
rtems-binutils-2.22-1
rtems-gcc-4.6.3-newlib-1.20.0-1
rtems-gdb-7.5-1
tools/rtems-binutils-2.22-1
tools/rtems-gcc-4.7.2-newlib-1.20.0-1
tools/rtems-gdb-7.5.1-1

View File

@ -35,9 +35,7 @@ cd ..
export PATH="%{_bindir}:${PATH}"
mkdir -p build
cd build
%if %{host_force_32bit} == %{nil}
HOST_FORCE_32BIT="-m32"
%endif
%{?host_force_32bit:HOST_FORCE_32BIT="-m32"}
%if "%{_build}" != "%{_host}"
CFLAGS_FOR_BUILD="-g -O2 -Wall ${HOST_FORCE_32BIT}" \
%endif

View File

@ -687,6 +687,16 @@ class file:
def load(self, name):
def common_end(left, right):
end = ''
while len(left) and len(right):
if left[-1] != right[-1]:
return end
end = left[-1] + end
left = left[:-1]
right = right[:-1]
return end
if self.load_depth == 0:
self.in_error = False
self.lc = 0
@ -707,7 +717,7 @@ class file:
self.lc = 0
#
# Locate the config file. Expand any macors then Add the
# Locate the config file. Expand any macros then add the
# extension. Check if the file exists, therefore directly
# referenced. If not see if the file contains ':' or the path
# separator. If it does split the path else use the standard config dir
@ -716,12 +726,19 @@ class file:
exname = self.expand(name)
#
# Macro could add an extension.
#
if exname.endswith('.cfg'):
configname = exname
else:
configname = '%s.cfg' % (exname)
name = '%s.cfg' % (name)
cfgname = path.basename(configname)
if ':' in configname:
cfgname = path.basename(configname)
else:
cfgname = common_end(configname, name)
if not path.exists(configname):
if ':' in configname:
@ -730,6 +747,7 @@ class file:
configdirs = self.define('_configdir').split(':')
for cp in configdirs:
configname = path.join(path.abspath(cp), cfgname)
print configname
if path.exists(configname):
break
configname = None

View File

@ -107,6 +107,7 @@ defaults = {
'__automake': ('exe', 'required', 'automake'),
'__awk': ('exe', 'required', 'awk'),
'__bash': ('exe', 'optional', '/bin/bash'),
'__bison': ('exe', 'required', '/usr/bin/bison'),
'__bzip2': ('exe', 'required', '/usr/bin/bzip2'),
'__cat': ('exe', 'required', '/bin/cat'),
'__cc': ('exe', 'required', '/usr/bin/gcc'),
@ -127,6 +128,7 @@ defaults = {
'__ldconfig': ('exe', 'required', '/sbin/ldconfig'),
'__ln_s': ('exe', 'none', 'ln -s'),
'__make': ('exe', 'required', 'make'),
'__makeinfo': ('exe', 'required', '/usr/bin/makeinfo'),
'__mkdir': ('exe', 'required', '/bin/mkdir'),
'__mkdir_p': ('exe', 'none', '/bin/mkdir -p'),
'__mv': ('exe', 'required', '/bin/mv'),
@ -155,7 +157,7 @@ defaults = {
# Directories
SB_SOURCE_DIR="%{_sourcedir}"
SB_BUILD_DIR="%{_builddir}"
SB_OPT_FLAGS="%{optflags}"
SB_OPT_FLAGS="%{?tmproot:-I%{tmproot}/%{_prefix}/include -L%{tmproot}/%{_prefix}/lib} %{optflags}"
SB_ARCH="%{_arch}"
SB_OS="%{_os}"
export SB_SOURCE_DIR SB_BUILD_DIR SB_OPT_FLAGS SB_ARCH SB_OS