mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-07-23 15:35:07 +08:00
scripts: Support Linux import
This commit is contained in:
parent
fa4ec51293
commit
23d6e507d6
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(),
|
||||
|
@ -122,6 +122,7 @@ print("Diff Mode Enabled: %s" % (("no", "yes")[builder.isDiffMode]))
|
||||
print("Only Generate Build Scripts: %s" % (("no", "yes")[isOnlyBuildScripts]))
|
||||
print("LibBSD Directory: %s" % (builder.LIBBSD_DIR))
|
||||
print("FreeBSD Directory: %s" % (builder.FreeBSD_DIR))
|
||||
print("Linux Directory: %s" % (builder.Linux_DIR))
|
||||
print("Direction: %s" % (("reverse", "forward")[isForward]))
|
||||
|
||||
# Check directory argument was set and exist
|
||||
@ -137,10 +138,11 @@ def wasDirectorySet(desc, path):
|
||||
# Were directories specified?
|
||||
wasDirectorySet( "LibBSD", builder.LIBBSD_DIR )
|
||||
wasDirectorySet( "FreeBSD", builder.FreeBSD_DIR )
|
||||
wasDirectorySet( "Linux", builder.Linux_DIR )
|
||||
|
||||
# Are we generating or reverting?
|
||||
if isForward == True:
|
||||
print("Forward from", builder.FreeBSD_DIR, "into", builder.LIBBSD_DIR)
|
||||
print("Forward from", builder.FreeBSD_DIR, "and", builder.Linux_DIR, "into", builder.LIBBSD_DIR)
|
||||
else:
|
||||
print("Reverting from", builder.LIBBSD_DIR)
|
||||
if isOnlyBuildScripts == True:
|
||||
|
Loading…
x
Reference in New Issue
Block a user