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

for arch in SM.archs:
  binary = SM.ExtLibrary(builder, 'bintools.ext', arch)
  binary.compiler.defines += ['HOOKING_ENABLED']
  binary.compiler.cxxincludes += [
    os.path.join(SM.mms_root, 'core', 'sourcehook'),
    os.path.join(builder.sourcePath, 'public', 'jit'),
    os.path.join(builder.sourcePath, 'public', 'jit', 'x86'),
  ]
  if binary.compiler.family == 'gcc' or binary.compiler.family == 'clang':
    binary.compiler.cxxflags += ['-fno-rtti']
  elif binary.compiler.family == 'msvc':
    binary.compiler.cxxflags += ['/GR-']

  binary.sources += [
    'extension.cpp',
    'CallMaker.cpp',
    'CallWrapper.cpp',
    '../../public/smsdk_ext.cpp'
  ]
  
  if arch == 'x64':
    binary.sources += ['jit_call_x64.cpp']
  else:
    binary.sources += ['jit_call.cpp']

  SM.extensions += [builder.Add(binary)]