Compare commits

...

24 Commits

Author SHA1 Message Date
18051fd0de Test
Some checks failed
Build / build-linux-i386 (push) Successful in 13m32s
Build / build-linux-amd64 (push) Successful in 7m19s
Build / build-android-armv7a (push) Successful in 16m54s
Build / build-dedicated-linux-i386 (push) Successful in 11m53s
Build / build-dedicated-linux-amd64 (push) Successful in 6m9s
Tests / tests-linux-i386 (push) Successful in 4m4s
Tests / tests-linux-amd64 (push) Successful in 2m19s
Build / build-windows-i386 (push) Has been cancelled
Build / build-windows-amd64 (push) Has been cancelled
Build / build-dedicated-windows-i386 (push) Has been cancelled
Build / build-dedicated-windows-amd64 (push) Has been cancelled
Build / build-macos-amd64 (push) Has been cancelled
Build / build-dedicated-macos-amd64 (push) Has been cancelled
Tests / tests-macos-amd64 (push) Has been cancelled
Tests / tests-windows-i386 (push) Has been cancelled
Tests / tests-windows-amd64 (push) Has been cancelled
2024-10-28 13:17:45 +08:00
nillerusr
29985681a1
Merge pull request #312 from AruMoon/add-master-server
Add new master server
2023-12-30 11:44:00 +03:00
nillerusr
53cb673849
Merge pull request #328 from er2off/restrictfix
public/tier0/platform.h: Remove __restrict not only for linux
2023-12-30 11:43:48 +03:00
Er2
f72cf388aa public/tier0/platform.h: Remove __restrict not only for linux 2023-12-30 10:34:50 +03:00
nillerusr
87150cc028 ivp: update submodule 2023-12-24 04:24:44 +03:00
nillerusr
704b8aa98e
Merge pull request #323 from coderamen666/patch-1
Allow compilation on Raspberry Pi OS 32 bit
2023-12-13 22:57:38 +03:00
coderamen
c4f13f04a8
Allow compilation on Raspberry Pi OS 32 bit 2023-12-13 13:55:05 -06:00
nillerusr
f402495b24 wscript: make bzip2 mandatory #321 2023-12-13 21:38:18 +03:00
nillerusr
b45295ef7c dedicated(win32): fix crashes( now it works #310 #225 ) 2023-12-13 21:28:17 +03:00
nillerusr
327ea9dee7
Merge pull request #322 from dimhotepus/fix-dedicated-build
[Windows] Fix dedicated server build
2023-12-13 20:24:52 +03:00
nillerusr
ade05ab153 dedicated(win32): fix build issues #322 2023-12-13 20:18:31 +03:00
nillerusr
bfe1baf323
wscript(dedicated): try to fix windows build 2023-12-13 18:19:17 +03:00
nillerusr
a84ee9062c
wscript(dedicated): fix indentation 2023-12-13 18:10:34 +03:00
nillerusr
7c863a351b wscript(win32): restore FORCE parameter for multiple references #322
This is using to override debug crt functions.
Does anyone actually use this?
2023-12-13 17:38:02 +03:00
nillerusr
8fcac9c164 wscript(win32): disable /FORCE linker option added by accident #322 2023-12-13 17:25:20 +03:00
Dmitry Tsarevich
97f6cdfbe2
dedicated: Fix build on Windows 2023-12-02 23:59:49 +03:00
nillerusr
7a3b3cd96f return accidentally commented out engine module( fixes #315 ) 2023-11-28 06:47:35 +03:00
nillerusr
90e2937b32 update waf, enable gccdeps and msvcdeps 2023-11-24 11:28:25 +03:00
nillerusr
23204fcc73 wscipt: fix cant find env cache togl 2023-11-08 22:06:10 +03:00
nillerusr
abb470a471 fix build scripts for workflow 2023-11-08 21:58:33 +03:00
nillerusr
ab527be41a wscript: target 64bit architecture by default 2023-11-08 21:44:30 +03:00
nillerusr
cd1c5bd397 fix build for latest musl 2023-11-08 13:26:46 +00:00
AruMoon
8f8c2556b7 Add new master server 2023-10-25 05:18:51 +05:00
nillerusr
b8558de63e fix crash in some cases 2023-10-23 19:52:35 +03:00
32 changed files with 145 additions and 104 deletions

View File

@ -2,6 +2,7 @@ name: Build
on: [push, pull_request]
jobs:
build-linux-i386:
runs-on: ubuntu-latest
@ -38,7 +39,7 @@ jobs:
- name: Build windows-i386
run: |
git submodule init && git submodule update
./waf.bat configure -T debug
./waf.bat configure -T debug --32bits
./waf.bat build
build-windows-amd64:
@ -49,7 +50,7 @@ jobs:
- name: Build windows-amd64
run: |
git submodule init && git submodule update
./waf.bat configure -T debug -8
./waf.bat configure -T debug
./waf.bat build
build-dedicated-windows-i386:
@ -71,7 +72,7 @@ jobs:
- name: Build dedicated windows-amd64
run: |
git submodule init && git submodule update
./waf.bat configure -T debug -d -8
./waf.bat configure -T debug -d
./waf.bat build
build-dedicated-linux-i386:

View File

@ -38,7 +38,7 @@ jobs:
- name: Run tests windows-i386
run: |
git submodule init && git submodule update
./waf.bat configure -T release --tests --prefix=out/
./waf.bat configure -T release --tests --prefix=out/ --32bits
./waf.bat install
cd out
$env:Path = "bin";
@ -52,7 +52,7 @@ jobs:
- name: Run tests windows-amd64
run: |
git submodule init && git submodule update
./waf.bat configure -T release --tests --prefix=out/ -8
./waf.bat configure -T release --tests --prefix=out/
./waf.bat install
cd out
$env:Path = "bin";

View File

@ -65,9 +65,12 @@ extern void longjmp( jmp_buf, int ) __attribute__((noreturn));
#define JPEGLIB_USE_STDIO
#if ANDROID
#include "android/jpeglib/jpeglib.h"
#else
#elif defined WIN32
#include "jpeglib/jpeglib.h"
#else
#include <jpeglib.h>
#endif
#undef JPEGLIB_USE_STDIO

View File

@ -278,7 +278,7 @@ bool CDedicatedAppSystemGroup::PreInit( )
return false;
#ifdef _WIN32
g_bVGui = !CommandLine()->CheckParm( "-console" );
g_bVGui = CommandLine()->CheckParm( "-vgui" );
#endif
CreateInterfaceFn factory = GetFactory();

View File

@ -38,7 +38,12 @@ def build(bld):
if bld.env.DEST_OS == 'win32':
source += [
'sys_windows.cpp'
'sys_windows.cpp',
'vgui/CreateMultiplayerGameServerPage.cpp',
'vgui/MainPanel.cpp',
'../public/vgui_controls/vgui_controls.cpp',
'vgui/vguihelpers.cpp',
'console/TextConsoleWin32.cpp'
]
else:
source += [
@ -59,6 +64,9 @@ def build(bld):
libs = ['tier0','vpklib','tier1','tier2','tier3','vstdlib','steam_api','appframework','mathlib', 'EDIT']
if bld.env.DEST_OS == 'win32':
libs += ['vgui_controls', 'USER32', 'SHELL32']
install_path = bld.env.LIBDIR
bld.shlib(

View File

@ -7,7 +7,7 @@
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
#include "windows.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

View File

@ -706,11 +706,13 @@ bool CBaseClient::SendServerInfo( void )
serverinfo.WriteToBuffer( msg );
if ( IsX360() && serverinfo.m_nMaxClients > 1 )
#ifdef _X360
if ( serverinfo.m_nMaxClients > 1 )
{
Msg( "Telling clients to connect" );
g_pMatchmaking->TellClientsToConnect();
}
#endif
// send first tick
m_nSignonTick = m_Server->m_nTickCount;

View File

@ -6,6 +6,7 @@
#include "client_pch.h"
#ifdef SWDS
#include "igame.h"
#include "hltvclientstate.h"
#include "convar.h"
#include "enginestats.h"
@ -37,9 +38,9 @@ bool CL_IsPortalDemo()
bool HandleRedirectAndDebugLog( const char *msg );
void BeginLoadingUpdates( MaterialNonInteractiveMode_t mode ) {}
//void BeginLoadingUpdates( MaterialNonInteractiveMode_t mode ) {}
//void EndLoadingUpdates() {}
void RefreshScreenIfNecessary() {}
void EndLoadingUpdates() {}
void Con_ColorPrintf( const Color& clr, const char *fmt, ... )

View File

@ -97,22 +97,19 @@ COM_ExplainDisconnection
*/
void COM_ExplainDisconnection( bool bPrint, const char *fmt, ... )
{
if ( IsX360() )
{
g_pMatchmaking->SessionNotification( SESSION_NOTIFY_LOST_SERVER );
}
else
{
va_list argptr;
char string[1024];
#ifdef _X360
g_pMatchmaking->SessionNotification( SESSION_NOTIFY_LOST_SERVER );
#else
va_list argptr;
char string[1024];
va_start (argptr, fmt);
Q_vsnprintf(string, sizeof( string ), fmt,argptr);
va_end (argptr);
va_start (argptr, fmt);
Q_vsnprintf(string, sizeof( string ), fmt,argptr);
va_end (argptr);
Q_strncpy( gszDisconnectReason, string, 256 );
gfExtendedError = true;
}
Q_strncpy( gszDisconnectReason, string, 256 );
gfExtendedError = true;
#endif
if ( bPrint )
{
@ -146,21 +143,18 @@ COM_ExtendedExplainDisconnection
*/
void COM_ExtendedExplainDisconnection( bool bPrint, const char *fmt, ... )
{
if ( IsX360() )
{
g_pMatchmaking->SessionNotification( SESSION_NOTIFY_LOST_SERVER );
}
else
{
va_list argptr;
char string[1024];
va_start (argptr, fmt);
Q_vsnprintf(string, sizeof( string ), fmt,argptr);
va_end (argptr);
#ifdef _X360
g_pMatchmaking->SessionNotification( SESSION_NOTIFY_LOST_SERVER );
#else
va_list argptr;
char string[1024];
Q_strncpy( gszExtendedDisconnectReason, string, 256 );
}
va_start (argptr, fmt);
Q_vsnprintf(string, sizeof( string ), fmt,argptr);
va_end (argptr);
Q_strncpy( gszExtendedDisconnectReason, string, 256 );
#endif
if ( bPrint )
{

View File

@ -4934,7 +4934,7 @@ static bool EnumerateLeafInBox_R(mnode_t * RESTRICT node, const EnumLeafBoxInfo_
*/
// take advantage of high throughput/high latency
fltx4 planeNormal = LoadAlignedSIMD( plane->normal.Base() );
fltx4 planeNormal = LoadUnaligned3SIMD( plane->normal.Base() );
fltx4 vecBoxMin = LoadAlignedSIMD(pInfo->m_vecBoxMin);
fltx4 vecBoxMax = LoadAlignedSIMD(pInfo->m_vecBoxMax);
fltx4 cornermin, cornermax;

View File

@ -3500,10 +3500,12 @@ void _Host_RunFrame (float time)
//-------------------
_Host_RunFrame_Sound();
#ifndef DEDICATED
if ( g_bVCRSingleStep )
{
VCR_EnterPausedState();
}
#endif
}
else
{

View File

@ -4353,20 +4353,20 @@ ModelInstanceHandle_t CModelRender::CreateInstance( IClientRenderable *pRenderab
// validate static color meshes once, now at load/create time
ValidateStaticPropColorData( handle );
// 360 persists the color meshes across same map loads
if ( !IsX360() || instance.m_ColorMeshHandle == DC_INVALID_HANDLE )
#ifdef _X360
if ( r_decalstaticprops.GetBool() && instance.m_LightCacheHandle )
instance.m_AmbientLightingState = *(LightcacheGetStatic( *pCache, NULL, LIGHTCACHEFLAGS_STATIC ));
#else
if ( instance.m_ColorMeshHandle == DC_INVALID_HANDLE )
{
// builds out color meshes or loads disk colors, now at load/create time
RecomputeStaticLighting( handle );
}
else
if ( r_decalstaticprops.GetBool() && instance.m_LightCacheHandle )
{
instance.m_AmbientLightingState = *(LightcacheGetStatic( *pCache, NULL, LIGHTCACHEFLAGS_STATIC ));
}
#endif
}
return handle;
}

View File

@ -31,7 +31,8 @@ extern ConVar sv_lan;
static char g_MasterServers[][64] =
{
"185.192.97.130:27010",
"168.138.92.21:27016"
"168.138.92.21:27016",
"135.125.188.162:27010"
};
#ifdef DEDICATED

View File

@ -1534,7 +1534,7 @@ void Sys_NoCrashDialog()
void Sys_TestSendKey( const char *pKey )
{
#if defined(_WIN32) && !defined(USE_SDL) && !defined(_XBOX)
#if defined(_WIN32) && !defined(USE_SDL) && !defined(_XBOX) && !defined(DEDICATED)
int key = pKey[0];
if ( pKey[0] == '\\' && pKey[1] == 'r' )
{

View File

@ -212,25 +212,24 @@ def build(bld):
]
if bld.env.DEST_OS != "darwin":
source += ['audio/snd_dev_sdl.cpp']
source_win = [
'audio/snd_dev_direct.cpp',
'audio/snd_dev_wave.cpp',
'audio/voice_mixer_controls.cpp',
'audio/voice_record_dsound.cpp'
]
if bld.env.DEST_OS == 'win32':
source += [
'../public/tier0/memoverride.cpp',
'audio/snd_dev_direct.cpp',
'audio/snd_dev_wave.cpp',
'audio/voice_mixer_controls.cpp',
'audio/voice_record_dsound.cpp',
]
source += ['../public/tier0/memoverride.cpp']
else:
source += [
'sys_linuxwind.cpp',
'audio/snd_posix.cpp',
]
source += ['audio/snd_posix.cpp']
if bld.env.DEDICATED:
source += ['cl_null.cpp']
source += ['cl_null.cpp', 'sys_stubwind.cpp']
else:
source += source_win if bld.env.DEST_OS == 'win32' else ['sys_stubwind.cpp']
source += [
'client_pch.cpp',
'cl_rcon.cpp',

View File

@ -4203,7 +4203,7 @@ bool CBaseFileSystem::FindNextFileInVPKOrPakHelper( FindData_t *pFindData )
{
V_strncpy( pFindData->findData.cFileName, V_UnqualifiedFileName( pFindData->m_fileMatchesFromVPKOrPak[0] ), sizeof( pFindData->findData.cFileName ) );
pFindData->findData.dwFileAttributes = 0;
delete pFindData->m_fileMatchesFromVPKOrPak.Head();
delete[] pFindData->m_fileMatchesFromVPKOrPak.Head();
pFindData->m_fileMatchesFromVPKOrPak.RemoveMultipleFromHead( 1 );
return true;

2
ivp

@ -1 +1 @@
Subproject commit 4098acbbe3bc48320496f7533851640cc40cbb89
Subproject commit 47533475e01cbff05fbc3bbe8b4edc485f292cea

View File

@ -114,7 +114,7 @@ inline T clamp( T const &val, T const &minVal, T const &maxVal )
// FIXME: this should move to a different file
struct cplane_t
{
VectorAligned normal;
Vector normal;
float dist;
byte type; // for fast side tests
byte signbits; // signx + (signy<<1) + (signz<<1)

View File

@ -594,7 +594,7 @@ typedef void * HINSTANCE;
#define FMTFUNCTION( a, b )
#elif defined(GNUC)
#define SELECTANY __attribute__((weak))
#if defined(LINUX) && !defined(DEDICATED)
#ifndef DEDICATED
#define RESTRICT
#else
#define RESTRICT __restrict

View File

@ -25,9 +25,7 @@
#define GLMDEBUG_H
#include "tier0/platform.h"
#if defined( OSX )
#include <stdarg.h>
#endif
// include this anywhere you need to be able to compile-out code related specifically to GLM debugging.

View File

@ -25,9 +25,7 @@
#define GLMDEBUG_H
#include "tier0/platform.h"
#if defined( OSX )
#include <stdarg.h>
#endif
// include this anywhere you need to be able to compile-out code related specifically to GLM debugging.

View File

@ -4,5 +4,5 @@ git submodule init && git submodule update
brew install sdl2
./waf configure -T debug --64bits --disable-warns $* &&
./waf configure -T debug --disable-warns $* &&
./waf build

View File

@ -4,5 +4,5 @@ git submodule init && git submodule update
sudo apt-get update
sudo apt-get install -f -y libopenal-dev g++-multilib gcc-multilib libpng-dev libjpeg-dev libfreetype6-dev libfontconfig1-dev libcurl4-gnutls-dev libsdl2-dev zlib1g-dev libbz2-dev libedit-dev
./waf configure -T debug --64bits --disable-warns $* &&
./waf configure -T debug --disable-warns $* &&
./waf build

View File

@ -6,5 +6,5 @@ sudo apt-get update
sudo apt-get install -y aptitude
sudo aptitude install -y libopenal-dev:i386 g++-multilib gcc-multilib libpng-dev:i386 libjpeg-dev:i386 libfreetype6-dev:i386 libfontconfig1-dev:i386 libcurl4-gnutls-dev:i386 libsdl2-dev:i386 zlib1g-dev:i386 libbz2-dev:i386 libedit-dev:i386
PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig ./waf configure -T debug --disable-warns $* &&
PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig ./waf configure -T debug --disable-warns --32bits $* &&
./waf build

View File

@ -1,7 +1,7 @@
#!/bin/sh
git submodule init && git submodule update
./waf configure -T release --sanitize=address,undefined --disable-warns --tests -8 --prefix=out/ $* &&
./waf configure -T release --sanitize=address,undefined --disable-warns --tests --prefix=out/ $* &&
./waf install &&
cd out &&
DYLD_LIBRARY_PATH=bin/ ./unittest || exit 1

View File

@ -4,7 +4,7 @@ git submodule init && git submodule update
sudo apt-get update
sudo apt-get install -y libbz2-dev
./waf configure -T release --sanitize=address,undefined --disable-warns --tests --prefix=out/ --64bits $* &&
./waf configure -T release --sanitize=address,undefined --disable-warns --tests --prefix=out/ $* &&
./waf install &&
cd out &&
LD_LIBRARY_PATH=bin/ ./unittest

View File

@ -5,7 +5,7 @@ sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install -y g++-multilib gcc-multilib libbz2-dev:i386
PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig ./waf configure -T release --sanitize=address,undefined --disable-warns --tests --prefix=out/ $* &&
PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig ./waf configure -T release --32bits --sanitize=address,undefined --disable-warns --tests --prefix=out/ $* &&
./waf install &&
cd out &&
LD_LIBRARY_PATH=bin/ ./unittest

View File

@ -32,6 +32,7 @@
#include <sys/param.h>
#include <sys/mount.h>
#elif defined(LINUX)
#define _LARGEFILE64_SOURCE
#include <sys/vfs.h>
#endif
#ifdef OSX

View File

@ -1500,6 +1500,9 @@ void FileOpenDialog::OnOpen()
char pFileName[MAX_PATH];
GetSelectedFileName( pFileName, sizeof( pFileName ) );
if( !pFileName[0] )
return;
int nLen = Q_strlen( pFileName );
bool bSpecifiedDirectory = ( pFileName[nLen-1] == '/' || pFileName[nLen-1] == '\\' ) && (!IsOSX() || ( IsOSX() && !Q_stristr( pFileName, ".app" ) ) );
Q_StripTrailingSlash( pFileName );

14
waf vendored

File diff suppressed because one or more lines are too long

68
wscript
View File

@ -26,6 +26,21 @@ FC_CHECK='''extern "C" {
int main() { return (int)FcInit(); }
'''
CPP_64BIT_CHECK='''
#define TEST(a) (sizeof(void*) == a ? 1 : -1)
int g_Test[TEST(8)];
int main () { return 0; }
'''
CPP_32BIT_CHECK='''
#define TEST(a) (sizeof(void*) == a ? 1 : -1)
int g_Test[TEST(4)];
int main () { return 0; }
'''
Context.Context.line_just = 55 # should fit for everything on 80x26
projects={
@ -125,6 +140,7 @@ projects={
'tier1',
'tier2',
'tier3',
'vgui2/vgui_controls',
'vphysics',
'vpklib',
'vstdlib',
@ -155,6 +171,11 @@ def get_taskgen_count(self):
except: idx = 0 # don't set tg_idx_count to not increase counter
return idx
@Configure.conf
def run_test(self, fragment, msg):
result = self.check_cxx(fragment=fragment, msg=msg, mandatory = False)
return False if result == None else True
def define_platform(conf):
conf.env.DEDICATED = conf.options.DEDICATED
conf.env.TESTS = conf.options.TESTS
@ -162,6 +183,12 @@ def define_platform(conf):
conf.env.GL = conf.options.GL and not conf.options.TESTS and not conf.options.DEDICATED
conf.env.OPUS = conf.options.OPUS
arch32 = conf.run_test(CPP_32BIT_CHECK, 'Testing 32bit support')
arch64 = conf.run_test(CPP_64BIT_CHECK, 'Testing 64bit support')
if not (arch32 ^ arch64):
conf.fatal('Your compiler sucks')
if conf.options.DEDICATED:
conf.options.SDL = False
conf.define('DEDICATED', 1)
@ -186,7 +213,7 @@ def define_platform(conf):
conf.env.SDL = 1
conf.define('USE_SDL', 1)
if conf.options.ALLOW64:
if arch64:
conf.define('PLATFORM_64BITS', 1)
if conf.env.DEST_OS == 'linux':
@ -239,9 +266,9 @@ def define_platform(conf):
'_DLL_EXT=.so'
])
# if conf.env.DEST_OS != 'win32':
if conf.env.DEST_OS != 'win32':
conf.define('NO_MEMOVERRIDE_NEW_DELETE', 1)
# conf.define('NO_MALLOC_OVERRIDE', 1)
# conf.define('NO_MEMOVERRIDE_NEW_DELETE', 1)
if conf.options.DEBUG_ENGINE:
conf.env.append_unique('DEFINES', [
@ -252,11 +279,14 @@ def define_platform(conf):
'NDEBUG'
])
conf.define('GIT_COMMIT_HASH', conf.env.GIT_VERSION)
def options(opt):
grp = opt.add_option_group('Common options')
grp.add_option('-8', '--64bits', action = 'store_true', dest = 'ALLOW64', default = False,
help = 'allow targetting 64-bit engine(Linux/Windows/OSX x86 only) [default: %default]')
grp.add_option('-4', '--32bits', action = 'store_true', dest = 'TARGET32', default = False,
help = 'allow targetting 32-bit engine(Linux/Windows/OSX x86 only) [default: %default]')
grp.add_option('-d', '--dedicated', action = 'store_true', dest = 'DEDICATED', default = False,
help = 'build dedicated server [default: %default]')
@ -302,7 +332,7 @@ def options(opt):
def check_deps(conf):
if conf.env.DEST_OS != 'win32':
conf.check_cc(lib='dl', mandatory=False)
conf.check_cc(lib='bz2', mandatory=False)
conf.check_cc(lib='bz2', mandatory=True)
conf.check_cc(lib='rt', mandatory=False)
if not conf.env.LIB_M: # HACK: already added in xcompile!
@ -410,19 +440,24 @@ def configure(conf):
# subsystem=bld.env.MSVC_SUBSYSTEM
# TODO: wrapper around bld.stlib, bld.shlib and so on?
conf.env.MSVC_SUBSYSTEM = 'WINDOWS,5.01'
conf.env.MSVC_TARGETS = ['x86'] # explicitly request x86 target for MSVC
if conf.options.ALLOW64:
conf.env.MSVC_TARGETS = ['x64']
conf.env.MSVC_TARGETS = ['x64'] # explicitly request x86 target for MSVC
if conf.options.TARGET32:
conf.env.MSVC_TARGETS = ['x86']
if sys.platform == 'win32':
conf.load('msvc_pdb_ext msdev msvs')
conf.load('subproject xcompile compiler_c compiler_cxx gitversion clang_compilation_database strip_on_install_v2 waf_unit_test enforce_pic')
conf.load('msvc_pdb_ext msdev msvs msvcdeps')
conf.load('subproject xcompile compiler_c compiler_cxx gccdeps gitversion clang_compilation_database strip_on_install_v2 waf_unit_test enforce_pic')
if conf.env.DEST_OS == 'win32' and conf.env.DEST_CPU == 'amd64':
conf.load('masm')
elif conf.env.DEST_OS == 'darwin':
conf.load('mm_hook')
conf.env.BIT32_MANDATORY = conf.options.TARGET32
if conf.env.BIT32_MANDATORY:
Logs.info('WARNING: will build engine for 32-bit target')
conf.load('force_32bit')
define_platform(conf)
conf.define('GIT_COMMIT_HASH', conf.env.GIT_VERSION)
if conf.env.TOGLES:
projects['game'] += ['togles']
@ -435,11 +470,6 @@ def configure(conf):
if conf.options.OPUS or conf.env.DEST_OS == 'android':
projects['game'] += ['engine/voice_codecs/opus']
conf.env.BIT32_MANDATORY = not conf.options.ALLOW64
if conf.env.BIT32_MANDATORY:
Logs.info('WARNING: will build engine for 32-bit target')
conf.load('force_32bit')
if conf.options.DISABLE_WARNS:
compiler_optional_flags = ['-w']
else:
@ -497,7 +527,7 @@ def configure(conf):
flags += ['-fsigned-char']
if conf.env.DEST_CPU == 'arm':
flags += ['-mfpu=neon-vfpv4']
flags += ['-march=armv7-a', '-mfpu=neon-vfpv4']
if conf.env.DEST_OS == 'freebsd':
linkflags += ['-lexecinfo']
@ -521,11 +551,11 @@ def configure(conf):
if conf.options.BUILD_TYPE == 'debug':
linkflags += [
'/FORCE:MULTIPLE',
'/INCREMENTAL:NO',
'/NODEFAULTLIB:libc',
'/NODEFAULTLIB:libcd',
'/NODEFAULTLIB:libcmt',
'/FORCE',
'/LARGEADDRESSAWARE'
]
else: