49 lines
1.2 KiB
Python
49 lines
1.2 KiB
Python
|
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')
|