# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
import os

for sdk_name in SM.sdks:
  sdk = SM.sdks[sdk_name]

  binary = SM.HL2Library(builder, 'sdktools.ext.' + sdk.ext, sdk)
  binary.compiler.cxxincludes += [
    os.path.join(sdk.path, 'game', 'shared'),
    os.path.join(builder.sourcePath, 'public', 'jit'),
    os.path.join(builder.sourcePath, 'public', 'jit', 'x86'),
  ]

  if sdk.name != 'ep1':
    binary.compiler.defines += ['HOOKING_ENABLED']

  if binary.compiler.cxx.behavior == 'gcc':
    binary.compiler.cxxflags += ['-Wno-invalid-offsetof']

  binary.sources += [
    'extension.cpp',
    'inputnatives.cpp',
    'output.cpp',
    'outputnatives.cpp',
    'tempents.cpp',
    'tenatives.cpp',
    'teamnatives.cpp',
    'trnatives.cpp',
    'vcaller.cpp',
    'vcallbuilder.cpp',
    'vdecoder.cpp',
    'vglobals.cpp',
    'vhelpers.cpp',
    'vnatives.cpp',
    'voice.cpp',
    'vsound.cpp',
    'clientnatives.cpp',
    'hooks.cpp',
    'gamerulesnatives.cpp',
    'vstringtable.cpp',
    'CDetour/detours.cpp',
    'sdk/smsdk_ext.cpp',
    'asm/asm.c'
  ]
  SM.extensions += [builder.Add(binary)]