summaryrefslogtreecommitdiffstats
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
parentscripts: Generalize names (diff)
downloadrtems-libbsd-23d6e507d63713c6e0162751f8602bd9b8d6e6d1.tar.bz2
scripts: Support Linux import
-rwxr-xr-xbuilder.py39
-rwxr-xr-xfreebsd-to-rtems.py4
2 files changed, 42 insertions, 1 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(),
diff --git a/freebsd-to-rtems.py b/freebsd-to-rtems.py
index 443fa833..418c6c76 100755
--- a/freebsd-to-rtems.py
+++ b/freebsd-to-rtems.py
@@ -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: