mirror of
https://github.com/ValveSoftware/Proton.git
synced 2025-01-16 08:38:16 +03:00
parent
f19380c190
commit
e6cce9236c
@ -6,6 +6,7 @@
|
|||||||
CLANG_PATH='/usr/lib/clang/15'
|
CLANG_PATH='/usr/lib/clang/15'
|
||||||
|
|
||||||
from clang.cindex import CursorKind, Index, Type, TypeKind
|
from clang.cindex import CursorKind, Index, Type, TypeKind
|
||||||
|
import concurrent.futures
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
|
||||||
@ -69,6 +70,8 @@ SDK_VERSIONS = [
|
|||||||
"0.9.0",
|
"0.9.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
ABIS = ['u32', 'u64', 'w32', 'w64']
|
||||||
|
|
||||||
SDK_SOURCES = {
|
SDK_SOURCES = {
|
||||||
"ivrclientcore.h": [
|
"ivrclientcore.h": [
|
||||||
[ #classes
|
[ #classes
|
||||||
@ -1422,19 +1425,22 @@ for i, sdkver in enumerate(SDK_VERSIONS):
|
|||||||
all_versions[sdkver], all_sources[sdkver] = load(sdkver)
|
all_versions[sdkver], all_sources[sdkver] = load(sdkver)
|
||||||
print(u'loading SDKs... 100%')
|
print(u'loading SDKs... 100%')
|
||||||
|
|
||||||
for i, sdkver in enumerate(SDK_VERSIONS):
|
with concurrent.futures.ThreadPoolExecutor() as executor:
|
||||||
print(f'parsing SDKs... {i * 100 // len(SDK_VERSIONS)}%', end='\r')
|
arg0 = [sdkver for sdkver in SDK_VERSIONS for abi in ABIS]
|
||||||
sources = all_sources[sdkver]
|
arg1 = [abi for sdkver in SDK_VERSIONS for abi in ABIS]
|
||||||
records = {}
|
def parse_map(sdkver, abi):
|
||||||
records['u32'] = parse(sources, 'u32')
|
return sdkver, abi, parse(all_sources[sdkver], abi)
|
||||||
records['u64'] = parse(sources, 'u64')
|
|
||||||
records['w32'] = parse(sources, 'w32')
|
|
||||||
records['w64'] = parse(sources, 'w64')
|
|
||||||
all_records[sdkver] = records
|
|
||||||
print(u'parsing SDKs... 100%')
|
|
||||||
|
|
||||||
for sdkver, records in all_records.items():
|
results = executor.map(parse_map, arg0, arg1)
|
||||||
generate(sdkver, records)
|
for i, result in enumerate(results):
|
||||||
|
print(f'parsing SDKs... {i * 100 // len(arg0)}%', end='\r')
|
||||||
|
sdkver, abi, index = result
|
||||||
|
if sdkver not in all_records: all_records[sdkver] = {}
|
||||||
|
all_records[sdkver][abi] = index
|
||||||
|
print('parsing SDKs... 100%')
|
||||||
|
|
||||||
|
for sdkver in SDK_VERSIONS:
|
||||||
|
generate(sdkver, all_records[sdkver])
|
||||||
|
|
||||||
|
|
||||||
for f in cpp_files_need_close_brace:
|
for f in cpp_files_need_close_brace:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user