This commit is contained in:
nephacks
2025-06-04 03:22:50 +02:00
parent f234f23848
commit f12416cffd
14243 changed files with 6446499 additions and 26 deletions

25
vpc_scripts/default.vgc Normal file
View File

@@ -0,0 +1,25 @@
//-----------------------------------------------------------------------------
// DEFAULT.VGC
//
// Configurations for all Source(TM) Projects
//-----------------------------------------------------------------------------
////////////////
// Game Names //
////////////////
$Games
{
// "CSTRIKE"
"CSGO"
// "EPISODIC"
// "SDK"
// "TF"
// "PORTAL2"
// "SWARM"
// "DOTA"
}
$Include "vpc_scripts\projects.vgc"
$Include "vpc_scripts\groups.vgc"

View File

@@ -0,0 +1,861 @@
//
// PS3 Project Generator Definition
//
"PS3"
{
"Version" "1.0"
//
// Configuration
//
"$General"
{
"$ConfigurationType"
{
"ordinals"
{
"ELF" "1"
"PRX" "1"
"LIB" "4"
}
}
"$ExcludedFromBuild"
{
"type" "bool"
}
"$OutputDirectory"
{
"type" "string"
}
"$IntermediateDirectory"
{
"type" "string"
}
"$ExtensionsToDeleteOnClean"
{
"type" "string"
}
"$BuildLogFile"
{
"type" "string"
}
"$SystemIncludeDependencies"
{
"type" "bool"
}
"$SaveDebuggerPropertiesInProject"
{
"type" "bool"
}
"$AdditionalProjectDependencies"
{
"type" "ignore"
}
"$AdditionalOutputFiles"
{
"type" "ignore"
}
}
//
// GCC Compiler/General
//
"$GCCCompiler"
{
"$AdditionalIncludeDirectories"
{
"type" "string"
}
"$PreprocessorDefinitions"
{
"type" "string"
}
"$ForceIncludes"
{
"type" "string"
}
"$GenerateDebugInformation"
{
"type" "bool"
}
"$Warnings"
{
"ordinals"
{
"Turn Off Warnings (-w)" "0"
"Generate Normal Warnings" "1"
"Generate More Warnings (-Wall)" "2"
}
}
"$ExtraWarnings"
{
"type" "bool"
}
"$WarnLoadHitStores"
{
"type" "bool"
}
"$WarnMicrocodedInstruction"
{
"type" "bool"
}
"$TreatWarningsAsErrors"
{
"type" "bool"
}
"$ObjectFileName"
{
"type" "string"
}
"$CallprofHierarchicalProfiling"
{
"type" "bool"
}
"$SPURSUsage"
{
"ordinals"
{
"Not using SPURS" "0"
"Job with CRT init (-mspurs-job-initialize)" "1"
"Lightweight Job (-mspurs-job)" "2"
"SPURS Task (-mspurs-task)" "3"
}
}
}
//
// GCC Compiler/Optimization
//
"$GCCCompiler"
{
"$OptimizationLevel"
{
"ordinals"
{
"No Optimization (-O0)" "0"
"Standard Optimization (-O1)" "1"
"Full Optimization (-O2)" "2"
"Full with Inlining (-O3)" "3"
"Optimize for Size (-Os)" "4"
}
}
"$FastMath"
{
"type" "bool"
}
"$NoStrictAliasing"
{
"type" "bool"
}
"$UnrollLoops"
{
"type" "bool"
}
"$InlineFunctionSizeLimit"
{
"type" "integer"
}
}
//
// GCC Compiler/Code Generation
//
"$GCCCompiler"
{
"$TOCUsage"
{
"ordinals"
{
"Normal TOC" "0"
"Minimal TOC (-mminimal-toc)" "1"
"Base TOC (-mbase-toc)" "2"
"All Base TOC (-mall-base-toc)" "3"
"No TOC Restore (-mno-toc)" "4"
}
}
"$Save/RestoreFunctions"
{
"alias" "$SaveRestoreFunctions"
"type" "integer"
}
"$GenerateMicrocodedInstructions"
{
"ordinals"
{
"Default (only with -Os)" "0"
"Use when optimizing (-mgen-microcode)" "1"
"Only when unavoidable (-mno-gen-microcode)" "2"
}
}
"$Position-IndependentCode"
{
"alias" "$PositionIndependentCode"
"type" "bool"
}
"$FunctionSections"
{
"type" "bool"
}
"$DataSections"
{
"type" "bool"
}
"$StackCheck"
{
"type" "bool"
}
}
//
// GCC Compiler/Language
//
"$GCCCompiler"
{
"$C++ExceptionsAndRTTIUsage"
{
"alias" "$CPPExceptionsAndRTTIUsage"
"ordinals"
{
"Not using Exceptions or RTTI" "0"
"Using RTTI only" "1"
"Using Exceptions and RTTI" "2"
}
}
"$CheckANSICompliance"
{
"type" "bool"
}
"$DefaultCharSigned"
{
"type" "bool"
}
"$Permissive"
{
"type" "bool"
}
"$EnableMSExtensions"
{
"type" "bool"
}
"$RelaxC++Compliance"
{
"alias" "$RelaxCPPCompliance"
"type" "bool"
}
}
//
// GCC Compiler/Command Line
//
"$GCCCompiler"
{
"$AdditionalOptions"
{
"type" "string"
}
}
"$GCCLinker"
{
// General
"$OutputFile"
{
"type" "string"
}
"$AdditionalDependencies"
{
"type" "string"
}
"$AdditionalLibraryDirectories"
{
"type" "string"
}
"$ImportLibrary"
{
"type" "string"
}
"$SPURSUsage"
{
"ordinals"
{
"Not using SPURS" "0"
"Job with CRT init (-mspurs-job-initialize)" "1"
"Lightweight Job (-mspurs-job)" "2"
"SPURS Task (-mspurs-task)" "3"
}
}
"$Position-IndependentCode"
{
"alias" "$PositionIndependentCode"
"type" "bool"
}
"$EmitRelocations"
{
"type" "bool"
}
"$GarbageCollection"
{
"type" "bool"
}
"$GenerateMapFile"
{
"type" "bool"
}
"$MapFileName"
{
"type" "string"
}
"$LinkLibraryDependencies"
{
"type" "bool"
}
// Command Line
"$AdditionalOptions"
{
"type" "string"
}
}
//
// SNC Compiler/General
//
"$SNCCompiler"
{
"$AdditionalIncludeDirectories"
{
"type" "string"
}
"$PreprocessorDefinitions"
{
"type" "string"
}
"$ForceIncludes"
{
"type" "string"
}
"$ForcedUsingFiles"
{
"type" "string"
}
"$GenerateDebugInformation"
{
"type" "bool"
}
"$Warnings"
{
"ordinals"
{
"Turn Off Warnings (=0)" "0"
"Generate Warnings (=1)" "1"
"Generate Warnings and Remarks (=2)" "2"
}
}
"$TreatMessagesAsErrors"
{
"ordinals"
{
"Reported Errors Only (=0)" "0"
"Warnings as Errors (=1)" "1"
"Warnings and Remarks as Errors (=2)" "2"
}
}
"$DisableSpecificWarnings"
{
"type" "string"
}
"$ObjectFileName"
{
"type" "string"
}
"$CallprofHierarchicalProfiling"
{
"type" "bool"
}
}
//
// SNC Compiler/Optimization
//
"$SNCCompiler"
{
"$OptimizationLevel"
{
"ordinals"
{
"No Optimization, Forced Inlining only (-O0)" "0"
"No Optimization, Auto Inlining (-O1)" "1"
"Full Optimization (-O2)" "2"
"Optimize for Size (-Os)" "3"
"Optimized Debuggable (-Od)" "4"
}
}
"$FastMath"
{
"type" "bool"
}
"$RelaxAliasChecking"
{
"ordinals"
{
"Default" "-1"
"No Strict Aliasing (=0)" "0"
"No Overlapping Types (=1)" "1"
"C99 Strict Aliasing (=2)" "2"
"Strictest Aliasing (=3)" "3"
}
}
"$BranchlessCompares"
{
"ordinals"
{
"Always Use Branches (=0)" "0"
"Convert Ternary Operators (=1)" "1"
"Convert all Integer Comparisons (=2)" "2"
}
}
"$UnrollLoops"
{
"type" "integer"
}
"$AssumeAlignedPointers"
{
"type" "bool"
}
"$AssumeCorrectSign"
{
"type" "bool"
}
}
//
// SNC Compiler/Code Generation
//
"$SNCCompiler"
{
"$TOCPointerPreservation"
{
"ordinals"
{
"Preserve the TOC for all Function Calls (=0)" "0"
"Preserve for Function Calls by Pointer (=1)" "1"
"Assume Single TOC; No TOC Preservation (=2)" "2"
}
}
"$InitializedDataPlacement"
{
"ordinals"
{
"Placement in .data Section Only (=0)" "0"
"Automatic .bss and .data Placement (=1)" "1"
"Uninitialized and Zero Initialized in .bss (=2)" "2"
}
}
"$PromoteFPConstantsToDoubles"
{
"type" "bool"
}
}
//
// SNC Compiler/Language
//
"$SNCCompiler"
{
"$CC++Dialect"
{
"alias" "$CCPPDialect"
"ordinals"
{
"Mixed with GNU Extensions" "0"
"ANSI and ISO C Standard" "1"
"Annotated Reference Manual" "2"
"CP Mode" "3"
"AT&T Cfront" "4"
"Kernighan & Ritchie C" "5"
}
}
"$C++ExceptionsAndRTTIUsage"
{
"alias" "$CPPExceptionsAndRTTIUsage"
"ordinals"
{
"Not using Exceptions or RTTI" "0"
"Using RTTI only" "1"
"Using Exceptions and RTTI" "2"
}
}
"$DefaultCharUnsigned"
{
"type" "bool"
}
"$DefaultFPConstantsAsTypeFloat"
{
"type" "bool"
}
"$BuiltInDefinitionForWCHAR_TType"
{
"ordinals"
{
"unsigned int (=uint)" "0"
"unsigned long (=ulong)" "1"
"unsigned short (=ushort)" "2"
"unsigned char (=uchar)" "3"
"int (=int)" "4"
"long (=long)" "5"
"short (=short)" "6"
"char (=char)" "7"
"signed char (=schar)" "8"
}
}
}
//
// SNC Compiler/Precompiled Headers
//
"$SNCCompiler"
{
"$Create/UsePrecompiledHeader"
{
"alias" "$CreateUsePrecompiledHeader"
"ordinals"
{
"Not Using Precompiled Header File(s)" "0"
"Not Using Precompiled Headers" "0"
"Create Precompiled Header (--create_pch)" "1"
"Automatic Per File Precompiled Headers (--pch)" "2"
"Use Precompiled Header (--use_pch)" "3"
}
}
"$PrecompiledHeaderFile"
{
"type" "string"
}
}
//
// SNC Compiler/Command Line
//
"$SNCCompiler"
{
"$AdditionalOptions"
{
"type" "string"
}
}
"$SNCCompiler"
{
"$EnableC++Exceptions"
{
"type" "ignore"
}
"$Create/UsePCHThroughFile"
{
"type" "ignore"
}
}
"$SNCLinker"
{
// General
"$OutputFile"
{
"type" "string"
}
"$OutputFormat"
{
"ordinals"
{
"ELF file" "0"
"Fake Signed ELF" "1"
"Network FSELF" "2"
"PRX file" "3"
"Fake Signed PRX" "4"
}
}
"$AdditionalDependencies"
{
"type" "string"
}
"$AdditionalLibraryDirectories"
{
"type" "string"
}
"$IgnoreAllDefaultLibraries"
{
"type" "bool"
}
"$UsingExceptionHandling"
{
"type" "bool"
}
"$TOCPointerElimination"
{
"type" "bool"
}
"$ForceSymbolReferences"
{
"type" "string"
}
"$CallprofHierarchicalProfiling"
{
"type" "bool"
}
"$DebugInfoAndSymbolStripping"
{
"ordinals"
{
"No Symbol Stripping" "0"
"Strip Debug Information Only (-S)" "1"
"Strip Symbols and Debug Information (-s)" "2"
}
}
"$UnusedFunctionAndDataStripping"
{
"ordinals"
{
"No Code Stripping" "0"
"Strip Unused Functions Only" "1"
"Strip Unused Functions and Data" "2"
}
}
"$ImportLibrary"
{
"type" "string"
}
"$GenerateMapFile"
{
"ordinals"
{
"No Map File" "0"
"Normal Map File" "1"
"Full Map File" "2"
}
}
"$MapFileName"
{
"type" "string"
}
"$LinkLibraryDependencies"
{
"type" "bool"
}
"$AdditionalOptions"
{
"type" "string"
}
"$SystemLibraries"
{
"type" "ignore"
}
"$SystemFrameworks"
{
"type" "ignore"
}
"$LocalFrameworks"
{
"type" "ignore"
}
}
"$Librarian"
{
"$OutputFile"
{
"type" "string"
}
"$AdditionalDependencies"
{
"type" "string"
}
"$WholeArchive"
{
"type" "bool"
}
"$LinkLibraryDependencies"
{
"type" "bool"
}
}
$CustomBuildStep
{
"$CommandLine"
{
"type" "string"
}
"$Description"
{
"type" "string"
}
"$Outputs"
{
"type" "string"
}
"$AdditionalDependencies"
{
"type" "string"
}
}
$PreBuildEvent
{
"$CommandLine"
{
"type" "string"
}
"$Description"
{
"type" "string"
}
"$ExcludedFromBuild"
{
"type" "bool"
}
}
$PreLinkEvent
{
"$CommandLine"
{
"type" "string"
}
"$Description"
{
"type" "string"
}
"$ExcludedFromBuild"
{
"type" "bool"
}
}
$PostBuildEvent
{
"$CommandLine"
{
"type" "string"
}
"$Description"
{
"type" "string"
}
"$ExcludedFromBuild"
{
"type" "bool"
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,16 @@
//-----------------------------------------------------------------------------
// DXSDK_MACROS.VPC
//
// Directory macros for projects that use D3D
//-----------------------------------------------------------------------------
$MacroRequired "SRCDIR"
$Macro DXSDKLIBPLATSUBDIR "\." [$WIN32]
$Macro DXSDKLIBPLATSUBDIR "\x64" [$WIN64]
$Macro DXSDKDIR "$SRCDIR\thirdparty\dxsdk"
$Macro DXSDKINCLUDE "$DXSDKDIR\include"
$Macro LIBDXSDK "$DXSDKDIR\lib$DXSDKLIBPLATSUBDIR"

38
vpc_scripts/fbx.vpc Normal file
View File

@@ -0,0 +1,38 @@
//============ Copyright (c) Valve Corporation, All rights reserved. ==========
//
// In addition to fbx_base.vpc which defines the version, include path and
// defines for compiling code that utilizes Autodesk FBX SDK, add the lib
// for linking.
//
//=============================================================================
$MacroRequired SRCDIR
$Include "$SRCDIR\vpc_scripts\fbx_base.vpc"
$Macro VSDIR "vs2010" [$VS2010]
$Macro VSDIR "vs2012" [$VS2012]
$Macro VSDIR "vs2012" [$VS2013] // !!NOTE!! INTENTIONALLY use the 2012 version to avoid a bug caused by the VS2013 compiler.
$Macro VSDIR "vs2012" [$VS2015] // !!NOTE!! INTENTIONALLY use the 2012 version to avoid a bug caused by the VS2013 compiler.
// Use the shared version of FBX lib to allow mixing DEBUG & RELEASE builds
$Macro FBXLIB_RELEASE "$FBXDIR\lib\$VSDIR\x86\release\libfbxsdk.lib" [$WIN32]
$Macro FBXLIB_RELEASE "$FBXDIR\lib\$VSDIR\x64\release\libfbxsdk.lib" [$WIN64]
$Macro FBXLIB_DEBUG "$FBXDIR\lib\$VSDIR\x86\release\libfbxsdk.lib" [$WIN32]
$Macro FBXLIB_DEBUG "$FBXDIR\lib\$VSDIR\x64\release\libfbxsdk.lib" [$WIN64]
$Configuration "Release"
{
$Linker
{
$AdditionalDependencies "$BASE wininet.lib $FBXLIB_RELEASE" [$WIN32 || $WIN64]
}
}
$Configuration "Debug"
{
$Linker
{
$AdditionalDependencies "$BASE wininet.lib $FBXLIB_DEBUG" [$WIN32 || $WIN64]
}
}

22
vpc_scripts/fbx_base.vpc Normal file
View File

@@ -0,0 +1,22 @@
//============ Copyright (c) Valve Corporation, All rights reserved. ==========
//
// FBX Version, include path and defines for compiling code that utilizes
// Autodesk FBX SDK
//
//=============================================================================
$MacroRequired SRCDIR
$Macro FBXVER "2015.1"
$Macro FBXDIR "$SRCDIR\thirdparty\fbx\FbxSdk\$FBXVER"
$Configuration
{
$Compiler
{
$AdditionalIncludeDirectories "$BASE;$FBXDIR\include"
$PreprocessorDefinitions "$BASE;FBXSDK_NEW_API"
$PreprocessorDefinitions "$BASE;FBXSDK_SHARED" [$VS2012 || $VS2013 || $VS2015]
}
}

View File

@@ -0,0 +1,74 @@
use strict;
use File::Path;
print( "\nDeleting old backup\n" );
system( "rmdir \/s \/q backup" );
print( "\nMoving previous snapshot to backup\n" );
system( "ren snapshot backup" );
print( "\nSearching for .vcproj files...\n" );
# Find all vcproj's in src
system( "dir \/s U:\\main\\src\\*.vcproj \> vcproj.txt" );
# Read in the source file
open(INFILE, "vcproj.txt" );
my @lines = <INFILE>;
close( INFILE );
# Process the file one line at a time
my @output;
# print the header lines
push( @output, "\/\/ VGC file\n" );
push( @output, "\n" );
push( @output, "\/\/\n" );
push( @output, "\/\/ Project definitions\n" );
push( @output, "\/\/\n" );
push( @output, "\n" );
for( my($i) = 0; $i < @lines; ++$i )
{
# Grab the path
if ( $lines[$i] =~ /Directory of U:\\main\\src\\(.*)/ )
{
my($path) = $1;
++$i;
# ignore projects in vpc_scripts!
if ( $path =~ /vpc_scripts/ )
{
next;
}
# Grab the .vcproj filenames
while ( $lines[++$i] =~ /[\d+\/]{2}\d+\s+\S+\s+\w{2}\s+\S+\s+(\w+).vcproj/ )
{
if ( $1 =~ /_x360/ )
{
next;
}
my($projectName) = $1;
my($fullpath) = join('\\', "snapshot", $path );
mkpath ($fullpath);
my($fullname) = join('\\', $fullpath, $projectName );
print "\nProcessing $projectName\n\n";
# generate the vpc
system ( "generateVPC2005.pl ..\\$path\\$projectName -o $fullpath" );
# copy the .vcproj into the script tree
system ( "copy /y ..\\$path\\$projectName.vcproj $fullpath" );
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,74 @@
use strict;
use File::Path;
print( "\nDeleting old backup\n" );
system( "rmdir \/s \/q backup" );
print( "\nMoving previous snapshot to backup\n" );
system( "ren snapshot backup" );
print( "\nSearching for .vcproj files...\n" );
# Find all vcproj's in src
system( "dir \/s U:\\main\\src\\*.vcproj \> vcproj.txt" );
# Read in the source file
open(INFILE, "vcproj.txt" );
my @lines = <INFILE>;
close( INFILE );
# Process the file one line at a time
my @output;
# print the header lines
push( @output, "\/\/ VGC file\n" );
push( @output, "\n" );
push( @output, "\/\/\n" );
push( @output, "\/\/ Project definitions\n" );
push( @output, "\/\/\n" );
push( @output, "\n" );
for( my($i) = 0; $i < @lines; ++$i )
{
# Grab the path
if ( $lines[$i] =~ /Directory of U:\\main\\src\\(.*)/ )
{
my($path) = $1;
++$i;
# ignore projects in vpc_scripts!
if ( $path =~ /vpc_scripts/ )
{
next;
}
# Grab the .vcproj filenames
while ( $lines[++$i] =~ /[\d+\/]{2}\d+\s+\S+\s+\w{2}\s+\S+\s+(\w+).vcproj/ )
{
if ( $1 =~ /_x360/ )
{
next;
}
my($projectName) = $1;
my($fullpath) = join('\\', "snapshot", $path );
mkpath ($fullpath);
my($fullname) = join('\\', $fullpath, $projectName );
print "\nProcessing $projectName\n\n";
# generate the vpc
system ( "generatesimpleVPC.pl ..\\$path\\$projectName -o $fullpath" );
# copy the .vcproj into the script tree
system ( "copy /y ..\\$path\\$projectName.vcproj $fullpath" );
}
}
}

File diff suppressed because it is too large Load Diff

1224
vpc_scripts/groups.vgc Normal file

File diff suppressed because it is too large Load Diff

280
vpc_scripts/loadaddress.vpc Normal file
View File

@@ -0,0 +1,280 @@
//-----------------------------------------------------------------------------
// LOADADDRESS.VPC
//
// Contains the DLL/EXE Load Addresses. Generates the $LOADADDRESS_??? Macro from
// an easily updated table. This feature is primarily to facilitate the mandatory
// fixed address specification of 360 DLLs and thus efficient 360 packing of DLLs
// into memory.
//
// Format:
// $LoadAddressMacro <MacroName>
// {
// <ProjectName> <BaseAddress>
// }
//
// $LoadAddressMacroAuto <MacroName> <BaseAddress>
// {
// <ProjectName> <Length>
// }
//
// If "ProjectName" is not found, the "MacroName" will not be updated.
// "ProjectName" is the internal short project name reference and is usually the name of
// the project inside a group definition.
//
// "Length" is either floating point MB or integer bytes, and is used to successively
// to determine the next base address.
//-----------------------------------------------------------------------------
// Explicitly defined "empty" only for WIN32 or WIN64 only because they are not required for WIN32 projects
$Macro LOADADDRESS_DEVELOPMENT " " [$WINDOWS]
$Macro LOADADDRESS_RETAIL " " [$WINDOWS]
// NOTE!!! We ran out of address space on the 360. Since
// shaderapi + rendersystemdx9 are never going to simultaneously be loaded,
// we have rendersystemdx9 alias shaderapidx9 so they load in the same place.
// The same trick is used for worldrenderer + resourcesystem + rendersystemtest/resourcesystemtest.
$LoadAddressMacroAlias shaderapidx9
{
rendersystemdx9
}
$LoadAddressMacroAlias datacache
{
resourcesystem
}
$LoadAddressMacroAlias stdshader_dx9
{
worldrenderer
}
$LoadAddressMacroAlias materialsystem
{
rendersystemtest
resourcesystemtest
}
$LoadAddressMacroAlias studiorender
{
meshsystem
}
$LoadAddressMacro LOADADDRESS_DEVELOPMENT
{
launcher_main 0x82000000 [$X360]
simdtest 0x82000000 [$X360]
}
$LoadAddressMacro LOADADDRESS_RETAIL
{
launcher_main 0x82000000 [$X360]
simdtest 0x82000000 [$X360]
}
// DLL address ranges padded to avoid overlap even for debug builds (160MB of 64KB-page virtual memory available for this)
$LoadAddressMacroAuto LOADADDRESS_DEVELOPMENT 0x82200000 [$X360 && !$PORTAL2 && !$SWARM]
{
// top of chain, due to licensee lack of source restrictions
vphysics 4.75
tier0 1.69
vstdlib 1.56
filesystem_stdio 2.69
inputsystem 1.31
launcher 1.69
SoundEmitterSystem 1.61
SceneFileCache 1.06
localize 1.56
// this is vgui2
vgui_dll 1.81
vscript 1.94
//aliased by resourcesystem
datacache 2.38
//aliased by rendersystemdx9
shaderapidx9 8.56
//aliased by worldrenderer
stdshader_dx9 4.62
//aliased by rendersystemtest and resourcesystemtest
materialsystem 19.5
vxbdm 1.06
vguimatsurface 5.13
//aliased by meshsystem
studiorender 6.81
engine 23.69
client 25.12
server 24.56
matchmaking 2.81
//total size of enumerated dlls
//145.78
}
//Automatically generated! VPC with /define:VPCINFO . Build full debug, run with -dllinfo and paste the spewed table from vxconsole to realign
$LoadAddressMacroAuto_Padded LOADADDRESS_DEVELOPMENT 0x82200000 [$X360 && $PORTAL2]
{
vphysics 4.625
// vjobs 2.0
datacache 2.3125
engine 22.25
filesystem_stdio 2.5625
inputsystem 1.125
launcher 1.4375
localize 1.25
materialsystem 5.375
scenefilecache 0.8125
shaderapidx9 13.1875
soundemittersystem 1.375
stdshader_dx9 4.1875
studiorender 6.6875
tier0 1.625
vgui_dll 1.6875
vguimatsurface 4.4375
vscript 1.875
vstdlib 1.6875
vxbdm 0.9375
client 25.75
matchmaking 2.375
server 26.4375
}
$LoadAddressMacroAuto_Padded LOADADDRESS_DEVELOPMENT 0x82200000 [$X360 && $SWARM]
{
vphysics 4.5
// vjobs 2.0
datacache 2.3125
engine 22.0625
filesystem_stdio 2.5625
inputsystem 1.125
launcher 1.4375
localize 1.25
materialsystem 5.3125
missionchooser 6.375
scenefilecache 0.8125
shaderapidx9 8.1875
soundemittersystem 1.375
stdshader_dx9 4.125
studiorender 6.625
tier0 1.625
vgui_dll 1.6875
vguimatsurface 4.375
vscript 1.875
vstdlib 1.6875
vxbdm 0.9375
client 28.25
matchmaking 2.3125
server 28.5625
}
// Retail versions are expected to be minimally packed
// UNDONE: remove this, there's no point packing for retail (this is a virtual memory range reserved for code!)
$LoadAddressMacroAuto LOADADDRESS_RETAIL 0x82200000 [$X360]
{
// top of chain, due to licensee lack of source restrictions
vphysics 2.5
// vjobs 1.0
tier0 1.0
vstdlib 1.0
filesystem_stdio 1.0
inputsystem 1.0
launcher 1.0
SoundEmitterSystem 1.0
SceneFileCache 1.0
localize 0.5
vgui_dll 1.0
vscript 1.0
//aliased by resourcesystem
datacache 1.0
//aliased by rendersystemdx9
shaderapidx9 4.0
//aliased by worldrenderer
stdshader_dx9 1.5
//aliased by rendersystemtest and resourcesystemtest
materialsystem 3.5
vxbdm 0.5
vguimatsurface 1.5
//aliased by meshsystem
studiorender 4.5
engine 6.0
client 10.5
server 15.5
matchmaking 8.0
}
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// [jason] For reference, the latest results of running the 360 build with -dllinfo:
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// Debug - 1/25/2011
//-----------------------------------------------------------------------------
//0x826c0000, 1.44 MB, tier0_360.dll
//0x85b10000, 0.81 MB, vxbdm_360.dll
//0x82880000, 1.31 MB, vstdlib_360.dll
//0x83180000, 0.81 MB, scenefilecache_360.dll
//0x82fe0000, 1.38 MB, soundemittersystem_360.dll
//0x83290000, 1.31 MB, localize_360.dll
//0x82cd0000, 1.06 MB, inputsystem_360.dll
//0x82e20000, 1.44 MB, launcher_360.dll
//0x84790000, 16.44 MB, materialsystem_360.dll
//0x83a60000, 8.31 MB, shaderapidx9_360.dll
//0x86150000, 6.25 MB, studiorender_360.dll
//0x82a10000, 2.25 MB, filesystem_stdio_360.dll
//0x83420000, 1.56 MB, vgui2_360.dll
//0x837f0000, 1.94 MB, datacache_360.dll
//0x842f0000, 3.81 MB, stdshader_dx9_360.dll
//0x835f0000, 1.63 MB, vscript_360.dll
//0x85c20000, 4.81 MB, vguimatsurface_360.dll
//0x82200000, 4.44 MB, vphysics_360.dll
//0x86820000, 21.19 MB, engine_360.dll
//0x8b190000, 2.56 MB, matchmaking_360.dll
//0x89900000, 21.19 MB, server_360.dll
//0x87fe0000, 22.69 MB, client_360.dll
//-----------------------------------------------------------------------------
// Release - 1/25/2011
//-----------------------------------------------------------------------------
// 0x826c0000, 0.50 MB, tier0_360.dll
// 0x85b10000, 0.25 MB, vxbdm_360.dll
// 0x82880000, 0.31 MB, vstdlib_360.dll
// 0x83180000, 0.19 MB, scenefilecache_360.dll
// 0x82fe0000, 0.31 MB, soundemittersystem_360.dll
// 0x83290000, 0.25 MB, localize_360.dll
// 0x82cd0000, 0.25 MB, inputsystem_360.dll
// 0x82e20000, 0.31 MB, launcher_360.dll
// 0x84790000, 5.44 MB, materialsystem_360.dll
// 0x83a60000, 2.13 MB, shaderapidx9_360.dll
// 0x86150000, 2.44 MB, studiorender_360.dll
// 0x82a10000, 0.50 MB, filesystem_stdio_360.dll
// 0x83420000, 0.31 MB, vgui2_360.dll
// 0x837f0000, 0.38 MB, datacache_360.dll
// 0x842f0000, 0.81 MB, stdshader_dx9_360.dll
// 0x835f0000, 0.44 MB, vscript_360.dll
// 0x85c20000, 1.13 MB, vguimatsurface_360.dll
// 0x82200000, 1.06 MB, vphysics_360.dll
// 0x86820000, 7.19 MB, engine_360.dll
// 0x8b190000, 0.63 MB, matchmaking_360.dll
// 0x89900000, 7.69 MB, server_360.dll
// 0x87fe0000, 7.50 MB, client_360.dll

View File

@@ -0,0 +1,72 @@
//-----------------------------------------------------------------------------
// modo_302_inc.vpc
//
// Include files for Modo 302
//-----------------------------------------------------------------------------
$Project
{
$Folder "Modo 302 Headers"
{
$File "$SRCDIR/common/modo/302/lxaction.h"
$File "$SRCDIR/common/modo/302/lxcom.h"
$File "$SRCDIR/common/modo/302/lxcommand.h"
$File "$SRCDIR/common/modo/302/lxenvelope.h"
$File "$SRCDIR/common/modo/302/lxidef.h"
$File "$SRCDIR/common/modo/302/lximage.h"
$File "$SRCDIR/common/modo/302/lxio.h"
$File "$SRCDIR/common/modo/302/lxitem.h"
$File "$SRCDIR/common/modo/302/lxitem1.h"
$File "$SRCDIR/common/modo/302/lxlayer.h"
$File "$SRCDIR/common/modo/302/lxlog.h"
$File "$SRCDIR/common/modo/302/lxmesh.h"
$File "$SRCDIR/common/modo/302/lxmeshOLD.h"
$File "$SRCDIR/common/modo/302/lxmessage.h"
$File "$SRCDIR/common/modo/302/lxresult.h"
$File "$SRCDIR/common/modo/302/lxsel.h"
$File "$SRCDIR/common/modo/302/lxserver.h"
$File "$SRCDIR/common/modo/302/lxshade.h"
$File "$SRCDIR/common/modo/302/lxu_format.hpp"
$File "$SRCDIR/common/modo/302/lxu_parser.hpp"
$File "$SRCDIR/common/modo/302/lxu_scene.hpp"
$File "$SRCDIR/common/modo/302/lxu_uservalue.hpp"
$File "$SRCDIR/common/modo/302/lxvalue.h"
$File "$SRCDIR/common/modo/302/lxvector.h"
$File "$SRCDIR/common/modo/302/lxvmath.h"
$File "$SRCDIR/common/modo/302/lxw_action.hpp"
$File "$SRCDIR/common/modo/302/lxw_command.hpp"
$File "$SRCDIR/common/modo/302/lxw_envelope.hpp"
$File "$SRCDIR/common/modo/302/lxw_image.hpp"
$File "$SRCDIR/common/modo/302/lxw_io.hpp"
$File "$SRCDIR/common/modo/302/lxw_item.hpp"
$File "$SRCDIR/common/modo/302/lxw_layer.hpp"
$File "$SRCDIR/common/modo/302/lxw_log.hpp"
$File "$SRCDIR/common/modo/302/lxw_mesh.hpp"
$File "$SRCDIR/common/modo/302/lxw_message.hpp"
$File "$SRCDIR/common/modo/302/lxw_server.hpp"
$File "$SRCDIR/common/modo/302/lxw_value.hpp"
$File "$SRCDIR/common/modo/302/lx_action.hpp"
$File "$SRCDIR/common/modo/302/lx_command.hpp"
$File "$SRCDIR/common/modo/302/lx_envelope.hpp"
$File "$SRCDIR/common/modo/302/lx_image.hpp"
$File "$SRCDIR/common/modo/302/lx_io.hpp"
$File "$SRCDIR/common/modo/302/lx_item.hpp"
$File "$SRCDIR/common/modo/302/lx_log.hpp"
$File "$SRCDIR/common/modo/302/lx_mesh.hpp"
$File "$SRCDIR/common/modo/302/lx_message.hpp"
$File "$SRCDIR/common/modo/302/lx_server.hpp"
$File "$SRCDIR/common/modo/302/lx_util.hpp"
$File "$SRCDIR/common/modo/302/lx_value.hpp"
$File "$SRCDIR/common/modo/302/lx_visitor.hpp"
$File "$SRCDIR/common/modo/302/lx_wrap.hpp"
}
$Folder "Modo 302 Common Files"
{
$File "$SRCDIR\common\modo\302\common\cwrap.cpp"
$File "$SRCDIR\common\modo\302\common\lxu_format.cpp"
$File "$SRCDIR\common\modo\302\common\lxu_parser.cpp"
$File "$SRCDIR\common\modo\302\common\lxu_scene.cpp"
$File "$SRCDIR\common\modo\302\common\lxu_uservalue.cpp"
}
}

View File

@@ -0,0 +1,83 @@
//-----------------------------------------------------------------------------
// modo_401_inc.vpc
//
// Include files for Modo 401
//-----------------------------------------------------------------------------
$Project
{
$Folder "Modo 401 Headers"
{
$File "$SRCDIR/common/modo/401/lx_action.hpp"
$File "$SRCDIR/common/modo/401/lx_command.hpp"
$File "$SRCDIR/common/modo/401/lx_envelope.hpp"
$File "$SRCDIR/common/modo/401/lx_image.hpp"
$File "$SRCDIR/common/modo/401/lx_io.hpp"
$File "$SRCDIR/common/modo/401/lx_item.hpp"
$File "$SRCDIR/common/modo/401/lx_log.hpp"
$File "$SRCDIR/common/modo/401/lx_mesh.hpp"
$File "$SRCDIR/common/modo/401/lx_message.hpp"
$File "$SRCDIR/common/modo/401/lx_movie.hpp"
$File "$SRCDIR/common/modo/401/lx_scripts1.hpp"
$File "$SRCDIR/common/modo/401/lx_server.hpp"
$File "$SRCDIR/common/modo/401/lx_trisurf.hpp"
$File "$SRCDIR/common/modo/401/lx_util.hpp"
$File "$SRCDIR/common/modo/401/lx_value.hpp"
$File "$SRCDIR/common/modo/401/lx_visitor.hpp"
$File "$SRCDIR/common/modo/401/lx_wrap.hpp"
$File "$SRCDIR/common/modo/401/lxaction.h"
$File "$SRCDIR/common/modo/401/lxcom.h"
$File "$SRCDIR/common/modo/401/lxcommand.h"
$File "$SRCDIR/common/modo/401/lxenvelope.h"
$File "$SRCDIR/common/modo/401/lxidef.h"
$File "$SRCDIR/common/modo/401/lximage.h"
$File "$SRCDIR/common/modo/401/lxio.h"
$File "$SRCDIR/common/modo/401/lxitem.h"
$File "$SRCDIR/common/modo/401/lxitem1.h"
$File "$SRCDIR/common/modo/401/lxlayer.h"
$File "$SRCDIR/common/modo/401/lxlog.h"
$File "$SRCDIR/common/modo/401/lxmesh.h"
$File "$SRCDIR/common/modo/401/lxmeshold.h"
$File "$SRCDIR/common/modo/401/lxmessage.h"
$File "$SRCDIR/common/modo/401/lxresult.h"
$File "$SRCDIR/common/modo/401/lxscripts.h"
$File "$SRCDIR/common/modo/401/lxsel.h"
$File "$SRCDIR/common/modo/401/lxserver.h"
$File "$SRCDIR/common/modo/401/lxshade.h"
$File "$SRCDIR/common/modo/401/lxstddialog.h"
$File "$SRCDIR/common/modo/401/lxtrisurf.h"
$File "$SRCDIR/common/modo/401/lxu_format.hpp"
$File "$SRCDIR/common/modo/401/lxu_log.hpp"
$File "$SRCDIR/common/modo/401/lxu_parser.hpp"
$File "$SRCDIR/common/modo/401/lxu_prefvalue.hpp"
$File "$SRCDIR/common/modo/401/lxu_scene.hpp"
$File "$SRCDIR/common/modo/401/lxu_uservalue.hpp"
$File "$SRCDIR/common/modo/401/lxvalue.h"
$File "$SRCDIR/common/modo/401/lxvector.h"
$File "$SRCDIR/common/modo/401/lxvmath.h"
$File "$SRCDIR/common/modo/401/lxw_action.hpp"
$File "$SRCDIR/common/modo/401/lxw_command.hpp"
$File "$SRCDIR/common/modo/401/lxw_envelope.hpp"
$File "$SRCDIR/common/modo/401/lxw_image.hpp"
$File "$SRCDIR/common/modo/401/lxw_io.hpp"
$File "$SRCDIR/common/modo/401/lxw_item.hpp"
$File "$SRCDIR/common/modo/401/lxw_layer.hpp"
$File "$SRCDIR/common/modo/401/lxw_log.hpp"
$File "$SRCDIR/common/modo/401/lxw_mesh.hpp"
$File "$SRCDIR/common/modo/401/lxw_message.hpp"
$File "$SRCDIR/common/modo/401/lxw_server.hpp"
$File "$SRCDIR/common/modo/401/lxw_trisurf.hpp"
$File "$SRCDIR/common/modo/401/lxw_value.hpp"
}
$Folder "Modo 401 Common Files"
{
$File "$SRCDIR/common/modo/401/common/cwrap.cpp"
$File "$SRCDIR/common/modo/401/common/lxu_format.cpp"
$File "$SRCDIR/common/modo/401/common/lxu_log.cpp"
$File "$SRCDIR/common/modo/401/common/lxu_parser.cpp"
$File "$SRCDIR/common/modo/401/common/lxu_prefvalue.cpp"
$File "$SRCDIR/common/modo/401/common/lxu_scene.cpp"
$File "$SRCDIR/common/modo/401/common/lxu_uservalue.cpp"
}
}

View File

@@ -0,0 +1,24 @@
$MacroRequired PROTOBUF_BUILDER_INCLUDED
$Project
{
$Folder "Protobuf Files"
{
$File "$SRCDIR\common\netmessages.proto"
$Folder "Generated Files"
{
$DynamicFile "$GENERATED_PROTO_DIR\netmessages.pb.h"
$DynamicFile "$GENERATED_PROTO_DIR\netmessages.pb.cc"
{
$Configuration
{
$Compiler [$WINDOWS]
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
}
}
}

View File

@@ -0,0 +1,39 @@
$Project
{
$Folder "Protobuf Files"
{
// This file will be fully used only when/if we integrate Yahn's CL 1791453 from dota
/*$File "$SRCDIR/common/networkbasetypes.proto"
$Folder "Generated Files"
{
$DynamicFile "$GENERATED_PROTO_DIR/networkbasetypes.pb.h"
$DynamicFile "$GENERATED_PROTO_DIR/networkbasetypes.pb.cc"
{
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers" [$WINDOWS]
}
}
}
}*/
$File "$SRCDIR/common/network_connection.proto"
$Folder "Generated Files"
{
$DynamicFile "$GENERATED_PROTO_DIR/network_connection.pb.h"
$DynamicFile "$GENERATED_PROTO_DIR/network_connection.pb.cc"
{
$Configuration
{
$Compiler [$WINDOWS]
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
}
}
}

View File

@@ -0,0 +1,7 @@
$Macro PLATSUBDIR "\." [$WIN32]
$Macro PLATSUBDIR "\x64" [$WIN64]
$Macro PLATSUBDIR "\." [$X360]
$Macro PLATSUBDIR "\linux32" [$LINUX32]
$Macro PLATSUBDIR "\linux64" [$LINUX64]
$Macro PLATSUBDIR "\osx32" [$OSX32]
$Macro PLATSUBDIR "\osx64" [$OSX64]

2356
vpc_scripts/projects.vgc Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,72 @@
$MacroRequired GENERATED_PROTO_DIR
// Indicate that this VPC file has been included so that the VPC files
// that declare .proto files can require that this is included first
// by using $MacroRequired PROTOBUF_BUILDER_INCLUDED
$Macro PROTOBUF_BUILDER_INCLUDED "1"
$CustomBuildStep "proto"
{
$Description "Running Protocol Buffer Compiler on $(InputFileName)..."
$CommandLine "if not exist $GENERATED_PROTO_DIR mkdir $GENERATED_PROTO_DIR" "\n" \
"$SRCDIR\devtools\bin\protoc.exe --proto_path=$SRCDIR\thirdparty\protobuf-2.5.0\src --proto_path=$(InputDir) --proto_path=$SRCDIR\gcsdk --proto_path=$SRCDIR\game\shared --proto_path=$SRCDIR\game\shared\cstrike15 --proto_path=$SRCDIR\common --cpp_out=$GENERATED_PROTO_DIR $(InputPath)" [$WINDOWS]
$CommandLine "mkdir -p $GENERATED_PROTO_DIR 2> /dev/null;" \
"$SRCDIR/devtools/bin/osx32/protoc --proto_path=$SRCDIR\thirdparty\protobuf-2.5.0\src --proto_path=$(InputDir) --proto_path=$SRCDIR\gcsdk --proto_path=$SRCDIR\game\shared --proto_path=$SRCDIR\game\shared\cstrike15 --proto_path=$SRCDIR\common --cpp_out=$GENERATED_PROTO_DIR $(InputPath)" [$OSXALL]
$CommandLine "mkdir -p $GENERATED_PROTO_DIR 2> /dev/null;" \
"$SRCDIR/devtools/bin/linux/protoc --proto_path=$SRCDIR\thirdparty\protobuf-2.5.0\src --proto_path=$(InputDir) --proto_path=$SRCDIR\gcsdk --proto_path=$SRCDIR\game\shared --proto_path=$SRCDIR\game\shared\cstrike15 --proto_path=$SRCDIR\common --cpp_out=$GENERATED_PROTO_DIR $(InputPath)" [$LINUX]
$Outputs "$GENERATED_PROTO_DIR\$(InputName).pb.cc;$GENERATED_PROTO_DIR\$(InputName).pb.h"
}
$Configuration
{
$Compiler
{
// General
$AdditionalIncludeDirectories "$BASE;$GENERATED_PROTO_DIR;$SRCDIR\thirdparty\protobuf-2.5.0\src"
$PreprocessorDefinitions "$BASE;PROTOBUF"
}
}
$Project
{
$Folder "Protobuf Files"
{
$Folder "Google Protobuf Headers"
{
$File "$SRCDIR/thirdparty/protobuf-2.5.0/src/google/protobuf/descriptor.h"
$File "$SRCDIR/thirdparty/protobuf-2.5.0/src/google/protobuf/descriptor.pb.h"
$File "$SRCDIR/thirdparty/protobuf-2.5.0/src/google/protobuf/extension_set.h"
$File "$SRCDIR/thirdparty/protobuf-2.5.0/src/google/protobuf/generated_message_reflection.h"
$File "$SRCDIR/thirdparty/protobuf-2.5.0/src/google/protobuf/generated_message_util.h"
$File "$SRCDIR/thirdparty/protobuf-2.5.0/src/google/protobuf/io/coded_stream.h"
$File "$SRCDIR/thirdparty/protobuf-2.5.0/src/google/protobuf/message.h"
$File "$SRCDIR/thirdparty/protobuf-2.5.0/src/google/protobuf/message_lite.h"
$File "$SRCDIR/thirdparty/protobuf-2.5.0/src/google/protobuf/reflection_ops.h"
$File "$SRCDIR/thirdparty/protobuf-2.5.0/src/google/protobuf/repeated_field.h"
$File "$SRCDIR/thirdparty/protobuf-2.5.0/src/google/protobuf/stubs/common.h"
$File "$SRCDIR/thirdparty/protobuf-2.5.0/src/google/protobuf/stubs/once.h"
$File "$SRCDIR/thirdparty/protobuf-2.5.0/src/google/protobuf/unknown_field_set.h"
$File "$SRCDIR/thirdparty/protobuf-2.5.0/src/google/protobuf/wire_format.h"
$File "$SRCDIR/thirdparty/protobuf-2.5.0/src/google/protobuf/wire_format_lite.h"
$File "$SRCDIR/thirdparty/protobuf-2.5.0/src/google/protobuf/wire_format_lite_inl.h"
}
$Folder "Helpers"
{
$File "$SRCDIR/common/protobuf_helpers.h"
$File "$SRCDIR/common/protobuf_helpers.cpp"
{
$Configuration
{
$Compiler [$WINDOWS]
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
}
}
}

View File

@@ -0,0 +1,42 @@
//-----------------------------------------------------------------------------
//
// python_base.vpc
//
// General settings for a Python DLL or Executable
//
//-----------------------------------------------------------------------------
$MacroRequired "PYTHONVER"
$Configuration
{
$Compiler
{
$AdditionalIncludeDirectories "$BASE;$SRCDIR\common\python\$PYTHONVER;$SRCDIR\public\python"
}
$Linker
{
$AdditionalLibraryDirectories "$BASE;$SRCDIR\lib\common\python\$PYTHONVER"
}
}
$Configuration "Debug"
{
$General
{
$OutputDirectory "Debug_Python$PYTHONVER"
$IntermediateDirectory "Debug_Python$PYTHONVER"
}
}
$Configuration "Release"
{
$General
{
$OutputDirectory "Release_Python$PYTHONVER"
$IntermediateDirectory "Release_Python$PYTHONVER"
}
}
$Include "$SRCDIR\vpc_scripts\python_inc_$PYTHONVER.vpc"

View File

@@ -0,0 +1,95 @@
//-----------------------------------------------------------------------------
//
// python_inc_2.5.vpc
//
// Include files for Python 2.5
//
//-----------------------------------------------------------------------------
$Project
{
$Folder "Python Headers"
{
$File "$SRCDIR\common\python\2.5\Python-ast.h"
$File "$SRCDIR\common\python\2.5\Python.h"
$File "$SRCDIR\common\python\2.5\abstract.h"
$File "$SRCDIR\common\python\2.5\asdl.h"
$File "$SRCDIR\common\python\2.5\ast.h"
$File "$SRCDIR\common\python\2.5\bitset.h"
$File "$SRCDIR\common\python\2.5\boolobject.h"
$File "$SRCDIR\common\python\2.5\bufferobject.h"
$File "$SRCDIR\common\python\2.5\cStringIO.h"
$File "$SRCDIR\common\python\2.5\cellobject.h"
$File "$SRCDIR\common\python\2.5\ceval.h"
$File "$SRCDIR\common\python\2.5\classobject.h"
$File "$SRCDIR\common\python\2.5\cobject.h"
$File "$SRCDIR\common\python\2.5\code.h"
$File "$SRCDIR\common\python\2.5\codecs.h"
$File "$SRCDIR\common\python\2.5\compile.h"
$File "$SRCDIR\common\python\2.5\complexobject.h"
$File "$SRCDIR\common\python\2.5\datetime.h"
$File "$SRCDIR\common\python\2.5\descrobject.h"
$File "$SRCDIR\common\python\2.5\dictobject.h"
$File "$SRCDIR\common\python\2.5\enumobject.h"
$File "$SRCDIR\common\python\2.5\errcode.h"
$File "$SRCDIR\common\python\2.5\eval.h"
$File "$SRCDIR\common\python\2.5\fileobject.h"
$File "$SRCDIR\common\python\2.5\floatobject.h"
$File "$SRCDIR\common\python\2.5\frameobject.h"
$File "$SRCDIR\common\python\2.5\funcobject.h"
$File "$SRCDIR\common\python\2.5\genobject.h"
$File "$SRCDIR\common\python\2.5\graminit.h"
$File "$SRCDIR\common\python\2.5\grammar.h"
$File "$SRCDIR\common\python\2.5\import.h"
$File "$SRCDIR\common\python\2.5\intobject.h"
$File "$SRCDIR\common\python\2.5\intrcheck.h"
$File "$SRCDIR\common\python\2.5\iterobject.h"
$File "$SRCDIR\common\python\2.5\listobject.h"
$File "$SRCDIR\common\python\2.5\longintrepr.h"
$File "$SRCDIR\common\python\2.5\longobject.h"
$File "$SRCDIR\common\python\2.5\marshal.h"
$File "$SRCDIR\common\python\2.5\metagrammar.h"
$File "$SRCDIR\common\python\2.5\methodobject.h"
$File "$SRCDIR\common\python\2.5\modsupport.h"
$File "$SRCDIR\common\python\2.5\moduleobject.h"
$File "$SRCDIR\common\python\2.5\node.h"
$File "$SRCDIR\common\python\2.5\object.h"
$File "$SRCDIR\common\python\2.5\objimpl.h"
$File "$SRCDIR\common\python\2.5\opcode.h"
$File "$SRCDIR\common\python\2.5\osdefs.h"
$File "$SRCDIR\common\python\2.5\parsetok.h"
$File "$SRCDIR\common\python\2.5\patchlevel.h"
$File "$SRCDIR\common\python\2.5\pgen.h"
$File "$SRCDIR\common\python\2.5\pgenheaders.h"
$File "$SRCDIR\common\python\2.5\py_curses.h"
$File "$SRCDIR\common\python\2.5\pyarena.h"
$File "$SRCDIR\common\python\2.5\pyconfig.h"
$File "$SRCDIR\common\python\2.5\pydebug.h"
$File "$SRCDIR\common\python\2.5\pyerrors.h"
$File "$SRCDIR\common\python\2.5\pyexpat.h"
$File "$SRCDIR\common\python\2.5\pyfpe.h"
$File "$SRCDIR\common\python\2.5\pygetopt.h"
$File "$SRCDIR\common\python\2.5\pymactoolbox.h"
$File "$SRCDIR\common\python\2.5\pymem.h"
$File "$SRCDIR\common\python\2.5\pyport.h"
$File "$SRCDIR\common\python\2.5\pystate.h"
$File "$SRCDIR\common\python\2.5\pystrtod.h"
$File "$SRCDIR\common\python\2.5\pythonrun.h"
$File "$SRCDIR\common\python\2.5\pythread.h"
$File "$SRCDIR\common\python\2.5\rangeobject.h"
$File "$SRCDIR\common\python\2.5\setobject.h"
$File "$SRCDIR\common\python\2.5\sliceobject.h"
$File "$SRCDIR\common\python\2.5\stringobject.h"
$File "$SRCDIR\common\python\2.5\structmember.h"
$File "$SRCDIR\common\python\2.5\structseq.h"
$File "$SRCDIR\common\python\2.5\symtable.h"
$File "$SRCDIR\common\python\2.5\sysmodule.h"
$File "$SRCDIR\common\python\2.5\timefuncs.h"
$File "$SRCDIR\common\python\2.5\token.h"
$File "$SRCDIR\common\python\2.5\traceback.h"
$File "$SRCDIR\common\python\2.5\tupleobject.h"
$File "$SRCDIR\common\python\2.5\ucnhash.h"
$File "$SRCDIR\common\python\2.5\unicodeobject.h"
$File "$SRCDIR\common\python\2.5\weakrefobject.h"
}
}

View File

@@ -0,0 +1,102 @@
//-----------------------------------------------------------------------------
//
// python_inc_2.6.vpc
//
// Include files for Python 2.6
//
//-----------------------------------------------------------------------------
$Project
{
$Folder "Python Headers"
{
$File "$SRCDIR\common\python\2.6\python-ast.h"
$File "$SRCDIR\common\python\2.6\python.h"
$File "$SRCDIR\common\python\2.6\abstract.h"
$File "$SRCDIR\common\python\2.6\asdl.h"
$File "$SRCDIR\common\python\2.6\ast.h"
$File "$SRCDIR\common\python\2.6\bitset.h"
$File "$SRCDIR\common\python\2.6\boolobject.h"
$File "$SRCDIR\common\python\2.6\bufferobject.h"
$File "$SRCDIR\common\python\2.6\bytearrayobject.h"
$File "$SRCDIR\common\python\2.6\bytes_methods.h"
$File "$SRCDIR\common\python\2.6\bytesobject.h"
$File "$SRCDIR\common\python\2.6\cstringio.h"
$File "$SRCDIR\common\python\2.6\cellobject.h"
$File "$SRCDIR\common\python\2.6\ceval.h"
$File "$SRCDIR\common\python\2.6\classobject.h"
$File "$SRCDIR\common\python\2.6\cobject.h"
$File "$SRCDIR\common\python\2.6\code.h"
$File "$SRCDIR\common\python\2.6\codecs.h"
$File "$SRCDIR\common\python\2.6\compile.h"
$File "$SRCDIR\common\python\2.6\complexobject.h"
$File "$SRCDIR\common\python\2.6\datetime.h"
$File "$SRCDIR\common\python\2.6\descrobject.h"
$File "$SRCDIR\common\python\2.6\dictobject.h"
$File "$SRCDIR\common\python\2.6\enumobject.h"
$File "$SRCDIR\common\python\2.6\errcode.h"
$File "$SRCDIR\common\python\2.6\eval.h"
$File "$SRCDIR\common\python\2.6\fileobject.h"
$File "$SRCDIR\common\python\2.6\floatobject.h"
$File "$SRCDIR\common\python\2.6\frameobject.h"
$File "$SRCDIR\common\python\2.6\funcobject.h"
$File "$SRCDIR\common\python\2.6\genobject.h"
$File "$SRCDIR\common\python\2.6\graminit.h"
$File "$SRCDIR\common\python\2.6\grammar.h"
$File "$SRCDIR\common\python\2.6\import.h"
$File "$SRCDIR\common\python\2.6\intobject.h"
$File "$SRCDIR\common\python\2.6\intrcheck.h"
$File "$SRCDIR\common\python\2.6\iterobject.h"
$File "$SRCDIR\common\python\2.6\listobject.h"
$File "$SRCDIR\common\python\2.6\longintrepr.h"
$File "$SRCDIR\common\python\2.6\longobject.h"
$File "$SRCDIR\common\python\2.6\marshal.h"
$File "$SRCDIR\common\python\2.6\metagrammar.h"
$File "$SRCDIR\common\python\2.6\methodobject.h"
$File "$SRCDIR\common\python\2.6\modsupport.h"
$File "$SRCDIR\common\python\2.6\moduleobject.h"
$File "$SRCDIR\common\python\2.6\node.h"
$File "$SRCDIR\common\python\2.6\object.h"
$File "$SRCDIR\common\python\2.6\objimpl.h"
$File "$SRCDIR\common\python\2.6\opcode.h"
$File "$SRCDIR\common\python\2.6\osdefs.h"
$File "$SRCDIR\common\python\2.6\parsetok.h"
$File "$SRCDIR\common\python\2.6\patchlevel.h"
$File "$SRCDIR\common\python\2.6\pgen.h"
$File "$SRCDIR\common\python\2.6\pgenheaders.h"
$File "$SRCDIR\common\python\2.6\py_curses.h"
$File "$SRCDIR\common\python\2.6\pyarena.h"
$File "$SRCDIR\common\python\2.6\pyconfig.h"
$File "$SRCDIR\common\python\2.6\pydebug.h"
$File "$SRCDIR\common\python\2.6\pyerrors.h"
$File "$SRCDIR\common\python\2.6\pyexpat.h"
$File "$SRCDIR\common\python\2.6\pyfpe.h"
$File "$SRCDIR\common\python\2.6\pygetopt.h"
$File "$SRCDIR\common\python\2.6\pymacconfig.h"
$File "$SRCDIR\common\python\2.6\pymactoolbox.h"
$File "$SRCDIR\common\python\2.6\pymath.h"
$File "$SRCDIR\common\python\2.6\pymem.h"
$File "$SRCDIR\common\python\2.6\pyport.h"
$File "$SRCDIR\common\python\2.6\pystate.h"
$File "$SRCDIR\common\python\2.6\pystrcmp.h"
$File "$SRCDIR\common\python\2.6\pystrtod.h"
$File "$SRCDIR\common\python\2.6\pythonrun.h"
$File "$SRCDIR\common\python\2.6\pythread.h"
$File "$SRCDIR\common\python\2.6\rangeobject.h"
$File "$SRCDIR\common\python\2.6\setobject.h"
$File "$SRCDIR\common\python\2.6\sliceobject.h"
$File "$SRCDIR\common\python\2.6\stringobject.h"
$File "$SRCDIR\common\python\2.6\structmember.h"
$File "$SRCDIR\common\python\2.6\structseq.h"
$File "$SRCDIR\common\python\2.6\symtable.h"
$File "$SRCDIR\common\python\2.6\sysmodule.h"
$File "$SRCDIR\common\python\2.6\timefuncs.h"
$File "$SRCDIR\common\python\2.6\token.h"
$File "$SRCDIR\common\python\2.6\traceback.h"
$File "$SRCDIR\common\python\2.6\tupleobject.h"
$File "$SRCDIR\common\python\2.6\ucnhash.h"
$File "$SRCDIR\common\python\2.6\unicodeobject.h"
$File "$SRCDIR\common\python\2.6\warnings.h"
$File "$SRCDIR\common\python\2.6\weakrefobject.h"
}
}

80
vpc_scripts/qt_base.vpc Normal file
View File

@@ -0,0 +1,80 @@
//-----------------------------------------------------------------------------
//
// VPC macros common to all Qt-based projects. Gives access to Qt headers and
// provides build rules for Qt's custom build steps.
//
//-----------------------------------------------------------------------------
$Macro QT_ROOT "$SRCDIR\thirdparty\lgpl\qt"
$Macro QT_MOC_TOOL "$QT_ROOT\bin\moc.exe"
$Macro QT_UI_TOOL "$QT_ROOT\bin\uic.exe"
$Macro QT_QRC_TOOL "$QT_ROOT\bin\rcc.exe"
$Macro QT_TARGET_SUBDIR "generated_code_DO_NOT_CHECK_THESE_IN"
$Macro QT_MOC_DEFINES "-DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -D_MSC_VER=1400"
$Macro QT_MOC_INCLUDES "-I;$QT_ROOT\include\QtCore; -I;$QT_ROOT\include\QtGui; -I;$QT_ROOT\include; -I;$QT_ROOT\include\ActiveQt; -I;.; -I;$QT_ROOT\mkspecs\win32-msvc2005"
$Macro QT_MOC_COMMAND_PREFIX "$QT_MOC_TOOL $QT_MOC_DEFINES $QT_MOC_INCLUDES"
$Macro QT_UI_COMMAND_PREFIX "$QT_UI_TOOL"
$Macro QT_QRC_COMMAND_PREFIX "$QT_QRC_TOOL"
//-----------------------------------------------------------------------------
// NOTE: The standard here is that the terminal _H, _MOC, _UI is for the extension
// that it is processing.
//-----------------------------------------------------------------------------
$Macro QT_OUTPUT_H "$(InputDir)$QT_TARGET_SUBDIR\moc_$(InputName).cpp"
$Macro QT_OUTPUT_MOC "$(InputPath)"
$Macro QT_OUTPUT_UI "$(InputDir)$QT_TARGET_SUBDIR\ui_$(InputName).h"
$Macro QT_OUTPUT_QRC "$(InputDir)$QT_TARGET_SUBDIR\qrc_$(InputName).cpp"
$Macro QT_COMMAND_SUFFIX_H "$(InputPath) -o $QT_OUTPUT_H"
$Macro QT_COMMAND_SUFFIX_MOC "$(InputName).cpp -o $QT_OUTPUT_MOC"
$Macro QT_COMMAND_SUFFIX_UI "$(InputPath) -o $QT_OUTPUT_UI"
$Macro QT_COMMAND_SUFFIX_QRC "$(InputPath) -o $QT_OUTPUT_QRC"
$Macro QT_DESCRIPTION_H "Processing QT Keywords: $(InputFileName)"
$Macro QT_DESCRIPTION_MOC "Processing QT Keywords: $(InputFileName)"
$Macro QT_DESCRIPTION_UI "Processing UI Form: $(InputFileName)"
$Macro QT_DESCRIPTION_QRC "Processing QRC: $(InputFileName)"
$Macro QT_PREBUILD_H "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $QT_OUTPUT_H $SRCDIR " "\n"
$Macro QT_PREBUILD_MOC "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $QT_OUTPUT_MOC $SRCDIR " "\n"
$Macro QT_PREBUILD_UI "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $QT_OUTPUT_UI $SRCDIR " "\n"
$Macro QT_PREBUILD_QRC "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $QT_OUTPUT_QRC $SRCDIR " "\n"
$Macro QT_CUSTOM_BUILD_H "$QT_PREBUILD_H $QT_MOC_COMMAND_PREFIX $QT_COMMAND_SUFFIX_H"
$Macro QT_CUSTOM_BUILD_MOC "$QT_PREBUILD_MOC $QT_MOC_COMMAND_PREFIX $QT_COMMAND_SUFFIX_MOC"
$Macro QT_CUSTOM_BUILD_UI "$QT_PREBUILD_UI $QT_UI_COMMAND_PREFIX $QT_COMMAND_SUFFIX_UI"
$Macro QT_CUSTOM_BUILD_QRC "$QT_PREBUILD_QRC $QT_QRC_COMMAND_PREFIX $QT_COMMAND_SUFFIX_QRC"
// <xxxx>.cpp files that have Q_OBJECT need to have moc.exe run on them to generate <xxxx>.moc
// having a <xxxx>.moc in the project guarantees a pre build dependency and runs moc.exe on the <xxxx>.cpp file
// <xxxx>.cpp is expected to have a #include "xxxx.moc" at its bottom.
// There was no way with vcproj's to express this multiple phase generate->build pattern.
$CustomBuildStep "moc"
{
$AdditionalDependencies "$(InputName).cpp"
$CommandLine "$QT_CUSTOM_BUILD_MOC"
$Description "$QT_DESCRIPTION_MOC"
$Outputs "$QT_OUTPUT_MOC"
}
// <xxxx>.ui files need to have uic.exe run on them to generate <xxxx>.h
$CustomBuildStep "ui"
{
$CommandLine "$QT_CUSTOM_BUILD_UI"
$Description "$QT_DESCRIPTION_UI"
$Outputs "$QT_OUTPUT_UI"
}
$CustomBuildStep "qrc"
{
$AdditionalDependencies "$(InputName).cpp"
$CommandLine "$QT_CUSTOM_BUILD_QRC"
$Description "$QT_DESCRIPTION_QRC"
$Outputs "$QT_OUTPUT_QRC"
}

33
vpc_scripts/readme.txt Normal file
View File

@@ -0,0 +1,33 @@
Usage for the vpc-generating perl scripts:
(Note, perl is case sensitive.)
"generateVPC.pl"
"generatesimpleVPC.pl"
- Run from the vpc_scripts directory.
- Use full or relative path to the vcproj file.
- Use -o to specify an output directory. If no output directory is specified, The vpc script(s) will be generated in the same directory as the source vcproj.
("generateSimpleVPC.pl" produces a stripped-down version of the output scripts)
Example:
> generateVPC.pl ..\cl_dll\client.vcproj -o ..\cl_dll\tempdir
"generateSnapshot.pl"
"generatesimpleSnapshot.pl"
Generates vpc scripts for the entire tree, and places them in a local mirror directory tree named "snapshot". If a snapshot tree already exists, it is renamed to "backup" and a new snapshot is created. This allows running a diff of the two trees to see which vcproj's have changed since the last snapshot.
No arguments are necessary:
> generateSnapshot.pl
NOTES:
generateVPC.pl always assumes a common base script and optional additional leaf scripts. If a file or property is identical across all project configurations, then it is placed in the base script. If any configuration is different, then that file or property is moved into the appropriate mod's leaf script. This is expected behavior for client and server, but most other projects should only have a base script.

View File

@@ -0,0 +1,46 @@
//-----------------------------------------------------------------------------
// source_base.vpc
//
// This is the base VPC file that is included by all others, on all platforms.
//
// Project Script
//-----------------------------------------------------------------------------
// Set which branch we are building out of.
// This is one file we expect to be different between branches and so it must be merged carefully
// Rel branch:
$Conditional CSTRIKE_TRUNK_BUILD "0"
$Conditional CSTRIKE_STAGING_BUILD "0"
$Conditional CSTRIKE_REL_BUILD "1"
// Telemetry is disabled in rel, unless you use /DRAD_TELEMETRY_ENABLED on the vpc command line.
$Conditional RAD_TELEMETRY_DISABLED "1" [ $CSTRIKE_REL_BUILD && !$RAD_TELEMETRY_ENABLED ]
$Configuration "Debug"
{
$Compiler
{
// Pass on appropriate branch define to preprocessor
$PreprocessorDefinitions "VPC"
$PreprocessorDefinitions "$BASE;CSTRIKE_TRUNK_BUILD=1" [ $CSTRIKE_TRUNK_BUILD ]
$PreprocessorDefinitions "$BASE;CSTRIKE_STAGING_BUILD=1" [ $CSTRIKE_STAGING_BUILD ]
$PreprocessorDefinitions "$BASE;CSTRIKE_REL_BUILD=1" [ $CSTRIKE_REL_BUILD ]
$PreprocessorDefinitions "$BASE;RAD_TELEMETRY_DISABLED" [ $RAD_TELEMETRY_DISABLED ]
}
}
$Configuration "Release"
{
$Compiler
{
// Pass on appropriate branch define to preprocessor
$PreprocessorDefinitions "VPC"
$PreprocessorDefinitions "$BASE;CSTRIKE_TRUNK_BUILD=1" [ $CSTRIKE_TRUNK_BUILD ]
$PreprocessorDefinitions "$BASE;CSTRIKE_STAGING_BUILD=1" [ $CSTRIKE_STAGING_BUILD ]
$PreprocessorDefinitions "$BASE;CSTRIKE_REL_BUILD=1" [ $CSTRIKE_REL_BUILD ]
$PreprocessorDefinitions "$BASE;RAD_TELEMETRY_DISABLED" [ $RAD_TELEMETRY_DISABLED ]
}
}

View File

@@ -0,0 +1,22 @@
$MacroRequired "OUTDLLEXT" "$_DLL_EXT"
$Include "$SRCDIR\vpc_scripts\platform_dirs.vpc"
$Include "$SRCDIR\vpc_scripts\source_base.vpc"
$include "$SRCDIR\vpc_scripts\source_dll_posix_base.vpc" [$POSIX]
$Include "$SRCDIR\vpc_scripts\source_dll_win32_base.vpc" [$WINDOWS && !$POSIX]
$Include "$SRCDIR\vpc_scripts\source_dll_x360_base.vpc" [$X360]
$Include "$SRCDIR\vpc_scripts\source_ppu_prx_ps3_base.vpc" [$PS3]
$Include "$SRCDIR\vpc_scripts\source_video_base.vpc"
$Configuration
{
$General
{
$TargetExtension "$OUTDLLEXT"
}
$Compiler
{
$PreprocessorDefinitions "$BASE;CSTRIKE15"
}
}

View File

@@ -0,0 +1,19 @@
$Include "$SRCDIR\vpc_scripts\version.vpc"
$Include "$SRCDIR\vpc_scripts\source_linux_base_project.vpc"
$MacroRequired "OUTBINNAME" "$PROJECTNAME"
// General configuration info.
$Configuration
{
$General
{
$ConfigurationType "Dynamic Library (.dll)"
$OutputFile "$(OBJ_DIR)/$OUTBINNAME$_DLL_EXT"
$GameOutputFile "$OUTBINDIR/$OUTBINNAME$_DLL_EXT"
}
}

View File

@@ -0,0 +1,43 @@
$Include "$SRCDIR\vpc_scripts\version.vpc"
$Include "$SRCDIR\vpc_scripts\source_posix_base.vpc"
$MacroRequired "OUTBINNAME" "$PROJECTNAME"
$MacroRequired "OUTBINDIR"
$Macro "OUTBINDIR" "$OUTBINDIR$PLATSUBDIR" [$LINUX64 || $OSX64]
// General configuration info.
$Configuration
{
$General
{
$ConfigurationType "Dynamic Library (.dll)"
$GameOutputFile "$OUTBINDIR/$OUTBINNAME$OUTDLLEXT"
}
$Compiler
{
$PreprocessorDefinitions "$BASE;DLLNAME=$OUTBINNAME"
}
$Linker
{
$OutputFile "$(OBJ_DIR)/$OUTBINNAME$OUTDLLEXT"
}
}
// Skeleton Project - All derived projects get this as a starting base
$Project
{
$Folder "Source Files"
{
$File "$SRCDIR\public\tier0\memoverride.cpp"
}
$Folder "Resources"
{
$File "$ROOTSCRIPT"
}
}

View File

@@ -0,0 +1,32 @@
//===================== Copyright (c) Valve Corporation. All Rights Reserved. ======================
//
//==================================================================================================
$Include "$SRCDIR\vpc_scripts\source_dll_win32_base.vpc"
$Include "$SRCDIR\vpc_scripts\qt_base.vpc"
$Configuration
{
$Compiler
{
$AdditionalIncludeDirectories "$BASE;.\;$SRCDIR\game\shared;$QT_ROOT\include;.\$QT_TARGET_SUBDIR"
$PreprocessorDefinitions "$BASE;QT_LARGEFILE_SUPPORT;QT_DLL;QT_GUI_LIB;QT_CORE_LIB;QT_THREAD_SUPPORT"
$PreprocessorDefinitions "$BASE;QT_NO_DEBUG" [!$QTDEBUG]
$DisableSpecificWarnings "4127;4512;$BASE"
}
}
$Project
{
$Folder "Link Libraries" [$QTDEBUG]
{
$Lib "$QT_ROOT\lib\qtcored4"
$Lib "$QT_ROOT\lib\qtguid4"
}
$Folder "Link Libraries" [!$QTDEBUG]
{
$Lib "$QT_ROOT\lib\qtcore4"
$Lib "$QT_ROOT\lib\qtgui4"
}
}

View File

@@ -0,0 +1,128 @@
//-----------------------------------------------------------------------------
// SOURCE_DLL_WIN32_BASE.VPC
//
// Base Settings for all Source(TM) Projects
//-----------------------------------------------------------------------------
$Include "$SRCDIR\vpc_scripts\version.vpc"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME" "$PROJECTNAME"
$MacroRequired "OUTBINDIR"
$Macro PLATSUBDIR "\." [$WIN32]
$Macro PLATSUBDIR "\x64" [$WIN64]
$Macro OUTBINDIR "$OUTBINDIR$PLATSUBDIR"
$Macro LIBPUBLIC "$SRCDIR\lib\public$PLATSUBDIR"
$Macro LIBCOMMON "$SRCDIR\lib\common$PLATSUBDIR"
$Include "$SRCDIR\vpc_scripts\loadaddress.vpc"
$Include "$SRCDIR\vpc_scripts\source_dll_win32_debug.vpc"
$Include "$SRCDIR\vpc_scripts\source_dll_win32_release.vpc"
$Include "$SRCDIR\vpc_scripts\source_win32_base.vpc"
$IgnoreRedundancyWarning "ON"
// Common Configuration
$Configuration
{
$General
{
$TargetName "$OUTBINNAME"
}
$Compiler
{
$PreprocessorDefinitions "$BASE;PLATFORM_64BITS;WIN64;_WIN64;COMPILER_MSVC64" [$WIN64]
$PreprocessorDefinitions "$BASE;COMPILER_MSVC32" [$WIN32]
$PreprocessorDefinitions "$BASE;COMPILER_MSVC;MEMOVERRIDE_MODULE=$PROJECTNAME;_DLL_EXT=$_DLL_EXT"
$PreprocessorDefinitions "$BASE;DLLNAME=$OUTBINNAME"
$PreprocessorDefinitions "$BASE;PS3SDK_INSTALLED" [$PS3SDKINSTALLED]
$PreprocessorDefinitions "$BASE;XDK_INSTALLED" [$XDKINSTALLED]
}
$Compiler [$WIN32] // This is already enabled for WIN64.
{
$EnableEnhancedInstructionSet "Streaming SIMD Extensions 2 (/arch:SSE2)"
}
$Linker
{
$AdditionalDependencies "$BASE shell32.lib user32.lib advapi32.lib gdi32.lib comdlg32.lib ole32.lib" [$WINDOWS]
$TargetMachine "MachineX86 (/MACHINE:X86)" [$WIN32]
$TargetMachine "MachineX64 (/MACHINE:X64)" [$WIN64]
// Suppress this pointless warning using the undocumented /ignore linker switch
// schemalib.lib(schemaclassinfo.obj) : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
$AdditionalOptions "$BASE /ignore:4221"
$AdditionalOptions "$BASE $SRCDIR\lib\public\ftol3.obj" [$VS2013 && $WIN32 && !$DISABLE_FTOL3_OVERRIDE] // Work around CRT bug https://connect.microsoft.com/VisualStudio/feedback/details/806362/vc12-pollutes-the-floating-point-stack-when-casting-infinity-nan-to-unsigned-long#
}
$PreBuildEvent
{
$CommandLine "if EXIST $OUTBINDIR\$(TargetFileName) for /f $QUOTEdelims=$QUOTE %%A in ('attrib $QUOTE$OUTBINDIR\$(TargetFileName)$QUOTE') do set valveTmpIsReadOnly=$QUOTE%%A$QUOTE" "\n" \
"set valveTmpIsReadOnlyLetter=%valveTmpIsReadOnly:~6,1%" "\n" \
"if $QUOTE%valveTmpIsReadOnlyLetter%$QUOTE==$QUOTER$QUOTE del /q $QUOTE$(TargetDir)$QUOTE$(TargetFileName)" "\n" \
"$HOST_VPC_EXE -crc2 $QUOTE$VPC_OUTPUT_FILE$QUOTE" "\n"
}
$PostBuildEvent [!$ANALYZE]
{
$CommandLine "if exist $OUTBINDIR goto ValveStart" "\n" \
"mkdir $OUTBINDIR" "\n" \
":ValveStart" "\n" \
"call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetFileName) $SRCDIR" "\n" \
"copy $QUOTE$(TargetDir)$QUOTE$(TargetFileName) $OUTBINDIR\$(TargetFileName)" "\n" \
"if ERRORLEVEL 1 goto BuildEventFailed" "\n" \
"if exist $QUOTE$(TargetDir)$QUOTE$(TargetName).map copy $QUOTE$(TargetDir)$QUOTE$(TargetName).map $OUTBINDIR\$(TargetName).map" "\n" \
"call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetName).pdb $SRCDIR" "\n" \
"copy $QUOTE$(TargetDir)$QUOTE$(TargetName).pdb $OUTBINDIR\$(TargetName).pdb" "\n" \
"if ERRORLEVEL 1 goto BuildEventFailed" "\n" \
"goto BuildEventOK" "\n" \
":BuildEventFailed" "\n" \
"echo *** ERROR! PostBuildStep FAILED for $(ProjectName)! EXE or DLL is probably running. ***" "\n" \
"del /q $QUOTE$(TargetDir)$QUOTE$(TargetFileName)" "\n" \
"exit 1" "\n" \
":BuildEventOK" "\n"
$Description "Publishing to $OUTBINDIR"
$ExcludedFromBuild "No"
}
}
// Skeleton Project - All derived projects get this as a starting base
$Project
{
$Folder "Source Files"
{
$File_NoPCH "$SRCDIR\public\tier0\memoverride.cpp"
{
$BuildOrderModifier "0x00000001"
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
$File_NoPCH "$SRCDIR\common\debug_dll_check.cpp"
{
$BuildOrderModifier "0x00000001"
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
}
$Folder "Link Libraries"
{
$Implib "tier0"
$Lib "tier1"
$Lib "interfaces"
$Implib "vstdlib"
}
}

View File

@@ -0,0 +1,320 @@
//-----------------------------------------------------------------------------
// SOURCE_DLL_WIN32_DEBUG.VPC
//
// Base Settings for all Source(TM) Projects
//-----------------------------------------------------------------------------
$IgnoreRedundancyWarning "ON"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "LIBPUBLIC"
$MacroRequired "LIBCOMMON"
$MacroRequired "PLATSUBDIR"
$Configuration "Debug"
{
$General
{
// General
$OutputDirectory ".\Debug$PLATSUBDIR"
$IntermediateDirectory ".\Debug$PLATSUBDIR"
$ExtensionsToDeleteOnClean
$BuildLogFile
$InheritedProjectPropertySheets
// Project Defaults
$ConfigurationType "Dynamic Library (.dll)"
$UseOfMFC
$UseOfATL
$MinimizeCRTUseInATL
$CharacterSet "Use Multi-Byte Character Set"
$CommonLanguageRuntimeSupport
$WholeProgramOptimization
}
$Debugging
{
$Command
$CommandArguments
$WorkingDirectory
$Attach
$DebuggerType
$Environment
$MergeEnvironment
$SQLDebugging
}
$Compiler
{
// General
$AdditionalIncludeDirectories "$SRCDIR\common;$SRCDIR\public;$SRCDIR\public\tier0;$SRCDIR\public\tier1"
$Resolve#UsingReferences
$DebugInformationFormat "Program Database for Edit & Continue (/ZI)" [$WINDOWS]
$DebugInformationFormat "Program Database (/Zi)" [$WIN64]
$SuppressStartupBanner
$WarningLevel "Level 4 (/W4)"
$Detect64bitPortabilityIssues "Yes (/Wp64)"
$TreatWarningsAsErrors
$MultiProcessorCompilation "Yes (/MP)"
$UseUNICODEResponseFiles
// Optimization
$Optimization "Disabled (/Od)"
$InlineFunctionExpansion
$EnableIntrinsicFunctions
$FavorSizeOrSpeed
$OmitFramePointers
$EnableFiberSafeOptimizations
$WholeProgramOptimization
// Preprocessor
$PreprocessorDefinitions "$BASE;_HAS_ITERATOR_DEBUGGING=0;WIN32;_WIN32;_DEBUG;DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DLLNAME=$OUTBINNAME;_ALLOW_RUNTIME_LIBRARY_MISMATCH;_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH;_ALLOW_MSC_VER_MISMATCH;%(PreprocessorDefinitions)"
$IgnoreStandardIncludePath
$GeneratePreprocessedFile
$KeepComments
// Code Generation
$EnableStringPooling "Yes (/GF)"
$EnableMinimalRebuild "No"
$EnableC++Exceptions "No"
$SmallerTypeCheck
$BasicRuntimeChecks "Default"
$RuntimeLibrary "Multi-threaded Debug (/MTd)"
$StructMemberAlignment
$BufferSecurityCheck "No" [$WINDOWS]
$EnableFunctionLevelLinking
$EnableEnhancedInstructionSet
$FloatingPointModel "Fast (/fp:fast)"
$EnableFloatingPointExceptions
// Language
$DisableLanguageExtensions
$DefaultCharUnsigned
$TreatWCHAR_TAsBuiltInType
$ForceConformanceInForLoopScope "Yes (/Zc:forScope)"
$EnableRunTimeTypeInfo "Yes (/GR)"
$OpenMPSupport
// Precompiled Headers
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
$Create/UsePCHThroughFile
$PrecompiledHeaderFile
// Output Files
$ExpandAttributedSource
$AssemblerOutput
$ASMListLocation "$(IntDir)/"
$ObjectFileName "$(IntDir)/"
$ProgramDatabaseFileName "$(IntDir)/"
$GenerateXMLDocumentationFiles "No"
$XMLDocumentationFileName
// Browse Information
$EnableBrowseInformation "None"
$BrowseFile "$(IntDir)/"
// Advanced
$CallingConvention
$CompileAs "Compile as C++ Code (/TP)"
$DisableSpecificWarnings
$ForceIncludes
$Force#Using
$ShowIncludes
$UndefinePreprocessorDefinitions
$UndefineAllPreprocessorDefinitions
$UseFullPaths
$OmitDefaultLibraryNames
$ErrorReporting "Prompt Immediately (/errorReport:prompt)"
// Command Line
$AdditionalOptions
}
$Linker
{
// General
$OutputFile "$(OutDir)/$OUTBINNAME.dll"
$ShowProgress "Not Set"
$Version
$EnableIncrementalLinking "Yes (/INCREMENTAL)"
$SuppressStartupBanner "Yes (/NOLOGO)"
$IgnoreImportLibrary
$RegisterOutput
$AdditionalLibraryDirectories "$LIBCOMMON;$LIBPUBLIC"
$LinkLibraryDependencies
$UseLibraryDependencyInputs
$UseUNICODEResponseFiles "No"
// Input
$AdditionalDependencies
$IgnoreAllDefaultLibraries
$IgnoreSpecificLibrary "libc;libcd;libcmt"
$ModuleDefinitionFile
$AddModuleToAssembly
$EmbedManagedResourceFile
$ForceSymbolReferences
$DelayLoadedDLLs
$AssemblyLinkResource
// Manifest File
$GenerateManifest "No"
$ManifestFile
$AdditionalManifestDependencies
$AllowIsolation
// Debugging
$GenerateDebugInfo "Yes (/DEBUG)"
$GenerateProgramDatabaseFile "$(IntDir)/$(TargetName).pdb"
$StripPrivateSymbols
$MapExports
$DebuggableAssembly
// System
$SubSystem "Windows (/SUBSYSTEM:WINDOWS)"
$HeapReserveSize
$HeapCommitSize
$StackReserveSize
$StackCommitSize
$EnableLargeAddresses
$TerminalServer
$SwapRunFromCD
$SwapRunFromNetwork
$Driver
// Optimization
$References
$EnableCOMDATFolding
$OptimizeForWindows98
$FunctionOrder
$ProfileGuidedDatabase
$LinkTimeCodeGeneration
// Embedded IDL
$MIDLCommands
$IgnoreEmbeddedIDL
$MergeIDLBaseFileName
$TypeLibrary
$TypeLibResourceID
// Advanced
$EntryPoint
$NoEntryPoint
$SetChecksum
$BaseAddress "$LOADADDRESS_DEVELOPMENT"
$FixedBaseAddress
$TurnOffAssemblyGeneration
$DelayLoadedDLL
$ImportLibrary
$MergeSections
$TargetMachine
$Profile
$CLRThreadAttribute
$CLRImageType
$KeyFile
$KeyContainer
$DelaySign
$ErrorReporting "Prompt Immediately (/ERRORREPORT:PROMPT)"
$CLRUnmanagedCodeCheck
// SAFE_SEH should always be disabled on debug builds.
$ImageHasSafeExceptionHandlers "false"
// Command Line
$AdditionalOptions
}
$ManifestTool
{
// General
$SuppressStartupBanner "Yes (/nologo)"
$VerboseOutput
$AssemblyIdentity
$UseUNICODEResponseFiles
$UseFAT32WorkAround
// Input And Output
$AdditionalManifestFiles
$InputResourceManifests
$EmbedManifest
$OutputManifestFile
$ManifestResourceFile
$GenerateCatalogFiles
$DependencyInformationFile
// Isolated COM
$TypeLibraryFile
$RegistrarScriptFile
$ComponentFileName
$ReplacementsFile
// Advanced
$UpdateFileHashes
$UpdateFileHashesSearchPath
// Command Line
$AdditionalOptions
}
$XMLDocumentGenerator
{
// General
$SuppressStartupBanner "Yes (/nologo)"
$ValidateIntelliSense
$AdditionalDocumentFiles
$OutputDocumentFile
$DocumentLibraryDependencies
$UseUNICODEResponseFiles
}
$BrowseInformation
{
$SuppressStartupBanner "Yes (/nologo)"
$OutputFile "$(OutDir)/$OUTBINNAME.bsc"
$AdditionalOptions
}
$Resources
{
// General
$PreprocessorDefinitions "$BASE;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)"
$Culture "English (United States) (0x409)"
$AdditionalIncludeDirectories
$IgnoreStandardIncludePath
$ShowProgress
$ResourceFileName
// Command Line
$AdditionalOptions
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}

View File

@@ -0,0 +1,323 @@
//-----------------------------------------------------------------------------
// SOURCE_DLL_WIN32_RELEASE.VPC
//
// Base Settings for all Source(TM) Projects
//-----------------------------------------------------------------------------
$IgnoreRedundancyWarning "ON"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "LIBPUBLIC"
$MacroRequired "LIBCOMMON"
$MacroRequired "PLATSUBDIR"
$Configuration "Release"
{
$General
{
// General
$OutputDirectory ".\Release$PLATSUBDIR"
$IntermediateDirectory ".\Release$PLATSUBDIR"
$ExtensionsToDeleteOnClean
$BuildLogFile
$InheritedProjectPropertySheets
// Project Defaults
$ConfigurationType "Dynamic Library (.dll)"
$UseOfMFC
$UseOfATL
$MinimizeCRTUseInATL
$CharacterSet "Use Multi-Byte Character Set"
$CommonLanguageRuntimeSupport
$WholeProgramOptimization "Use Link Time Code Generation" [$LTCG]
}
$Debugging
{
$Command
$CommandArguments
$WorkingDirectory
$Attach
$DebuggerType
$Environment
$MergeEnvironment
$SQLDebugging
}
$Compiler
{
// General
$AdditionalIncludeDirectories "$SRCDIR\common;$SRCDIR\public;$SRCDIR\public\tier0;$SRCDIR\public\tier1"
$Resolve#UsingReferences
$DebugInformationFormat "Program Database (/Zi)"
$SuppressStartupBanner
$WarningLevel "Level 4 (/W4)"
$Detect64bitPortabilityIssues "Yes (/Wp64)"
$TreatWarningsAsErrors
$UseUNICODEResponseFiles
// Optimization
$Optimization "Maximize Speed (/O2)"
$InlineFunctionExpansion "Any Suitable (/Ob2)"
$EnableIntrinsicFunctions "Yes (/Oi)"
$FavorSizeOrSpeed "Favor Fast Code (/Ot)"
$OmitFramePointers
$EnableFiberSafeOptimizations
$WholeProgramOptimization
// Preprocessor
$PreprocessorDefinitions "$BASE;WIN32;_WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DLLNAME=$OUTBINNAME;_ALLOW_RUNTIME_LIBRARY_MISMATCH;_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH;_ALLOW_MSC_VER_MISMATCH;%(PreprocessorDefinitions)"
$IgnoreStandardIncludePath
$GeneratePreprocessedFile
$KeepComments
// Code Generation
$EnableStringPooling "Yes (/GF)"
$EnableMinimalRebuild
$EnableC++Exceptions "No"
$SmallerTypeCheck
$BasicRuntimeChecks
$RuntimeLibrary "Multi-threaded (/MT)"
$StructMemberAlignment
$BufferSecurityCheck "No" [$WIN32]
$EnableFunctionLevelLinking "Yes (/Gy)"
$EnableEnhancedInstructionSet
$FloatingPointModel "Fast (/fp:fast)"
$EnableFloatingPointExceptions
// Language
$DisableLanguageExtensions
$DefaultCharUnsigned
$TreatWCHAR_TAsBuiltInType
$ForceConformanceInForLoopScope "Yes (/Zc:forScope)"
$EnableRunTimeTypeInfo "Yes (/GR)"
$OpenMPSupport
// Precompiled Headers
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
$Create/UsePCHThroughFile
$PrecompiledHeaderFile
// Output Files
$ExpandAttributedSource
$AssemblerOutput
$ASMListLocation "$(IntDir)/"
$ObjectFileName "$(IntDir)/"
$ProgramDatabaseFileName "$(IntDir)/"
$GenerateXMLDocumentationFiles "No"
$XMLDocumentationFileName
// Browse Information
$EnableBrowseInformation "None"
$BrowseFile "$(IntDir)/"
// Advanced
$CallingConvention
$CompileAs "Compile as C++ Code (/TP)"
$DisableSpecificWarnings
$ForceIncludes
$Force#Using
$ShowIncludes
$UndefinePreprocessorDefinitions
$UndefineAllPreprocessorDefinitions
$UseFullPaths
$OmitDefaultLibraryNames
$ErrorReporting "Prompt Immediately (/errorReport:prompt)"
// Command Line
$AdditionalOptions "/MP"
// Enable extra debugging information.
$AdditionalOptions "$BASE /d2Zi+"
$AdditionalOptions "$BASE /Oy-" [$NOFPO]
}
$Linker
{
// General
$OutputFile "$(OutDir)/$OUTBINNAME.dll"
$ShowProgress "Not Set"
$Version
$EnableIncrementalLinking "No (/INCREMENTAL:NO)"
$SuppressStartupBanner "Yes (/NOLOGO)"
$IgnoreImportLibrary
$RegisterOutput
$AdditionalLibraryDirectories "$LIBCOMMON;$LIBPUBLIC"
$LinkLibraryDependencies
$UseLibraryDependencyInputs
$UseUNICODEResponseFiles "No"
// Input
$AdditionalDependencies
$IgnoreAllDefaultLibraries
$IgnoreSpecificLibrary "libc;libcd;libcmtd"
$ModuleDefinitionFile
$AddModuleToAssembly
$EmbedManagedResourceFile
$ForceSymbolReferences
$DelayLoadedDLLs
$AssemblyLinkResource
// Manifest File
$GenerateManifest "No"
$ManifestFile
$AdditionalManifestDependencies
$AllowIsolation
// Debugging
$GenerateDebugInfo "Yes (/DEBUG)"
$GenerateProgramDatabaseFile "$(IntDir)/$(TargetName).pdb"
$StripPrivateSymbols
$MapExports
$DebuggableAssembly
// System
$SubSystem "Windows (/SUBSYSTEM:WINDOWS)"
$HeapReserveSize
$HeapCommitSize
$StackReserveSize
$StackCommitSize
$EnableLargeAddresses
$TerminalServer
$SwapRunFromCD
$SwapRunFromNetwork
$Driver
// Optimization
$References "Eliminate Unreferenced Data (/OPT:REF)"
$EnableCOMDATFolding "Remove Redundant COMDATs (/OPT:ICF)"
$OptimizeForWindows98
$FunctionOrder
$ProfileGuidedDatabase
$LinkTimeCodeGeneration
// Embedded IDL
$MIDLCommands
$IgnoreEmbeddedIDL
$MergeIDLBaseFileName
$TypeLibrary
$TypeLibResourceID
// Advanced
$EntryPoint
$NoEntryPoint
$SetChecksum
$BaseAddress "$LOADADDRESS_DEVELOPMENT"
$BaseAddress "$LOADADDRESS_RETAIL" [$RETAIL]
$FixedBaseAddress
$TurnOffAssemblyGeneration
$DelayLoadedDLL
$ImportLibrary
$MergeSections
$TargetMachine
$Profile
$CLRThreadAttribute
$CLRImageType
$KeyFile
$KeyContainer
$DelaySign
$ErrorReporting "Prompt Immediately (/ERRORREPORT:PROMPT)"
$CLRUnmanagedCodeCheck
// Most DLLs cannot yet handle SafeSEH
$ImageHasSafeExceptionHandlers "false"
// Command Line
// This undocumented linker command-line option improves LTCG build speeds slightly.
$AdditionalOptions "$BASE /d2:-threads8" [$VS2013 && $LTCG]
}
$ManifestTool
{
// General
$SuppressStartupBanner "Yes (/nologo)"
$VerboseOutput
$AssemblyIdentity
$UseUNICODEResponseFiles
$UseFAT32WorkAround
// Input And Output
$AdditionalManifestFiles
$InputResourceManifests
$EmbedManifest
$OutputManifestFile
$ManifestResourceFile
$GenerateCatalogFiles
$DependencyInformationFile
// Isolated COM
$TypeLibraryFile
$RegistrarScriptFile
$ComponentFileName
$ReplacementsFile
// Advanced
$UpdateFileHashes
$UpdateFileHashesSearchPath
// Command Line
$AdditionalOptions
}
$XMLDocumentGenerator
{
// General
$SuppressStartupBanner "Yes (/nologo)"
$ValidateIntelliSense
$AdditionalDocumentFiles
$OutputDocumentFile
$DocumentLibraryDependencies
$UseUNICODEResponseFiles
}
$BrowseInformation
{
$SuppressStartupBanner "Yes (/nologo)"
$OutputFile "$(OutDir)/$OUTBINNAME.bsc"
$AdditionalOptions
}
$Resources
{
// General
$PreprocessorDefinitions "$BASE;NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)"
$Culture "English (United States) (0x409)"
$AdditionalIncludeDirectories
$IgnoreStandardIncludePath
$ShowProgress
$ResourceFileName
// Command Line
$AdditionalOptions
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}

View File

@@ -0,0 +1,124 @@
//-----------------------------------------------------------------------------
// SOURCE_DLL_X360_BASE.VPC
//
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$Include "$SRCDIR\vpc_scripts\version.vpc"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME" "$PROJECTNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "DEVKITBINDIR" "bin"
// 360 must have a dll load address
$Include "$SRCDIR\vpc_scripts\loadaddress.vpc"
$MacroRequired "LOADADDRESS_DEVELOPMENT"
$MacroRequired "LOADADDRESS_RETAIL"
$MacroRequired "LOADADDRESSNAME"
$Macro DLLDEMOSUFFIX "_demo\" [$DEMO]
$MacroEmptyString DLLDEMOSUFFIX "empty" [!$DEMO]
$Macro PLATSUBDIR "\."
$Macro LIBPUBLIC "$SRCDIR\lib\public"
$Macro LIBCOMMON "$SRCDIR\lib\common"
$Include "$SRCDIR\vpc_scripts\source_dll_x360_debug.vpc"
$Include "$SRCDIR\vpc_scripts\source_dll_x360_release.vpc"
$IgnoreRedundancyWarning "ON"
// Common Configuration
$Configuration
{
$Compiler
{
$PreprocessorDefinitions "$BASE;_MEMTEST" [$MEMTEST]
$PreprocessorDefinitions "$BASE;_LOWVIOLENCE" [$LV]
$PreprocessorDefinitions "$BASE;_X360DEMO" [$X360DEMO]
$PreprocessorDefinitions "$BASE;COMPILER_MSVC;COMPILER_MSVCX360;MEMOVERRIDE_MODULE=$PROJECTNAME;_DLL_EXT=$_DLL_EXT"
}
$Linker
{
// This ignores the linker error "export '<symbol>' specified multiple times; using first specification
$AdditionalOptions "$BASE /IGNORE:4197"
}
$Xbox360ImageConversion
{
// All X360 DLLs must be signed with a special XML containing only version field
// the version of the DLL must match the version of default.xex that is signed
// with another XML including more settings (privileges, ratings, memory, etc.)
// DLLs must NOT be signed with the XML used for XEX
$TitleID "0x5841125A"
$ProjectDefaults "$SRCDIR\common\xlast_$VPCGAME$DLLDEMOSUFFIX\$VPCGAME""_dll.xml"
}
$ConsoleDeployment
{
$ExcludedFromBuild "Yes"
$DeploymentRoot "xe:\$VPCGAME$DLLDEMOSUFFIX"
}
$PreBuildEvent
{
$CommandLine "if EXIST $OUTBINDIR\$(TargetFileName) for /f $QUOTEdelims=$QUOTE %%A in ('attrib $QUOTE$OUTBINDIR\$(TargetFileName)$QUOTE') do set valveTmpIsReadOnly=$QUOTE%%A$QUOTE" "\n" \
"set valveTmpIsReadOnlyLetter=%valveTmpIsReadOnly:~6,1%" "\n" \
"if $QUOTE%valveTmpIsReadOnlyLetter%$QUOTE==$QUOTER$QUOTE del /q $(TargetDir)$(TargetName)_converted.dll" "\n" \
"$CRCCHECK" "\n"
}
$PostBuildEvent
{
$CommandLine "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetFileName) $SRCDIR" "\n" \
"copy $(TargetDir)$(TargetName)_converted.dll $OUTBINDIR\$(TargetFileName)" "\n" \
"if exist $(TargetDir)$(TargetName).map copy $(TargetDir)$(TargetName).map $OUTBINDIR\$(TargetName).map" "\n" \
"call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetName).pdb $SRCDIR" "\n" \
"copy $(TargetDir)$(TargetName).pdb $OUTBINDIR\$(TargetName).pdb" "\n" \
"copy $(TargetDir)$(TargetName).xdb $OUTBINDIR\$(TargetName).xdb" "\n" \
"call $SRCDIR\vpc_scripts\valve_xbcp_wrapper.cmd $(TargetDir)$(TargetName)_converted.dll $(RemoteRoot)\$DEVKITBINDIR\$(TargetFileName)" "\n" \
"call $SRCDIR\..\game\bin\CSSVersionNumber.exe $SRCDIR\..\game\platform\resource\css_code_version_local.txt quiet" "\n"
$CommandLine "$BASE" \
"echo LoadAddressName=$LOADADDRESSNAME > $(TargetDir)$(TargetName).vpcinfo" "\n" \
"call $SRCDIR\vpc_scripts\valve_xbcp_wrapper.cmd $(TargetDir)$(TargetName).vpcinfo $(RemoteRoot)\$DEVKITBINDIR\$(TargetName).vpcinfo" "\n" [$VPCINFO]
$Description "Publishing to $OUTBINDIR"
$ExcludedFromBuild "No"
}
}
// Skeleton Project
$Project
{
$Folder "Source Files"
{
$File "$SRCDIR\public\tier0\memoverride.cpp"
{
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
}
$Folder "Xbox"
{
$File "xbox\xbox.def"
}
$Folder "Link Libraries"
{
$ImpLib "$LIBPUBLIC\tier0"
$Lib "$LIBPUBLIC\tier1"
$Implib "$LIBPUBLIC\vstdlib"
$Lib "$LIBPUBLIC\interfaces"
}
}

View File

@@ -0,0 +1,262 @@
//-----------------------------------------------------------------------------
// SOURCE_DLL_X360_DEBUG.VPC
//
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$MacroRequired "LOADADDRESS_DEVELOPMENT"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME"
$MacroRequired "OUTBINDIR"
$IgnoreRedundancyWarning "ON"
$Configuration "Debug"
{
$General
{
// General
$OutputDirectory ".\Debug_360"
$IntermediateDirectory ".\Debug_360"
$ExtensionsToDeleteOnClean
$BuildLogFile
$InheritedProjectPropertySheets
// Project Defaults
$ConfigurationType "Dynamic Library (.xex)"
$CharacterSet "Not Set"
$WholeProgramOptimization "No Whole Program Optimization"
}
$Debugging
{
// Action
$Command
$CommandArguments
$MapDVDDrive
$RemoteMachine
}
$Compiler
{
// General
$AdditionalIncludeDirectories "$SRCDIR\common;$SRCDIR\public;$SRCDIR\public\tier0;$SRCDIR\public\tier1"
$DebugInformationFormat "Program Database (/Zi)"
$SuppressStartupBanner "Yes (/nologo)"
$WarningLevel "Level 4 (/W4)"
$TreatWarningsAsErrors "No"
$MultiProcessorCompilation "Yes (/MP)"
// Optimization
$Optimization "Disabled (/Od)"
$InlineFunctionExpansion "Default"
$EnableIntrinsicFunctions "Yes (/Oi)"
$FavorSizeOrSpeed "Neither"
$EnableFiberSafeOptimizations "No"
$WholeProgramOptimization "No"
// Preprocessor
$PreprocessorDefinitions "_HAS_ITERATOR_DEBUGGING=0;_X360;_DEBUG;DEBUG;_USRDLL;_WIN32;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE"
$PreprocessorDefinitions "$BASE;_CERT" [$CERT]
$IgnoreStandardIncludePath "No"
$GeneratePreprocessedFile "No"
$KeepComments "No"
// Code Generation
$EnableStringPooling "Yes (/GF)"
$EnableMinimalRebuild "No"
$EnableC++Exceptions "No"
$SmallerTypeCheck "No"
$BasicRuntimeChecks "Both (/RTC1, equiv. to /RTCsu)"
$RuntimeLibrary "Multi-threaded Debug (/MTd)"
$StructMemberAlignment "Default"
$BufferSecurityCheck "Yes (/GS)"
$EnableFunctionLevelLinking "No"
$FloatingPointModel "Fast (/fp:fast)"
$EnableFloatingPointExceptions "No"
// Language
$DisableLanguageExtensions "No"
$DefaultCharUnsigned "No"
$TreatWCHAR_TAsBuiltInType "Yes (/Zc:wchar_t)"
$ForceConformanceInForLoopScope "Yes (/Zc:forScope)"
$EnableRunTimeTypeInfo "Yes (/GR)"
$OpenMPSupport "No"
// Precompiled Headers
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
$Create/UsePCHThroughFile
$PrecompiledHeaderFile
// Output Files
$ExpandAttributedSource "No"
$AssemblerOutput "No Listing"
$ASMListLocation "$(IntDir)/"
$ObjectFileName "$(IntDir)/"
$ProgramDatabaseFileName "$(IntDir)/vc90.pdb"
// Browse Information
$EnableBrowseInformation "None"
$BrowseFile "$(IntDir)/"
// Advanced
$CompileAs "Compile as C++ Code (/TP)"
$DisableSpecificWarnings
$ForceIncludes "tier0/platform.h"
$ShowIncludes "No"
$UndefinePreprocessorDefinitions
$UndefineAllPreprocessorDefinitions "No"
$UseFullPaths "Yes (/FC)"
$OmitDefaultLibraryNames "No"
// Xbox 360
$RegisterReservation "No"
$TrapIntegerDividesOptimization "No"
$PreschedulingOptimization "No"
$InlineAssemblyOptimization "No"
$Stalls "No"
$CallAttributedProfiling "Disabled"
// Command Line
$AdditionalOptions "/QVMX128"
}
$Linker
{
// General
$OutputFile "$(OutDir)/$OUTBINNAME_360.dll"
$ShowProgress "Not Set"
$Version
$EnableIncrementalLinking "Yes (/INCREMENTAL)"
$SuppressStartupBanner "Yes (/NOLOGO)"
$IgnoreImportLibrary "No"
$AdditionalLibraryDirectories "$SRCDIR\lib\common;$SRCDIR\lib\public"
$LinkLibraryDependencies
$UseLibraryDependencyInputs
// Input
$AdditionalDependencies "d3d9d.lib xapilibd.lib xboxkrnl.lib xgraphicsd.lib libpmcpbd.lib" [!$PROFILE && !$CERT]
$AdditionalDependencies "d3d9d.lib xapilibd.lib xboxkrnl.lib xgraphicsd.lib libpmcpbd.lib xbdm.lib" [$PROFILE]
$AdditionalDependencies "d3d9d.lib xapilibd.lib xboxkrnl.lib xgraphicsd.lib" [$CERT]
$IgnoreAllDefaultLibraries "No"
$IgnoreSpecificLibrary "libc;libcd;libcmt;xapilib"
$ModuleDefinitionFile "xbox\xbox.def"
$ForceSymbolReferences
// Debugging
$GenerateDebugInfo "Yes (/DEBUG)"
$GenerateProgramDatabaseFile "$(IntDir)/$(TargetName).pdb"
$StripPrivateSymbols
$GenerateMapFile "Yes (/MAP)"
$MapFileName "$(IntDir)/$(TargetName).map"
$MapExports "Yes (/MAPINFO:EXPORTS)"
// System
$StackReserveSize "327680"
$StackCommitSize "327680"
// Optimization
$References "Default"
$EnableCOMDATFolding "Default"
$FunctionOrder
$ProfileGuidedDatabase
$LinkTimeCodeGeneration "Default"
// Advanced
$EntryPoint "_DllMainCRTStartup"
$NoEntryPoint "No"
$SetChecksum "No"
$BaseAddress "$LOADADDRESS_DEVELOPMENT"
$FixedBaseAddress "Image must be loaded at a fixed address (/FIXED)"
$ImportLibrary
$MergeSections
$ErrorReporting "Prompt Immediately (/ERRORREPORT:PROMPT)"
// Command Line
$AdditionalOptions
}
$Xbox360ImageConversion
{
// General
$OutputFile "$(OutDir)/$OUTBINNAME_360_converted.dll"
$TitleID
$LANKey
$SuppressStartupBanner "Yes (/NOLOGO)"
$BaseAddress
$HeapSize
$WorkspaceSize "0xA0000"
$AdditionalSections
$ExportByName "No"
// Privileges
$OpticalDiscDriveMapping "Not Set"
$PAL50Incompatible "Not Set"
// Project Defaults
$ProjectDefaults
// Command Line
$AdditionalOptions
}
$BrowseInformation
{
$SuppressStartupBanner "Yes (/nologo)"
$OutputFile "$(OutDir)/$OUTBINNAME.bsc"
$AdditionalOptions
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
$ConsoleDeployment
{
// Common Settings
$DeploymentType "Copy to Hard Drive"
$DeploymentFiles "$(RemoteRoot)=$(ImagePath);"
// Copy to Hard Drive
$ExcludedFromBuild "Yes"
$SuppressStartupBanner "Yes (/nologo)"
$Progress "No"
$ForceCopy "No"
$DeploymentRoot
// Emulate DVD Drive
$EmulationType
$Layout
$LayoutRoot
// Command Line
$AdditionalOptions
}
}

View File

@@ -0,0 +1,264 @@
//-----------------------------------------------------------------------------
// SOURCE_DLL_X360_RELEASE.VPC
//
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$MacroRequired "LOADADDRESS_RETAIL"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME"
$MacroRequired "OUTBINDIR"
$IgnoreRedundancyWarning "ON"
$Configuration "Release"
{
$General
{
// General
$OutputDirectory ".\Release_360"
$IntermediateDirectory ".\Release_360"
$ExtensionsToDeleteOnClean
$BuildLogFile
$InheritedProjectPropertySheets
// Project Defaults
$ConfigurationType "Dynamic Library (.xex)"
$CharacterSet "Not Set"
$WholeProgramOptimization
}
$Debugging
{
// Action
$Command
$CommandArguments
$MapDVDDrive
$RemoteMachine
}
$Compiler
{
// General
$AdditionalIncludeDirectories "$SRCDIR\common;$SRCDIR\public;$SRCDIR\public\tier0;$SRCDIR\public\tier1"
$DebugInformationFormat "Program Database (/Zi)"
$SuppressStartupBanner "Yes (/nologo)"
$WarningLevel "Level 4 (/W4)"
$TreatWarningsAsErrors "No"
// Optimization
$Optimization "Full Optimization (/Ox)"
$InlineFunctionExpansion "Any Suitable (/Ob2)"
$EnableIntrinsicFunctions "Yes (/Oi)"
$FavorSizeOrSpeed "Favor Fast Code (/Ot)"
$EnableFiberSafeOptimizations
$WholeProgramOptimization
// Preprocessor
$PreprocessorDefinitions "_X360;NDEBUG;_USRDLL;_WIN32;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;__VMX128_SUPPORTED"
$PreprocessorDefinitions "$BASE;_CERT" [$CERT]
$PreprocessorDefinitions "$BASE;PROFILE" [$PROFILE]
$IgnoreStandardIncludePath
$GeneratePreprocessedFile
$KeepComments "No"
// Code Generation
$EnableStringPooling "Yes (/GF)"
$EnableMinimalRebuild "No"
$EnableC++Exceptions "No"
$SmallerTypeCheck "No"
$BasicRuntimeChecks "Default"
$RuntimeLibrary "Multi-threaded (/MT)"
$StructMemberAlignment "Default"
$BufferSecurityCheck "No"
$EnableFunctionLevelLinking "Yes (/Gy)"
$FloatingPointModel "Fast (/fp:fast)"
$EnableFloatingPointExceptions "No"
// Language
$DisableLanguageExtensions "No"
$DefaultCharUnsigned "No"
$TreatWCHAR_TAsBuiltInType "Yes (/Zc:wchar_t)"
$ForceConformanceInForLoopScope "Yes (/Zc:forScope)"
$EnableRunTimeTypeInfo "Yes (/GR)"
$OpenMPSupport "No"
// Precompiled Headers
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
$Create/UsePCHThroughFile
$PrecompiledHeaderFile
// Output Files
$ExpandAttributedSource "No"
$AssemblerOutput "No Listing"
$ASMListLocation "$(IntDir)/"
$ObjectFileName "$(IntDir)/"
$ProgramDatabaseFileName "$(IntDir)/vc90.pdb"
// Browse Information
$EnableBrowseInformation "None"
$BrowseFile "$(IntDir)/"
// Advanced
$CompileAs "Compile as C++ Code (/TP)"
$DisableSpecificWarnings
$ForceIncludes "tier0/platform.h"
$ShowIncludes "No"
$UndefinePreprocessorDefinitions
$UndefineAllPreprocessorDefinitions "No"
$UseFullPaths
$OmitDefaultLibraryNames
// Xbox 360
$RegisterReservation
$TrapIntegerDividesOptimization
$PreschedulingOptimization
$InlineAssemblyOptimization
$Stalls
$CallAttributedProfiling "Call profiler within function calls. (/callcap)" [$CALLCAP]
$CallAttributedProfiling "Call profiler around function calls. (/fastcap)" [$FASTCAP]
// Command Line
$AdditionalOptions "$BASE /QVMX128"
$AdditionalOptions "$BASE /Oy-" [$NOFPO]
}
$Linker
{
// General
$OutputFile "$(OutDir)/$OUTBINNAME_360.dll"
$ShowProgress "Not Set"
$Version
$EnableIncrementalLinking "No (/INCREMENTAL:NO)"
$SuppressStartupBanner "Yes (/NOLOGO)"
$IgnoreImportLibrary "No"
$AdditionalLibraryDirectories "$SRCDIR\lib\common;$SRCDIR\lib\public"
$LinkLibraryDependencies
$UseLibraryDependencyInputs
// Input
$AdditionalDependencies "d3d9.lib xapilib.lib xboxkrnl.lib xgraphics.lib libpmcpb.lib" [!$PROFILE && !$CERT]
$AdditionalDependencies "d3d9i.lib xapilibi.lib xboxkrnl.lib xgraphics.lib libpmcpb.lib xbdm.lib" [$PROFILE]
$AdditionalDependencies "d3d9.lib xapilib.lib xboxkrnl.lib xgraphics.lib" [$CERT]
$IgnoreAllDefaultLibraries "No"
$IgnoreSpecificLibrary "libc;libcd;libcmtd" [!$PROFILE]
$IgnoreSpecificLibrary "libc;libcd;libcmtd;xapilib" [$PROFILE]
$ModuleDefinitionFile "xbox\xbox.def"
$ForceSymbolReferences
// Debugging
$GenerateDebugInfo "Yes (/DEBUG)"
$GenerateProgramDatabaseFile "$(IntDir)/$(TargetName).pdb"
$StripPrivateSymbols
$GenerateMapFile "Yes (/MAP)"
$MapFileName "$(IntDir)/$(TargetName).map"
$MapExports "Yes (/MAPINFO:EXPORTS)"
// System
$StackReserveSize "327680"
$StackCommitSize "327680"
// Optimization
$References "Eliminate Unreferenced Data (/OPT:REF)"
$EnableCOMDATFolding "Remove Redundant COMDATs (/OPT:ICF)"
$FunctionOrder
$ProfileGuidedDatabase
$LinkTimeCodeGeneration
// Advanced
$EntryPoint "_DllMainCRTStartup"
$NoEntryPoint "No"
$SetChecksum "Yes (/RELEASE)"
$BaseAddress "$LOADADDRESS_DEVELOPMENT"
$FixedBaseAddress "Image must be loaded at a fixed address (/FIXED)"
$ImportLibrary
$MergeSections
$ErrorReporting "Prompt Immediately (/ERRORREPORT:PROMPT)"
// Command Line
}
$Xbox360ImageConversion
{
// General
$OutputFile "$(OutDir)/$OUTBINNAME_360_converted.dll"
$TitleID
$LANKey
$SuppressStartupBanner "Yes (/NOLOGO)"
$BaseAddress
$HeapSize
$WorkspaceSize "0xA0000"
$AdditionalSections
$ExportByName "No"
// Privileges
$OpticalDiscDriveMapping "Not Set"
$PAL50Incompatible "Not Set"
// Project Defaults
$ProjectDefaults
// Command Line
$AdditionalOptions
}
$BrowseInformation
{
$SuppressStartupBanner "Yes (/nologo)"
$OutputFile "$(OutDir)/$OUTBINNAME.bsc"
$AdditionalOptions
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
$ConsoleDeployment
{
// Common Settings
$DeploymentType "Copy to Hard Drive"
$DeploymentFiles "$(RemoteRoot)=$(ImagePath);"
// Copy to Hard Drive
$ExcludedFromBuild "Yes"
$SuppressStartupBanner "Yes (/nologo)"
$Progress "No"
$ForceCopy "No"
$DeploymentRoot
// Emulate DVD Drive
$EmulationType
$Layout
$LayoutRoot
// Command Line
$AdditionalOptions
}
}

View File

@@ -0,0 +1,9 @@
$Include "$SRCDIR\vpc_scripts\platform_dirs.vpc"
$Include "$SRCDIR\vpc_scripts\source_base.vpc"
$Include "$SRCDIR\vpc_scripts\source_exe_posix_base.vpc" [$POSIX]
$Include "$SRCDIR\vpc_scripts\source_exe_win_win32_base.vpc" [$WINDOWS]
$Include "$SRCDIR\vpc_scripts\source_xex_x360_base.vpc" [$X360]
$Include "$SRCDIR\vpc_scripts\source_ppu_elf_ps3_base.vpc" [$PS3]
$Include "$SRCDIR\vpc_scripts\source_video_base.vpc"

View File

@@ -0,0 +1,5 @@
$Include "$SRCDIR\vpc_scripts\source_base.vpc"
$Include "$SRCDIR\vpc_scripts\source_exe_con_win32_base.vpc" [$WINDOWS]
$Include "$SRCDIR\vpc_scripts\source_exe_posix_base.vpc" [$POSIX]

View File

@@ -0,0 +1,22 @@
//-----------------------------------------------------------------------------
// SOURCE_EXE_CON_WIN32_BASE.VPC
//
// Base Settings for all Source(TM) Projects
//-----------------------------------------------------------------------------
$Include "$SRCDIR\vpc_scripts\platform_dirs.vpc"
$Include "$SRCDIR\vpc_scripts\source_base.vpc"
$IgnoreRedundancyWarning "ON"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINDIR"
$Include "$SRCDIR\vpc_scripts\source_exe_win_win32_base.vpc"
$Configuration
{
$Linker
{
$SubSystem "Console (/SUBSYSTEM:CONSOLE)"
}
}

View File

@@ -0,0 +1,40 @@
//-----------------------------------------------------------------------------
// SOURCE_EXE_WIN_WIN32.VPC
//
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$Include "$SRCDIR\vpc_scripts\version.vpc"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME" "$PROJECTNAME"
$MacroRequired "OUTBINDIR"
$Conditional IS_LIB_PROJECT "0"
$Include "$SRCDIR\vpc_scripts\source_linux_base_project.vpc"
$Project
{
$Folder "Source Files"
{
$File "$SRCDIR\public\tier0\memoverride.cpp"
{
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
}
}
$Configuration
{
$General
{
$OutputFile "$OUTBINDIR/$OUTBINNAME$_EXE_EXT"
}
}

View File

@@ -0,0 +1,72 @@
//-----------------------------------------------------------------------------
// SOURCE_EXE_posix.VPC
//
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$Include "$SRCDIR\vpc_scripts\version.vpc"
$Include "$SRCDIR\vpc_scripts\source_posix_base.vpc"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME" "$PROJECTNAME"
$Conditional IS_LIB_PROJECT "1"
$Include "$SRCDIR\vpc_scripts\loadaddress.vpc"
$IgnoreRedundancyWarning "ON"
$Configuration
{
$General
{
$ConfigurationType "Application (.exe)"
}
$Compiler
{
$PreprocessorDefinitions "$BASE;EXENAME=$OUTBINNAME"
}
$Linker
{
$OutputFile "$OUTBINDIR/$OUTBINNAME"
// In order to get the Valve standard allocator memory alignment (16-byte
// alignment for objects that are a multiple of 16 bytes) we use tcmalloc.
// Using -l will ask the linker to use it, but if there are no references
// to malloc/free then it may not actually use it. Wrapping the flag in the
// as-needed controls forces it to be pulled in (from libtcmalloc_minimal.so).
$GCC_ExtraLinkerFlags "-Wl,--no-as-needed -ltcmalloc_minimal -Wl,--as-needed" [$LINUXALL&&!$DEDICATED]
}
}
$Project
{
$Folder "Source Files"
{
$File "$SRCDIR\public\tier0\memoverride.cpp"
{
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
}
$Folder "Resources"
{
$File "$ROOTSCRIPT"
}
$Folder "Link Libraries" [$LINUXALL&&!$DEDICATED]
{
$ImpLibExternal "$SRCDIR/thirdparty/gperftools-2.0/.libs/tcmalloc_minimal" [$LINUX32]
$ImpLibExternal "$SRCDIR/thirdparty/gperftools-2.0/.libs/x86_64/tcmalloc_minimal" [$LINUX64]
}
}

View File

@@ -0,0 +1,5 @@
// call up either the posix or win32 vpc file based upon target platform
//$Include "$SRCDIR\vpc_scripts\source_exe_qt_linux_base.vpc" [$POSIX]
$Include "$SRCDIR\vpc_scripts\source_exe_qt_win32_base.vpc" [$WIN32 || $WIN64]

View File

@@ -0,0 +1,16 @@
// base file for a console app with qt. win32 only for now. CG: I'm not 100% sure this is the right definition,
// but I'm moving the logic here so it doesn't end up pasted into every such app.
$Include "$SRCDIR\vpc_scripts\source_exe_qt_win32_base.vpc"
$Configuration
{
$Linker
{
$SubSystem "Console (/SUBSYSTEM:CONSOLE)"
}
$Compiler
{
$AdditionalIncludeDirectories "$BASE,..\common"
}
}

View File

@@ -0,0 +1,46 @@
//===================== Copyright (c) Valve Corporation. All Rights Reserved. ======================
//
//==================================================================================================
$Include "$SRCDIR\vpc_scripts\source_exe_win_win32_base.vpc"
$Include "$SRCDIR\vpc_scripts\qt_base.vpc"
$Configuration
{
$Compiler
{
$AdditionalIncludeDirectories "$BASE;.\;$SRCDIR\game\shared;$QT_ROOT\include;.\$QT_TARGET_SUBDIR"
$PreprocessorDefinitions "$BASE;UNICODE;QT_LARGEFILE_SUPPORT;QT_DLL;QT_GUI_LIB;QT_CORE_LIB;QT_THREAD_SUPPORT"
$PreprocessorDefinitions "$BASE;QT_NO_DEBUG" [!$QTDEBUG]
$DisableSpecificWarnings "4127;4512;$BASE"
}
}
$Configuration
{
$Linker
{
// Link tier0 first because Qt needs our allocators during static object initization!
$AdditionalDependencies "$BASE $LIBPUBLIC\tier0.lib"
$GenerateManifest "Yes"
$AdditionalOptions "$BASE $QUOTE/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'$QUOTE"
}
}
$Project
{
$Folder "Link Libraries" [$QTDEBUG]
{
$Lib "$QT_ROOT\lib\qtmaind"
$Lib "$QT_ROOT\lib\qtcored4"
$Lib "$QT_ROOT\lib\qtguid4"
}
$Folder "Link Libraries" [!$QTDEBUG]
{
$Lib "$QT_ROOT\lib\qtmain"
$Lib "$QT_ROOT\lib\qtcore4"
$Lib "$QT_ROOT\lib\qtgui4"
}
}

View File

@@ -0,0 +1,111 @@
//-----------------------------------------------------------------------------
// SOURCE_EXE_WIN_WIN32.VPC
//
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$Include "$SRCDIR\vpc_scripts\version.vpc"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME" "$PROJECTNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "PLATSUBDIR"
$Macro LIBPUBLIC "$SRCDIR\lib\public$PLATSUBDIR"
$Macro LIBCOMMON "$SRCDIR\lib\common$PLATSUBDIR"
$Include "$SRCDIR\vpc_scripts\loadaddress.vpc"
$Include "$SRCDIR\vpc_scripts\source_exe_win_win32_debug.vpc"
$Include "$SRCDIR\vpc_scripts\source_exe_win_win32_release.vpc"
$Include "$SRCDIR\vpc_scripts\source_win32_base.vpc"
$IgnoreRedundancyWarning "ON"
// Common Configuration
$Configuration
{
$General
{
$TargetName "$OUTBINNAME"
}
$Compiler
{
$PreprocessorDefinitions "$BASE;PLATFORM_64BITS;WIN64;_WIN64;COMPILER_MSVC64" [$WIN64]
$PreprocessorDefinitions "$BASE;COMPILER_MSVC32" [$WIN32]
$PreprocessorDefinitions "$BASE;COMPILER_MSVC;MEMOVERRIDE_MODULE=$PROJECTNAME;_DLL_EXT=$_DLL_EXT"
$PreprocessorDefinitions "$BASE;PS3SDK_INSTALLED" [$PS3SDKINSTALLED]
$PreprocessorDefinitions "$BASE;XDK_INSTALLED" [$XDKINSTALLED]
}
$Compiler [$WIN32]
{
$EnableEnhancedInstructionSet "Streaming SIMD Extensions 2 (/arch:SSE2)"
}
$Linker
{
$AdditionalDependencies "$BASE shell32.lib user32.lib advapi32.lib gdi32.lib comdlg32.lib ole32.lib" [$WINDOWS]
$TargetMachine "MachineX86 (/MACHINE:X86)" [$WIN32]
$TargetMachine "MachineX64 (/MACHINE:X64)" [$WIN64]
// Suppress this pointless warning using the undocumented /ignore linker switch
// schemalib.lib(schemaclassinfo.obj) : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
$AdditionalOptions "$BASE /ignore:4221"
$AdditionalOptions "$BASE $SRCDIR\lib\public\ftol3.obj" [$VS2013 && $WIN32 && !$DISABLE_FTOL3_OVERRIDE] // Work around CRT bug https://connect.microsoft.com/VisualStudio/feedback/details/806362/vc12-pollutes-the-floating-point-stack-when-casting-infinity-nan-to-unsigned-long#
}
$PreBuildEvent
{
$CommandLine "if EXIST $OUTBINDIR\$(TargetFileName) for /f $QUOTEdelims=$QUOTE %%A in ('attrib $QUOTE$OUTBINDIR\$(TargetFileName)$QUOTE') do set valveTmpIsReadOnly=$QUOTE%%A$QUOTE" "\n" \
"set valveTmpIsReadOnlyLetter=%valveTmpIsReadOnly:~6,1%" "\n" \
"if $QUOTE%valveTmpIsReadOnlyLetter%$QUOTE==$QUOTER$QUOTE del /q $QUOTE$(TargetDir)$QUOTE$(TargetFileName)" "\n"
}
$PostBuildEvent [!$ANALYZE]
{
$CommandLine "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetFileName) $SRCDIR" "\n" \
"copy $QUOTE$(TargetDir)$QUOTE$(TargetFileName) $OUTBINDIR\$(TargetFileName)" "\n" \
"if ERRORLEVEL 1 goto BuildEventFailed" "\n" \
"if exist $QUOTE$(TargetDir)$QUOTE$(TargetName).map copy $QUOTE$(TargetDir)$QUOTE$(TargetName).map $OUTBINDIR\$(TargetName).map" "\n" \
"call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetName).pdb $SRCDIR" "\n" \
"copy $QUOTE$(TargetDir)$QUOTE$(TargetName).pdb $OUTBINDIR\$(TargetName).pdb" "\n" \
"if ERRORLEVEL 1 goto BuildEventFailed" "\n" \
"goto BuildEventOK" "\n" \
":BuildEventFailed" "\n" \
"echo *** ERROR! PostBuildStep FAILED for $(ProjectName)! EXE or DLL is probably running. ***" "\n" \
"del /q $QUOTE$(TargetDir)$QUOTE$(TargetFileName)" "\n" \
"exit 1" "\n" \
":BuildEventOK" "\n"
$Description "Publishing to $OUTBINDIR"
$ExcludedFromBuild "No"
}
}
// Skeleton Project - All derived projects get this as a starting base
$Project
{
$Folder "Source Files"
{
$File "$SRCDIR\public\tier0\memoverride.cpp"
{
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
}
$Folder "Link Libraries"
{
$Implib "$LIBPUBLIC\tier0"
$Lib "$LIBPUBLIC\tier1"
$Lib "$LIBPUBLIC\interfaces"
$Implib "$LIBPUBLIC\vstdlib"
}
}

View File

@@ -0,0 +1,321 @@
//-----------------------------------------------------------------------------
// SOURCE_EXE_WIN_WIN32_DEBUG.VPC
//
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$IgnoreRedundancyWarning "ON"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "LIBPUBLIC"
$MacroRequired "LIBCOMMON"
$MacroRequired "PLATSUBDIR"
$Configuration "Debug"
{
$General
{
// General
$OutputDirectory ".\Debug$PLATSUBDIR"
$IntermediateDirectory ".\Debug$PLATSUBDIR"
$ExtensionsToDeleteOnClean
$BuildLogFile
$InheritedProjectPropertySheets
// Project Defaults
$ConfigurationType "Application (.exe)"
$UseOfMFC
$UseOfATL
$MinimizeCRTUseInATL
$CharacterSet "Use Multi-Byte Character Set"
$CommonLanguageRuntimeSupport
$WholeProgramOptimization
}
$Debugging
{
// Action
$Command
$CommandArguments
$WorkingDirectory
$Attach
$DebuggerType
$Environment
$MergeEnvironment
$SQLDebugging
}
$Compiler
{
// General
$AdditionalIncludeDirectories "$SRCDIR\common;$SRCDIR\public;$SRCDIR\public\tier0;$SRCDIR\public\tier1"
$Resolve#UsingReferences
$DebugInformationFormat "Program Database for Edit & Continue (/ZI)" [$WIN32]
$DebugInformationFormat "Program Database (/Zi)" [$WIN64]
$SuppressStartupBanner
$WarningLevel "Level 4 (/W4)"
$Detect64bitPortabilityIssues "Yes (/Wp64)"
$TreatWarningsAsErrors "No"
$MultiProcessorCompilation "Yes (/MP)"
$UseUNICODEResponseFiles "No"
// Optimization
$Optimization "Disabled (/Od)"
$InlineFunctionExpansion
$EnableIntrinsicFunctions
$FavorSizeOrSpeed
$OmitFramePointers
$EnableFiberSafeOptimizations
$WholeProgramOptimization
// Preprocessor
$PreprocessorDefinitions "$BASE;_HAS_ITERATOR_DEBUGGING=0;WIN32;_WIN32;_DEBUG;DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_ALLOW_RUNTIME_LIBRARY_MISMATCH;_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH;_ALLOW_MSC_VER_MISMATCH;%(PreprocessorDefinitions)"
$IgnoreStandardIncludePath
$GeneratePreprocessedFile
$KeepComments
// Code Generation
$EnableStringPooling "Yes (/GF)"
$EnableMinimalRebuild "No"
$EnableC++Exceptions "No"
$SmallerTypeCheck
$BasicRuntimeChecks "Default"
$RuntimeLibrary "Multi-threaded Debug (/MTd)"
$StructMemberAlignment
$BufferSecurityCheck "No" [$WINDOWS]
$EnableFunctionLevelLinking
$EnableEnhancedInstructionSet
$FloatingPointModel "Fast (/fp:fast)"
$EnableFloatingPointExceptions
// Language
$DisableLanguageExtensions
$DefaultCharUnsigned "No"
$TreatWCHAR_TAsBuiltInType "Yes (/Zc:wchar_t)"
$ForceConformanceInForLoopScope "Yes (/Zc:forScope)"
$EnableRunTimeTypeInfo "Yes (/GR)"
$OpenMPSupport "No"
// Precompiled Headers
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
$Create/UsePCHThroughFile
$PrecompiledHeaderFile
// Output Files
$ExpandAttributedSource "No"
$AssemblerOutput "No Listing"
$ASMListLocation "$(IntDir)/"
$ObjectFileName "$(IntDir)/"
$ProgramDatabaseFileName "$(IntDir)/"
$GenerateXMLDocumentationFiles
$XMLDocumentationFileName
// Browse Information
$EnableBrowseInformation "None"
$BrowseFile "$(IntDir)/"
// Advanced
$CallingConvention
$CompileAs "Compile as C++ Code (/TP)"
$DisableSpecificWarnings
$ForceIncludes
$Force#Using
$ShowIncludes
$UndefinePreprocessorDefinitions
$UndefineAllPreprocessorDefinitions
$UseFullPaths
$OmitDefaultLibraryNames
$ErrorReporting "Prompt Immediately (/errorReport:prompt)"
// Command Line
$AdditionalOptions
}
$Linker
{
// General
$OutputFile "$(OutDir)/$OUTBINNAME.exe"
$ShowProgress "Not Set"
$Version
$EnableIncrementalLinking "Yes (/INCREMENTAL)"
$SuppressStartupBanner "Yes (/NOLOGO)"
$IgnoreImportLibrary
$RegisterOutput
$AdditionalLibraryDirectories
$LinkLibraryDependencies
$UseLibraryDependencyInputs
$UseUNICODEResponseFiles "No"
// Input
$AdditionalDependencies
$IgnoreAllDefaultLibraries
$IgnoreSpecificLibrary "libc;libcd;libcmt"
$ModuleDefinitionFile
$AddModuleToAssembly
$EmbedManagedResourceFile
$ForceSymbolReferences
$DelayLoadedDLLs
$AssemblyLinkResource
// Manifest File
$GenerateManifest "Yes"
$ManifestFile
$AdditionalManifestDependencies
$AllowIsolation
// Debugging
$GenerateDebugInfo "Yes (/DEBUG)"
$GenerateProgramDatabaseFile "$(IntDir)/$(TargetName).pdb"
$StripPrivateSymbols
$MapExports
$DebuggableAssembly
// System
$SubSystem "Windows (/SUBSYSTEM:WINDOWS)"
$HeapReserveSize
$HeapCommitSize
$StackReserveSize
$StackCommitSize
$EnableLargeAddresses
$TerminalServer
$SwapRunFromCD
$SwapRunFromNetwork
$Driver
// Optimization
$References
$EnableCOMDATFolding
$OptimizeForWindows98
$FunctionOrder
$ProfileGuidedDatabase
$LinkTimeCodeGeneration
// Embedded IDL
$MIDLCommands
$IgnoreEmbeddedIDL
$MergeIDLBaseFileName
$TypeLibrary
$TypeLibResourceID
// Advanced
$EntryPoint
$NoEntryPoint
$SetChecksum
$BaseAddress "$LOADADDRESS_DEVELOPMENT"
$FixedBaseAddress
$TurnOffAssemblyGeneration
$DelayLoadedDLL
$ImportLibrary
$MergeSections
$TargetMachine
$Profile
$CLRThreadAttribute
$CLRImageType
$KeyFile
$KeyContainer
$DelaySign
$ErrorReporting "Prompt Immediately (/ERRORREPORT:PROMPT)"
$CLRUnmanagedCodeCheck
// SAFE_SEH should always be disabled on debug builds.
$ImageHasSafeExceptionHandlers "false"
// Command Line
$AdditionalOptions
}
$ManifestTool
{
// General
$SuppressStartupBanner "Yes (/nologo)"
$VerboseOutput
$AssemblyIdentity
$UseUNICODEResponseFiles
$UseFAT32WorkAround
// Input And Output
$AdditionalManifestFiles "$SRCDIR\public\windows_default.manifest" [!$SOURCESDK]
$InputResourceManifests
$EmbedManifest
$OutputManifestFile
$ManifestResourceFile
$GenerateCatalogFiles
$DependencyInformationFile
// Isolated COM
$TypeLibraryFile
$RegistrarScriptFile
$ComponentFileName
$ReplacementsFile
// Advanced
$UpdateFileHashes
$UpdateFileHashesSearchPath
// Command Line
$AdditionalOptions
}
$XMLDocumentGenerator
{
// General
$SuppressStartupBanner "Yes (/nologo)"
$ValidateIntelliSense
$AdditionalDocumentFiles
$OutputDocumentFile
$DocumentLibraryDependencies
$UseUNICODEResponseFiles
}
$BrowseInformation
{
$SuppressStartupBanner "Yes (/nologo)"
$OutputFile "$(OutDir)/$OUTBINNAME.bsc"
$AdditionalOptions
}
$Resources
{
// General
$PreprocessorDefinitions "$BASE;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)"
$Culture "English (United States) (0x409)"
$AdditionalIncludeDirectories
$IgnoreStandardIncludePath
$ShowProgress
$ResourceFileName
// Command Line
$AdditionalOptions
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}

View File

@@ -0,0 +1,323 @@
//-----------------------------------------------------------------------------
// SOURCE_EXE_WIN_WIN32_RELEASE.VPC
//
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$IgnoreRedundancyWarning "ON"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "LIBPUBLIC"
$MacroRequired "LIBCOMMON"
$MacroRequired "PLATSUBDIR"
$Configuration "Release"
{
$General
{
// General
$OutputDirectory ".\Release$PLATSUBDIR"
$IntermediateDirectory ".\Release$PLATSUBDIR"
$ExtensionsToDeleteOnClean
$BuildLogFile
$InheritedProjectPropertySheets
// Project Defaults
$ConfigurationType "Application (.exe)"
$UseOfMFC
$UseOfATL
$MinimizeCRTUseInATL
$CharacterSet "Use Multi-Byte Character Set"
$CommonLanguageRuntimeSupport
$WholeProgramOptimization "Use Link Time Code Generation" [$LTCG]
}
$Debugging
{
// Action
$Command
$CommandArguments
$WorkingDirectory
$Attach
$DebuggerType
$Environment
$MergeEnvironment
$SQLDebugging
}
$Compiler
{
// General
$AdditionalIncludeDirectories "$SRCDIR\common;$SRCDIR\public;$SRCDIR\public\tier0;$SRCDIR\public\tier1"
$Resolve#UsingReferences
$DebugInformationFormat "Program Database (/Zi)"
$SuppressStartupBanner
$WarningLevel "Level 4 (/W4)"
$Detect64bitPortabilityIssues "Yes (/Wp64)"
$TreatWarningsAsErrors
$UseUnicodeResponseFiles
// Optimization
$Optimization "Maximize Speed (/O2)"
$InlineFunctionExpansion "Any Suitable (/Ob2)"
$EnableIntrinsicFunctions "Yes (/Oi)"
$FavorSizeOrSpeed "Favor Fast Code (/Ot)"
$OmitFramePointers
$EnableFiberSafeOptimizations
$WholeProgramOptimization
// Preprocessor
$PreprocessorDefinitions "$BASE;WIN32;_WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_ALLOW_RUNTIME_LIBRARY_MISMATCH;_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH;_ALLOW_MSC_VER_MISMATCH;%(PreprocessorDefinitions)"
$IgnoreStandardIncludePath
$GeneratePreprocessedFile
$KeepComments
// Code Generation
$EnableStringPooling "Yes (/GF)"
$EnableMinimalRebuild
$EnableC++Exceptions "No"
$SmallerTypeCheck
$BasicRuntimeChecks
$RuntimeLibrary "Multi-threaded (/MT)"
$StructMemberAlignment
$BufferSecurityCheck "No" [$WINDOWS]
$EnableFunctionLevelLinking "Yes (/Gy)"
$EnableEnhancedInstructionSet
$FloatingPointModel "Fast (/fp:fast)"
$EnableFloatingPointExceptions
// Language
$DisableLanguageExtensions
$DefaultCharUnsigned "No"
$TreatWCHAR_TAsBuiltInType "Yes (/Zc:wchar_t)"
$ForceConformanceInForLoopScope "Yes (/Zc:forScope)"
$EnableRunTimeTypeInfo "Yes (/GR)"
$OpenMPSupport "No"
// Precompiled Headers
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
$Create/UsePCHThroughFile
$PrecompiledHeaderFile
// Output Files
$ExpandAttributedSource "No"
$AssemblerOutput "No Listing"
$ASMListLocation "$(IntDir)/"
$ObjectFileName "$(IntDir)/"
$ProgramDatabaseFileName "$(IntDir)/"
$GenerateXMLDocumentationFiles
$XMLDocumentationFileName
// Browse Information
$EnableBrowseInformation "None"
$BrowseFile "$(IntDir)/"
// Advanced
$CallingConvention
$CompileAs "Compile as C++ Code (/TP)"
$DisableSpecificWarnings
$ForceIncludes
$Force#Using
$ShowIncludes
$UndefinePreprocessorDefinitions
$UndefineAllPreprocessorDefinitions
$UseFullPaths
$OmitDefaultLibraryNames
$ErrorReporting "Prompt Immediately (/errorReport:prompt)"
// Command Line
// Enable extra debugging information.
$AdditionalOptions "$BASE /d2Zi+"
$AdditionalOptions "$BASE /Oy-" [$NOFPO]
}
$Linker
{
// General
$OutputFile "$(OutDir)/$OUTBINNAME.exe"
$ShowProgress "Not Set"
$Version
$EnableIncrementalLinking "No (/INCREMENTAL:NO)"
$SuppressStartupBanner "Yes (/NOLOGO)"
$IgnoreImportLibrary
$RegisterOutput
$AdditionalLibraryDirectories
$LinkLibraryDependencies
$UseLibraryDependencyInputs
$UseUNICODEResponseFiles "No"
// Input
$AdditionalDependencies
$IgnoreAllDefaultLibraries
$IgnoreSpecificLibrary "libc;libcd;libcmtd"
$ModuleDefinitionFile
$AddModuleToAssembly
$EmbedManagedResourceFile
$ForceSymbolReferences
$DelayLoadedDLLs
$AssemblyLinkResource
// Manifest File
$GenerateManifest "Yes"
$ManifestFile
$AdditionalManifestDependencies
$AllowIsolation
// Debugging
$GenerateDebugInfo "Yes (/DEBUG)"
$GenerateProgramDatabaseFile "$(IntDir)/$(TargetName).pdb"
$StripPrivateSymbols
$MapExports
$DebuggableAssembly
// System
$SubSystem "Windows (/SUBSYSTEM:WINDOWS)"
$HeapReserveSize
$HeapCommitSize
$StackReserveSize
$StackCommitSize
$EnableLargeAddresses
$TerminalServer
$SwapRunFromCD
$SwapRunFromNetwork
$Driver
// Optimization
$References "Eliminate Unreferenced Data (/OPT:REF)"
$EnableCOMDATFolding "Remove Redundant COMDATs (/OPT:ICF)"
$OptimizeForWindows98
$FunctionOrder
$ProfileGuidedDatabase
$LinkTimeCodeGeneration
// Embedded IDL
$MIDLCommands
$IgnoreEmbeddedIDL
$MergeIDLBaseFileName
$TypeLibrary
$TypeLibResourceID
// Advanced
$EntryPoint
$NoEntryPoint
$SetChecksum
$BaseAddress "$LOADADDRESS_DEVELOPMENT"
$BaseAddress "$LOADADDRESS_RETAIL" [$RETAIL]
$FixedBaseAddress
$TurnOffAssemblyGeneration
$DelayLoadedDLL
$ImportLibrary
$MergeSections
$TargetMachine
$Profile
$CLRThreadAttribute
$CLRImageType
$KeyFile
$KeyContainer
$DelaySign
$ErrorReporting "Prompt Immediately (/ERRORREPORT:PROMPT)"
$CLRUnmanagedCodeCheck
// Most DLLs cannot yet handle SafeSEH
$ImageHasSafeExceptionHandlers "false"
// Command Line
// This undocumented linker command-line option improves LTCG build speeds slightly.
$AdditionalOptions "$BASE /d2:-threads8" [$VS2013 && $LTCG]
}
$ManifestTool
{
// General
$SuppressStartupBanner "Yes (/nologo)"
$VerboseOutput
$AssemblyIdentity
$UseUNICODEResponseFiles
$UseFAT32WorkAround
// Input And Output
$AdditionalManifestFiles "$SRCDIR\public\windows_default.manifest" [!$SOURCESDK]
$InputResourceManifests
$EmbedManifest
$OutputManifestFile
$ManifestResourceFile
$GenerateCatalogFiles
$DependencyInformationFile
// Isolated COM
$TypeLibraryFile
$RegistrarScriptFile
$ComponentFileName
$ReplacementsFile
// Advanced
$UpdateFileHashes
$UpdateFileHashesSearchPath
// Command Line
$AdditionalOptions
}
$XMLDocumentGenerator
{
// General
$SuppressStartupBanner "Yes (/nologo)"
$ValidateIntelliSense
$AdditionalDocumentFiles
$OutputDocumentFile
$DocumentLibraryDependencies
$UseUNICODEResponseFiles
}
$BrowseInformation
{
$SuppressStartupBanner "Yes (/nologo)"
$OutputFile "$(OutDir)/$OUTBINNAME.bsc"
$AdditionalOptions
}
$Resources
{
// General
$PreprocessorDefinitions "$BASE;NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)"
$Culture "English (United States) (0x409)"
$AdditionalIncludeDirectories
$IgnoreStandardIncludePath
$ShowProgress
$ResourceFileName
// Command Line
$AdditionalOptions
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}

View File

@@ -0,0 +1,20 @@
$Include "$SRCDIR\vpc_scripts\platform_dirs.vpc"
$Include "$SRCDIR\vpc_scripts\source_base.vpc"
$MacroRequired OUTLIBDIR "$SRCDIR\lib\public$PLATSUBDIR"
$MacroRequired OUTLIBCOMMONDIR "$SRCDIR\lib\common$PLATSUBDIR"
$include "$SRCDIR\vpc_scripts\source_lib_posix_base.vpc" [$POSIX]
$include "$SRCDIR\vpc_scripts\source_lib_win32_base.vpc" [$WINDOWS]
$include "$SRCDIR\vpc_scripts\source_lib_x360_base.vpc" [$X360]
$include "$SRCDIR\vpc_scripts\source_ppu_lib_ps3_base.vpc" [$PS3]
$include "$SRCDIR\vpc_scripts\source_video_base.vpc"
$Configuration
{
$Compiler
{
$PreprocessorDefinitions "$BASE;CSTRIKE15"
}
}

View File

@@ -0,0 +1,30 @@
$Conditional IS_LIB_PROJECT "1"
$Include "$SRCDIR\vpc_scripts\source_linux_base_project.vpc"
$MacroRequired "OUTLIBNAME" "$PROJECTNAME"
$Configuration
{
$Compiler
{
$PreprocessorDefinitions "$BASE;LIBNAME=$OUTLIBNAME"
}
$General
{
$ConfigurationType "Static Library (.lib)"
}
$Linker
{
$OutputFile "$OUTLIBDIR/$OUTLIBNAME$_STATICLIB_EXT"
}
}
$Project
{
$Folder "Source Files"
{
$File "$SRCDIR\common\debug_lib_check.cpp"
}
}

View File

@@ -0,0 +1,20 @@
$Configuration
{
$General
{
$ConfigurationType "Static Library (.lib)"
}
}
$Conditional IS_LIB_PROJECT "1"
$Include "$SRCDIR\vpc_scripts\source_posix_base.vpc"
$MacroRequired "OUTLIBNAME" "$PROJECTNAME"
$Configuration
{
$Librarian
{
$OutputFile "$OUTLIBDIR/$OUTLIBNAME$_STATICLIB_EXT"
}
}

View File

@@ -0,0 +1,89 @@
//-----------------------------------------------------------------------------
// SOURCE_LIB_WIN32_BASE.VPC
//
// Base Settings for all Source(TM) Projects
//-----------------------------------------------------------------------------
$Include "$SRCDIR\vpc_scripts\version.vpc"
$MacroRequired "SRCDIR"
$MacroRequired "OUTLIBNAME" "$PROJECTNAME"
$MacroRequired "OUTLIBDIR"
$Macro PLATSUBDIR "\." [$WIN32]
$Macro PLATSUBDIR "\x64" [$WIN64]
$Macro LIBPUBLIC "$SRCDIR\lib\public$PLATSUBDIR"
$Macro LIBCOMMON "$SRCDIR\lib\common$PLATSUBDIR"
$Include "$SRCDIR\vpc_scripts\source_lib_win32_debug.vpc"
$Include "$SRCDIR\vpc_scripts\source_lib_win32_release.vpc"
$Include "$SRCDIR\vpc_scripts\source_win32_base.vpc"
$IgnoreRedundancyWarning "ON"
// Common Configuration
$Configuration
{
$General
{
$TargetName "$OUTLIBNAME"
}
$Compiler
{
$PreprocessorDefinitions "$BASE;PLATFORM_64BITS;WIN64;_WIN64;COMPILER_MSVC64" [$WIN64]
$PreprocessorDefinitions "$BASE;COMPILER_MSVC32" [$WIN32]
$PreprocessorDefinitions "$BASE;COMPILER_MSVC;_DLL_EXT=$_DLL_EXT"
$PreprocessorDefinitions "$BASE;LIBNAME=$OUTLIBNAME"
}
$Compiler [$WIN32] // This is already enabled for WIN64.
{
$EnableEnhancedInstructionSet "Streaming SIMD Extensions 2 (/arch:SSE2)"
}
$PreBuildEvent
{
$CommandLine "if EXIST $OUTLIBDIR\$(TargetName).lib ( for /f $QUOTEdelims=$QUOTE %%A in ('attrib $QUOTE$OUTLIBDIR\$(TargetName).lib$QUOTE') do set valveTmpIsReadOnly=$QUOTE%%A$QUOTE" "\n" \
") else ( mkdir $OUTLIBDIR )" "\n" \
"set valveTmpIsReadOnlyLetter=%valveTmpIsReadOnly:~6,1%" "\n" \
"if $QUOTE%valveTmpIsReadOnlyLetter%$QUOTE==$QUOTER$QUOTE (" "\n" \
" attrib -r $OUTLIBDIR\$(TargetName).lib" "\n" \
" $SRCDIR\devtools\bin\gnu\touch.exe -d $QUOTE1999-01-01$QUOTE $OUTLIBDIR\$(TargetName).lib" "\n" \
" attrib +r $OUTLIBDIR\$(TargetName).lib" "\n" \
")" "\n" \
"$HOST_VPC_EXE -crc2 $QUOTE$VPC_OUTPUT_FILE$QUOTE" "\n"
}
$PreLinkEvent
{
$CommandLine "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTLIBDIR\$(TargetName).lib $SRCDIR"
}
$Librarian
{
// Suppress this warning using the undocumented /ignore linker switch
// schemalib.lib(schemaclassinfo.obj) : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
$AdditionalOptions "$BASE /ignore:4221"
}
}
// Skeleton Project - All derived projects get this as a starting base
$Project
{
$Folder "Source Files"
{
$File_NoPCH "$SRCDIR\common\debug_lib_check.cpp"
{
$BuildOrderModifier "0x00000001"
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
}
}

View File

@@ -0,0 +1,201 @@
//-----------------------------------------------------------------------------
// SOURCE_LIB_WIN32_DEBUG.VPC
//
// Base Settings for all Source(TM) Projects
//-----------------------------------------------------------------------------
$IgnoreRedundancyWarning "ON"
$MacroRequired "SRCDIR"
$MacroRequired "OUTLIBNAME"
$MacroRequired "OUTLIBDIR"
$MacroRequired "LIBPUBLIC"
$MacroRequired "LIBCOMMON"
$MacroRequired "PLATSUBDIR"
$Configuration "Debug"
{
$General
{
// General
$OutputDirectory "$OUTLIBDIR"
$IntermediateDirectory ".\Debug$PLATSUBDIR"
$ExtensionsToDeleteOnClean
$BuildLogFile
$InheritedProjectPropertySheets
// Project Defaults
$ConfigurationType "Static Library (.lib)"
$UseOfMFC
$UseOfATL
$MinimizeCRTUseInATL
$CharacterSet "Use Multi-Byte Character Set"
$CommonLanguageRuntimeSupport
$WholeProgramOptimization
}
$Debugging
{
$Command
$CommandArguments
$WorkingDirectory
$Attach
$DebuggerType
$Environment
$MergeEnvironment
$SQLDebugging
}
$Compiler
{
// General
$AdditionalIncludeDirectories "$SRCDIR\common;$SRCDIR\public;$SRCDIR\public\tier0;$SRCDIR\public\tier1"
$Resolve#UsingReferences
$DebugInformationFormat "Program Database for Edit & Continue (/ZI)" [$WIN32]
$DebugInformationFormat "Program Database (/Zi)" [$WIN64]
$SuppressStartupBanner
$WarningLevel "Level 4 (/W4)"
$Detect64bitPortabilityIssues "Yes (/Wp64)"
$TreatWarningsAsErrors
$MultiProcessorCompilation "Yes (/MP)"
$UseUNICODEResponseFiles "No"
// Optimization
$Optimization "Disabled (/Od)"
$InlineFunctionExpansion
$EnableIntrinsicFunctions
$FavorSizeOrSpeed
$OmitFramePointers
$EnableFiberSafeOptimizations
$WholeProgramOptimization
// Preprocessor
$PreprocessorDefinitions "$BASE;_HAS_ITERATOR_DEBUGGING=0;WIN32;_WIN32;_DEBUG;DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_ALLOW_RUNTIME_LIBRARY_MISMATCH;_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH;_ALLOW_MSC_VER_MISMATCH;%(PreprocessorDefinitions)"
$IgnoreStandardIncludePath
$GeneratePreprocessedFile
$KeepComments
// Code Generation
$EnableStringPooling "Yes (/GF)"
$EnableMinimalRebuild "No"
$EnableC++Exceptions "No"
$SmallerTypeCheck
$BasicRuntimeChecks "Default"
$RuntimeLibrary "Multi-threaded Debug (/MTd)"
$StructMemberAlignment
$BufferSecurityCheck "No" [$WINDOWS]
$EnableFunctionLevelLinking
$EnableEnhancedInstructionSet
$FloatingPointModel "Fast (/fp:fast)"
$EnableFloatingPointExceptions
// Language
$DisableLanguageExtensions
$DefaultCharUnsigned
$TreatWCHAR_TAsBuiltInType "Yes (/Zc:wchar_t)"
$ForceConformanceInForLoopScope "Yes (/Zc:forScope)"
$EnableRunTimeTypeInfo "Yes (/GR)"
$OpenMPSupport "No"
// Precompiled Headers
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
$Create/UsePCHThroughFile
$PrecompiledHeaderFile
// Output Files
$ExpandAttributedSource "No"
$AssemblerOutput "No Listing"
$ASMListLocation "$(IntDir)/"
$ObjectFileName "$(IntDir)/"
$ProgramDatabaseFileName "$(IntDir)/"
$GenerateXMLDocumentationFiles "No"
$XMLDocumentationFileName
// Browse Information
$EnableBrowseInformation "None"
$BrowseFile "$(IntDir)/"
// Advanced
$CallingConvention
$CompileAs "Compile as C++ Code (/TP)"
$DisableSpecificWarnings
$ForceIncludes
$Force#Using
$ShowIncludes
$UndefinePreprocessorDefinitions
$UndefineAllPreprocessorDefinitions
$UseFullPaths
$OmitDefaultLibraryNames
$ErrorReporting "Prompt Immediately (/errorReport:prompt)"
// Command Line
$AdditionalOptions
}
$Librarian
{
// General
$OutputFile "$OUTLIBDIR\$OUTLIBNAME.lib"
$AdditionalDependencies
$AdditionalLibraryDirectories
$SuppressStartupBanner "Yes (/NOLOGO)"
$ModuleDefinitionFileName
$IgnoreAllDefaultLibraries
$IgnoreSpecificLibrary
$ExportNamedFunctions
$ForceSymbolReferences
$UseUNICODEResponseFiles "No"
$LinkLibraryDependencies
// Command Line
$AdditionalOptions
}
$XMLDocumentGenerator
{
// General
$SuppressStartupBanner "Yes (/nologo)"
$ValidateIntelliSense
$AdditionalDocumentFiles
$OutputDocumentFile
$DocumentLibraryDependencies
$UseUNICODEResponseFiles
}
$BrowseInformation
{
$SuppressStartupBanner "Yes (/nologo)"
$OutputFile "$(OutDir)/$OUTLIBNAME.bsc"
$AdditionalOptions
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}

View File

@@ -0,0 +1,202 @@
//-----------------------------------------------------------------------------
// SOURCE_LIB_WIN32_RELEASE.VPC
//
// Base Settings for all Source(TM) Projects
//-----------------------------------------------------------------------------
$IgnoreRedundancyWarning "ON"
$MacroRequired "SRCDIR"
$MacroRequired "OUTLIBNAME"
$MacroRequired "OUTLIBDIR"
$MacroRequired "LIBPUBLIC"
$MacroRequired "LIBCOMMON"
$MacroRequired "PLATSUBDIR"
$Configuration "Release"
{
$General
{
// General
$OutputDirectory "$OUTLIBDIR"
$IntermediateDirectory ".\Release$PLATSUBDIR"
$ExtensionsToDeleteOnClean
$BuildLogFile
$InheritedProjectPropertySheets
// Project Defaults
$ConfigurationType "Static Library (.lib)"
$UseOfMFC
$UseOfATL
$MinimizeCRTUseInATL
$CharacterSet "Use Multi-Byte Character Set"
$CommonLanguageRuntimeSupport
$WholeProgramOptimization "Use Link Time Code Generation" [$LTCG]
}
$Debugging
{
$Command
$CommandArguments
$WorkingDirectory
$Attach
$DebuggerType
$Environment
$MergeEnvironment
$SQLDebugging
}
$Compiler
{
// General
$AdditionalIncludeDirectories "$SRCDIR\common;$SRCDIR\public;$SRCDIR\public\tier0;$SRCDIR\public\tier1"
$Resolve#UsingReferences
$DebugInformationFormat "C7 Compatible (/Z7)"
$SuppressStartupBanner
$WarningLevel "Level 4 (/W4)"
$Detect64bitPortabilityIssues "Yes (/Wp64)"
$TreatWarningsAsErrors
$UseUNICODEResponseFiles "No"
// Optimization
$Optimization "Maximize Speed (/O2)"
$InlineFunctionExpansion "Any Suitable (/Ob2)"
$EnableIntrinsicFunctions "Yes (/Oi)"
$FavorSizeOrSpeed "Favor Fast Code (/Ot)"
$OmitFramePointers
$EnableFiberSafeOptimizations
$WholeProgramOptimization
// Preprocessor
$PreprocessorDefinitions "$BASE;WIN32;_WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_ALLOW_RUNTIME_LIBRARY_MISMATCH;_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH;_ALLOW_MSC_VER_MISMATCH;%(PreprocessorDefinitions)"
$IgnoreStandardIncludePath
$GeneratePreprocessedFile
$KeepComments
// Code Generation
$EnableStringPooling "Yes (/GF)"
$EnableMinimalRebuild
$EnableC++Exceptions "No"
$SmallerTypeCheck
$BasicRuntimeChecks
$RuntimeLibrary "Multi-threaded (/MT)"
$StructMemberAlignment
$BufferSecurityCheck "No" [$WINDOWS]
$EnableFunctionLevelLinking "Yes (/Gy)"
$EnableEnhancedInstructionSet
$FloatingPointModel "Fast (/fp:fast)"
$EnableFloatingPointExceptions
// Language
$DisableLanguageExtensions
$DefaultCharUnsigned
$TreatWCHAR_TAsBuiltInType "Yes (/Zc:wchar_t)"
$ForceConformanceInForLoopScope "Yes (/Zc:forScope)"
$EnableRunTimeTypeInfo "Yes (/GR)"
$OpenMPSupport "No"
// Precompiled Headers
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
$Create/UsePCHThroughFile
$PrecompiledHeaderFile
// Output Files
$ExpandAttributedSource "No"
$AssemblerOutput "No Listing"
$ASMListLocation "$(IntDir)/"
$ObjectFileName "$(IntDir)/"
$ProgramDatabaseFileName "$(IntDir)/"
$GenerateXMLDocumentationFiles "No"
$XMLDocumentationFileName
// Browse Information
$EnableBrowseInformation "None"
$BrowseFile "$(IntDir)/"
// Advanced
$CallingConvention
$CompileAs "Compile as C++ Code (/TP)"
$DisableSpecificWarnings
$ForceIncludes
$Force#Using
$ShowIncludes
$UndefinePreprocessorDefinitions
$UndefineAllPreprocessorDefinitions
$UseFullPaths
$OmitDefaultLibraryNames
$ErrorReporting "Prompt Immediately (/errorReport:prompt)"
// Command Line
$AdditionalOptions "/MP"
// Enable extra debugging information.
$AdditionalOptions "$BASE /d2Zi+"
$AdditionalOptions "$BASE /Oy-" [$NOFPO]
}
$Librarian
{
// General
$OutputFile "$OUTLIBDIR\$OUTLIBNAME.lib"
$AdditionalDependencies
$AdditionalLibraryDirectories
$SuppressStartupBanner "Yes (/NOLOGO)"
$ModuleDefinitionFileName
$IgnoreAllDefaultLibraries
$IgnoreSpecificLibrary
$ExportNamedFunctions
$ForceSymbolReferences
$UseUNICODEResponseFiles "No"
$LinkLibraryDependencies
// Command Line
$AdditionalOptions
}
$XMLDocumentGenerator
{
// General
$SuppressStartupBanner "Yes (/nologo)"
$ValidateIntelliSense
$AdditionalDocumentFiles
$OutputDocumentFile
$DocumentLibraryDependencies
$UseUNICODEResponseFiles
}
$BrowseInformation
{
$SuppressStartupBanner "Yes (/nologo)"
$OutputFile "$(OutDir)/$OUTLIBNAME.bsc"
$AdditionalOptions
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}

View File

@@ -0,0 +1,75 @@
//-----------------------------------------------------------------------------
// SOURCE_LIB_X360_BASE.VPC
//
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$Include "$SRCDIR\vpc_scripts\version.vpc"
$MacroRequired "SRCDIR"
$MacroRequired "OUTLIBNAME" "$PROJECTNAME"
$MacroRequired "OUTLIBDIR"
$Macro PLATSUBDIR "\."
$Macro LIBPUBLIC "$SRCDIR\lib\public"
$Macro LIBCOMMON "$SRCDIR\lib\common"
$Include "$SRCDIR\vpc_scripts\source_lib_x360_debug.vpc"
$Include "$SRCDIR\vpc_scripts\source_lib_x360_release.vpc"
$IgnoreRedundancyWarning "ON"
// Common Configuration
$Configuration
{
$Compiler
{
$PreprocessorDefinitions "$BASE;_MEMTEST" [$MEMTEST]
$PreprocessorDefinitions "$BASE;_LOWVIOLENCE" [$LV]
$PreprocessorDefinitions "$BASE;_X360DEMO" [$X360DEMO]
$PreprocessorDefinitions "$BASE;COMPILER_MSVC;COMPILER_MSVCX360;_DLL_EXT=$_DLL_EXT"
$PreprocessorDefinitions "$BASE;LIBNAME=$OUTLIBNAME"
}
$PreBuildEvent
{
$CommandLine "if EXIST $OUTLIBDIR\$(TargetName).lib for /f $QUOTEdelims=$QUOTE %%A in ('attrib $QUOTE$OUTLIBDIR\$(TargetName).lib$QUOTE') do set valveTmpIsReadOnly=$QUOTE%%A$QUOTE" "\n" \
"set valveTmpIsReadOnlyLetter=%valveTmpIsReadOnly:~6,1%" "\n" \
"if $QUOTE%valveTmpIsReadOnlyLetter%$QUOTE==$QUOTER$QUOTE (" "\n" \
" attrib -r $OUTLIBDIR\$(TargetName).lib" "\n" \
" $SRCDIR\devtools\bin\gnu\touch.exe -d $QUOTE1999-01-01$QUOTE $OUTLIBDIR\$(TargetName).lib" "\n" \
" attrib +r $OUTLIBDIR\$(TargetName).lib" "\n" \
")" "\n" \
"$CRCCHECK" "\n"
}
$PostBuildEvent
{
$CommandLine "call $SRCDIR\..\game\bin\CSSVersionNumber.exe $SRCDIR\..\game\platform\resource\css_code_version_local.txt quiet" "\n"
$Description "Creating version number."
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTLIBDIR\$(TargetName).lib $SRCDIR"
}
}
// Skeleton Project - All derived projects get this as a starting base
$Project
{
$Folder "Source Files"
{
$File "$SRCDIR\common\debug_lib_check.cpp"
{
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
}
}

View File

@@ -0,0 +1,176 @@
//-----------------------------------------------------------------------------
// SOURCE_LIB_X360_DEBUG.VPC
//
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$IgnoreRedundancyWarning "ON"
$MacroRequired "SRCDIR"
$MacroRequired "OUTLIBNAME"
$MacroRequired "OUTLIBDIR"
$Configuration "Debug"
{
$General
{
// General
$OutputDirectory ".\Debug_360"
$IntermediateDirectory ".\Debug_360"
$ExtensionsToDeleteOnClean
$BuildLogFile
$InheritedProjectPropertySheets
// Project Defaults
$ConfigurationType "Static Library (.lib)"
$CharacterSet "Not Set"
$WholeProgramOptimization "No Whole Program Optimization"
}
$Debugging
{
$Command
$CommandArguments
$MapDVDDrive
$RemoteMachine
}
$Compiler
{
// General
$AdditionalIncludeDirectories "$SRCDIR\common;$SRCDIR\public;$SRCDIR\public\tier0;$SRCDIR\public\tier1"
$DebugInformationFormat "Program Database (/Zi)"
$SuppressStartupBanner "Yes (/nologo)"
$WarningLevel "Level 4 (/W4)"
$MultiProcessorCompilation "Yes (/MP)"
$TreatWarningsAsErrors "No"
// Optimization
$Optimization "Disabled (/Od)"
$InlineFunctionExpansion
$EnableIntrinsicFunctions "Yes (/Oi)"
$FavorSizeOrSpeed
$EnableFiberSafeOptimizations
$WholeProgramOptimization
// Preprocessor
$PreprocessorDefinitions "_HAS_ITERATOR_DEBUGGING=0;_X360;_DEBUG;DEBUG;_LIB;_WIN32;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE"
$PreprocessorDefinitions "$BASE;_CERT" [$CERT]
$IgnoreStandardIncludePath
$GeneratePreprocessedFile
$KeepComments
// Code Generation
$EnableStringPooling "Yes (/GF)"
$EnableMinimalRebuild "No"
$EnableC++Exceptions "No"
$SmallerTypeCheck
$BasicRuntimeChecks "Both (/RTC1, equiv. to /RTCsu)"
$RuntimeLibrary "Multi-threaded Debug (/MTd)"
$StructMemberAlignment
$BufferSecurityCheck "Yes (/GS)"
$EnableFunctionLevelLinking
$FloatingPointModel "Fast (/fp:fast)"
$EnableFloatingPointExceptions "No"
// Language
$DisableLanguageExtensions
$DefaultCharUnsigned
$TreatWCHAR_TAsBuiltInType "Yes (/Zc:wchar_t)"
$ForceConformanceInForLoopScope "Yes (/Zc:forScope)"
$EnableRunTimeTypeInfo "Yes (/GR)"
$OpenMPSupport "No"
// Precompiled Headers
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
$Create/UsePCHThroughFile
$PrecompiledHeaderFile
// Output Files
$ExpandAttributedSource "No"
$AssemblerOutput "No Listing"
$ASMListLocation "$(IntDir)/"
$ObjectFileName "$(IntDir)/"
$ProgramDatabaseFileName "$(IntDir)/vc90.pdb"
// Browse Information
$EnableBrowseInformation "None"
$BrowseFile "$(IntDir)/"
// Advanced
$CompileAs "Compile as C++ Code (/TP)"
$DisableSpecificWarnings
$ForceIncludes "tier0/platform.h"
$ShowIncludes "No"
$UndefinePreprocessorDefinitions
$UndefineAllPreprocessorDefinitions "No"
$UseFullPaths
$OmitDefaultLibraryNames
// Xbox 360
$RegisterReservation "No"
$TrapIntegerDividesOptimization "No"
$PreschedulingOptimization "No"
$InlineAssemblyOptimization "No"
$Stalls "No"
$CallAttributedProfiling "Disabled"
// Command Line
$AdditionalOptions "/QVMX128"
}
$Librarian
{
// General
$OutputFile "$OUTLIBDIR\$OUTLIBNAME_360.lib"
$AdditionalDependencies
$AdditionalLibraryDirectories
$SuppressStartupBanner "Yes (/NOLOGO)"
$ModuleDefinitionFileName
$IgnoreAllDefaultLibraries
$IgnoreSpecificLibrary
$ExportNamedFunctions
$ForceSymbolReferences
$LinkLibraryDependencies
// Command Line
$AdditionalOptions
}
$BrowseInformation
{
$SuppressStartupBanner "Yes (/nologo)"
$OutputFile "$(OutDir)/$OUTLIBNAME.bsc"
$AdditionalOptions
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}

View File

@@ -0,0 +1,178 @@
//-----------------------------------------------------------------------------
// SOURCE_LIB_X360_RELEASE.VPC
//
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$IgnoreRedundancyWarning "ON"
$MacroRequired "SRCDIR"
$MacroRequired "OUTLIBNAME"
$MacroRequired "OUTLIBDIR"
$Configuration "Release"
{
$General
{
// General
$OutputDirectory ".\Release_360"
$IntermediateDirectory ".\Release_360"
$ExtensionsToDeleteOnClean
$BuildLogFile
$InheritedProjectPropertySheets
// Project Defaults
$ConfigurationType "Static Library (.lib)"
$CharacterSet "Not Set"
$WholeProgramOptimization
}
$Debugging
{
$Command
$CommandArguments
$MapDVDDrive
$RemoteMachine
}
$Compiler
{
// General
$AdditionalIncludeDirectories "$SRCDIR\common;$SRCDIR\public;$SRCDIR\public\tier0;$SRCDIR\public\tier1"
$DebugInformationFormat "C7 Compatible (/Z7)"
$SuppressStartupBanner "Yes (/nologo)"
$WarningLevel "Level 4 (/W4)"
$TreatWarningsAsErrors "No"
// Optimization
$Optimization "Full Optimization (/Ox)"
$InlineFunctionExpansion "Any Suitable (/Ob2)"
$EnableIntrinsicFunctions "Yes (/Oi)"
$FavorSizeOrSpeed "Favor Fast Code (/Ot)"
$EnableFiberSafeOptimizations
$WholeProgramOptimization
// Preprocessor
$PreprocessorDefinitions "_X360;NDEBUG;_LIB;_WIN32;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;__VMX128_SUPPORTED"
$PreprocessorDefinitions "$BASE;_CERT" [$CERT]
$PreprocessorDefinitions "$BASE;PROFILE" [$PROFILE]
$IgnoreStandardIncludePath
$GeneratePreprocessedFile
$KeepComments
// Code Generation
$EnableStringPooling "Yes (/GF)"
$EnableMinimalRebuild "No"
$EnableC++Exceptions "No"
$SmallerTypeCheck "No"
$BasicRuntimeChecks "Default"
$RuntimeLibrary "Multi-threaded (/MT)"
$StructMemberAlignment "Default"
$BufferSecurityCheck "No"
$EnableFunctionLevelLinking "Yes (/Gy)"
$FloatingPointModel "Fast (/fp:fast)"
$EnableFloatingPointExceptions "No"
// Language
$DisableLanguageExtensions "No"
$DefaultCharUnsigned "No"
$TreatWCHAR_TAsBuiltInType "Yes (/Zc:wchar_t)"
$ForceConformanceInForLoopScope "Yes (/Zc:forScope)"
$EnableRunTimeTypeInfo "Yes (/GR)"
$OpenMPSupport "No"
// Precompiled Headers
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
$Create/UsePCHThroughFile
$PrecompiledHeaderFile
// Output Files
$ExpandAttributedSource "No"
$AssemblerOutput "No Listing"
$ASMListLocation "$(IntDir)/"
$ObjectFileName "$(IntDir)/"
$ProgramDatabaseFileName "$(IntDir)/vc90.pdb"
// Browse Information
$EnableBrowseInformation "None"
$BrowseFile "$(IntDir)/"
// Advanced
$CompileAs "Compile as C++ Code (/TP)"
$DisableSpecificWarnings
$ForceIncludes "tier0/platform.h"
$ShowIncludes "No"
$UndefinePreprocessorDefinitions
$UndefineAllPreprocessorDefinitions "No"
$UseFullPaths
$OmitDefaultLibraryNames
// Xbox 360
$RegisterReservation
$TrapIntegerDividesOptimization
$PreschedulingOptimization
$InlineAssemblyOptimization
$Stalls
$CallAttributedProfiling "Call profiler within function calls. (/callcap)" [$CALLCAP]
$CallAttributedProfiling "Call profiler around function calls. (/fastcap)" [$FASTCAP]
// Command Line
$AdditionalOptions "$BASE /QVMX128"
$AdditionalOptions "$BASE /Oy-" [$NOFPO]
}
$Librarian
{
// General
$OutputFile "$OUTLIBDIR\$OUTLIBNAME_360.lib"
$AdditionalDependencies
$AdditionalLibraryDirectories
$SuppressStartupBanner "Yes (/NOLOGO)"
$ModuleDefinitionFileName
$IgnoreAllDefaultLibraries
$IgnoreSpecificLibrary "libc;libcd;libcmtd" [!$PROFILE]
$IgnoreSpecificLibrary "libc;libcd;libcmtd;xapilib" [$PROFILE]
$ExportNamedFunctions
$ForceSymbolReferences
$LinkLibraryDependencies
// Command Line
}
$BrowseInformation
{
$SuppressStartupBanner "Yes (/nologo)"
$OutputFile "$(OutDir)/$OUTLIBNAME.bsc"
$AdditionalOptions
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}

View File

@@ -0,0 +1,56 @@
$MacroRequired "SRCDIR"
$Configuration "Debug"
{
$Compiler
{
$PreprocessorDefinitions "DEBUG;_DEBUG"
$OptimizerLevel "-gdwarf-2 -g $(OptimizerLevel_CompilerSpecific)" [$OSXALL]
$OptimizerLevel "-gdwarf-4 -g $(OptimizerLevel_CompilerSpecific)" [$LINUX]
}
}
$Configuration "Release"
{
$Compiler
{
$PreprocessorDefinitions "NDEBUG"
$OptimizerLevel "-gdwarf-2 -g $(OptimizerLevel_CompilerSpecific)" [$OSXALL]
$OptimizerLevel "-gdwarf-4 -g $(OptimizerLevel_CompilerSpecific)" [$LINUX]
$PreprocessorDefinitions "$BASE;RELEASE_ASSERTS" [$RELEASEASSERTS]
}
}
$Configuration
{
$General
{
$ConfigurationType "Application (.exe)"
}
$Compiler
{
$AdditionalIncludeDirectories "$SRCDIR\common;$SRCDIR\public;$SRCDIR\public\tier0;$SRCDIR\public\tier1"
$PreprocessorDefinitions "$BASE;DEDICATED"
$PreprocessorDefinitions "$BASE;LINUX;_LINUX" [$LINUX]
$PreprocessorDefinitions "$BASE;_OSX;OSX;_DARWIN_UNLIMITED_SELECT;FD_SETSIZE=10240;" [$OSXALL]
$PreprocessorDefinitions "$BASE;_DEMO" [$DEMO]
$SymbolVisibility "hidden" [$POSIX]
$GCC_ExtraCompilerFlags "-U_FORTIFY_SOURCE" [$LINUXALL]
}
}
$Project
{
$Folder "Link Libraries"
{
$ImpLib tier0 [!$IS_LIB_PROJECT]
$Lib tier1 [!$IS_LIB_PROJECT]
$Lib interfaces [!$IS_LIB_PROJECT]
$ImpLib vstdlib [!$IS_LIB_PROJECT]
}
}

View File

@@ -0,0 +1,9 @@
$MacroRequired VPC_TRIVIAL_DEPENDENCY_PATH "$SRCDIR/vpc_scripts/vpc_trivial_dependency.txt"
$Configuration
{
$Compiler
{
$PreprocessorDefinitions "$BASE;STATIC_LINK" [$STATIC_LINK]
}
}

View File

@@ -0,0 +1,74 @@
$Include "$SRCDIR\vpc_scripts\version.vpc"
$Include "$SRCDIR\vpc_scripts\source_lowest_base.vpc"
$Macro LIBPUBLIC "$SRCDIR\lib\public$PLATSUBDIR"
$Macro LIBCOMMON "$SRCDIR\lib\common$PLATSUBDIR"
$MacroRequired "SRCDIR"
$Macro "DEVTOOLS" "$SRCDIR/devtools"
$Configuration "Debug"
{
$Compiler
{
$PreprocessorDefinitions "$BASE;DEBUG;_DEBUG"
$OptimizerLevel "-gdwarf-2 -g2 $(OptimizerLevel_CompilerSpecific)" [$OSXALL]
$OptimizerLevel "-gdwarf-4 -g2 $(OptimizerLevel_CompilerSpecific)" [$LINUX]
}
}
$Configuration "Release"
{
$Compiler
{
$PreprocessorDefinitions "$BASE;NDEBUG"
$OptimizerLevel "-gdwarf-2 -g2 $(OptimizerLevel_CompilerSpecific)" [$OSXALL]
$OptimizerLevel "-gdwarf-4 -g2 $(OptimizerLevel_CompilerSpecific)" [$LINUX]
}
}
$Configuration
{
$General [!$IS_LIB_PROJECT]
{
$ConfigurationType "Application (.exe)"
}
$Compiler
{
$AdditionalIncludeDirectories "$SRCDIR\common;$SRCDIR\public;$SRCDIR\public\tier0;$SRCDIR\public\tier1"
$PreprocessorDefinitions "$BASE;GNUC;POSIX;COMPILER_GCC;MEMOVERRIDE_MODULE=$PROJECTNAME;_DLL_EXT=$_DLL_EXT"
$PreprocessorDefinitions "$BASE;DEDICATED" [$DEDICATED]
// the 10240 in the following line is the output of `sysctl -n kern.maxfilesperproc`
$PreprocessorDefinitions "$BASE;_OSX;OSX;_DARWIN_UNLIMITED_SELECT;FD_SETSIZE=10240;" [$OSXALL]
$PreprocessorDefinitions "$BASE;_LINUX;LINUX;" [$LINUX]
$SymbolVisibility "hidden" [$POSIX]
$PreprocessorDefinitions "$BASE;POSIX;_POSIX" [$POSIX]
$PreprocessorDefinitions "$BASE;PLATFORM_64BITS" [$OSX64]
$GCC_ExtraCompilerFlags "$BASE -arch x86_64" [$OSX64]
$Create/UsePCHThroughFile "stdafx.h"
}
$Linker [!$IS_LIB_PROJECT]
{
$GCC_ExtraLinkerFlags "$BASE -arch x86_64" [$OSX64]
}
}
$Project
{
$Folder "Link Libraries"
{
$ImpLib "$LIBPUBLIC\tier0" [!$IS_LIB_PROJECT]
$Lib "$LIBPUBLIC\tier1" [!$IS_LIB_PROJECT]
$Lib "$LIBPUBLIC\interfaces" [!$IS_LIB_PROJECT]
$ImpLib "$LIBPUBLIC\vstdlib" [!$IS_LIB_PROJECT]
}
}

View File

@@ -0,0 +1,81 @@
//-----------------------------------------------------------------------------
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$Include "$SRCDIR\vpc_scripts\version.vpc"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME" "$PROJECTNAME"
$MacroRequired "OUTBINDIR"
$Macro PLATSUBDIR "\."
$Macro LIBPUBLIC "$SRCDIR\lib\public"
$Macro LIBCOMMON "$SRCDIR\lib\common"
$Macro SCE_LIBROOT "$(SCE_PS3_ROOT)\target\ppu\lib"
$Include "$SRCDIR\vpc_scripts\source_ppu_elf_ps3_debug.vpc"
$Include "$SRCDIR\vpc_scripts\source_ppu_elf_ps3_release.vpc"
$IgnoreRedundancyWarning "ON"
// Common Configuration
$Configuration
{
$Compiler
{
$PreprocessorDefinitions "$BASE;_MEMTEST" [$MEMTEST]
$PreprocessorDefinitions "$BASE;_LOWVIOLENCE" [$LV]
$PreprocessorDefinitions "$BASE;_CERT" [$CERT]
$PreprocessorDefinitions "$BASE;NO_STEAM" [$NO_STEAM]
$PreprocessorDefinitions "$BASE;MEMOVERRIDE_MODULE=$PROJECTNAME;_DLL_EXT=$_DLL_EXT"
}
$PreBuildEvent
{
$CommandLine "$CRCCHECK" "\n"
}
$PostBuildEvent
{
$CommandLine "$BASE" "\n" \
"copy $(TargetDir)$(TargetName).self $OUTBINDIR\EBOOT.BIN" "\n" \
"copy $(TargetPath) $OUTBINDIR\EBOOT.ELF"
}
}
// Skeleton Project
$Project
{
$Folder "Source Files"
{
$File "$SRCDIR\public\tier0\memoverride.cpp"
{
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
}
$Folder "Link Libraries"
{
}
$File "vsi.nul"
{
$Configuration
{
$CustomBuildStep
{
$CommandLine "echo &gt;nul&#x0D;&#x0A;"
$Outputs "$(IntDir)\vsi.out"
}
}
}
}

View File

@@ -0,0 +1,121 @@
//-----------------------------------------------------------------------------
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "SCE_LIBROOT"
$IgnoreRedundancyWarning "ON"
$Configuration "Debug"
{
$General
{
// General
$OutputDirectory ".\Debug_PS3"
$IntermediateDirectory ".\Debug_PS3"
$ExtensionsToDeleteOnClean
$BuildLogFile
$SystemIncludeDependencies
$SaveDebuggerPropertiesInProject
$ConfigurationType "ELF"
}
$SNCCompiler
{
// General
$AdditionalIncludeDirectories
$PreprocessorDefinitions "SN_TARGET_PS3;_DEBUG;__SNC__;__CELL_ASSERT__;POSIX"
$ForceIncludes "tier0/platform.h"
$GenerateDebugInformation "yes"
$Warnings "Generate Warnings (=1)"
$TreatMessagesAsErrors "Reported Errors Only (=0)"
$DisableSpecificWarnings
$ObjectFileName "$(IntDir)\"
$CallprofHierarchicalProfiling "No"
// Optimization
$OptimizationLevel "No Optimization, Forced Inlining only (-O0)"
$FastMath "No"
$RelaxAliasChecking "Default"
$BranchlessCompares "Always Use Branches (=0)"
$UnrollLoops "30"
$AssumeAlignedPointers "No"
$AssumeCorrectSign "Yes"
// Code Generation
$TOCPointerPreservation "Preserve the TOC for all Function Calls (=0)"
$InitializedDataPlacement "Automatic .bss and .data Placement (=1)"
$PromoteFPConstantsToDoubles "No"
// Language
$CC++Dialect "Mixed with GNU Extensions"
$C++ExceptionsAndRTTIUsage "Using RTTI only"
$DefaultCharUnsigned "No"
$DefaultFPConstantsAsTypeFloat "No"
$BuiltInDefinitionForWCHAR_TType "unsigned short (=ushort)"
// Precompiled Headers
$Create/UsePrecompiledHeader "Not Using Precompiled Header File(s)"
$PrecompiledHeaderFile
// Command Line
$AdditionalOptions
}
$SNCLinker
{
// General
$OutputFile $(OutDir)/$(ProjectName)_ps3.elf
$OutputFormat "ELF file"
$AdditionalDependencies "$SCE_LIBROOT\libgcm_cmd.a $SCE_LIBROOT\libgcm_sys_stub.a $SCE_LIBROOT\libsysmodule_stub.a $SCE_LIBROOT\libsysutil_stub.a $SCE_LIBROOT\libusbd_stub.a $SCE_LIBROOT\libresc_stub.a $SCE_LIBROOT\libio_stub.a $SCE_LIBROOT\fno-exceptions\libc_libent.o $SCE_LIBROOT\fno-exceptions\libm_libent.o $SCE_LIBROOT\fno-exceptions\libstdc++_libent.o $SCE_LIBROOT\fno-exceptions\libc.a $SCE_LIBROOT\fno-exceptions\libm.a $SCE_LIBROOT\fno-exceptions\libstdc++.a libfios.a libfs_stub.a libsysutil_stub.a libsysutil_np_stub.a libsysmodule_stub.a"
$AdditionalLibraryDirectories
$IgnoreAllDefaultLibraries "No"
$UsingExceptionHandling "No"
$TOCPointerElimination "No"
$ForceSymbolReferences
$CallprofHierarchicalProfiling "No"
$DebugInfoAndSymbolStripping "No Symbol Stripping"
$UnusedFunctionAndDataStripping "No Code Stripping"
$ImportLibrary
$GenerateMapFile "No Map File"
$MapFileName
$LinkLibraryDependencies "Yes"
// Command Line
$AdditionalOptions "--ppuguid"
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine "$(SCE_PS3_ROOT)\host-win32\bin\make_fself &quot;$(TargetPath)&quot; &quot;$(TargetDir)$(TargetName).self&quot;"
$Description "Fake Signing ELF &quot;$(TargetDir)$(TargetName).self&quot;"
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}

View File

@@ -0,0 +1,121 @@
//-----------------------------------------------------------------------------
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "SCE_LIBROOT"
$IgnoreRedundancyWarning "ON"
$Configuration "Release"
{
$General
{
// General
$OutputDirectory ".\Release_PS3"
$IntermediateDirectory ".\Release_PS3"
$ExtensionsToDeleteOnClean
$BuildLogFile
$SystemIncludeDependencies
$SaveDebuggerPropertiesInProject
$ConfigurationType "ELF"
}
$SNCCompiler
{
// General
$AdditionalIncludeDirectories
$PreprocessorDefinitions "SN_TARGET_PS3;NDEBUG;__SNC__;POSIX"
$ForceIncludes "tier0/platform.h"
$GenerateDebugInformation "yes"
$Warnings "Generate Warnings (=1)"
$TreatMessagesAsErrors "Reported Errors Only (=0)"
$DisableSpecificWarnings
$ObjectFileName "$(IntDir)\"
$CallprofHierarchicalProfiling "No"
// Optimization
$OptimizationLevel "Optimize for Size (-Os)"
$FastMath "Yes"
$RelaxAliasChecking "Default"
$BranchlessCompares "Always Use Branches (=0)"
$UnrollLoops "30"
$AssumeAlignedPointers "No"
$AssumeCorrectSign "Yes"
// Code Generation
$TOCPointerPreservation "Preserve the TOC for all Function Calls (=0)"
$InitializedDataPlacement "Automatic .bss and .data Placement (=1)"
$PromoteFPConstantsToDoubles "No"
// Language
$CC++Dialect "Mixed with GNU Extensions"
$C++ExceptionsAndRTTIUsage "Using RTTI only"
$DefaultCharUnsigned "No"
$DefaultFPConstantsAsTypeFloat "No"
$BuiltInDefinitionForWCHAR_TType "unsigned short (=ushort)"
// Precompiled Headers
$Create/UsePrecompiledHeader "Not Using Precompiled Header File(s)"
$PrecompiledHeaderFile
// Command Line
$AdditionalOptions
}
$SNCLinker
{
// General
$OutputFile $(OutDir)/$(ProjectName)_ps3.elf
$OutputFormat "ELF file"
$AdditionalDependencies "$SCE_LIBROOT\libgcm_cmd.a $SCE_LIBROOT\libgcm_sys_stub.a $SCE_LIBROOT\libsysmodule_stub.a $SCE_LIBROOT\libsysutil_stub.a $SCE_LIBROOT\libusbd_stub.a $SCE_LIBROOT\libresc_stub.a $SCE_LIBROOT\libio_stub.a $SCE_LIBROOT\fno-exceptions\libc_libent.o $SCE_LIBROOT\fno-exceptions\libm_libent.o $SCE_LIBROOT\fno-exceptions\libstdc++_libent.o $SCE_LIBROOT\fno-exceptions\libc.a $SCE_LIBROOT\fno-exceptions\libm.a $SCE_LIBROOT\fno-exceptions\libstdc++.a libfios.a libfs_stub.a libsysutil_stub.a libsysutil_np_stub.a libsysmodule_stub.a"
$AdditionalLibraryDirectories
$IgnoreAllDefaultLibraries "No"
$UsingExceptionHandling "No"
$TOCPointerElimination "No"
$ForceSymbolReferences
$CallprofHierarchicalProfiling "No"
$DebugInfoAndSymbolStripping "No Symbol Stripping"
$UnusedFunctionAndDataStripping "Strip Unused Functions and Data"
$ImportLibrary
$GenerateMapFile "No Map File"
$MapFileName
$LinkLibraryDependencies "Yes"
// Command Line
$AdditionalOptions "--strip-duplicates --ppuguid"
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine "$(SCE_PS3_ROOT)\host-win32\bin\make_fself -c &quot;$(TargetPath)&quot; &quot;$(TargetDir)$(TargetName).self&quot;"
$Description "Fake Signing ELF (compressed) &quot;$(TargetDir)$(TargetName).self&quot;"
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}

View File

@@ -0,0 +1,57 @@
//-----------------------------------------------------------------------------
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$Include "$SRCDIR\vpc_scripts\version.vpc"
$MacroRequired "SRCDIR"
$MacroRequired "OUTLIBNAME" "$PROJECTNAME"
$MacroRequired "OUTLIBDIR"
$Macro PLATSUBDIR "\."
$Macro LIBPUBLIC "$SRCDIR\lib\public"
$Macro LIBCOMMON "$SRCDIR\lib\common"
$Include "$SRCDIR\vpc_scripts\source_ppu_lib_ps3_debug.vpc"
$Include "$SRCDIR\vpc_scripts\source_ppu_lib_ps3_release.vpc"
$IgnoreRedundancyWarning "ON"
// Common Configuration
$Configuration
{
$Compiler
{
$PreprocessorDefinitions "$BASE;_MEMTEST" [$MEMTEST]
$PreprocessorDefinitions "$BASE;_LOWVIOLENCE" [$LV]
$PreprocessorDefinitions "$BASE;_CERT" [$CERT]
$PreprocessorDefinitions "$BASE;NO_STEAM" [$NO_STEAM]
$PreprocessorDefinitions "$BASE;_DLL_EXT=$_DLL_EXT"
$PreprocessorDefinitions "$BASE;LIBNAME=$OUTLIBNAME"
}
$PreBuildEvent
{
$CommandLine "$CRCCHECK" "\n"
}
}
// Skeleton Project - All derived projects get this as a starting base
$Project
{
$Folder "Source Files"
{
}
$File "vsi.nul"
{
$Configuration
{
$CustomBuildStep
{
$CommandLine "echo &gt;nul&#x0D;&#x0A;"
$Outputs "$(IntDir)\vsi.out"
}
}
}
}

View File

@@ -0,0 +1,105 @@
//-----------------------------------------------------------------------------
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$IgnoreRedundancyWarning "ON"
$MacroRequired "SRCDIR"
$MacroRequired "OUTLIBNAME"
$MacroRequired "OUTLIBDIR"
$Configuration "Debug"
{
$General
{
// General
$OutputDirectory ".\Debug_PS3"
$IntermediateDirectory ".\Debug_PS3"
$ExtensionsToDeleteOnClean
$BuildLogFile
$SystemIncludeDependencies
$SaveDebuggerPropertiesInProject
$ConfigurationType "LIB"
}
$SNCCompiler
{
// General
$AdditionalIncludeDirectories "$SRCDIR\common;$SRCDIR\public;$SRCDIR\public\tier0;$SRCDIR\public\tier1;$SRCDIR\public\tier2;&quot;$(SN_PS3_PATH)\ppu\include\sn&quot;;&quot;$(SCE_PS3_ROOT)\target\ppu\include&quot;;&quot;$(SCE_PS3_ROOT)\target\common\include&quot;;&quot;$(SCE_PS3_ROOT)\target\ppu\include\sys&quot;"
$PreprocessorDefinitions "SN_TARGET_PS3;_DEBUG;DEBUG;__SNC__;__CELL_ASSERT__;POSIX"
$ForceIncludes "tier0/platform.h"
$GenerateDebugInformation "Yes"
$Warnings "Generate Warnings (=1)"
$TreatMessagesAsErrors "Reported Errors Only (=0)"
$DisableSpecificWarnings "64;68;112;129;175;178;186;187;237;285;369;429;496;552;613;832;1011;1323;1421;1437;1772;1773;1778;1787"
$ObjectFileName "$(IntDir)\"
$CallprofHierarchicalProfiling "No"
// Optimization
$OptimizationLevel "No Optimization, Forced Inlining only (-O0)"
$FastMath "No"
$RelaxAliasChecking "Default"
$BranchlessCompares "Always Use Branches (=0)"
$UnrollLoops "30"
$AssumeAlignedPointers "No"
$AssumeCorrectSign "Yes"
// Code Generation
$TOCPointerPreservation "Preserve the TOC for all Function Calls (=0)"
$InitializedDataPlacement "Automatic .bss and .data Placement (=1)"
$PromoteFPConstantsToDoubles "No"
// Language
$CC++Dialect "Mixed with GNU Extensions"
$C++ExceptionsAndRTTIUsage "Using RTTI only"
$DefaultCharUnsigned "No"
$DefaultFPConstantsAsTypeFloat "No"
$BuiltInDefinitionForWCHAR_TType "unsigned short (=ushort)"
// Precompiled Headers
$Create/UsePrecompiledHeader "Not Using Precompiled Header File(s)"
$PrecompiledHeaderFile
// Command Line
$AdditionalOptions
}
$Librarian
{
$OutputFile "$OUTLIBDIR\$OUTLIBNAME_ps3.lib"
$AdditionalDependencies
$WholeArchive
$LinkLibraryDependencies
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}

View File

@@ -0,0 +1,105 @@
//-----------------------------------------------------------------------------
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$IgnoreRedundancyWarning "ON"
$MacroRequired "SRCDIR"
$MacroRequired "OUTLIBNAME"
$MacroRequired "OUTLIBDIR"
$Configuration "Release"
{
$General
{
// General
$OutputDirectory ".\Release_PS3"
$IntermediateDirectory ".\Release_PS3"
$ExtensionsToDeleteOnClean
$BuildLogFile
$SystemIncludeDependencies
$SaveDebuggerPropertiesInProject
$ConfigurationType "LIB"
}
$SNCCompiler
{
// General
$AdditionalIncludeDirectories "$SRCDIR\common;$SRCDIR\public;$SRCDIR\public\tier0;$SRCDIR\public\tier1;$SRCDIR\public\tier2;&quot;$(SN_PS3_PATH)\ppu\include\sn&quot;;&quot;$(SCE_PS3_ROOT)\target\ppu\include&quot;;&quot;$(SCE_PS3_ROOT)\target\common\include&quot;;&quot;$(SCE_PS3_ROOT)\target\ppu\include\sys&quot;"
$PreprocessorDefinitions "SN_TARGET_PS3;NDEBUG;__SNC__;__CELL_ASSERT__;POSIX"
$ForceIncludes "tier0/platform.h"
$GenerateDebugInformation "Yes"
$Warnings "Generate Warnings (=1)"
$TreatMessagesAsErrors "Reported Errors Only (=0)"
$DisableSpecificWarnings "64;68;112;175;178;186;187;237;285;369;429;496;552;613;832;1011;1323;1421;1437;1772;1773;1778;1787"
$ObjectFileName "$(IntDir)\"
$CallprofHierarchicalProfiling "No"
// Optimization
$OptimizationLevel "Optimize for Size (-Os)"
$FastMath "Yes"
$RelaxAliasChecking
$BranchlessCompares "Always Use Branches (=0)"
$UnrollLoops "30"
$AssumeAlignedPointers "No"
$AssumeCorrectSign "Yes"
// Code Generation
$TOCPointerPreservation
$InitializedDataPlacement
$PromoteFPConstantsToDoubles
// Language
$CC++Dialect "Mixed with GNU Extensions"
$C++ExceptionsAndRTTIUsage "Using RTTI only"
$DefaultCharUnsigned "No"
$DefaultFPConstantsAsTypeFloat "No"
$BuiltInDefinitionForWCHAR_TType "unsigned short (=ushort)"
// Precompiled Headers
$Create/UsePrecompiledHeader "Not Using Precompiled Header File(s)"
$PrecompiledHeaderFile
// Command Line
$AdditionalOptions
}
$Librarian
{
$OutputFile "$OUTLIBDIR\$OUTLIBNAME_ps3.lib"
$AdditionalDependencies
$WholeArchive
$LinkLibraryDependencies
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}

View File

@@ -0,0 +1,95 @@
//-----------------------------------------------------------------------------
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$Include "$SRCDIR\vpc_scripts\version.vpc"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME" "$PROJECTNAME"
$MacroRequired "OUTBINDIR"
$Macro PLATSUBDIR "\."
$Macro LIBPUBLIC "$SRCDIR\lib\public"
$Macro LIBCOMMON "$SRCDIR\lib\common"
// - PPU specific library directories -
// C/C++ langauge support libraries live here:
$Macro SCE_PPU_GCC_LIBROOT "$(SCE_PS3_ROOT)\host-win32\ppu\lib\gcc\ppu-lv2\4.1.1\fno-exceptions"
// Standard libraries and PS3-specific libraries live here
$Macro SCE_PPU_LIBROOT "$(SCE_PS3_ROOT)\target\ppu\lib"
$Include "$SRCDIR\vpc_scripts\source_ppu_prx_ps3_debug.vpc"
$Include "$SRCDIR\vpc_scripts\source_ppu_prx_ps3_release.vpc"
$IgnoreRedundancyWarning "ON"
// Common Configuration
$Configuration
{
$Compiler
{
$PreprocessorDefinitions "$BASE;_MEMTEST" [$MEMTEST]
$PreprocessorDefinitions "$BASE;_LOWVIOLENCE" [$LV]
$PreprocessorDefinitions "$BASE;_CERT" [$CERT]
$PreprocessorDefinitions "$BASE;NO_STEAM" [$NO_STEAM]
$PreprocessorDefinitions "$BASE;MEMOVERRIDE_MODULE=$PROJECTNAME;_DLL_EXT=$_DLL_EXT"
$PreprocessorDefinitions "$BASE;DLLNAME=$OUTBINNAME"
}
$PreBuildEvent
{
$CommandLine "$CRCCHECK" "\n"
}
$PostBuildEvent
{
$CommandLine "$BASE" "\n" \
"copy $(TargetDir)$(TargetName).sprx $OUTBINDIR\$(TargetName).sprx" "\n" \
"copy $(TargetPath) $OUTBINDIR\$(TargetFileName)"
}
}
// Skeleton Project
$Project
{
$Folder "Source Files"
{
$File "$SRCDIR\common\ps3\prx.cpp"
$File "$SRCDIR\public\tier0\memoverride.cpp"
{
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
}
$Folder "Link Libraries"
{
$ImpLib "$LIBPUBLIC\tier0"
$Lib "$LIBPUBLIC\interfaces"
$Lib "$LIBPUBLIC\tier1"
$ImpLib "$LIBPUBLIC\vstdlib"
// PS3 PPU assembly functions
// $File "$SRCDIR\utils\ps3\ps3asmppu\ps3asmppu\gettlsglobals.obj"
}
$File "vsi.nul"
{
$Configuration
{
$CustomBuildStep
{
$CommandLine "echo &gt;nul&#x0D;&#x0A;"
$Outputs "$(IntDir)\vsi.out"
}
}
}
}

View File

@@ -0,0 +1,123 @@
//-----------------------------------------------------------------------------
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "SCE_PPU_GCC_LIBROOT"
$MacroRequired "SCE_PPU_LIBROOT"
$IgnoreRedundancyWarning "ON"
$Configuration "Debug"
{
$General
{
// General
$OutputDirectory ".\Debug_PS3"
$IntermediateDirectory ".\Debug_PS3"
$ExtensionsToDeleteOnClean
$BuildLogFile
$SystemIncludeDependencies
$SaveDebuggerPropertiesInProject
$ConfigurationType "PRX"
}
$SNCCompiler
{
// General
$AdditionalIncludeDirectories "$SRCDIR\common;$SRCDIR\public;$SRCDIR\public\tier0;$SRCDIR\public\tier1;$(SN_PS3_PATH)\ppu\include\sn;$(SCE_PS3_ROOT)\target\ppu\include;$(SCE_PS3_ROOT)\target\common\include;"
$PreprocessorDefinitions "SN_TARGET_PS3;_DEBUG;DEBUG;__SNC__;__CELL_ASSERT__;POSIX"
$ForceIncludes "tier0/platform.h"
$GenerateDebugInformation "yes"
$Warnings "Generate Warnings (=1)"
$TreatMessagesAsErrors "Reported Errors Only (=0)"
$DisableSpecificWarnings "64;68;112;129;175;178;186;187;237;285;369;429;496;552;613;832;1011;1323;1421;1437;1772;1773;1778;1787"
$ObjectFileName "$(IntDir)\"
$CallprofHierarchicalProfiling "No"
// Optimization
$OptimizationLevel "No Optimization, Forced Inlining only (-O0)"
$FastMath "No"
$RelaxAliasChecking "Default"
$BranchlessCompares "Always Use Branches (=0)"
$UnrollLoops "30"
$AssumeAlignedPointers "No"
$AssumeCorrectSign "Yes"
// Code Generation
$TOCPointerPreservation "Preserve the TOC for all Function Calls (=0)"
$InitializedDataPlacement "Automatic .bss and .data Placement (=1)"
$PromoteFPConstantsToDoubles "No"
// Language
$CC++Dialect "Mixed with GNU Extensions"
$C++ExceptionsAndRTTIUsage "Using RTTI only"
$DefaultCharUnsigned "No"
$DefaultFPConstantsAsTypeFloat "No"
$BuiltInDefinitionForWCHAR_TType "unsigned short (=ushort)"
// Precompiled Headers
$Create/UsePrecompiledHeader "Not Using Precompiled Header File(s)"
$PrecompiledHeaderFile
// Command Line
$AdditionalOptions
}
$SNCLinker
{
// General
$OutputFile $(OutDir)/$OUTBINNAME_ps3.prx
$OutputFormat "PRX file"
$AdditionalDependencies "libgcc.a libsyscall.a liblv2_stub.a libsupc++.a fno-exceptions\libc_stub.a fno-exceptions\libstdc++.a fno-exceptions\libm_stub.a libfios.a libpthread.a libfs_stub.a libsysutil_stub.a libsysutil_np_stub.a libsysmodule_stub.a libsysutil_avconf_ext_stub.a"
$AdditionalLibraryDirectories
$IgnoreAllDefaultLibraries "No"
$UsingExceptionHandling "No"
$TOCPointerElimination "No"
$ForceSymbolReferences
$CallprofHierarchicalProfiling "No"
$DebugInfoAndSymbolStripping "No Symbol Stripping"
$UnusedFunctionAndDataStripping "No Code Stripping"
$ImportLibrary "$(TargetDir)$OUTBINNAME_stub.a"
$GenerateMapFile "No Map File"
$MapFileName
$LinkLibraryDependencies "Yes"
// Command Line
$AdditionalOptions "-disable-warning=25 --ppuguid"
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine "$(SCE_PS3_ROOT)\host-win32\bin\make_fself &quot;$(TargetPath)&quot; &quot;$(TargetDir)$(TargetName).sprx&quot;"
$Description "Fake Signing PRX &quot;$(TargetDir)$(TargetName).self&quot;"
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}

View File

@@ -0,0 +1,123 @@
//-----------------------------------------------------------------------------
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "SCE_PPU_GCC_LIBROOT"
$MacroRequired "SCE_PPU_LIBROOT"
$IgnoreRedundancyWarning "ON"
$Configuration "Release"
{
$General
{
// General
$OutputDirectory ".\Release_PS3"
$IntermediateDirectory ".\Release_PS3"
$ExtensionsToDeleteOnClean
$BuildLogFile
$SystemIncludeDependencies
$SaveDebuggerPropertiesInProject
$ConfigurationType "PRX"
}
$SNCCompiler
{
// General
$AdditionalIncludeDirectories "$SRCDIR\common;$SRCDIR\public;$SRCDIR\public\tier0;$SRCDIR\public\tier1;$(SN_PS3_PATH)\ppu\include\sn;$(SCE_PS3_ROOT)\target\ppu\include;$(SCE_PS3_ROOT)\target\common\include;$(SCE_PS3_ROOT)\target\ppu\include\sys;"
$PreprocessorDefinitions "SN_TARGET_PS3;NDEBUG;__SNC__;POSIX"
$ForceIncludes "tier0/platform.h"
$GenerateDebugInformation "yes"
$Warnings "Generate Warnings (=1)"
$TreatMessagesAsErrors "Reported Errors Only (=0)"
$DisableSpecificWarnings "64;68;112;175;178;186;187;237;285;369;429;496;552;613;832;1011;1323;1421;1437;1772;1773;1778;1787"
$ObjectFileName "$(IntDir)\"
$CallprofHierarchicalProfiling "No"
// Optimization
$OptimizationLevel "Optimize for Size (-Os)"
$FastMath "Yes"
$RelaxAliasChecking "Default"
$BranchlessCompares "Always Use Branches (=0)"
$UnrollLoops "30"
$AssumeAlignedPointers "No"
$AssumeCorrectSign "Yes"
// Code Generation
$TOCPointerPreservation "Preserve the TOC for all Function Calls (=0)"
$InitializedDataPlacement "Automatic .bss and .data Placement (=1)"
$PromoteFPConstantsToDoubles "No"
// Language
$CC++Dialect "Mixed with GNU Extensions"
$C++ExceptionsAndRTTIUsage "Using RTTI only"
$DefaultCharUnsigned "No"
$DefaultFPConstantsAsTypeFloat "No"
$BuiltInDefinitionForWCHAR_TType "unsigned short (=ushort)"
// Precompiled Headers
$Create/UsePrecompiledHeader "Not Using Precompiled Header File(s)"
$PrecompiledHeaderFile
// Command Line (disable strict aliasing, our code is not supporting strict aliasing)
$AdditionalOptions "-Xrelaxalias=0"
}
$SNCLinker
{
// General
$OutputFile $(OutDir)/$OUTBINNAME_ps3.prx
$OutputFormat "PRX file"
$AdditionalDependencies "libgcc.a libsyscall.a liblv2_stub.a libsupc++.a fno-exceptions\libc_stub.a fno-exceptions\libstdc++.a fno-exceptions\libm_stub.a libfios.a libpthread.a libfs_stub.a libsysutil_stub.a libsysutil_np_stub.a libsysmodule_stub.a libsysutil_avconf_ext_stub.a"
$AdditionalLibraryDirectories
$IgnoreAllDefaultLibraries "No"
$UsingExceptionHandling "No"
$TOCPointerElimination "No"
$ForceSymbolReferences
$CallprofHierarchicalProfiling "No"
$DebugInfoAndSymbolStripping "No Symbol Stripping"
$UnusedFunctionAndDataStripping "Strip Unused Functions and Data"
$ImportLibrary "$(TargetDir)$OUTBINNAME_stub.a"
$GenerateMapFile "No Map File"
$MapFileName
$LinkLibraryDependencies "Yes"
// Command Line
$AdditionalOptions "-disable-warning=25 --ppuguid"
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine "$(SCE_PS3_ROOT)\host-win32\bin\make_fself &quot;$(TargetPath)&quot; &quot;$(TargetDir)$(TargetName).sprx&quot;"
$Description "Fake Signing PRX &quot;$(TargetDir)$(TargetName).self&quot;"
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}

View File

@@ -0,0 +1,63 @@
//-----------------------------------------------------------------------------
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$Include "$SRCDIR\vpc_scripts\version.vpc"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME" "$PROJECTNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "DEVKITBINDIR" "."
$Macro PLATSUBDIR "\."
$Macro LIBPUBLIC "$SRCDIR\lib\public"
$Macro LIBCOMMON "$SRCDIR\lib\common"
$Macro SCE_LIBROOT "$(SCE_PS3_ROOT)\target\ppu\lib"
$Include "$SRCDIR\vpc_scripts\source_spu_dll_ps3_debug.vpc"
$Include "$SRCDIR\vpc_scripts\source_spu_dll_ps3_release.vpc"
$IgnoreRedundancyWarning "ON"
// Common Configuration
$Configuration
{
$Compiler
{
$PreprocessorDefinitions "$BASE;_MEMTEST" [$MEMTEST]
$PreprocessorDefinitions "$BASE;_LOWVIOLENCE" [$LV]
$PreprocessorDefinitions "$BASE;_CERT" [$CERT]
$PreprocessorDefinitions "$BASE;MEMOVERRIDE_MODULE=$PROJECTNAME;_DLL_EXT=$_DLL_EXT"
}
$PreBuildEvent
{
$CommandLine "$CRCCHECK" "\n"
}
}
// Skeleton Project
$Project
{
$Folder "Source Files"
{
}
$Folder "Link Libraries"
{
}
$File "vsi.nul"
{
$Configuration
{
$CustomBuildStep
{
$CommandLine "echo &gt;nul&#x0D;&#x0A;"
$Outputs "$(IntDir)\vsi.out"
}
}
}
}

View File

@@ -0,0 +1,110 @@
//-----------------------------------------------------------------------------
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "SCE_LIBROOT"
$IgnoreRedundancyWarning "ON"
$Configuration "Debug"
{
$General
{
// General
$OutputDirectory ".\Debug_PS3"
$IntermediateDirectory ".\Debug_PS3"
$ExtensionsToDeleteOnClean
$BuildLogFile
$SystemIncludeDependencies
$ConfigurationType "DLL"
}
$GCCCompiler
{
// General
$AdditionalIncludeDirectories "$QUOTE$(SN_PS3_PATH)\spu\include\sn$QUOTE;$QUOTE$(SCE_PS3_ROOT)\target\spu\include$QUOTE;$QUOTE$(SCE_PS3_ROOT)\target\common\include$QUOTE"
$PreprocessorDefinitions "SN_TARGET_PS3_SPU;_DEBUG;__GCC__;SPU;__CELL_ASSERT__"
$ForceIncludes
$GenerateDebugInformation
$Warnings
$ExtraWarnings
$TreatWarningsAsErrors
$ObjectFileName
$SPURSUsage
// Optimization
$OptimizationLevel
$FastMath
$NoStrictAliasing
$UnrollLoops
$InlineFunctionSizeLimit
// Code Generation
$Position-IndependentCode
$FunctionSections
$DataSections
$StackCheck
// Language
$C++ExceptionsAndRTTIUsage "Not using Exceptions or RTTI"
$CheckANSICompliance
$DefaultCharSigned
$Permissive
$RelaxC++Compliance
// Command Line
$AdditionalOptions
}
$GCCLinker
{
$OutputFile
$AdditionalDependencies
$AdditionalLibraryDirectories
$ExportLibrary
$SPURSUsage
$Position-IndependentCode
$EmitRelocations
$GarbageCollection
$GenerateMapFile
$MapFileName
$LinkLibraryDependencies
// Command Line
$AdditionalOptions
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}

View File

@@ -0,0 +1,108 @@
//-----------------------------------------------------------------------------
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "SCE_LIBROOT"
$IgnoreRedundancyWarning "ON"
$Configuration "Release"
{
$General
{
// General
$OutputDirectory ".\Release_PS3"
$IntermediateDirectory ".\Release_PS3"
$ExtensionsToDeleteOnClean
$BuildLogFile
$SystemIncludeDependencies
}
$GCCCompiler
{
// General
$AdditionalIncludeDirectories "$QUOTE$(SN_PS3_PATH)\spu\include\sn$QUOTE;$QUOTE$(SCE_PS3_ROOT)\target\spu\include$QUOTE;$QUOTE$(SCE_PS3_ROOT)\target\common\include$QUOTE"
$PreprocessorDefinitions "SN_TARGET_PS3_SPU;NDEBUG;__GCC__;SPU"
$ForceIncludes
$GenerateDebugInformation
$Warnings
$ExtraWarnings
$TreatWarningsAsErrors
$ObjectFileName
$SPURSUsage
// Optimization
$OptimizationLevel
$FastMath
$NoStrictAliasing
$UnrollLoops
$InlineFunctionSizeLimit
// Code Generation
$Position-IndependentCode
$FunctionSections
$DataSections
$StackCheck
// Language
$C++ExceptionsAndRTTIUsage "Not using Exceptions or RTTI"
$CheckANSICompliance
$DefaultCharSigned
$Permissive
$RelaxC++Compliance
// Command Line
$AdditionalOptions
}
$GCCLinker
{
$OutputFile
$AdditionalDependencies
$AdditionalLibraryDirectories
$ExportLibrary
$SPURSUsage
$Position-IndependentCode
$EmitRelocations
$GarbageCollection
$GenerateMapFile
$MapFileName
$LinkLibraryDependencies
// Command Line
$AdditionalOptions
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}

View File

@@ -0,0 +1,54 @@
//-----------------------------------------------------------------------------
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$Include "$SRCDIR\vpc_scripts\version.vpc"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME" "$PROJECTNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "DEVKITBINDIR" "."
$Macro PLATSUBDIR "\."
$Macro LIBPUBLIC "$SRCDIR\lib\public"
$Macro LIBCOMMON "$SRCDIR\lib\common"
$Macro SCE_LIBROOT "$(SCE_PS3_ROOT)\target\ppu\lib"
$Include "$SRCDIR\vpc_scripts\source_spu_elf_ps3_debug.vpc"
$Include "$SRCDIR\vpc_scripts\source_spu_elf_ps3_release.vpc"
$IgnoreRedundancyWarning "ON"
// Common Configuration
$Configuration
{
$Compiler
{
$PreprocessorDefinitions "$BASE;_MEMTEST" [$MEMTEST]
$PreprocessorDefinitions "$BASE;_LOWVIOLENCE" [$LV]
$PreprocessorDefinitions "$BASE;_CERT" [$CERT]
$PreprocessorDefinitions "$BASE;NO_STEAM" [$NO_STEAM]
$PreprocessorDefinitions "$BASE;VJOB=$OUTBINNAME"
}
$PreBuildEvent
{
$CommandLine "$CRCCHECK" "\n"
}
}
// Skeleton Project
$Project
{
$Folder "Source Files"
{
$File "$SRCDIR\common\ps3\spu_job_main.cpp" [!$RAWSPU]
}
$Folder "Link Libraries"
{
$File "$SRCDIR\common\ps3\spu_job_shared.h" [!$RAWSPU]
}
}

View File

@@ -0,0 +1,110 @@
//-----------------------------------------------------------------------------
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "SCE_LIBROOT"
$IgnoreRedundancyWarning "ON"
$Configuration "Debug"
{
$General
{
// General
$OutputDirectory ".\Debug_SPU"
$IntermediateDirectory ".\Debug_SPU"
$ExtensionsToDeleteOnClean
$BuildLogFile
$SystemIncludeDependencies
$ConfigurationType "ELF"
}
$GCCCompiler
{
// General
$AdditionalIncludeDirectories "$SRCDIR\common;$SRCDIR\public;$QUOTE$(SN_PS3_PATH)\spu\include\sn$QUOTE;$QUOTE$(SCE_PS3_ROOT)\target\spu\include$QUOTE;$QUOTE$(SCE_PS3_ROOT)\target\common\include$QUOTE"
$PreprocessorDefinitions "SN_TARGET_PS3_SPU;_DEBUG;__GCC__;SPU;_PS3;__CELL_ASSERT__"
$ForceIncludes
$GenerateDebugInformation "Yes"
$Warnings "Generate More Warnings (-Wall)"
$ExtraWarnings
$TreatWarningsAsErrors
$ObjectFileName
$SPURSUsage "Lightweight Job (-mspurs-job)"
// Optimization
$OptimizationLevel "No Optimization (-O0)"
$FastMath
$NoStrictAliasing
$UnrollLoops
$InlineFunctionSizeLimit
// Code Generation
$Position-IndependentCode "Yes"
$FunctionSections
$DataSections
$StackCheck
// Language
$C++ExceptionsAndRTTIUsage "Not using Exceptions or RTTI"
$CheckANSICompliance
$DefaultCharSigned
$Permissive
$RelaxC++Compliance
// Command Line
$AdditionalOptions
}
$GCCLinker
{
$OutputFile "$(OutDir)/$(ProjectName)_spu.elf"
$AdditionalDependencies "$(SCE_PS3_ROOT)\target\spu\lib\libspurs.a" [!$RAWSPU]
$AdditionalLibraryDirectories
$ImportLibrary "$(OutDir)/$(TargetName).bin.o" [!$RAWSPU]
$SPURSUsage "Lightweight Job (-mspurs-job)"
$Position-IndependentCode "Yes"
$EmitRelocations "Yes"
$GarbageCollection
$GenerateMapFile
$MapFileName
$LinkLibraryDependencies "Yes"
// Command Line
$AdditionalOptions
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine "spu_elf-to-ppu_obj --verbose --format=jobbin2 $QUOTE$(TargetPath)$QUOTE $QUOTE$(TargetDir)$(TargetName).bin.o$QUOTE > $QUOTE$(TargetDir)$(TargetName).bin.log$QUOTE"
$Description "creating jobbin2 PPU object file from the job elf"
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}

View File

@@ -0,0 +1,110 @@
//-----------------------------------------------------------------------------
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "SCE_LIBROOT"
$IgnoreRedundancyWarning "ON"
$Configuration "Release"
{
$General
{
// General
$OutputDirectory ".\Release_SPU"
$IntermediateDirectory ".\Release_SPU"
$ExtensionsToDeleteOnClean
$BuildLogFile
$SystemIncludeDependencies
$ConfigurationType "ELF"
}
$GCCCompiler
{
// General
$AdditionalIncludeDirectories "$SRCDIR\common;$SRCDIR\public;$QUOTE$(SN_PS3_PATH)\spu\include\sn$QUOTE;$QUOTE$(SCE_PS3_ROOT)\target\spu\include$QUOTE;$QUOTE$(SCE_PS3_ROOT)\target\common\include$QUOTE"
$PreprocessorDefinitions "SN_TARGET_PS3_SPU;NDEBUG;__GCC__;SPU;_PS3"
$ForceIncludes
$GenerateDebugInformation "Yes"
$Warnings "Generate More Warnings (-Wall)"
$ExtraWarnings
$TreatWarningsAsErrors
$ObjectFileName
$SPURSUsage "Lightweight Job (-mspurs-job)"
// Optimization
$OptimizationLevel "Full with Inlining (-O3)"
$FastMath
$NoStrictAliasing
$UnrollLoops
$InlineFunctionSizeLimit
// Code Generation
$Position-IndependentCode "Yes"
$FunctionSections
$DataSections
$StackCheck
// Language
$C++ExceptionsAndRTTIUsage "Not using Exceptions or RTTI"
$CheckANSICompliance
$DefaultCharSigned
$Permissive
$RelaxC++Compliance
// Command Line
$AdditionalOptions
}
$GCCLinker
{
$OutputFile "$(OutDir)/$(ProjectName)_spu.elf"
$AdditionalDependencies "$(SCE_PS3_ROOT)\target\spu\lib\libspurs.a" [!$RAWSPU]
$AdditionalLibraryDirectories
$ImportLibrary "$(OutDir)/$(TargetName).bin.o" [!$RAWSPU]
$SPURSUsage "Lightweight Job (-mspurs-job)"
$Position-IndependentCode "Yes"
$EmitRelocations "Yes"
$GarbageCollection
$GenerateMapFile
$MapFileName
$LinkLibraryDependencies
// Command Line
$AdditionalOptions
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine "spu_elf-to-ppu_obj --format=jobbin2 $QUOTE$(TargetPath)$QUOTE $QUOTE$(TargetDir)$(TargetName).bin.o$QUOTE > $QUOTE$(TargetDir)$(TargetName).bin.log$QUOTE"
$Description "creating jobbin2 PPU object file from the job elf"
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}

View File

@@ -0,0 +1,64 @@
//-----------------------------------------------------------------------------
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$Include "$SRCDIR\vpc_scripts\version.vpc"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME" "$PROJECTNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "DEVKITBINDIR" "."
$Macro PLATSUBDIR "\."
$Macro LIBPUBLIC "$SRCDIR\lib\public"
$Macro LIBCOMMON "$SRCDIR\lib\common"
$Macro SCE_LIBROOT "$(SCE_PS3_ROOT)\target\ppu\lib"
$Include "$SRCDIR\vpc_scripts\source_spu_lib_ps3_debug.vpc"
$Include "$SRCDIR\vpc_scripts\source_spu_lib_ps3_release.vpc"
$IgnoreRedundancyWarning "ON"
// Common Configuration
$Configuration
{
$Compiler
{
$PreprocessorDefinitions "$BASE;_MEMTEST" [$MEMTEST]
$PreprocessorDefinitions "$BASE;_LOWVIOLENCE" [$LV]
$PreprocessorDefinitions "$BASE;_CERT" [$CERT]
$PreprocessorDefinitions "$BASE;NO_STEAM" [$NO_STEAM]
$PreprocessorDefinitions "$BASE;MEMOVERRIDE_MODULE=$PROJECTNAME;_DLL_EXT=$_DLL_EXT"
}
$PreBuildEvent
{
$CommandLine "$CRCCHECK" "\n"
}
}
// Skeleton Project
$Project
{
$Folder "Source Files"
{
}
$Folder "Link Libraries"
{
}
$File "vsi.nul"
{
$Configuration
{
$CustomBuildStep
{
$CommandLine "echo &gt;nul&#x0D;&#x0A;"
$Outputs "$(IntDir)\vsi.out"
}
}
}
}

View File

@@ -0,0 +1,100 @@
//-----------------------------------------------------------------------------
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "SCE_LIBROOT"
$IgnoreRedundancyWarning "ON"
$Configuration "Debug"
{
$General
{
// General
$OutputDirectory ".\Debug_PS3"
$IntermediateDirectory ".\Debug_PS3"
$ExtensionsToDeleteOnClean
$BuildLogFile
$SystemIncludeDependencies
$ConfigurationType "LIB"
}
$GCCCompiler
{
// General
$AdditionalIncludeDirectories "$QUOTE$(SN_PS3_PATH)\spu\include\sn$QUOTE;$QUOTE$(SCE_PS3_ROOT)\target\spu\include$QUOTE;$QUOTE$(SCE_PS3_ROOT)\target\common\include$QUOTE"
$PreprocessorDefinitions "SN_TARGET_PS3_SPU;_DEBUG;__GCC__;SPU;__CELL_ASSERT__"
$ForceIncludes
$GenerateDebugInformation
$Warnings
$ExtraWarnings
$TreatWarningsAsErrors
$ObjectFileName
$SPURSUsage
// Optimization
$OptimizationLevel
$FastMath
$NoStrictAliasing
$UnrollLoops
$InlineFunctionSizeLimit
// Code Generation
$Position-IndependentCode
$FunctionSections
$DataSections
$StackCheck
// Language
$C++ExceptionsAndRTTIUsage "Not using Exceptions or RTTI"
$CheckANSICompliance
$DefaultCharSigned
$Permissive
$RelaxC++Compliance
// Command Line
$AdditionalOptions
}
$Librarian
{
$OutputFile
$AdditionalDependencies
$WholeArchive
$LinkLibraryDependencies
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}

View File

@@ -0,0 +1,100 @@
//-----------------------------------------------------------------------------
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "SCE_LIBROOT"
$IgnoreRedundancyWarning "ON"
$Configuration "Release"
{
$General
{
// General
$OutputDirectory ".\Release_PS3"
$IntermediateDirectory ".\Release_PS3"
$ExtensionsToDeleteOnClean
$BuildLogFile
$SystemIncludeDependencies
$ConfigurationType "LIB"
}
$GCCCompiler
{
// General
$AdditionalIncludeDirectories "$QUOTE$(SN_PS3_PATH)\spu\include\sn$QUOTE;$QUOTE$(SCE_PS3_ROOT)\target\spu\include$QUOTE;$QUOTE$(SCE_PS3_ROOT)\target\common\include$QUOTE"
$PreprocessorDefinitions "SN_TARGET_PS3_SPU;NDEBUG;__GCC__;SPU"
$ForceIncludes
$GenerateDebugInformation
$Warnings
$ExtraWarnings
$TreatWarningsAsErrors
$ObjectFileName
$SPURSUsage
// Optimization
$OptimizationLevel
$FastMath
$NoStrictAliasing
$UnrollLoops
$InlineFunctionSizeLimit
// Code Generation
$Position-IndependentCode
$FunctionSections
$DataSections
$StackCheck
// Language
$C++ExceptionsAndRTTIUsage "Not using Exceptions or RTTI"
$CheckANSICompliance
$DefaultCharSigned
$Permissive
$RelaxC++Compliance
// Command Line
$AdditionalOptions
}
$Librarian
{
$OutputFile
$AdditionalDependencies
$WholeArchive
$LinkLibraryDependencies
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}

View File

@@ -0,0 +1,54 @@
//-----------------------------------------------------------------------------
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$Include "$SRCDIR\vpc_scripts\version.vpc"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME" "$PROJECTNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "DEVKITBINDIR" "."
$Macro PLATSUBDIR "\."
$Macro LIBPUBLIC "$SRCDIR\lib\public"
$Macro LIBCOMMON "$SRCDIR\lib\common"
$Macro SCE_LIBROOT "$(SCE_PS3_ROOT)\target\ppu\lib"
$Include "$SRCDIR\vpc_scripts\source_spu_elf_ps3_debug.vpc"
$Include "$SRCDIR\vpc_scripts\source_spu_elf_ps3_release.vpc"
$IgnoreRedundancyWarning "ON"
// Common Configuration
$Configuration
{
$Compiler
{
$PreprocessorDefinitions "$BASE;_MEMTEST" [$MEMTEST]
$PreprocessorDefinitions "$BASE;_LOWVIOLENCE" [$LV]
$PreprocessorDefinitions "$BASE;_CERT" [$CERT]
$PreprocessorDefinitions "$BASE;NO_STEAM" [$NO_STEAM]
$PreprocessorDefinitions "$BASE;VJOB=$OUTBINNAME"
}
$PreBuildEvent
{
$CommandLine "$CRCCHECK" "\n"
}
}
// Skeleton Project
$Project
{
$Folder "Source Files"
{
$File "$SRCDIR\common\ps3\spu_job_main.cpp"
}
$Folder "Link Libraries"
{
$File "$SRCDIR\common\ps3\spu_job_shared.h"
}
}

View File

@@ -0,0 +1,110 @@
//-----------------------------------------------------------------------------
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "SCE_LIBROOT"
$IgnoreRedundancyWarning "ON"
$Configuration "Debug"
{
$General
{
// General
$OutputDirectory ".\Debug_SPU"
$IntermediateDirectory ".\Debug_SPU"
$ExtensionsToDeleteOnClean
$BuildLogFile
$SystemIncludeDependencies
$ConfigurationType "ELF"
}
$GCCCompiler
{
// General
$AdditionalIncludeDirectories "$SRCDIR\common;$SRCDIR\public;$QUOTE$(SN_PS3_PATH)\spu\include\sn$QUOTE;$QUOTE$(SCE_PS3_ROOT)\target\spu\include$QUOTE;$QUOTE$(SCE_PS3_ROOT)\target\common\include$QUOTE"
$PreprocessorDefinitions "SN_TARGET_PS3_SPU;_DEBUG;__GCC__;SPU;_PS3;__CELL_ASSERT__"
$ForceIncludes
$GenerateDebugInformation "Yes"
$Warnings "Generate More Warnings (-Wall)"
$ExtraWarnings
$TreatWarningsAsErrors
$ObjectFileName
$SPURSUsage "Lightweight Job (-mspurs-job)"
// Optimization
$OptimizationLevel "No Optimization (-O0)"
$FastMath
$NoStrictAliasing
$UnrollLoops
$InlineFunctionSizeLimit
// Code Generation
$Position-IndependentCode "Yes"
$FunctionSections
$DataSections
$StackCheck
// Language
$C++ExceptionsAndRTTIUsage "Not using Exceptions or RTTI"
$CheckANSICompliance
$DefaultCharSigned
$Permissive
$RelaxC++Compliance
// Command Line
$AdditionalOptions
}
$GCCLinker
{
$OutputFile "$(OutDir)/$(ProjectName)_spu.elf"
$AdditionalDependencies "$(SCE_PS3_ROOT)\target\spu\lib\libspurs.a"
$AdditionalLibraryDirectories
$ImportLibrary "$(OutDir)/$(TargetName).bin.o"
$SPURSUsage "Lightweight Job (-mspurs-job)"
$Position-IndependentCode "Yes"
$EmitRelocations "Yes"
$GarbageCollection
$GenerateMapFile
$MapFileName
$LinkLibraryDependencies "Yes"
// Command Line
$AdditionalOptions "-fstack-check"
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine "spu_elf-to-ppu_obj --verbose --format=jobbin2 $QUOTE$(TargetPath)$QUOTE $QUOTE$(TargetDir)$(TargetName).bin.o$QUOTE > $QUOTE$(TargetDir)$(TargetName).bin.log$QUOTE"
$Description "creating jobbin2 PPU object file from the job elf"
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}

View File

@@ -0,0 +1,110 @@
//-----------------------------------------------------------------------------
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "SCE_LIBROOT"
$IgnoreRedundancyWarning "ON"
$Configuration "Release"
{
$General
{
// General
$OutputDirectory ".\Release_SPU"
$IntermediateDirectory ".\Release_SPU"
$ExtensionsToDeleteOnClean
$BuildLogFile
$SystemIncludeDependencies
$ConfigurationType "ELF"
}
$GCCCompiler
{
// General
$AdditionalIncludeDirectories "$SRCDIR\common;$SRCDIR\public;$QUOTE$(SN_PS3_PATH)\spu\include\sn$QUOTE;$QUOTE$(SCE_PS3_ROOT)\target\spu\include$QUOTE;$QUOTE$(SCE_PS3_ROOT)\target\common\include$QUOTE"
$PreprocessorDefinitions "SN_TARGET_PS3_SPU;NDEBUG;__GCC__;SPU;_PS3"
$ForceIncludes
$GenerateDebugInformation "Yes"
$Warnings "Generate More Warnings (-Wall)"
$ExtraWarnings
$TreatWarningsAsErrors
$ObjectFileName
$SPURSUsage "Lightweight Job (-mspurs-job)"
// Optimization
$OptimizationLevel "Full with Inlining (-O3)"
$FastMath
$NoStrictAliasing
$UnrollLoops
$InlineFunctionSizeLimit
// Code Generation
$Position-IndependentCode "Yes"
$FunctionSections
$DataSections
$StackCheck
// Language
$C++ExceptionsAndRTTIUsage "Not using Exceptions or RTTI"
$CheckANSICompliance
$DefaultCharSigned
$Permissive
$RelaxC++Compliance
// Command Line
$AdditionalOptions
}
$GCCLinker
{
$OutputFile "$(OutDir)/$(ProjectName)_spu.elf"
$AdditionalDependencies "$(SCE_PS3_ROOT)\target\spu\lib\libspurs.a"
$AdditionalLibraryDirectories
$ImportLibrary "$(OutDir)/$(TargetName).bin.o"
$SPURSUsage "Lightweight Job (-mspurs-job)"
$Position-IndependentCode "Yes"
$EmitRelocations "Yes"
$GarbageCollection
$GenerateMapFile
$MapFileName
$LinkLibraryDependencies
// Command Line
$AdditionalOptions "-Wl,--gc-sections"
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine "spu_elf-to-ppu_obj --format=jobbin2 $QUOTE$(TargetPath)$QUOTE $QUOTE$(TargetDir)$(TargetName).bin.o$QUOTE > $QUOTE$(TargetDir)$(TargetName).bin.log$QUOTE"
$Description "creating jobbin2 PPU object file from the job elf"
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}

View File

@@ -0,0 +1,45 @@
//-----------------------------------------------------------------------------
// AVI_BASE.VPC
//
// Controls selection (and compilation) of various video subsystems
//
// Defines to add or remove to the preprocessor definitions:
//
// AVI_VIDEO - controls availability of IAvi interface, playing of AVI Video files in Engine
// BINK_VIDEO - controls availability of IBik interface
// QUICKTIME_VIDEO - controls availability of IQuickTime interface
// WMV_VIDEO - controls availability of playing WMV MPEG video files in Engine
//
// FORCE_QUICKTIME - causes engine to force change ".bik" ".wmv" ".avi" extensions to ".mov" and
// look for Quicktime playback *IF* the same file exists in .mov form
//
//-----------------------------------------------------------------------------
// We use Quicktime exclusively (and only quicktime) on the Mac
//
// We have two configurations for Win32.
//
// 1) Comment out the following $macro line out to enable BINK (and AVI and WMV) playback of videos
// 2) Uncomment the following $macro line out to enable Quicktime (and AVI and WMV) playback of videos and
// - the Quicktime file override ( the Quicktime .mov is played if present even if a .bnk, .avi or .wmv file was specified )
// $macro QUICKTIME_WINDOWS 1 [ $WINDOWS ]
$Conditional SDL "1" [ $GL && !$OSX32 ]
$Configuration
{
$Compiler
{
$PreprocessorDefinitions "$BASE" [$OSXALL]
$PreprocessorDefinitions "$BASE;AVI_VIDEO;WMV_VIDEO" [ ( $WINDOWS && !$QUICKTIME_WINDOWS ) || $X360 || $PS3 ]
$PreprocessorDefinitions "$BASE;AVI_VIDEO;WMV_VIDEO;QUICKTIME_VIDEO;FORCE_QUICKTIME" [ $WINDOWS && $QUICKTIME_WINDOWS ]
$PreprocessorDefinitions "$BASE;GL_GLEXT_PROTOTYPES;DX_TO_GL_ABSTRACTION" [$GL]
$PreprocessorDefinitions "$BASE;USE_SDL" [$SDL]
$AdditionalIncludeDirectories "$BASE;$SRCDIR\thirdparty\SDL2" [$SDL]
}
}

View File

@@ -0,0 +1,194 @@
$Include "$SRCDIR\vpc_scripts\source_lowest_base.vpc"
$Configuration
{
$General
{
// Request a specific compiler toolset.
$PlatformToolset "v110_xp" [$VS2012 && !$ANALYZE] // VS 2012 targeting Windows XP - http://msdn.microsoft.com/en-us/library/vstudio/jj851139.aspx
$PlatformToolset "v110" [$VS2012 && $ANALYZE] // VS 2012 for /analyze
$PlatformToolset "v120_xp" [$VS2013 && !$ANALYZE] // VS 2013 targeting Windows XP - http://msdn.microsoft.com/en-us/library/vstudio/jj851139.aspx
$PlatformToolset "v120" [$VS2013 && $ANALYZE] // VS 2013 for /analyze
$PlatformToolset "v140" [$VS2015]
}
$General
{
$ExecutableDirectories "$(ExecutablePath);$(Path)"
// We need to override mt.exe for Win7 compatibiity. Append paths before $(ExecutablePath) if you need VS to use your tools rather than its own
$ExecutableDirectories "$SRCDIR\devtools\vstools;$BASE" [$WIN32]
// VS 2012 compiles fine but does not link. We want to redirect to stub versions of
// the tools (like link.exe and mt.exe) so that the link stage will be NOPed when
// doing /analyze builds.
$ExecutableDirectories "$SRCDIR\devtools\vs_nop_tools;$BASE" [$ANALYZE]
}
$Compiler
{
$MultiProcessorCompilation "True"
// warning C4316: object allocated on the heap may not be aligned 16
$DisableSpecificWarnings "$BASE;4316" [$VS2013]
// When using /analyze (triggered with /define:ANALYZE on the vpc command line) we want to forcibly disable lots
// of warnings (also disabled in platform.h but not everybody includes that).
// See platform.h for the list of warnings with explanations.
// Note that /analyze for VS 2010 only works with the 32-bit compiler, but for VS 2012 it works on 64-bit
// as well.
// warning C6296: Ill-defined for-loop. Loop body only executed once.
$DisableSpecificWarnings "$BASE;6308;6255;6387;6309;6011;6211;6031;6326;6239;6285;6237;6235;6240;6323;6335;6320;6250;6384;6318;6322;6296" [$ANALYZE]
// See http://randomascii.wordpress.com/2011/10/04/analyzecommand-line-options/ for details on these options.
// /analyze:only may result in fewer warnings being reported, but the warnings it misses should show up in the regular build.
$AdditionalOptions "$BASE /analyze /analyze:stacksize100000" [$ANALYZE]
$AdditionalOptions "$BASE /analyze:only" [$ANALYZE && $ANALYZE_MACHINE] // /analyze:only makes builds faster on buildbot but is terrible for incremental /analyze on developer machines
// Specify /define:ALLOWSHADOWING to suppress variable shadowing warnings
$DisableSpecificWarnings "$BASE;6244;6246" [$ANALYZE && $ALLOWSHADOWING]
// warning C28125: The function 'InitializeCriticalSection' must be called from within a try\except block
// warning C28160: Error annotation: Calling VirtualFreeEx without the MEM_RELEASE flag frees memory but not address descriptors (VADs); results in address space leaks.
// warning C6248: Setting a SECURITY_DESCRIPTOR's DACL to NULL will result in an unprotected object.
// warning C6102: Using value from failed function call
$DisableSpecificWarnings "$BASE;28125;28160;6248;6102" [$ANALYZE && ($VS2012 || $VS2013 || $VS2015)]
//Disable specific warnings.
// Note parentheses warning level and possibly an 'X' to denote that it's disabled by default (overridden with "/Wall")
// Warning Levels:
// 1 - Severe
// 2 - Significant
// 3 - Production Quality
// 4 - Informational
// ? - No level found. Generally these are "/Wall" and probably level 4 in severity
// A - /analyze only
$DisableSpecificWarnings "$BASE;4061" //(4X) enumerator 'identifier' in switch of enum 'enumeration' is not explicitly handled by a case label
$DisableSpecificWarnings "$BASE;4062" //(4X) enumerator 'identifier' in switch of enum 'enumeration' is not handled
$DisableSpecificWarnings "$BASE;4091" //(1) keyword': ignored on left of 'type' when no variable is declared
$DisableSpecificWarnings "$BASE;4097" //(1) expected pragma parameter to be 'restore' or 'off'
$DisableSpecificWarnings "$BASE;4100" //(4) 'identifier': unreferenced formal parameter
$DisableSpecificWarnings "$BASE;4121" //(4) 'symbol': alignment of a member was sensitive to packing
$DisableSpecificWarnings "$BASE;4127" //(4) conditional expression is constant
$DisableSpecificWarnings "$BASE;4189" [$PROFILE || $RETAIL] //(4) 'identifier': local variable is initialized but not referenced. Ignored when there's a high probability of variables only being used by assertions that are disabled
$DisableSpecificWarnings "$BASE;4191" //(3X) 'operator/operation': unsafe conversion from 'type_of_expression' to 'type_required'. Calling this function through the result pointer may cause your program to fail
$DisableSpecificWarnings "$BASE;4201" //(4) nonstandard extension used: nameless struct/union
$DisableSpecificWarnings "$BASE;4239" //(4) nonstandard extension used: 'token': conversion from 'type1' to 'type2'
$DisableSpecificWarnings "$BASE;4242" //(4X) 'identfier': conversion from 'type1' to 'type1', possible loss of data
$DisableSpecificWarnings "$BASE;4244" [!$STRICT_TYPE_CONVERSION_WARNINGS_ACTIVE] //(2) 'conversion_type': conversion from 'type1' to 'type2', possible loss of data
$DisableSpecificWarnings "$BASE;4250" //(2) 'classname': inherits 'base_classname::member' via dominance
$DisableSpecificWarnings "$BASE;4254" //(4X) 'operator': conversion from 'type1:field_bits' to 'type2:field_bits', possible loss of data
$DisableSpecificWarnings "$BASE;4255" //(4X) 'function': no function prototype given: converting '()' to '(void)'
$DisableSpecificWarnings "$BASE;4263" //(4X) 'function': member function does not override any base class virtual member function
$DisableSpecificWarnings "$BASE;4264" //(1X) 'virtual_function': no override available for virtual member function from base 'classname'; function is hidden
$DisableSpecificWarnings "$BASE;4265" //(3X) 'classname': class has virtual functions, but destructor is not virtual. instances of this class may not be destructed correctly
$DisableSpecificWarnings "$BASE;4266" //(4X) 'virtual_function': no override available for virtual member function from base 'classname'; function is hidden
$DisableSpecificWarnings "$BASE;4296" //(4X) 'operator': expression is always 'boolean_value'
$DisableSpecificWarnings "$BASE;4302" //(2X) 'conversion': truncation from 'type1' to 'type2'
$DisableSpecificWarnings "$BASE;4311" //(1X) 'variable': pointer truncation from 'type1' to 'type2'
$DisableSpecificWarnings "$BASE;4316" //(3) 'identifier': object allocated on the heap may not be aligned 'alignment'
$DisableSpecificWarnings "$BASE;4324" //(4) 'structname': structure was padded due to __declspec(align())
$DisableSpecificWarnings "$BASE;4350" //(1X) behavior change: 'member1' called instead of 'member2'
$DisableSpecificWarnings "$BASE;4351" //(1) new behavior: elements of array 'array' will be default initialized
$DisableSpecificWarnings "$BASE;4355" //(1X) 'this': used in base member initializer list
$DisableSpecificWarnings "$BASE;4365" //(4X) 'expression': conversion from 'type1' to 'type2', signed/unsigned mismatch
$DisableSpecificWarnings "$BASE;4371" //(3X) 'classname': layout of class may have changed from a previous version of the compiler due to better packing of member 'member'
$DisableSpecificWarnings "$BASE;4388" //(4X) 'comparison': signed/unsigned mismatch
$DisableSpecificWarnings "$BASE;4435" //(4X) 'derived_class': Object layout under /vd2 will change due to virtual base 'base_class'
$DisableSpecificWarnings "$BASE;4456" [$ALLOWSHADOWING] //(3) declaration of 'identifier' hides previous local declaration
$DisableSpecificWarnings "$BASE;4457" [$ALLOWSHADOWING] //(3) declaration of 'identifier' hides function parameter
$DisableSpecificWarnings "$BASE;4458" [$ALLOWSHADOWING] //(3) declaration of 'identifier' hides class member
$DisableSpecificWarnings "$BASE;4459" [$ALLOWSHADOWING] //(3) declaration of 'identifier' hides global declaration
$DisableSpecificWarnings "$BASE;4464" //(?X) relative include path contains '..'
$DisableSpecificWarnings "$BASE;4471" //(4X) 'enumeration': a forward declaration of an unscoped enumeration must have an underlying type (int assumed)
$DisableSpecificWarnings "$BASE;4481" //(4) nonstandard extension used: override specifier 'keyword'
$DisableSpecificWarnings "$BASE;4505" //(4) 'function': unreferenced local function has been removed
$DisableSpecificWarnings "$BASE;4511" //(3) 'class': copy constructor was implicitly defined as deleted
$DisableSpecificWarnings "$BASE;4512" //(4) 'class': assignment operator was implicitly defined as deleted
$DisableSpecificWarnings "$BASE;4514" //(4X) 'function': unreferenced inline function has been removed
$DisableSpecificWarnings "$BASE;4530" //(1) C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
$DisableSpecificWarnings "$BASE;4544" //(1) 'declaration': default template argument ignored on this template declaration
$DisableSpecificWarnings "$BASE;4547" //(1X) 'operator': operator before comma has no effect; expected operator with side-effect
$DisableSpecificWarnings "$BASE;4548" //(1X) expression before comma has no effect; expected expression with side-effect
//$DisableSpecificWarnings "$BASE;4555" //(1X) expression has no effect; expected expression with side-effect
$DisableSpecificWarnings "$BASE;4571" //(4X) Informational: catch(...) semantics changed since Visual C++ 7.1; structured exceptions (SEH) are no longer caught
$DisableSpecificWarnings "$BASE;4574" //(4X) 'Identifier' is defined to be '0': did you mean to use '#if identifier'?
$DisableSpecificWarnings "$BASE;4577" //(?X) 'noexcept' used with no exception handling mode specified; termination on exception is not guaranteed. Specify /EHsc
$DisableSpecificWarnings "$BASE;4587" //(1) 'anonymous_structure': behavior change: constructor is no longer implicitly called
$DisableSpecificWarnings "$BASE;4611" //(4) interaction between 'function' and C++ object destruction is non-portable
$DisableSpecificWarnings "$BASE;4619" //(3X) #pragma warning: there is no warning number 'number'
$DisableSpecificWarnings "$BASE;4623" //(4X) 'derived class': default constructor was implicitly defined as deleted because a base class default constructor is inaccessible or deleted
$DisableSpecificWarnings "$BASE;4625" //(4X) 'derived class': copy constructor was implicitly defined as deleted because a base class copy constructor is inaccessible or deleted
$DisableSpecificWarnings "$BASE;4626" //(4X) 'derived class': assignment operator was implicitly defined as deleted because a base class assignment operator is inaccessible or deleted
$DisableSpecificWarnings "$BASE;4628" //(1X) digraphs not supported with -Ze. Character sequence 'digraph' not interpreted as alternate token for '%s'
$DisableSpecificWarnings "$BASE;4640" //(3X) 'instance': construction of local static object is not thread-safe
$DisableSpecificWarnings "$BASE;4647" //(?X) call to undefined 'constexpr' function results in a non-constant expression
$DisableSpecificWarnings "$BASE;4668" //(4X) 'symbol' is not defined as a preprocessor macro, replacing with '0' for 'directive'
$DisableSpecificWarnings "$BASE;4702" //(4) unreachable code
$DisableSpecificWarnings "$BASE;4710" //(4X) 'function': function not inlined
$DisableSpecificWarnings "$BASE;4711" //(1) function 'function' selected for automatic inline expansion
$DisableSpecificWarnings "$BASE;4738" //(3X) storing 32-bit float result in memory, possible loss of performance
$DisableSpecificWarnings "$BASE;4748" //(?) /GS can not protect parameters and local variables from local buffer overrun because optimizations are disabled in function
$DisableSpecificWarnings "$BASE;4774" //(4X) <function> : format string expected in argument <position> is not a string literal
$DisableSpecificWarnings "$BASE;4777" //(4X) <function> : format string <format-string> requires an argument of type <type>, but variadic argument <position> has type <type>
$DisableSpecificWarnings "$BASE;4786" //(?X) long symbol name
$DisableSpecificWarnings "$BASE;4820" //(4X) 'bytes' bytes padding added after construct 'member_name'
$DisableSpecificWarnings "$BASE;4826" //(2X) Conversion from 'type1 ' to 'type_2' is sign-extended. This may cause unexpected runtime behavior.
$DisableSpecificWarnings "$BASE;4868" //(?X) 'file(line_number)' compiler may not enforce left-to-right evaluation order in braced initialization list
$DisableSpecificWarnings "$BASE;4883" //(?X) function size suppresses optimizations
$DisableSpecificWarnings "$BASE;4917" //(1X) 'declarator': a GUID can only be associated with a class, interface or namespace
$DisableSpecificWarnings "$BASE;4928" //(1X) illegal copy-initialization; more than one user-defined conversion has been implicitly applied
$DisableSpecificWarnings "$BASE;4946" //(1X) reinterpret_cast used between related classes: 'class1' and 'class2'
$DisableSpecificWarnings "$BASE;4986" //(?X) 'function': exception specification does not match previous declaration
$DisableSpecificWarnings "$BASE;4987" //(4X) nonstandard extension used: 'throw (...)'
$DisableSpecificWarnings "$BASE;4996" //(3) functions declared deprecated
$DisableSpecificWarnings "$BASE;5026" [$AT_LEAST_VS2015] //(?X) 'derived class' : move constructor was implicitly defined as deleted because a base class move constructor is inaccessible or deleted
$DisableSpecificWarnings "$BASE;5027" [$AT_LEAST_VS2015] //(?X) 'derived class' : move assignment operator was implicitly defined as deleted because a base class move constructor is inaccessible or deleted
$DisableSpecificWarnings "$BASE;5029" [$AT_LEAST_VS2015] //(?X) nonstandard extension used: alignment attributes in C++ apply to variables, data members and tag types only
$DisableSpecificWarnings "$BASE;5031" [$AT_LEAST_VS2015] //(?X) #pragma warning(pop): likely mismatch, popping warning state pushed in different file
$DisableSpecificWarnings "$BASE;5032" [$AT_LEAST_VS2015] //(?X) detected #pragma warning(push) with no corresponding #pragma warning(pop)
$DisableSpecificWarnings "$BASE;6011" [$ANALYZE] //(A) dereferencing NULL pointer <name>
$DisableSpecificWarnings "$BASE;6014" [$ANALYZE] //(A) Leaking memory.
$DisableSpecificWarnings "$BASE;6031" [$ANALYZE] //(A) return value ignored: <function> could return unexpected value
$DisableSpecificWarnings "$BASE;6211" [$ANALYZE] //(A) Leaking memory <pointer> due to an exception. Consider using a local catch block to clean up memory
$DisableSpecificWarnings "$BASE;6235" [$ANALYZE] //(A) (<non-zero constant> || <expression>) is always a non-zero constant
$DisableSpecificWarnings "$BASE;6237" [$ANALYZE] //(A) (<zero> && <expression>) is always zero. <expression> is never evaluated and may have side effects
$DisableSpecificWarnings "$BASE;6239" [$ANALYZE] //(A) (<non-zero constant> && <expression>) always evaluates to the result of <expression>. Did you intend to use the bitwise-and operator?
$DisableSpecificWarnings "$BASE;6240" [$ANALYZE] //(A) (<expression> && <non-zero constant>) always evaluates to the result of <expression>. Did you intend to use the bitwise-and operator?
$DisableSpecificWarnings "$BASE;6244" [$ALLOWSHADOWING && $ANALYZE] //(A) local declaration of <variable> hides previous declaration at <line> of <file>
$DisableSpecificWarnings "$BASE;6246" [$ALLOWSHADOWING && $ANALYZE] //(A) Local declaration of <variable> hides declaration of same name in outer scope. Additional Information: See previous declaration at <location>.
$DisableSpecificWarnings "$BASE;6250" [$ANALYZE] //(A) Calling <function> VirtualFree without the MEM_RELEASE flag may free memory but not address descriptors (VADs); results in address space leaks
$DisableSpecificWarnings "$BASE;6255" [$ANALYZE] //(A) _alloca indicates failure by raising a stack overflow exception. Consider using _malloca instead
$DisableSpecificWarnings "$BASE;6285" [$ANALYZE] //(A) (<non-zero constant> || <non-zero constant>) is always a non-zero constant. Did you intend to use the bitwise-and operator?
$DisableSpecificWarnings "$BASE;6308" [$ANALYZE] //(A) 'realloc' may return null pointer: assigning a null pointer to <variable>, which is passed as an argument to 'realloc', will cause the original memory block to be leaked
$DisableSpecificWarnings "$BASE;6309" [$ANALYZE] //(A) argument <number> is null: it does not adhere to function specification of <function>
$DisableSpecificWarnings "$BASE;6318" [$ANALYZE] //(A) Ill-defined __try/__except: use of the constant EXCEPTION_CONTINUE_SEARCH or another constant that evaluates to zero in the exception-filter expression. The code in the exception handler block is not executed
$DisableSpecificWarnings "$BASE;6320" [$ANALYZE] //(A) exception-filter expression is the constant EXCEPTION_EXECUTE_HANDLER. This may mask exceptions that were not intended to be handled
$DisableSpecificWarnings "$BASE;6322" [$ANALYZE] //(A) empty _except block
$DisableSpecificWarnings "$BASE;6323" [$ANALYZE] //(A) use of arithmetic operator on Boolean type(s)
$DisableSpecificWarnings "$BASE;6326" [$ANALYZE] //(A) potential comparison of a constant with another constant
$DisableSpecificWarnings "$BASE;6335" [$ANALYZE] //(A) leaking process information handle <handlename>
$DisableSpecificWarnings "$BASE;6340" [$ANALYZE] //(A) Mismatch on sign: Incorrect type passed as parameter in call to function
$DisableSpecificWarnings "$BASE;6384" [$ANALYZE] //(A) dividing sizeof a pointer by another value
$DisableSpecificWarnings "$BASE;6387" [$ANALYZE] //(A) <argument> may be <value>: this does not adhere to the specification for the function <function name>: Lines: x, y
$DisableSpecificWarnings "$BASE;28159" [$ANALYZE] //(A) Consider using another function instead.
$DisableSpecificWarnings "$BASE;28182" [$ANALYZE] //(A) Dereferencing NULL pointer.
$DisableSpecificWarnings "$BASE;28183" [$ANALYZE] //(A) The argument could be one value, and is a copy of the value found in the pointer
$DisableSpecificWarnings "$BASE;28195" [$ANALYZE] //(A) The function was declared as acquiring memory in a variable and exited without doing so
$DisableSpecificWarnings "$BASE;28197" [$ANALYZE] //(A) Possibly leaking memory
$DisableSpecificWarnings "$BASE;28198" [$ANALYZE] //(A) Possibly leaking memory due to an exception.
$DisableSpecificWarnings "$BASE;28204" [$ANALYZE] //(A) <function> : Only one of this overload and the one at <filename>(<line>) are annotated for <paramname>: both or neither must be annotated.
$DisableSpecificWarnings "$BASE;28247" [$ANALYZE] //(A) Model file annotation for function '_vsnprintf': annotation on _Param_(1)/SAL_post, 'RequiresZeroTermination' duplicates header file annotation 'SAL_nullTerminated'. Remove the duplicated annotations from the model file. (Header: c:\program files (x86)\microsoft visual studio 11.0\vc\include\stdio.h(349).)
$DisableSpecificWarnings "$BASE;28251" [$ANALYZE] //(A) Inconsistent annotation for function: this instance has an error
$DisableSpecificWarnings "$BASE;28301" [$ANALYZE] //(A) No annotations for first declaration of <function>.<note1> See <filename>(<line>). <note2>
// Defines to differentiate 32 from 64 bit builds
$PreprocessorDefinitions "$BASE;PLATFORM_64BITS;WIN64;_WIN64;COMPILER_MSVC64" [$WIN64]
$PreprocessorDefinitions "$BASE;COMPILER_MSVC32" [$WIN32]
// /Gw is a VS 2013 option that puts global and static variables in individual sections so that the
// linker can discard unreferenced data. When building @client /dota with linker optimizations this
// reduces the client.dll size by about 1.14%. When linker optimizations are disabled this has no
// effect. This option does not show up in the IDE so we need to add it in $AdditionalOptions.
// http://blogs.msdn.com/b/vcblog/archive/2013/09/11/introducing-gw-compiler-switch.aspx
$AdditionalOptions "$BASE /Gw" [$VS2013]
}
}

View File

@@ -0,0 +1,94 @@
//-----------------------------------------------------------------------------
// SOURCE_XEX_X360_BASE.VPC
//
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$Include "$SRCDIR\vpc_scripts\version.vpc"
// 360 must have a xex load address
$Include "$SRCDIR\vpc_scripts\loadaddress.vpc"
$MacroRequired "LOADADDRESS_DEVELOPMENT"
$MacroRequired "LOADADDRESS_RETAIL"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME" "$PROJECTNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "DEVKITBINDIR" "."
$Macro PLATSUBDIR "\."
$Macro LIBPUBLIC "$SRCDIR\lib\public"
$Macro LIBCOMMON "$SRCDIR\lib\common"
$Include "$SRCDIR\vpc_scripts\source_xex_x360_debug.vpc"
$Include "$SRCDIR\vpc_scripts\source_xex_x360_release.vpc"
$IgnoreRedundancyWarning "ON"
// Common Configuration
$Configuration
{
$Compiler
{
$PreprocessorDefinitions "$BASE;_MEMTEST" [$MEMTEST]
$PreprocessorDefinitions "$BASE;_LOWVIOLENCE" [$LV]
$PreprocessorDefinitions "$BASE;_X360DEMO" [$X360DEMO]
$PreprocessorDefinitions "$BASE;COMPILER_MSVC;COMPILER_MSVCX360;MEMOVERRIDE_MODULE=$PROJECTNAME;_DLL_EXT=$_DLL_EXT"
}
$PreBuildEvent
{
$CommandLine "if EXIST $OUTBINDIR\$(TargetName).xex for /f $QUOTEdelims=$QUOTE %%A in ('attrib $QUOTE$OUTBINDIR\$(TargetName).xex$QUOTE') do set valveTmpIsReadOnly=$QUOTE%%A$QUOTE" "\n" \
"set valveTmpIsReadOnlyLetter=%valveTmpIsReadOnly:~6,1%" "\n" \
"if $QUOTE%valveTmpIsReadOnlyLetter%$QUOTE==$QUOTER$QUOTE del /q $(TargetDir)$(TargetName).xex" "\n" \
"$CRCCHECK" "\n"
}
$Xbox360ImageConversion
{
// General
$TitleID "0x5841125A"
//$ProjectDefaults "$SRCDIR\common\portal.xml"
}
$PostBuildEvent
{
$CommandLine "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetName).xex $SRCDIR" "\n" \
"copy $(TargetDir)$(TargetName).xex $OUTBINDIR\$(TargetName).xex" "\n" \
"if exist $(TargetDir)$(TargetName).map copy $(TargetDir)$(TargetName).map $OUTBINDIR\$(TargetName).map" "\n" \
"call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetName).pdb $SRCDIR" "\n" \
"copy $(TargetDir)$(TargetName).pdb $OUTBINDIR\$(TargetName).pdb" "\n" \
"copy $(TargetDir)$(TargetName).xdb $OUTBINDIR\$(TargetName).xdb" "\n" \
"call $SRCDIR\vpc_scripts\valve_xbcp_wrapper.cmd $(TargetDir)$(TargetName).xex $(RemoteRoot)\$DEVKITBINDIR\$(TargetName).xex" "\n" \
"call $SRCDIR\..\game\bin\CSSVersionNumber.exe $SRCDIR\..\game\platform\resource\css_code_version_local.txt quiet" "\n"
$Description "Publishing to $OUTBINDIR"
$ExcludedFromBuild "No"
}
}
// Skeleton Project
$Project
{
$Folder "Source Files"
{
$File "$SRCDIR\public\tier0\memoverride.cpp"
{
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
}
$Folder "Link Libraries"
{
$File "$LIBPUBLIC\tier0_360.lib"
$File "$LIBPUBLIC\tier1_360.lib"
$File "$LIBPUBLIC\interfaces_360.lib"
$File "$LIBPUBLIC\vstdlib_360.lib"
}
}

View File

@@ -0,0 +1,260 @@
//-----------------------------------------------------------------------------
// SOURCE_XEX_X360_DEBUG.VPC
//
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$MacroRequired "LOADADDRESS_DEVELOPMENT"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME"
$MacroRequired "OUTBINDIR"
$IgnoreRedundancyWarning "ON"
$Configuration "Debug"
{
$General
{
// General
$OutputDirectory ".\Debug_360"
$IntermediateDirectory ".\Debug_360"
$ExtensionsToDeleteOnClean
$BuildLogFile
$InheritedProjectPropertySheets
// Project Defaults
$ConfigurationType "Application (.exe)"
$CharacterSet "Not Set"
$WholeProgramOptimization "No Whole Program Optimization"
}
$Debugging
{
$Command "$(RemoteRoot)\$(TargetFileName)"
$CommandArguments
$MapDVDDrive
$RemoteMachine
}
$Compiler
{
// General
$AdditionalIncludeDirectories "$SRCDIR\common;$SRCDIR\public;$SRCDIR\public\tier0;$SRCDIR\public\tier1"
$DebugInformationFormat "Program Database (/Zi)"
$SuppressStartupBanner "Yes (/nologo)"
$WarningLevel "Level 4 (/W4)"
$TreatWarningsAsErrors "No"
$MultiProcessorCompilation "Yes (/MP)"
// Optimization
$Optimization "Disabled (/Od)"
$InlineFunctionExpansion
$EnableIntrinsicFunctions "Yes (/Oi)"
$FavorSizeOrSpeed "Neither"
$EnableFiberSafeOptimizations "No"
$WholeProgramOptimization "No"
// Preprocessor
$PreprocessorDefinitions "_HAS_ITERATOR_DEBUGGING=0;_X360;_DEBUG;DEBUG;_WIN32;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE"
$PreprocessorDefinitions "$BASE;_CERT" [$CERT]
$IgnoreStandardIncludePath
$GeneratePreprocessedFile
$KeepComments "No"
// Code Generation
$EnableStringPooling "Yes (/GF)"
$EnableMinimalRebuild "No"
$EnableC++Exceptions "No"
$SmallerTypeCheck
$BasicRuntimeChecks "Both (/RTC1, equiv. to /RTCsu)"
$RuntimeLibrary "Multi-threaded Debug (/MTd)"
$StructMemberAlignment
$BufferSecurityCheck "Yes (/GS)"
$EnableFunctionLevelLinking
$FloatingPointModel "Fast (/fp:fast)"
$EnableFloatingPointExceptions "No"
// Language
$DisableLanguageExtensions "No"
$DefaultCharUnsigned "No"
$TreatWCHAR_TAsBuiltInType "Yes (/Zc:wchar_t)"
$ForceConformanceInForLoopScope "Yes (/Zc:forScope)"
$EnableRunTimeTypeInfo "Yes (/GR)"
$OpenMPSupport "No"
// Precompiled Headers
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
$Create/UsePCHThroughFile
$PrecompiledHeaderFile
// Output Files
$ExpandAttributedSource "No"
$AssemblerOutput "No Listing"
$ASMListLocation "$(IntDir)/"
$ObjectFileName "$(IntDir)/"
$ProgramDatabaseFileName "$(IntDir)/vc90.pdb"
// Browse Information
$EnableBrowseInformation "None"
$BrowseFile "$(IntDir)/"
// Advanced
$CompileAs "Compile as C++ Code (/TP)"
$DisableSpecificWarnings
$ForceIncludes "tier0/platform.h"
$ShowIncludes "No"
$UndefinePreprocessorDefinitions
$UndefineAllPreprocessorDefinitions "No"
$UseFullPaths
$OmitDefaultLibraryNames
// Xbox 360
$RegisterReservation "No"
$TrapIntegerDividesOptimization "No"
$PreschedulingOptimization "No"
$InlineAssemblyOptimization "No"
$Stalls "No"
$CallAttributedProfiling "Disabled"
// Command Line
$AdditionalOptions "/QVMX128"
}
$Linker
{
// General
$OutputFile "$(OutDir)/$OUTBINNAME.exe"
$ShowProgress "Not Set"
$Version
$EnableIncrementalLinking "Yes (/INCREMENTAL)"
$SuppressStartupBanner "Yes (/NOLOGO)"
$IgnoreImportLibrary
$AdditionalLibraryDirectories
$LinkLibraryDependencies
$UseLibraryDependencyInputs
// Input
$AdditionalDependencies "d3d9d.lib xapilibd.lib xboxkrnl.lib libpmcpbd.lib" [!$PROFILE && !$CERT]
$AdditionalDependencies "d3d9d.lib xapilibd.lib xboxkrnl.lib libpmcpbd.lib xbdm.lib" [$PROFILE]
$AdditionalDependencies "d3d9d.lib xapilibd.lib xboxkrnl.lib" [$CERT]
$IgnoreAllDefaultLibraries
$IgnoreSpecificLibrary "libc;libcd;libcmt;xapilib"
$ModuleDefinitionFile
$ForceSymbolReferences
// Debugging
$GenerateDebugInfo "Yes (/DEBUG)"
$GenerateProgramDatabaseFile "$(IntDir)/$(TargetName).pdb"
$StripPrivateSymbols
$GenerateMapFile "Yes (/MAP)"
$MapFileName "$(IntDir)/$(TargetName).map"
$MapExports "No"
// System
$StackReserveSize "327680"
$StackCommitSize "327680"
// Optimization
$References
$EnableCOMDATFolding
$FunctionOrder
$ProfileGuidedDatabase
$LinkTimeCodeGeneration
// Advanced
$EntryPoint
$NoEntryPoint
$SetChecksum "No"
$BaseAddress "$LOADADDRESS_DEVELOPMENT"
$FixedBaseAddress "Image must be loaded at a fixed address (/FIXED)"
$ImportLibrary
$MergeSections
$ErrorReporting "Prompt Immediately (/ERRORREPORT:PROMPT)"
// Command Line
$AdditionalOptions
}
$Xbox360ImageConversion
{
// General
$OutputFile "$(OutDir)/$OUTBINNAME.xex"
$TitleID
$LANKey
$SuppressStartupBanner "Yes (/NOLOGO)"
$BaseAddress
$HeapSize
$WorkspaceSize "0xA0000"
$AdditionalSections
$ExportByName
// Privileges
$OpticalDiscDriveMapping
$PAL50Incompatible
// Project Defaults
$ProjectDefaults
// Command Line
$AdditionalOptions
}
$BrowseInformation
{
$SuppressStartupBanner "Yes (/nologo)"
$OutputFile "$(OutDir)/$OUTBINNAME.bsc"
$AdditionalOptions
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
$ConsoleDeployment
{
// Common Settings
$DeploymentType "Copy to Hard Drive"
$DeploymentFiles "$(RemoteRoot)=$(ImagePath);"
// Copy to Hard Drive
$ExcludedFromBuild "Yes"
$SuppressStartupBanner "Yes (/nologo)"
$Progress "No"
$ForceCopy
$DeploymentRoot
// Emulate DVD Drive
$EmulationType
$Layout
$LayoutRoot
// Command Line
$AdditionalOptions
}
}

View File

@@ -0,0 +1,263 @@
//-----------------------------------------------------------------------------
// SOURCE_XEX_X360_RELEASE.VPC
//
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$MacroRequired "LOADADDRESS_RETAIL"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME"
$MacroRequired "OUTBINDIR"
$IgnoreRedundancyWarning "ON"
$Configuration "Release"
{
$General
{
// General
$OutputDirectory ".\Release_360"
$IntermediateDirectory ".\Release_360"
$ExtensionsToDeleteOnClean
$BuildLogFile
$InheritedProjectPropertySheets
// Project Defaults
$ConfigurationType "Application (.exe)"
$CharacterSet "Not Set"
$WholeProgramOptimization
}
$Debugging
{
$Command "$(RemoteRoot)\$(TargetFileName)"
$CommandArguments
$MapDVDDrive
$RemoteMachine
}
$Compiler
{
// General
$AdditionalIncludeDirectories "$SRCDIR\common;$SRCDIR\public;$SRCDIR\public\tier0;$SRCDIR\public\tier1"
$DebugInformationFormat "Program Database (/Zi)"
$SuppressStartupBanner "Yes (/nologo)"
$WarningLevel "Level 4 (/W4)"
$TreatWarningsAsErrors "No"
// Optimization
$Optimization "Full Optimization (/Ox)"
$InlineFunctionExpansion "Any Suitable (/Ob2)"
$EnableIntrinsicFunctions "Yes (/Oi)"
$FavorSizeOrSpeed "Favor Fast Code (/Ot)"
$EnableFiberSafeOptimizations
$WholeProgramOptimization
// Preprocessor
$PreprocessorDefinitions "_X360;NDEBUG;_WIN32;WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;__VMX128_SUPPORTED"
$PreprocessorDefinitions "$BASE;_CERT" [$CERT]
$PreprocessorDefinitions "$BASE;PROFILE" [$PROFILE]
$IgnoreStandardIncludePath
$GeneratePreprocessedFile
$KeepComments "No"
// Code Generation
$EnableStringPooling "Yes (/GF)"
$EnableMinimalRebuild "No"
$EnableC++Exceptions "No"
$SmallerTypeCheck "No"
$BasicRuntimeChecks
$RuntimeLibrary "Multi-threaded (/MT)"
$StructMemberAlignment
$BufferSecurityCheck "No"
$EnableFunctionLevelLinking "Yes (/Gy)"
$FloatingPointModel "Fast (/fp:fast)"
$EnableFloatingPointExceptions "No"
// Language
$DisableLanguageExtensions "No"
$DefaultCharUnsigned "No"
$TreatWCHAR_TAsBuiltInType "Yes (/Zc:wchar_t)"
$ForceConformanceInForLoopScope "Yes (/Zc:forScope)"
$EnableRunTimeTypeInfo "Yes (/GR)"
$OpenMPSupport "No"
// Precompiled Headers
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
$Create/UsePCHThroughFile
$PrecompiledHeaderFile
// Output Files
$ExpandAttributedSource "No"
$AssemblerOutput "No Listing"
$ASMListLocation "$(IntDir)/"
$ObjectFileName "$(IntDir)/"
$ProgramDatabaseFileName "$(IntDir)/vc90.pdb"
// Browse Information
$EnableBrowseInformation "None"
$BrowseFile "$(IntDir)/"
// Advanced
$CompileAs "Compile as C++ Code (/TP)"
$DisableSpecificWarnings
$ForceIncludes "tier0/platform.h"
$ShowIncludes "No"
$UndefinePreprocessorDefinitions
$UndefineAllPreprocessorDefinitions "No"
$UseFullPaths
$OmitDefaultLibraryNames
// Xbox 360
$RegisterReservation
$TrapIntegerDividesOptimization
$PreschedulingOptimization
$InlineAssemblyOptimization
$Stalls
$CallAttributedProfiling "Call profiler within function calls. (/callcap)" [$CALLCAP]
$CallAttributedProfiling "Call profiler around function calls. (/fastcap)" [$FASTCAP]
// Command Line
$AdditionalOptions "$BASE /QVMX128"
$AdditionalOptions "$BASE /Oy-" [$NOFPO]
}
$Linker
{
// General
$OutputFile "$(OutDir)/$OUTBINNAME.exe"
$ShowProgress "Not Set"
$Version
$EnableIncrementalLinking "No (/INCREMENTAL:NO)"
$SuppressStartupBanner "Yes (/NOLOGO)"
$IgnoreImportLibrary "No"
$AdditionalLibraryDirectories
$LinkLibraryDependencies
$UseLibraryDependencyInputs
// Input
$AdditionalDependencies "d3d9.lib xapilib.lib xboxkrnl.lib libpmcpb.lib" [!$PROFILE && !$CERT]
$AdditionalDependencies "d3d9i.lib xapilibi.lib xboxkrnl.lib libpmcpb.lib xbdm.lib" [$PROFILE]
$AdditionalDependencies "d3d9.lib xapilib.lib xboxkrnl.lib" [$CERT]
$IgnoreAllDefaultLibraries
$IgnoreSpecificLibrary "libc;libcd;libcmtd;" [!$PROFILE]
$IgnoreSpecificLibrary "libc;libcd;libcmtd;xapilib" [$PROFILE]
$ModuleDefinitionFile
$ForceSymbolReferences
// Debugging
$GenerateDebugInfo "Yes (/DEBUG)"
$GenerateProgramDatabaseFile "$(IntDir)/$(TargetName).pdb"
$StripPrivateSymbols
$GenerateMapFile "Yes (/MAP)"
$MapFileName "$(IntDir)/$(TargetName).map"
$MapExports "No"
// System
$StackReserveSize "327680"
$StackCommitSize "327680"
// Optimization
$References "Eliminate Unreferenced Data (/OPT:REF)"
$EnableCOMDATFolding "Remove Redundant COMDATs (/OPT:ICF)"
$FunctionOrder
$ProfileGuidedDatabase
$LinkTimeCodeGeneration
// Advanced
$EntryPoint
$NoEntryPoint
$SetChecksum "Yes (/RELEASE)"
$BaseAddress "$LOADADDRESS_DEVELOPMENT"
$FixedBaseAddress "Image must be loaded at a fixed address (/FIXED)"
$ImportLibrary
$MergeSections
$ErrorReporting "Prompt Immediately (/ERRORREPORT:PROMPT)"
// Command Line
}
$Xbox360ImageConversion
{
// General
$OutputFile "$(OutDir)/$OUTBINNAME.xex"
$TitleID
$LANKey
$SuppressStartupBanner "Yes (/NOLOGO)"
$BaseAddress
$HeapSize
$WorkspaceSize "0xA0000"
$AdditionalSections
$ExportByName
// Privileges
$OpticalDiscDriveMapping
$PAL50Incompatible
// Project Defaults
$ProjectDefaults
// Command Line
$AdditionalOptions
}
$BrowseInformation
{
$SuppressStartupBanner "Yes (/nologo)"
$OutputFile "$(OutDir)/$OUTBINNAME.bsc"
$AdditionalOptions
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
$ConsoleDeployment
{
// Common Settings
$DeploymentType "Copy to Hard Drive"
$DeploymentFiles "$(RemoteRoot)=$(ImagePath);"
// Copy to Hard Drive
$ExcludedFromBuild "Yes"
$SuppressStartupBanner "Yes (/nologo)"
$Progress "No"
$ForceCopy
$DeploymentRoot
// Emulate DVD Drive
$EmulationType
$Layout
$LayoutRoot
// Command Line
$AdditionalOptions
}
}

View File

@@ -0,0 +1,54 @@
//-----------------------------------------------------------------------------
// SOURCE_EXE_WIN_WIN32.VPC
//
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$Include "$SRCDIR\vpc_scripts\version.vpc"
$Include "$SRCDIR\vpc_scripts\steam_posix_base.vpc"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME" "$PROJECTNAME"
$Include "$SRCDIR\vpc_scripts\loadaddress.vpc"
$IgnoreRedundancyWarning "ON"
$Configuration
{
$General
{
$ConfigurationType "Application (.exe)"
}
$Compiler
{
$AdditionalIncludeDirectories "$SRCDIR\common;$SRCDIR\public;$SRCDIR\public\tier0;$SRCDIR\public\tier1;/usr/include/malloc"
$PreprocessorDefinitions "$BASE;_GNUC;POSIX;"
$PreprocessorDefinitions "$BASE;_OSX;OSX;" [$OSX32 || $OSX64]
$PreprocessorDefinitions "$BASE;_LINUX;LINUX" [$LINUX]
}
$Linker
{
$OutputFile "$(OutDir)/$OUTBINNAME"
}
}
$Project
{
$Folder "Source Files"
{
$File "$SRCDIR\public\tier0\memoverride.cpp"
{
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
}
}

View File

@@ -0,0 +1,309 @@
#!perl
#
# Runs swig to compute dependencies and update a .dep file
#
# Expects to be in $SRCDIR/vpc_scripts/swig_auto_dme.pl
#
# As paths are computed relative to the script location
#
use strict;
use File::Basename;
use File::Spec;
use File::Copy;
use File::Path;
use Cwd;
use Getopt::Std;
use File::Path;
our $sScriptPath = File::Spec->rel2abs( File::Spec->canonpath( $0 ) );
our ( $sScript, $sVpcDir ) = fileparse( ${sScriptPath} );
our $sPre = "[" . $sScript . "]";
our $srcDir = File::Spec->catdir( $sVpcDir, '..' );
our $opt_c = 0;
our $opt_h = 0;
our $opt_f = 0;
our $opt_q = 0;
our $opt_v = 0;
getopts( 'cfhqv' );
our $swigOutDir = shift( @ARGV );
main();
#
#
#
sub main
{
if ( $opt_h )
{
print <<"EOF";
${sScript}(1)
NAME
${sScript} - Updates swig auto_<elementlib>.i files
auto_<elementlib>.i files are files generated from datamodel
elementlib.cpp files. The macro USING_ELEMENT_FACTORY is
used to define various swig bindings for all of the elements
in the src/public/<elementlib>/<elementlib>.cpp file
SYNOPSYS
${srcDir}/devtools/runperl ${sScriptPath} [ -h ] | [ -c ] | < [ -f ] [ -q ] [ -v ] out_sub_dir swigfile >
OPTIONS
-h Print this message
-c Clean SWIG files from projects
-f Force update of projects
-q Produce no output (unless -v is also specified)
-v Produce more output (overrides -q)
swigfile
EOF
exit 0;
}
if ( $#ARGV < 0 )
{
die( "No swigfile specified\n" );
}
my $swigFile = shift( @ARGV );
if ( ! -d $srcDir )
{
die( "Can't Find src directory: ${srcDir}\n" );
}
if ( $opt_v )
{
print "${sPre} * Script: " . $sScriptPath . "\n";
print "${sPre} * vpc_scripts: " . $sVpcDir . "\n";
print "${sPre} * SRC: " . $srcDir . "\n";
print "${sPre} * out: " . $swigOutDir . "\n";
print "${sPre} * swigfile: " . $swigFile . "\n";
}
if ( $opt_c )
{
Clean( $swigOutDir );
}
else
{
ComputeAutoDme( $swigOutDir, $swigFile );
}
}
#
# Cleans up
#
sub Clean
{
my $dir = shift( @_ );
if ( -d $dir )
{
if ( !$opt_q || $opt_v )
{
print( "${sPre} rmtree " . $dir . "\n" );
}
rmtree( $dir );
}
}
#
# Creates the output directory if necessary
#
sub CreateOutDir
{
my $dir = shift( @_ );
if ( ! -d $dir )
{
print( "${sPre} mkdir ${dir}\n" );
mkpath( $dir );
}
if ( ! -d $dir )
{
die( "${sPre} ERROR - Couldn't Create ${dir}\n" );
}
if ( ! -w $dir )
{
die( "${sPre} ERROR - ${dir} Isn't Writable\n" );
}
return $dir;
}
#
# Compute auto DME list
#
sub ComputeAutoDme
{
my $outSubDir = shift( @_ );
my $swigFile = shift( @_ );
#
# Only create auto_*.i files for these element libraries
#
my %autos = ( "movieobjects", 1, "mdlobjects", 1, "materialobjects", 1, "sfmobjects", 1, "worldobjects", 1 );
if ( !$autos{ $swigFile } )
{
return;
}
my $hFile = File::Spec->rel2abs( File::Spec->catdir( ${srcDir}, "public", ${swigFile}, ${swigFile} . ".h" ) );
my @dependencies = (
$sScriptPath,
$hFile
);
my $bUpdate = $opt_f;
my $maxTime = 0;
my $dependency;
foreach $dependency ( @dependencies )
{
if ( -r $dependency )
{
my ( $dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks ) = stat( $dependency );
if ( $mtime >= $maxTime )
{
$maxTime = $mtime;
}
}
else
{
$bUpdate = 1;
}
}
my $autoFile = File::Spec->catdir( CreateOutDir( $outSubDir ), "auto_${swigFile}.i" );
if ( -r $autoFile )
{
my ( $dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks ) = stat( $autoFile );
if ( $mtime < $maxTime )
{
$bUpdate = 1;
}
else
{
# If this script is run but gets here, it means that the build system wanted to run this because some other dependency changed
# but the actual auto file is ok because this script itself nor the header it parses has changed, so just update the last access
# time of auto_*.i
my $tCurrent = time;
utime $tCurrent, $tCurrent, $autoFile;
my ( $dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks ) = stat( $autoFile );
if ( $opt_v )
{
print "${sPre} - Touch " . localtime( $mtime ) . " : " . ${autoFile} . "\n";
}
else
{
print "${sPre} Touch " . localtime( $mtime ) . " : " . ${autoFile} . "\n";
}
}
}
else
{
$bUpdate = 1;
}
if ( $bUpdate )
{
open OUT, ">${autoFile}" || die( "${sPre} ERROR: Can't Open ${autoFile} For Writing" );
print OUT <<"EOF";
//
// This file is a processed version of:
// ${hFile}
//
// It is created automatically by:
// ${sScriptPath}
//
// During the Post-Build step of: ${swigFile}
//
%{
#include "datamodel/dmattribute.h"
#include "${swigFile}/${swigFile}.h"
PyObject *NewSwigDmElement( CDmElement *pDmElement );
%}
%import( package="vs", module="datamodel" ) "datamodel/idatamodel.h"
%import( package="vs", module="datamodel" ) "datamodel/dmelement.h"
%import( package="vs", module="datamodel" ) "datamodel/dmattribute.h"
EOF
if ( ${swigFile} =~ /mdlobjects/i )
{
print OUT <<"EOF";
%import( package="vs", module="movieobjects" ) "movieobjects/dmeshape.h"
%import( package="vs", module="movieobjects" ) "movieobjects/dmedag.h"
%import( package="vs", module="movieobjects" ) "movieobjects/dmejoint.h"
EOF
}
print OUT "\n";
print OUT <<"EOF";
%include "../swig_common/swig_dmelement_wrap.i"
%include "${swigFile}/${swigFile}.cpp"
EOF
if ( ${swigFile} =~ /movieobjects/ )
{
print OUT <<"EOF";
%include "${swigFile}/${swigFile}_compiletools.cpp"
EOF
}
print OUT "\n";
open IN, "${hFile}" || die( "${sPre} ERROR: Can't Open ${hFile} For Reading" );
while ( <IN> )
{
chomp;
if ( /^\s*#include\s("[^"]+")/ )
{
print OUT "%include $1\n"
}
}
close IN;
close OUT;
if ( !$opt_q || $opt_v )
{
my ( $dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks ) = stat( $autoFile );
if ( $opt_v )
{
print "${sPre} - Update " . localtime( $mtime ) . " : " . ${autoFile} . "\n";
}
else
{
print "${sPre} Update " . localtime( $mtime ) . " : " . ${autoFile} . "\n";
}
}
}
}

View File

@@ -0,0 +1,141 @@
:: //========== Copyright (c) Valve Corporation, All rights reserved. ========
:: //
:: // Script to install the .py output of a swig build. Handles p4 edit
:: // and diffs file so only actual changes get checked in
:: //
:: // Could actually be used to p4 edit & copy with a diff any file to
:: // a destination file
:: //
:: // NOTE: Expects to be installed in SRCDIR\vpc_scripts\swig_installcmd
:: // as it derives the path to SRCDIR from the path to itself
:: //
:: // SYNTAX: swig_install.cmd <SRCFILE> <DSTFILE>
:: //
:: //=========================================================================
@echo off
setlocal
:: // Make sure we have enough arguments
if .%1. == .. goto Usage
if .%2. == .. goto Usage
set PREFIX=[%~n0]
set SRCDIR=%~d0%~p0..
set DIFF=%SRCDIR%\devtools\bin\diff.exe
set SED=%SRCDIR%\devtools\bin\sed.exe
set P4EDIT=%~d0%~p0valve_p4_edit.cmd
set SRC=%~f1
set DST=%~f2
set DSTDIR=%~d2%~p2
if NOT EXIST %DIFF% GOTO ErrorNoDiff
if NOT EXIST %DIFF% GOTO ErrorNoSed
if NOT EXIST %P4EDIT% GOTO ErrorNoP4Edit
if NOT EXIST %SRC% GOTO ErrorNoSrc
if EXIST %DSTDIR% GOTO DstDirOk
MKDIR %DSTDIR%
if ERRORLEVEL 1 GOTO ErrorDstDir
:DstDirOk
set bADD=0
if NOT EXIST %DST% GOTO DoAdd
echo %PREFIX% "%DIFF%" -q "%SRC%" "%DST%"
::
:: This is horrible but Incredibuild seems to intercept ERRORLEVEL and for sub processes launched from batch files
:: and flag them as RED which sucks... because they're not really errors. So do a wacky way to parse the output
:: diff -q will return nothing if files are the same and 'Files A and B differ' if they are different
:: So if there's no output, they are the same, if there's any output they are different
::
:: The sed is there to simply clear ERRORLEVEL but echos all output untouched
::
set sDIFFOUT=
FOR /F "tokens=*" %%A in ( '%DIFF% -q %SRC% %DST% ^| %SED% -e ""' ) do SET sDIFFOUT=%%A
if defined sDIFFOUT goto DoEdit
:DoSame
echo %PREFIX% Ok
GOTO EndOk
:DoAdd
set bADD=1
goto DoCopy
:DoEdit
echo %PREFIX% "%P4EDIT%" %DST% %SRCDIR%
call "%P4EDIT%" %DST% %SRCDIR%
IF ERRORLEVEL 1 goto ErrorP4Edit
:DoCopy
echo %PREFIX% COPY /Y "%SRC%" "%DST%"
COPY /Y %SRC% %DST%
IF ERRORLEVEL 1 goto ErrorCopy
if %bADD%==0 goto EndOk
echo %PREFIX% "%P4EDIT%" %DST% %SRCDIR%
call "%P4EDIT%" %DST% %SRCDIR%
IF ERRORLEVEL 1 goto ErrorP4Add
:EndOk
endlocal
exit /b 0
:Usage
echo.
echo NAME
echo %~n0
echo.
echo SYNOPSIS
echo %0 ^<SRCFILE^> ^<DSTFILE^>
echo.
echo DESCRIPTION
echo Copies ^<SRCFILE^> to ^<DSTFILE^> opening it for p4 edit if necessary
echo.
echo NOTES
echo Files are not automatically added to perforce, only files already
echo controlled by perforce will be edited but no add operations are done
echo.
goto EndError
:ErrorNoDiff
echo %PREFIX% Error! No diff executable found here: %DIFF%
goto EndError
:ErrorNoSed
echo %PREFIX% Error! No sed executable found here: %SED%
goto EndError
:ErrorNoP4Edit
echo %PREFIX% Error! No valve_p4_edit.cmd found here: %P4EDIT%
goto EndError
:ErrorNoSrc
echo %PREFIX% Error! No source file found: %SRC%
goto EndError
:ErrorDstDir
echo %PREFIX% Error! Destination directory doesn't exist and could not be created: %DSTDIR%
goto EndError
:ErrorCopy
echo %PREFIX% Error! Copy "%SRC%" "%DST%" failed
goto EndError
:ErrorP4Edit
echo %PREFIX% Error! "%P4EDIT%" %DST% %SRCDIR% Failed
goto EndError
:ErrorP4Add
echo %PREFIX% Error! "%P4EDIT%" %DST% %SRCDIR% Failed
goto EndError
:EndError
endlocal
exit 1

View File

@@ -0,0 +1,95 @@
#!perl
use File::Spec;
use File::Basename;
use Getopt::Std;
my $opt_q = 0;
my $opt_v = 0;
getopts( 'qv' );
if ( $opt_v )
{
$opt_q = 0;
}
#
# Perl command to build and install swig generated things
#
our $sScriptPath = File::Spec->rel2abs( File::Spec->canonpath( $0 ) );
our ( $sScript, $sVpcDir ) = fileparse( ${sScriptPath} );
our $pre = "[" . $sScript . "]";
our $srcDir = File::Spec->catdir( $sVpcDir, '..' );
our $diff = File::Spec->catdir( ${srcDir}, "devtools/bin/diff.exe" );
our $p4Edit = File::Spec->catdir( ${srcDir}, "vpc_scripts/valve_p4_edit.cmd" );
if ( ! -x $diff )
{
$! = 1;
die( "${pre} ERROR: Can't find diff executable ${diff}" );
}
if ( ! -x $p4Edit )
{
$! = 1;
die( "${pre} ERROR: Can't find versioning executable ${p4Edit}" );
}
our $src = File::Spec->canonpath( shift( @ARGV ) );
our $dst = File::Spec->canonpath( shift( @ARGV ) );
my $bAdd = 0;
my $bCopy = 0;
if ( -r ${dst} )
{
$diffCmd = "${diff} -q \"${src}\" \"${dst}\"";
if ( $opt_v )
{
print( "${pre} ${diffCmd}\n" );
}
system( $diffCmd );
if ( $? )
{
$bCopy = 1;
}
}
else
{
$bAdd = 1;
$bCopy = 1;
}
if ( $bCopy )
{
if ( ! $bAdd )
{
$editCmd = "${p4Edit} \"${dst}\" ${srcDir}";
$editCmd =~ s:/:\\:g;
if ( !$opt_q )
{
print( "${pre}: ${editCmd}\n" );
}
system( ${editCmd} );
}
$copyCmd = "\"${src}\" \"${dst}\"";
$copyCmd =~ s:/:\\:g;
$copyCmd = "copy /Y ${copyCmd}";
if ( !$opt_q )
{
print( "${pre}: ${copyCmd}\n" );
}
system( ${copyCmd} );
if ( $bAdd )
{
$editCmd = "${p4Edit} \"${dst}\" ${srcDir}";
$editCmd =~ s:/:\\:g;
if ( !$opt_q )
{
print( "${pre}: ${editCmd}\n" );
}
system( ${editCmd} );
}
}

103
vpc_scripts/swig_python.cmd Normal file
View File

@@ -0,0 +1,103 @@
:: //========== Copyright (c) Valve Corporation, All rights reserved. ========
:: //
:: // Script to run swig
:: //
:: // SYNTAX: swig_python.cmd <PYVER> <OUTBINDIR> <SWIGFILE> [AUTOSWIG]
:: //
:: //=========================================================================
@echo off
setlocal
:: // Make sure we have enough arguments
if .%1. == .. goto Usage
if .%2. == .. goto Usage
if .%3. == .. goto Usage
set AUTOSWIG=
if not .%4. == .. set AUTOSWIG=1
set PREFIX=[%~n0]
set SRCDIR=%~d0%~p0..
set PYVER=%1
set OUTBINDIR=%2
set SWIGFILE=%3
set SWIGOUTDIR=swig_python%PYVER%
set SWIGC=%SWIGFILE%_wrap_python%PYVER%.cpp
set SWIG=%SRCDIR%\devtools\swigwin-1.3.40\swig.exe
set AUTOSWIGSCRIPT=%~d0%~p0swig_auto_dme.pl
set PERL=%~d0
if NOT EXIST %SWIG% GOTO ErrorNoSwig
if EXIST %SWIGOUTDIR% GOTO SwigOutDirOk
MKDIR %SWIGOUTDIR%
if ERRORLEVEL 1 GOTO ErrorSwigOutDir
:SwigOutDirOk
if NOT DEFINED AUTOSWIG GOTO AutoSwigOk
set FOUNDPERL=
for %%P in ( wperl.exe ) do ( set FOUNDPERL=%%~$PATH:P)
if NOT DEFINED FOUNDPERL goto ErrorNoPerl
echo %PREFIX% Perl produces swigfile, swig_auto_dme.pl produces %SWIGOUTDIR%\auto_%SWIGFILE%.i
echo %PREFIX% "%FOUNDPERL%" "%AUTOSWIGSCRIPT%" "%SWIGOUTDIR%" "%SWIGFILE%"
"%FOUNDPERL%" "%AUTOSWIGSCRIPT%" "%SWIGOUTDIR%" "%SWIGFILE%"
:AutoSwigOk
if EXIST %OUTBINDIR% GOTO OutBinDirOk
MKDIR %OUTBINDIR%
if ERRORLEVEL 1 GOTO ErrorOutBinDir
:OutBinDirOk
if EXIST %SWIGOUTDIR%\%SWIGC% DEL %SWIGOUTDIR%\%SWIGC%
echo %PREFIX% %SWIG% -Fmicrosoft -small -ignoremissing -w312 -w325 -w383 -w503 -w509 -c++ -Iswig_python%PYVER% -I%SRCDIR%/public -outdir %SWIGOUTDIR% -o %SWIGOUTDIR%/%SWIGC% -python %SWIGFILE%.i"
%SWIG% -small -Fmicrosoft -ignoremissing -w312 -w325 -w383 -w503 -w509 -w401 -c++ -Iswig_python%PYVER% -I%SRCDIR%/public -outdir %SWIGOUTDIR% -o %SWIGOUTDIR%/%SWIGC% -python %SWIGFILE%.i"
if ERRORLEVEL 1 goto ErrorSwig
:EndOk
endlocal
exit /b 0
:Usage
echo.
echo NAME
echo %~n0
echo.
echo SYNOPSIS
echo %0 ^<SRCDIR^> ^<PYVER^> ^<SWIGFILE^> ^<SWIGBINDIR^>
echo.
echo DESCRIPTION
echo Runs swig on the specified swig file for the specified python version
echo.
goto EndError
:ErrorNoSwig
echo %PREFIX% Error! No swig executable found here: %SWIG%
goto EndError
:ErrorSwigOutDir
echo %PREFIX% Error! Swig Output Dir doesn't exist and could not be created: %SWIGOUTDIR%
goto EndError
:ErrorOutBinDir
echo %PREFIX% Error! Swig Output Bin Dir doesn't exist and could not be created: %OUTBINDIR%
goto EndError
:ErrorSwig
echo %PREFIX% Error! Swig filed"
goto EndError
:ErrorNoPerl
echo %PREFIX% Error! No perl.exe executable found in PATH"
:EndError
endlocal
exit 1

102
vpc_scripts/swig_python.pl Normal file
View File

@@ -0,0 +1,102 @@
#!perl
use File::Spec;
use File::Basename;
use Getopt::Std;
my $opt_q = 0;
my $opt_v = 0;
getopts( 'qv' );
if ( $opt_v )
{
$opt_q = 0;
}
#
# Perl command to build and install swig generated things
#
our $sScriptPath = File::Spec->rel2abs( File::Spec->canonpath( $0 ) );
our ( $sScript, $sVpcDir ) = fileparse( ${sScriptPath} );
our $pre = "[" . $sScript . "]";
my $srcDir = $ARGV[ 0 ];
my $pyVer = $ARGV[ 1 ];
my $swigFile = $ARGV[ 2 ];
my $outBinDir = $ARGV[ 3 ];
my $swigOutDir = "swig_python${pyVer}";
my $swigC = "${swigFile}_wrap_python${pyVer}.cpp";
my $swig = $srcDir . "\\devtools\\swigwin-1.3.40\\swig.exe";
$swig =~ s:/:\\:g;
if ( ! -x $swig )
{
$! = 1;
die( "${pre} ERROR: Can't find swig executable ${swig}" );
}
if ( ! -d ${swigOutDir} )
{
print( "${pre} mkdir ${swigOutDir}\n" );
mkdir ${swigOutDir};
}
if ( ! -d ${swigOutDir} )
{
$! = 1;
die( "${pre} ERROR: Can't create directory ${swigOutDir}" );
}
if ( ! -d ${outBinDir} )
{
print( "${pre} mkdir ${outBinDir}\n" );
mkdir ${outBinDir};
}
if ( ! -d ${outBinDir} )
{
$! = 1;
die( "${pre} ERROR: Can't create directory ${swigOutDir}" );
}
if ( -f "${swigOutDir}/${swigC}" )
{
if ( $opt_v )
{
print( "${pre} unlink ${swigOutDir}/${swigC}\n" );
}
unlink "${swigOutDir}/${swigC}" || die( "${pre} Can't unlink ${swigOutDir}/${swigC}" );
}
# Warning 383 is: Warning(383): operator++ ignored
# Warning 503 is: Warning(503): Can't wrap 'operator |' unless renamed to a valid identifier.
# We disable these to avoid spamming the console.
my $swigCmd = "${swig} -Fmicrosoft -ignoremissing -w383 -w503 -c++ -Iswig_python${pyVer} -I${srcDir}/public -outdir ${swigOutDir} -o ${swigOutDir}/${swigC} -python ${swigFile}.i";
$swigCmd =~ s:/:\\:g;
if ( !$opt_q )
{
print( "${pre} $swigCmd\n" );
}
system( ${swigCmd} );
if ( $? )
{
$! = 1;
print( "${pre} ERROR: Swig failed\n" );
exit( 255 );
die( "${pre} ERROR: Swig failed" );
}
if ( ! -r "${swigOutDir}/${swigFile}.py" )
{
$! = 1;
die( "${pre} ERROR: No python code generated from swig" );
}
if ( $opt_v )
{
print( "${pre} *** Swig Complete!\n" );
}
exit( 0 );

View File

@@ -0,0 +1,89 @@
//======= Copyright © 1996-2009, Valve Corporation, All rights reserved. ======
//
// swig_python.vpc - Compile rules for swig -> c++ for Python modules
//
// Include before defining the macro $SWIGFILE
//
// Use like this (NOTE: Do not add the .i extension):
//
// $Macro SWIGFILE "foo"
// $Include "$SRCDIR/vpc_scripts/swig_python.vpc"
//
//=============================================================================
$MacroRequired "PYTHONVER"
$MacroRequired "SRCDIR"
$MacroRequired "SWIGFILE"
$Macro SWIG_OUT_DIR "swig_python$PYTHONVER_win64" [$WIN64]
$Macro SWIG_OUT_DIR "swig_python$PYTHONVER" [!$WIN64]
$Macro SWIG_P_FILE "$SWIGFILE.py"
$Macro SWIG_C_FILE "$SWIGFILE_wrap_python$PYTHONVER.cpp"
$Configuration
{
$Compiler
{
$DisableSpecificWarnings "4211;$BASE"
}
$PostBuildEvent [$WINDOWS]
{
$CommandLine "CALL $SRCDIR\vpc_scripts\swig_install.cmd $SWIG_OUT_DIR\$SWIGFILE.py $OUTBINDIR\$SWIGFILE.py" "\n" "$BASE"
}
}
$Project
{
$Folder "SWIG Source"
{
$File "$SWIGFILE.i"
{
$Configuration
{
$CustomBuildStep
{
$CommandLine "CALL $SRCDIR\vpc_scripts\swig_python.cmd $PYTHONVER $OUTBINDIR $SWIGFILE AUTOSWIG" [$AUTOSWIG]
$CommandLine "CALL $SRCDIR\vpc_scripts\swig_python.cmd $PYTHONVER $OUTBINDIR $SWIGFILE" [!$AUTOSWIG]
$AdditionalDependencies "$SWIGDEPS;$SRCDIR\vpc_scripts\swig_python.cmd;$SRCDIR\vpc_scripts\swig_install.cmd"
$AdditionalDependencies "$BASE;$SRCDIR\vpc_scripts\swig_auto_dme.pl;$SRCDIR\public\$SWIGFILE\$SWIGFILE.cpp" [$AUTOSWIG]
$Description "SWIG produces C++, $SWIGFILE.i produces $SWIG_OUT_DIR\$SWIG_C_FILE" [!$AUTOSWIG]
$Outputs "$SWIG_OUT_DIR\$SWIG_C_FILE;$SWIG_OUT_DIR\$SWIG_P_FILE" [!$AUTOSWIG]
$Description "SWIG produces C++, $SWIGFILE.i produces $SWIG_OUT_DIR\$SWIG_C_FILE; $SWIG_OUT_DIR\auto_$SWIGFILE.i" [$AUTOSWIG]
$Outputs "$SWIG_OUT_DIR\$SWIG_C_FILE;$SWIG_OUT_DIR\$SWIG_P_FILE;$SWIG_OUT_DIR\auto_$SWIGFILE.i" [$AUTOSWIG]
}
}
}
}
$Folder "Read Only"
{
$Folder "SWIG Generated Python Files"
{
$DynamicFile "$OUTBINDIR\$SWIGFILE.py"
}
$Folder "SWIG Generated Source Files"
{
$DynamicFile "$SWIG_OUT_DIR\auto_$SWIGFILE.i" [$AUTOSWIG]
$DynamicFile "$SWIG_OUT_DIR\$SWIG_C_FILE"
{
$Configuration
{
$Compiler
{
$AdditionalOptions "/wd4127 /wd4244 /wd4505 /wd4706"
}
}
}
}
}
}

View File

@@ -0,0 +1,84 @@
@echo off
setlocal
set valveTmpFileFromVS2005=%1%
set valveTmpFileFromVS2005=%valveTmpFileFromVS2005:\\=\%
set valveChangelistName="Visual Studio Auto Checkout"
:: // Make sure we have 2 args
if .%2.==.. (
echo *** [valve_p4_edit] Error calling command! No file specified for checkout!
echo *** Usage: valve_p4_edit.cmd file srcdir ["changelist name"]
echo *** The changelist name is optional. If present, must be quoted. By default it's %valveChangelistName%.
endlocal
exit /b 1
)
if [%3] NEQ [] (
set valveChangelistName=%3
)
:: // Fallback to old functionality and just change file attribs
if NOT "%VALVE_NO_AUTO_P4%"=="" (
echo [valve_p4_edit] VALVE_NO_AUTO_P4 defined. Changing file attribs only!
if EXIST %valveTmpFileFromVS2005% (
attrib -r %valveTmpFileFromVS2005%
)
endlocal
exit /b 0
)
rem // :: // First check if file exists
rem // if NOT EXIST %valveTmpFileFromVS2005% (
rem // :: // File does not exist
rem // rem // echo [valve_p4_edit] %valveTmpFileFromVS2005% does not exist! Skipping p4 edit command.
rem // endlocal
rem // exit /b 0
rem // )
rem //
rem // :: // Check if file is read-only (NOTE: If the file is writable, we don't call p4!)
rem // dir /b /ar %valveTmpFileFromVS2005% >nul 2>&1
rem // if NOT %ERRORLEVEL%==0 (
rem // rem // echo [valve_p4_edit] %valveTmpFileFromVS2005% is already writable. Not calling p4 edit.
rem // endlocal
rem // exit /b 0
rem // )
:: // Put 360 bins into their own changelist
for /f %%A in ('echo %valveTmpFileFromVS2005% ^| find /i "360"') do set valveTmpIs360=%%A
if NOT "%valveTmpIs360%"=="" (
set valveChangelistName="360 Visual Studio Auto Checkout"
)
for /f %%A in ('echo %valveTmpFileFromVS2005% ^| find /i "launcher_main"') do set valveTmpIs360=%%A
if NOT "%valveTmpIs360%"=="" (
set valveChangelistName="360 Visual Studio Auto Checkout"
)
set valveP4EditCall=%2\devtools\bin\valve_p4_edit_to_changelist.cmd %valveTmpFileFromVS2005% %valveChangelistName%
if "%VALVE_WAIT_ON_P4%"=="" (
:: // The file exists and is read-only, so change the file attrib and spawn the Perforce checkout asynchronously
if EXIST %valveTmpFileFromVS2005% attrib -r %valveTmpFileFromVS2005%
start /b cmd /c %valveP4EditCall% EXIT
rem // (NOTE: The EXIT arg is needed because we're using the start command to launch the cmd!)
) ELSE (
:: // Do not use attrib -r if we're doing synchronous p4 edit. If this fails, we want to throw an error below
call %valveP4EditCall%
)
:: // Make sure file is writable if it exists
if NOT EXIST %valveTmpFileFromVS2005% goto End
dir /b /a-r %valveTmpFileFromVS2005% >nul 2>&1
if NOT %ERRORLEVEL%==0 (
:: // Return with an error to stop the build!
echo *** [valve_p4_edit] Error! %valveTmpFileFromVS2005% is not writable!
endlocal
exit /b 1
)
:End
endlocal
exit /b 0

View File

@@ -0,0 +1,52 @@
#!/usr/bin/perl -w
use Data::Dumper;
use FindBin;
use Cwd qw(getcwd abs_path);
use File::Basename;
use lib "$FindBin::Bin/../devtools/lib";
use P4Run;
use strict;
die "Usage: $0 <file>\n" unless @ARGV;
my $path = shift @ARGV;
my $dir = abs_path(dirname($path));
my $file = "$dir/".basename($path);
if ($ENV{VALVE_NO_AUTO_P4})
{
print "VALVE_NO_AUTO_P4 Set. Making $file writable\n";
if ($^O eq 'MSWin32')
{
system('attrib', '-r', $file);
}
else
{
open(my $fh, "<", $file);
my $perm = (stat($fh))[2] | 0220;
chmod $perm, $fh;
}
}
else
{
my $desc = $^O eq 'MSWin32' ? 'Visual Studio Auto Checkout' : 'GCC Auto Checkout';
$desc = '360 Visual Studio Auto Checkout' if $file =~ /_360|launcher_main|default.xex/;
my $change = P4Run::FindChange($desc) || P4Run::NewChange($desc);
die "Failed to create Change List: $desc\n" unless $change;
my ($stat) = P4Run('fstat', $file);
if ($stat)
{
print "Opening $file for edit in CL#$change ($desc)\n";
P4Run('edit', '-c', $change, $file);
}
else
{
print "Adding new file $file to CL#$change ($desc)\n";
open(my $fh, ">", $file); close($fh);
P4Run('add', '-c', $change, '-t', 'xbinary', $file);
unlink($file);
}
}
warn "$file is not writable\n" if (-e $file && ! -w $file);
exit 0;

View File

@@ -0,0 +1,28 @@
@echo off
setlocal
:: // If they've disabled xbcp, then don't use it.
if NOT "%VALVE_NO_XBCP%"=="" (
echo [valve_xbcp_wrapper] VALVE_NO_XBCP defined. Avoiding the copy.
endlocal
exit /b 0
)
set localFilename=%1
set remoteFilename=%2
"%XEDK%\bin\win32\xbcp" /y /t "%localFilename%" "%remoteFilename%"
if %ERRORLEVEL%==1 (
echo XBCP failed. If you don't have an X360 but want to compile its sources, set the environment variable VALVE_NO_XBCP to 1.
del /q %1%
exit 1
)
:End
endlocal
exit /b 0

12
vpc_scripts/version.vpc Normal file
View File

@@ -0,0 +1,12 @@
//-----------------------------------------------------------------------------
// VERSION.VPC
//
// Version tag for VPC scripts. All base scripts include this file first.
//-----------------------------------------------------------------------------
// This version tag serves as a critical safeguard to ensure all vcproj's can
// be forced to rebuild. Changing the version or anything about this
// file will cause the CRC checking to fail, and thus cause a rebuild.
// DO NOT CHANGE THIS UNLESS YOU !!!REALLY!!! NEED TO FORCE EVERY SINGLE VCPROJ TO REGENERATE
$Macro "InternalVersion" "104"

View File

@@ -0,0 +1 @@
This file is used as an additional dependency for timestamp based operations as a way to kick all the dependencies of incremental builds everywhere.