[rtems-libbsd commit] scripts: Support Linux import

Sebastian Huber sebh at rtems.org
Mon Oct 23 07:27:51 UTC 2017


Module:    rtems-libbsd
Branch:    master
Commit:    23d6e507d63713c6e0162751f8602bd9b8d6e6d1
Changeset: http://git.rtems.org/rtems-libbsd/commit/?id=23d6e507d63713c6e0162751f8602bd9b8d6e6d1

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Mon Apr  3 15:18:09 2017 +0200

scripts: Support Linux import

---

 builder.py          | 39 +++++++++++++++++++++++++++++++++++++++
 freebsd-to-rtems.py |  4 +++-
 2 files changed, 42 insertions(+), 1 deletion(-)

diff --git a/builder.py b/builder.py
index dc60d32..457af69 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 443fa83..418c6c7 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:



More information about the vc mailing list