scripts: Support Linux import

This commit is contained in:
Sebastian Huber 2017-04-03 15:18:09 +02:00
parent fa4ec51293
commit 23d6e507d6
2 changed files with 42 additions and 1 deletions

View File

@ -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(),

View File

@ -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: