src/AMBuild.library
author David Anderson <dvander@alliedmods.net>
Tue Jan 01 15:34:07 2013 -0800 (2013-01-01)
changeset 251 ca99a81745fe
parent 211 6c1cc50c4808
permissions -rw-r--r--
Refactor compilation process around the new concept of packages.
dvander@87
     1
# vim: set ts=2 sw=2 tw=99 noet ft=python: 
dvander@103
     2
# 
dvander@103
     3
# Copyright (C) 2004-2012 David Anderson
dvander@103
     4
# 
dvander@103
     5
# This file is part of SourcePawn.
dvander@103
     6
# 
dvander@103
     7
# SourcePawn is free software: you can redistribute it and/or modify it under
dvander@103
     8
# the terms of the GNU General Public License as published by the Free
dvander@103
     9
# Software Foundation, either version 3 of the License, or (at your option)
dvander@103
    10
# any later version.
dvander@103
    11
# 
dvander@103
    12
# SourcePawn is distributed in the hope that it will be useful, but WITHOUT ANY
dvander@103
    13
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
dvander@103
    14
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
dvander@103
    15
# 
dvander@103
    16
# You should have received a copy of the GNU General Public License along with
dvander@103
    17
# SourcePawn. If not, see http://www.gnu.org/licenses/.
dvander@103
    18
#
dvander@87
    19
import os
dvander@87
    20
dvander@87
    21
compiler = KE.DefaultCompiler()
dvander@87
    22
base = AMBuild.sourceFolder
dvander@87
    23
dvander@87
    24
compiler['CXXINCLUDES'].append(os.path.join(base, 'include'))
dvander@87
    25
dvander@88
    26
job = AMBuild.AddJob('keima')
dvander@88
    27
library = Cpp.StaticLibraryBuilder('keima', AMBuild, job, compiler)
dvander@87
    28
files = [
dvander@87
    29
	'API.cpp',
dvander@87
    30
	'Array.cpp',
dvander@168
    31
	'Box.cpp',
dvander@196
    32
	'compiler/BytecodeEmitter.cpp',
dvander@196
    33
	'compiler/CompileContext.cpp',
dvander@211
    34
	'compiler/ConstantEvaluator.cpp',
dvander@196
    35
	'compiler/HIR.cpp',
dvander@196
    36
	'compiler/NameBinding.cpp',
dvander@196
    37
	'compiler/Parser.cpp',
dvander@196
    38
	'compiler/Scanner.cpp',
dvander@196
    39
	'compiler/Scopes.cpp',
dvander@196
    40
	'compiler/SemanticAnalysis.cpp',
dvander@196
    41
	'compiler/Symbols.cpp',
dvander@87
    42
	'Environments.cpp',
dvander@87
    43
	'Exception.cpp',
dvander@251
    44
	'FileSystem.cpp',
dvander@87
    45
	'FixedArray.cpp',
dvander@87
    46
	'Functions.cpp',
dvander@87
    47
	'GlobalRoots.cpp',
dvander@87
    48
	'Heap.cpp',
dvander@87
    49
	'Interpreter.cpp',
dvander@87
    50
	'Modules.cpp',
dvander@196
    51
	'NativeTable.cpp',
dvander@87
    52
	'Opcodes.cpp',
dvander@251
    53
	'Packages.cpp',
dvander@87
    54
	'PoolAllocator.cpp',
dvander@87
    55
	'Reference.cpp',
dvander@87
    56
	'RootScopes.cpp',
dvander@87
    57
	'Spaces.cpp',
dvander@87
    58
	'Stack.cpp',
dvander@87
    59
	'StringPool.cpp',
dvander@87
    60
	'Strings.cpp',
dvander@87
    61
	'Structures.cpp',
dvander@87
    62
	'TypeManager.cpp',
dvander@87
    63
	'Types.cpp',
dvander@87
    64
	'Zone.cpp'
dvander@87
    65
]
dvander@87
    66
if AMBuild.target['platform'] == 'windows':
dvander@87
    67
	files.append('Platform-Windows.cpp')
dvander@87
    68
else:
dvander@87
    69
	files.append('Platform-Posix.cpp')
dvander@87
    70
library.AddSourceFiles('src', files)
dvander@87
    71
library.SendToJob()
dvander@87
    72