mirror of
https://git.rtems.org/rtems-source-builder
synced 2024-10-09 07:15:10 +08:00
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:
@@ -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
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user