summaryrefslogtreecommitdiff
path: root/components/lwp/vdso/SConscript
blob: addcdfc84092efeb6fb6847f2c4ed8d2ff97a09b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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')