mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-10-16 12:32:13 +08:00
scripts: Support Linux import
This commit is contained in:
39
builder.py
39
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(),
|
||||
|
Reference in New Issue
Block a user