You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
152 lines
4.2 KiB
152 lines
4.2 KiB
//-----------------------------------------------------------------------------
|
|
// VSTDLIB.VPC
|
|
//
|
|
// Project Script
|
|
//-----------------------------------------------------------------------------
|
|
|
|
$Macro SRCDIR ".."
|
|
$Macro OUTBINDIR "$SRCDIR\..\game\bin"
|
|
$Macro NOSCHEMACOMPILER "1"
|
|
|
|
$include "$SRCDIR\vpc_scripts\source_dll_base.vpc"
|
|
$Configuration
|
|
{
|
|
$General [$X360]
|
|
{
|
|
// X360 version publishes to some other directory then copies here so we need to tell VPC to track this
|
|
// or else it won't know what depends on this project.
|
|
$AdditionalOutputFiles "$LIBPUBLIC\$(TargetName).lib" [$X360]
|
|
$GameOutputFile "$OUTBINDIR/$_IMPLIB_DLL_PREFIX$OUTBINNAME$_DLL_EXT"
|
|
}
|
|
|
|
$Compiler
|
|
{
|
|
$PreprocessorDefinitions "$BASE;VSTDLIB_DLL_EXPORT"
|
|
$GCC_ExtraCompilerFlags "-fno-stack-protector" [$OSXALL]
|
|
$GCC_ExtraCompilerFlags "-U_FORTIFY_SOURCE -fno-stack-protector" [$LINUXALL]
|
|
}
|
|
|
|
$Linker [!$PS3]
|
|
{
|
|
$AdditionalDependencies "$BASE odbc32.lib odbccp32.lib" [$WINDOWS]
|
|
|
|
// 360 publishes the import library via a post build step
|
|
$ImportLibrary "$(TargetDir)\$(TargetName).lib" [$X360]
|
|
|
|
// Everyone but 360 build right to the location.
|
|
$ImportLibrary "$LIBPUBLIC\$_IMPLIB_PREFIX$OUTBINNAME$_IMPLIB_EXT" [!$X360]
|
|
|
|
// 360 will auto generate a def file for this import library
|
|
$ModuleDefinitionFile " " [$X360]
|
|
$AdditionalOptions "$BASE /AUTODEF:xbox\xbox.def" [$X360]
|
|
|
|
$SystemFrameworks "CoreServices"
|
|
$SystemLibraries "iconv" [$OSXALL]
|
|
}
|
|
|
|
$Linker [$PS3||$POSIX]
|
|
{
|
|
$ImportLibrary "$LIBPUBLIC\$_IMPLIB_PREFIX$OUTBINNAME$_IMPLIB_EXT"
|
|
$AdditionalDependencies "$BASE libl10n_stub.a" [$PS3]
|
|
}
|
|
|
|
$PreLinkEvent [!$POSIX]
|
|
{
|
|
$CommandLine "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $LIBPUBLIC\$(TargetName).lib $SRCDIR" "\n" \
|
|
"$BASE"
|
|
}
|
|
|
|
$PreLinkEvent [$X360]
|
|
{
|
|
// Run a pre-link event to clean the .def file from the last link
|
|
$CommandLine "if exist xbox\xbox.def del xbox\xbox.def" "\n" \
|
|
"$BASE"
|
|
}
|
|
|
|
$PreLinkEvent [$PS3]
|
|
{
|
|
$CommandLine "$BASE"
|
|
$Description "NOTE - If PRX linking fails, make sure your vstdlib_staticlib is building in same solution configuration (debug/release) as vstdlib prx."
|
|
}
|
|
|
|
$PostBuildEvent [$X360]
|
|
{
|
|
// Run a post build event to validate the .def file was correctly generated
|
|
$CommandLine "perl $SRCDIR\devtools\bin\make360def.pl -checkauto xbox\xbox.def" "\n" \
|
|
"if exist $(TargetDir)$(TargetName).lib copy $(TargetDir)$(TargetName).lib $LIBPUBLIC\$(TargetName).lib" "\n" \
|
|
"$BASE"
|
|
}
|
|
|
|
$PostBuildEvent [$PS3]
|
|
{
|
|
// Publish the import lib
|
|
$CommandLine "if exist $(TargetName)_stub.a move $(TargetName)_stub.a $LIBPUBLIC\$(TargetName).lib" "\n" \
|
|
"if exist $(TargetName)_verlog.txt del $(TargetName)_verlog.txt" "\n" \
|
|
"$BASE" "\n"
|
|
}
|
|
|
|
$General [$POSIX]
|
|
{
|
|
$GameOutputFile "$OUTBINDIR/$_IMPLIB_DLL_PREFIX$OUTBINNAME$_DLL_EXT"
|
|
}
|
|
$General [$PS3]
|
|
{
|
|
$AdditionalProjectDependencies "$BASE;vstdlib_staticlib"
|
|
}
|
|
|
|
}
|
|
|
|
$Configuration "Release"
|
|
{
|
|
$PreBuildEvent [$PS3]
|
|
{
|
|
// Clear potentially stale verlog files
|
|
$CommandLine "ppu-lv2-prx-exportpickup -o Release_PS3/prxexport.inl Release_vstdlibstaticlib_PS3/prx.obj Release_vstdlibstaticlib_PS3/random.obj Release_vstdlibstaticlib_PS3/coroutine.obj" "\n" \
|
|
"if exist vstdlib_rel_verlog.txt del vstdlib_rel_verlog.txt" "\n" \
|
|
"$BASE" "\n"
|
|
}
|
|
|
|
$Linker [$PS3]
|
|
{
|
|
$AdditionalDependencies "$BASE "Release_vstdlibstaticlib_PS3/vstdlib_staticlib_ps3.lib""
|
|
}
|
|
}
|
|
|
|
$Configuration "Debug"
|
|
{
|
|
$PreBuildEvent [$PS3]
|
|
{
|
|
// Clear potentially stale verlog files
|
|
$CommandLine "ppu-lv2-prx-exportpickup -o Debug_PS3/prxexport.inl Debug_vstdlibstaticlib_PS3/prx.obj Debug_vstdlibstaticlib_PS3/random.obj Debug_vstdlibstaticlib_PS3/coroutine.obj" "\n" \
|
|
"if exist vstdlib_dbg_verlog.txt del vstdlib_dbg_verlog.txt" "\n" \
|
|
"$BASE" "\n"
|
|
}
|
|
|
|
$Linker [$PS3]
|
|
{
|
|
$AdditionalDependencies "$BASE "Debug_vstdlibstaticlib_PS3/vstdlib_staticlib_ps3.lib""
|
|
}
|
|
}
|
|
|
|
$Include "vstdlib.inc"
|
|
|
|
$Project
|
|
{
|
|
$Folder "PS3 Files" [$PS3]
|
|
{
|
|
$File "prxexport.cpp"
|
|
}
|
|
|
|
$Folder "Source Files"
|
|
{
|
|
-$File "$SRCDIR\common\ps3\prx.cpp" [$PS3]
|
|
}
|
|
$folder "Link Libraries"
|
|
{
|
|
-$ImpLib "$LIBPUBLIC\vstdlib"
|
|
}
|
|
}
|
|
|
|
$Project "vstdlib"
|
|
{
|
|
}
|