summaryrefslogtreecommitdiff
path: root/drivers/vulkan_loader/SCsub
blob: 2a4cc2928e710d623e000f737aa422aa4f069f3e (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
49
50
51
52
53
54
55
#!/usr/bin/env python

Import('env')

env_vlk_ldr = env.Clone()
loader_dir = "#thirdparty/vulkan/loader/"
loader_sources = [
    "asm_offset.c",
    "dev_ext_trampoline.c",
    "phys_dev_ext.c",
    "cJSON.c",
    "loader.c",
    "trampoline.c",
    "unknown_ext_chain.c",
    "wsi.c",
    "debug_utils.c",
    "extension_manual.c",
    "murmurhash.c"
]

if (env_vlk_ldr["platform"]=="windows"):
    loader_sources.append("dirent_on_windows.c")
    env_vlk_ldr.AppendUnique(CPPDEFINES = [
        'VK_USE_PLATFORM_WIN32_KHR',
        'VULKAN_NON_CMAKE_BUILD',
        'WIN32_LEAN_AND_MEAN',
        'API_NAME=\\"%s\\"' % 'Vulkan'
    ])
    if not env.msvc: #windows 7+, missing in mingw headers
        env_vlk_ldr.AppendUnique(CPPDEFINES = [
            "CM_GETIDLIST_FILTER_CLASS=0x00000200",
            "CM_GETIDLIST_FILTER_PRESENT=0x00000100"
        ])
elif (env_vlk_ldr["platform"]=="osx"):
    env_vlk_ldr.AppendUnique(CPPDEFINES = [
        'VK_USE_PLATFORM_MACOS_MVK',
        'VULKAN_NON_CMAKE_BUILD',
        'SYSCONFDIR=\\"%s\\"' % '/etc',
        'FALLBACK_DATA_DIRS=\\"%s\\"' % '/usr/local/share:/usr/share',
        'FALLBACK_CONFIG_DIRS=\\"%s\\"' % '/etc/xdg'
    ])
elif (env_vlk_ldr["platform"]=="x11"):
    env_vlk_ldr.AppendUnique(CPPDEFINES = [
        'VK_USE_PLATFORM_XLIB_KHR',
        'VULKAN_NON_CMAKE_BUILD',
        'SYSCONFDIR=\\"%s\\"' % '/etc',
        'FALLBACK_DATA_DIRS=\\"%s\\"' % '/usr/local/share:/usr/share',
        'FALLBACK_CONFIG_DIRS=\\"%s\\"' % '/etc/xdg'
    ])
loader_sources = [loader_dir + file for file in loader_sources]

env_thirdparty = env_vlk_ldr.Clone()
env_thirdparty.add_source_files(env.drivers_sources, loader_sources)

env.Prepend(CPPPATH=[loader_dir])