From a88de796a3b2dbc09dddbb8ca490ccc37e92468d Mon Sep 17 00:00:00 2001 From: Nicholas Hastings Date: Fri, 22 Jul 2016 14:01:34 -0400 Subject: [PATCH] Build Dota core and loader + versionlib as 64-bit. TODO: we need both x86 and x64 of versionlib and loader. --- AMBuildScript | 7 +++++++ core/metamod_oslink.h | 4 ---- loader/AMBuilder | 5 +++++ versionlib/AMBuildScript | 7 +++++++ 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/AMBuildScript b/AMBuildScript index 57486ed..f3dca68 100644 --- a/AMBuildScript +++ b/AMBuildScript @@ -280,6 +280,13 @@ class MMSConfig(object): else: compiler.defines += ['COMPILER_GCC'] + if sdk.name == 'dota' and builder.target_platform in ['linux', 'mac']: + compiler.defines += ['X64BITS', 'PLATFORM_64BITS'] + compiler.cflags.remove('-m32') + compiler.cflags += ['-m64', '-fPIC'] + compiler.linkflags.remove('-m32') + compiler.linkflags += ['-m64'] + if sdk.name in ['css', 'hl2dm', 'dods', 'sdk2013', 'bms', 'tf2', 'l4d', 'nucleardawn', 'l4d2', 'dota']: if builder.target_platform in ['linux', 'mac']: compiler.defines += ['NO_HOOK_MALLOC', 'NO_MALLOC_OVERRIDE'] diff --git a/core/metamod_oslink.h b/core/metamod_oslink.h index 03b6764..8a697d4 100644 --- a/core/metamod_oslink.h +++ b/core/metamod_oslink.h @@ -104,10 +104,6 @@ bool GetFileOfAddress(void *pAddr, char *buffer, size_t maxlength); typedef unsigned __int32 uint32_t; #elif defined __GNUC__ #include -#if !__GLIBC_HAVE_LONG_LONG - typedef long long int64_t; - typedef unsigned long long uint64_t; -#endif #endif #if !defined __linux__ && !defined __APPLE__ diff --git a/loader/AMBuilder b/loader/AMBuilder index 0207359..6c73ecc 100644 --- a/loader/AMBuilder +++ b/loader/AMBuilder @@ -13,6 +13,11 @@ def configure_library(name, linux_defines): if builder.target_platform == 'linux': binary.compiler.defines += linux_defines + # Temporary Source2 hack. Always build linux with -m64 + binary.compiler.cflags.remove('-m32') + binary.compiler.cflags += ['-m64', '-fPIC'] + binary.compiler.linkflags.remove('-m32') + binary.compiler.linkflags += ['-m64'] nodes = builder.Add(binary) MMS.binaries += [nodes] diff --git a/versionlib/AMBuildScript b/versionlib/AMBuildScript index d46d66e..432c2fe 100644 --- a/versionlib/AMBuildScript +++ b/versionlib/AMBuildScript @@ -6,6 +6,13 @@ lib.compiler.sourcedeps += MMS.generated_headers lib.sources += [ 'versionlib.cpp' ] + +# Temporary Source2 hack. Always build linux with -m64 +if builder.target_platform == 'linux': + lib.compiler.cflags.remove('-m32') + lib.compiler.cflags += ['-m64', '-fPIC'] + + cmd = builder.Add(lib) rvalue = cmd.binary