summaryrefslogtreecommitdiffstats
path: root/builder.py
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-04-03 15:18:09 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-10-20 14:59:55 +0200
commit23d6e507d63713c6e0162751f8602bd9b8d6e6d1 (patch)
tree52628b80d0c7f6c8cc2a03b17744c3b854d75243 /builder.py
parentscripts: Generalize names (diff)
downloadrtems-libbsd-23d6e507d63713c6e0162751f8602bd9b8d6e6d1.tar.bz2
scripts: Support Linux import
Diffstat (limited to '')
-rwxr-xr-xbuilder.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/builder.py b/builder.py
index dc60d32e..457af69c 100755
--- a/builder.py
+++ b/builder.py
@@ -50,6 +50,7 @@ import codecs
#
LIBBSD_DIR = "."
FreeBSD_DIR = "freebsd-org"
+Linux_DIR = "linux-org"
verboseLevel = 0
isDryRun = False
isDiffMode = False
@@ -544,12 +545,25 @@ class RTEMSPathComposer(PathComposer):
def composeLibBSDPath(self, path, prefix):
return os.path.join(prefix, 'rtemsbsd', path)
+class LinuxPathComposer(PathComposer):
+ def composeOriginPath(self, path):
+ return os.path.join(Linux_DIR, path)
+
+ def composeLibBSDPath(self, path, prefix):
+ return os.path.join(prefix, 'linux', path)
+
class CPUDependentFreeBSDPathComposer(FreeBSDPathComposer):
def composeLibBSDPath(self, path, prefix):
path = super(CPUDependentFreeBSDPathComposer, self).composeLibBSDPath(path, prefix)
path = mapCPUDependentPath(path)
return path
+class CPUDependentLinuxPathComposer(LinuxPathComposer):
+ def composeLibBSDPath(self, path, prefix):
+ path = super(CPUDependentLinuxPathComposer, self).composeLibBSDPath(path, prefix)
+ path = mapCPUDependentPath(path)
+ return path
+
class TargetSourceCPUDependentPathComposer(CPUDependentFreeBSDPathComposer):
def __init__(self, targetCPU, sourceCPU):
self.targetCPU = targetCPU
@@ -661,11 +675,21 @@ class Module:
self.files += self.addFiles(files, RTEMSPathComposer(),
NoConverter(), NoConverter(), assertHeaderFile)
+ def addLinuxHeaderFiles(self, files):
+ self.files += self.addFiles(files,
+ LinuxPathComposer(), FromFreeBSDToRTEMSHeaderConverter(),
+ FromRTEMSToFreeBSDHeaderConverter(), assertHeaderFile)
+
def addCPUDependentFreeBSDHeaderFiles(self, files):
self.files += self.addFiles(files,
CPUDependentFreeBSDPathComposer(), FromFreeBSDToRTEMSHeaderConverter(),
FromRTEMSToFreeBSDHeaderConverter(), assertHeaderFile)
+ def addCPUDependentLinuxHeaderFiles(self, files):
+ self.files += self.addFiles(files,
+ CPUDependentLinuxPathComposer(), FromFreeBSDToRTEMSHeaderConverter(),
+ FromRTEMSToFreeBSDHeaderConverter(), assertHeaderFile)
+
def addTargetSourceCPUDependentHeaderFiles(self, targetCPUs, sourceCPU, files):
for cpu in targetCPUs:
self.files += self.addFiles(files,
@@ -696,6 +720,12 @@ class Module:
RTEMSPathComposer(), NoConverter(), NoConverter(),
assertSourceFile, sourceFileFragmentComposer)
+ def addLinuxSourceFiles(self, files, sourceFileFragmentComposer):
+ self.files += self.addFiles(files,
+ LinuxPathComposer(), FromFreeBSDToRTEMSSourceConverter(),
+ FromRTEMSToFreeBSDSourceConverter(), assertSourceFile,
+ sourceFileFragmentComposer)
+
def addCPUDependentFreeBSDSourceFiles(self, cpus, files, sourceFileFragmentComposer):
for cpu in cpus:
self.initCPUDependencies(cpu)
@@ -705,6 +735,15 @@ class Module:
FromRTEMSToFreeBSDSourceConverter(), assertSourceFile,
sourceFileFragmentComposer)
+ def addCPUDependentLinuxSourceFiles(self, cpus, files, sourceFileFragmentComposer):
+ for cpu in cpus:
+ self.initCPUDependencies(cpu)
+ self.cpuDependentSourceFiles[cpu] += \
+ self.addFiles(files,
+ CPUDependentLinuxPathComposer(), FromFreeBSDToRTEMSSourceConverter(),
+ FromRTEMSToFreeBSDSourceConverter(), assertSourceFile,
+ sourceFileFragmentComposer)
+
def addTest(self, testFragementComposer):
self.files += [File(testFragementComposer.testName,
PathComposer(), NoConverter(), NoConverter(),