aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@arm.com>2021-01-08 12:54:03 +0000
committerRoss Burton <ross.burton@arm.com>2021-01-08 13:32:44 +0000
commite9d61cf31c40b8b8cedf5e9014b175f02866ff5a (patch)
tree7fba85baaacd43967620e716bd25c578fda7f857
parent78c0350c4c7988282e4ec2b5d6c2cfbf7e2daada (diff)
downloadpseudo-e9d61cf31c40b8b8cedf5e9014b175f02866ff5a.zip
pseudo-e9d61cf31c40b8b8cedf5e9014b175f02866ff5a.tar.gz
pseudo-e9d61cf31c40b8b8cedf5e9014b175f02866ff5a.tar.bz2
support version overrides
Signed-off-by: Ross Burton <ross.burton@arm.com>
-rwxr-xr-xmakewrappers17
1 files changed, 13 insertions, 4 deletions
diff --git a/makewrappers b/makewrappers
index e68f6a9..6681e11 100755
--- a/makewrappers
+++ b/makewrappers
@@ -11,6 +11,7 @@ import glob
import sys
import re
import os.path
+import platform
import string
import subprocess
from templatefile import TemplateFile
@@ -290,10 +291,18 @@ class Function:
# handle special comments, such as flags=AT_SYMLINK_NOFOLLOW
if self.comments:
- modifiers = self.comments.split(', ')
- for mod in modifiers:
- key, value = mod.split('=')
- value = value.rstrip()
+ # Build a dictionary of key=value, key=value pairs
+ modifiers = dict(mod.split("=") for mod in self.comments.split(','))
+ # Strip all leading/trailing whitespace
+ modifiers = {k.strip():v.strip() for k, v in modifiers.items()}
+
+ arch = "-" + platform.machine()
+ # Sorted so that versions-foo appear after versions, so overrides are easy
+ for key in sorted(modifiers):
+ value = modifiers[key]
+ # If the key is version-arm64 and we're on arm64 then rename this to version
+ if key.endswith(arch):
+ key = key.replace(arch, "")
setattr(self, key, value)
def maybe_inode64(self):