summaryrefslogtreecommitdiff
path: root/components/lwp/vdso/SConscript
diff options
context:
space:
mode:
authorShell <[email protected]>2024-07-17 09:39:54 +0800
committerGitHub <[email protected]>2024-07-17 09:39:54 +0800
commitf6f570df742e8f03fb696ea036987b4d48a542c4 (patch)
treed5e6c7a6c4d75b0fbb03f8ff4b3c02ccacddf5ec /components/lwp/vdso/SConscript
parent65ffe4e13ef52d007d83c93467871c529705b522 (diff)
parent4ad194bb47101345ce3b3fa631ab2215a0c190c0 (diff)
Merge branch 'master' into shell/rv64-tick
Diffstat (limited to 'components/lwp/vdso/SConscript')
-rw-r--r--components/lwp/vdso/SConscript48
1 files changed, 48 insertions, 0 deletions
diff --git a/components/lwp/vdso/SConscript b/components/lwp/vdso/SConscript
new file mode 100644
index 0000000000..addcdfc840
--- /dev/null
+++ b/components/lwp/vdso/SConscript
@@ -0,0 +1,48 @@
+import os
+import rtconfig
+import subprocess
+from building import *
+Import('RTT_ROOT')
+
+group = []
+
+cwd = GetCurrentDir()
+CPPPATH = [cwd, cwd + "/kernel"]
+
+if not GetDepend(['RT_USING_VDSO']):
+ Return('group')
+
+if rtconfig.ARCH != "aarch64":
+ src = Glob('*.c')
+ group = DefineGroup('VDSO', src, depend = ['RT_USING_SMART','RT_USING_VDSO'], CPPPATH = CPPPATH)
+ Return('group')
+
+list = os.listdir(cwd)
+src = Glob('kernel/*.c')
+src +=Glob('kernel/*.S')
+
+if not os.path.exists(cwd + "/user/vdso.lds"):
+ Preprocessing("user/vdso.lds.S", ".lds", CPPPATH=[cwd])
+
+#aarch64 vdso xmake
+# vdso_file = os.path.join(cwd, 'usr', 'xmake.lua')
+# command = ["xmake", "-F", vdso_file]
+# clean = ["xmake", "clean"]
+
+vdso_file = os.path.join(cwd, 'user', 'SConstruct')
+command = ["scons", "-f", vdso_file]
+clean = ["scons", "-f", vdso_file, "--clean"]
+
+if not GetOption('clean'):
+ result = subprocess.run(command)
+else:
+ result = subprocess.run(clean)
+
+if result.returncode == 0:
+ print("Command executed successfully")
+else:
+ print("Command failed with exit code:", result.returncode)
+ exit(1)
+
+group = DefineGroup('VDSO', src, depend = ['RT_USING_SMART','RT_USING_VDSO'], CPPPATH = CPPPATH)
+Return('group')