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

for cxx in MMS.all_targets:
  name = 'test_sourcehook'
  binary = MMS.Program(cxx, name)
  binary.compiler.cxxincludes += [
    os.path.join(builder.sourcePath, 'core', 'sourcehook'),
  ]
  if binary.compiler.version >= 'gcc-4.9':
    binary.compiler.cxxflags += ['-fno-devirtualize']
  if binary.compiler.version >= 'clang-2.9' or binary.compiler.version >= 'apple-clang-3.0':
    binary.compiler.cxxflags += ['-Wno-null-dereference']

  binary.sources += [
    'main.cpp',
    '../sourcehook.cpp',
    '../sourcehook_impl_chookmaninfo.cpp',
    '../sourcehook_impl_chookidman.cpp',
    '../sourcehook_impl_cproto.cpp',
    '../sourcehook_impl_cvfnptr.cpp',
    'test1.cpp',
    'test2.cpp',
    'test3.cpp',
    'test4.cpp',
    'testbail.cpp',
    'testbail2.cpp',
    'testhookmangen.cpp',
    'testlist.cpp',
    'testmanual.cpp',
    'testmulti.cpp',
    'testoddthunks.cpp',
    'testrecall.cpp',
    'testreentr.cpp',
    'testref.cpp',
    'testrefret.cpp',
    'testvphooks.cpp',
  ]
  if binary.compiler.target.arch == 'x86':
    binary.sources += ['../sourcehook_hookmangen.cpp']

  builder.Add(binary)
