#!/usr/bin/python3
import os,sys
root=os.path.dirname(os.path.abspath(__file__))
os.environ['ZIG_GLOBAL_CACHE_DIR']=root+'/cache/zig-global'
os.environ['ZIG_LOCAL_CACHE_DIR']=root+'/cache/zig-local'
os.environ['TMPDIR']=root+'/tmp'
headers=[root+'/linux-sysroot/usr/include',root+'/linux-sysroot/usr/include/x86_64-linux-gnu']
args=[]
it=iter(sys.argv[1:])
for a in it:
    if a == '-Xlinker':
        value=next(it)
        if value == '--exclude-libs':
            assert next(it) == '-Xlinker'
            assert next(it) == 'ALL'
            args.append('-Wl,--version-script='+root+'/teavox-elf-exports.map')
        else: args += [a,value]
    elif a in ('-isystem','-I'):
        value=next(it)
        if value in headers: args += ['-idirafter',value]
        else: args += [a,value]
    elif a.startswith('-I') and a[2:] in headers:
        args += ['-idirafter',a[2:]]
    else: args.append(a)
# JUCE deliberately emits build date/time in this isolated translation unit.
if any(a.endswith('/juce_core_CompilationTime.cpp') for a in args):
    args.append('-Wno-error=date-time')
os.execv(root+'/zig-x86_64-macos-0.15.2/zig',['zig','c++','-target','x86_64-linux-gnu.2.36',*args])
