From 23d6e507d63713c6e0162751f8602bd9b8d6e6d1 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 3 Apr 2017 15:18:09 +0200 Subject: scripts: Support Linux import --- builder.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'builder.py') 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(), -- cgit v1.2.3