sourcepawn/compiler/AMBuilder
author Ruben Gonzalez <drifter01620@gmail.com>
Thu May 15 21:22:24 2014 -0400 (2014-05-15)
changeset 4362 8a15e967d983
parent 4241 46fdb8cd9883
permissions -rw-r--r--
Update gamedata for CS:S update.
dvander@2784
     1
# vim: set ts=2 sw=2 tw=99 noet ft=python: 
dvander@2784
     2
import os
dvander@2784
     3
dvander@4182
     4
binary = SM.Program(builder, 'spcomp')
dvander@4182
     5
compiler = binary.compiler
dvander@4182
     6
compiler.includes += [
dvander@4182
     7
  os.path.join(builder.sourcePath, 'public'),
dvander@4182
     8
  os.path.join(builder.sourcePath, 'public', 'sourcepawn'),
dvander@4182
     9
  os.path.join(builder.sourcePath, 'sourcepawn', 'compiler'),
dvander@4182
    10
  os.path.join(builder.buildPath, 'includes'),
dvander@4182
    11
]
dvander@4182
    12
 
ds@4241
    13
if compiler.cc.behavior == 'gcc':
dvander@4182
    14
  compiler.cflags += ['-Wno-format']
ds@4241
    15
  if builder.target_platform == 'linux':
dvander@4182
    16
    compiler.postlink += ['-lgcc', '-lm']
ds@4241
    17
elif compiler.cc.behavior == 'msvc':
dvander@4182
    18
  compiler.linkflags.remove('/SUBSYSTEM:WINDOWS')
dvander@4182
    19
  compiler.linkflags.append('/SUBSYSTEM:CONSOLE')
dvander@4182
    20
 
ds@4241
    21
if builder.target_platform == 'linux':
dvander@4182
    22
  compiler.defines += [
dvander@4182
    23
    'LINUX',
dvander@4182
    24
    'HAVE_STDINT_H',
dvander@4182
    25
    'AMX_ANSIONLY',
dvander@4182
    26
    'ENABLE_BINRELOC',
dvander@4182
    27
    '_GNU_SOURCE'
dvander@4182
    28
  ]
ds@4241
    29
elif builder.target_platform == 'mac':
dvander@4182
    30
  compiler.defines += [
dvander@4182
    31
    'DARWIN',
dvander@4182
    32
    'HAVE_STDINT_H',
dvander@4182
    33
    'AMX_ANSIONLY',
dvander@4182
    34
    'ENABLE_BINRELOC',
dvander@4182
    35
    'HAVE_SAFESTR'
dvander@4182
    36
  ]
dvander@4182
    37
 
dvander@4182
    38
binary.sources += [
dvander@4182
    39
  'libpawnc.c',
dvander@4182
    40
  'lstring.c',
dvander@4182
    41
  'memfile.c',
dvander@4182
    42
  'pawncc.c',
dvander@4182
    43
  'sc1.c',
dvander@4182
    44
  'sc2.c',
dvander@4182
    45
  'sc3.c',
dvander@4182
    46
  'sc4.c',
dvander@4182
    47
  'sc5.c',
dvander@4182
    48
  'sc6.c',
dvander@4182
    49
  'sc7.c',
dvander@4182
    50
  'scexpand.c',
dvander@4182
    51
  'sci18n.c',
dvander@4182
    52
  'sclist.c',
dvander@4182
    53
  'scmemfil.c',
dvander@4182
    54
  'scstate.c',
dvander@4182
    55
  'sctracker.c',
dvander@4182
    56
  'scvars.c',
dvander@4182
    57
  'sp_file.c',
dvander@4182
    58
  'zlib/adler32.c',
dvander@4182
    59
  'zlib/compress.c',
dvander@4182
    60
  'zlib/crc32.c',
dvander@4182
    61
  'zlib/deflate.c',
dvander@4182
    62
  'zlib/gzio.c',
dvander@4182
    63
  'zlib/infback.c',
dvander@4182
    64
  'zlib/inffast.c',
dvander@4182
    65
  'zlib/inflate.c',
dvander@4182
    66
  'zlib/inftrees.c',
dvander@4182
    67
  'zlib/trees.c',
dvander@4182
    68
  'zlib/uncompr.c',
dvander@4182
    69
  'zlib/zutil.c',
dvander@4182
    70
  'sp_symhash.c'
dvander@4182
    71
]
ds@4241
    72
if builder.target_platform == 'linux':
dvander@4182
    73
  binary.sources.append('binreloc.c')
dvander@4182
    74
 
dvander@4185
    75
SM.spcomp = builder.Add(binary)