aboutsummaryrefslogtreecommitdiff
path: root/mp/src/devtools
diff options
context:
space:
mode:
authorMichael Sartain <[email protected]>2014-10-02 08:25:55 -0700
committerMichael Sartain <[email protected]>2014-10-02 08:25:55 -0700
commit55ed12f8d1eb6887d348be03aee5573d44177ffb (patch)
tree3686f7ca78c780cd9a3d367b79a9d9250c1be7c0 /mp/src/devtools
parent* Added support for Visual C++ 2013 Express to VPC (diff)
downloadsource-sdk-2013-55ed12f8d1eb6887d348be03aee5573d44177ffb.tar.xz
source-sdk-2013-55ed12f8d1eb6887d348be03aee5573d44177ffb.zip
Updated the SDK with the latest code from the TF and HL2 branches.
Diffstat (limited to 'mp/src/devtools')
-rwxr-xr-xmp/src/devtools/bin/linux/ccachebin197505 -> 428393 bytes
-rw-r--r--mp/src/devtools/bin/vpc.exebin1104384 -> 1103872 bytes
-rwxr-xr-xmp/src/devtools/bin/vpc_linuxbin1179007 -> 1179883 bytes
-rwxr-xr-xmp/src/devtools/bin/vpc_osxbin1000264 -> 1006816 bytes
-rw-r--r--mp/src/devtools/makefile_base_posix.mak135
5 files changed, 42 insertions, 93 deletions
diff --git a/mp/src/devtools/bin/linux/ccache b/mp/src/devtools/bin/linux/ccache
index 5146484f..99dd2b4a 100755
--- a/mp/src/devtools/bin/linux/ccache
+++ b/mp/src/devtools/bin/linux/ccache
Binary files differ
diff --git a/mp/src/devtools/bin/vpc.exe b/mp/src/devtools/bin/vpc.exe
index cab4902c..8c4fd6aa 100644
--- a/mp/src/devtools/bin/vpc.exe
+++ b/mp/src/devtools/bin/vpc.exe
Binary files differ
diff --git a/mp/src/devtools/bin/vpc_linux b/mp/src/devtools/bin/vpc_linux
index 55c29561..b83b870e 100755
--- a/mp/src/devtools/bin/vpc_linux
+++ b/mp/src/devtools/bin/vpc_linux
Binary files differ
diff --git a/mp/src/devtools/bin/vpc_osx b/mp/src/devtools/bin/vpc_osx
index 4a7cdc37..cbe1e289 100755
--- a/mp/src/devtools/bin/vpc_osx
+++ b/mp/src/devtools/bin/vpc_osx
Binary files differ
diff --git a/mp/src/devtools/makefile_base_posix.mak b/mp/src/devtools/makefile_base_posix.mak
index cd5f498a..0211e157 100644
--- a/mp/src/devtools/makefile_base_posix.mak
+++ b/mp/src/devtools/makefile_base_posix.mak
@@ -22,13 +22,22 @@ HOSTNAME := $(shell hostname)
# To build with clang, set the following in your environment:
# CC = clang
# CXX = clang++
+ifneq (,$(findstring clang,$(CXX)))
+ CLANG_BUILD = 1
+endif
ifeq ($(CFG), release)
# With gcc 4.6.3, engine.so went from 7,383,765 to 8,429,109 when building with -O3.
# There also was no speed difference running at 1280x1024. May 2012, mikesart.
# tonyp: The size increase was likely caused by -finline-functions and -fipa-cp-clone getting switched on with -O3.
# -fno-omit-frame-pointer: need this for stack traces with perf.
- OptimizerLevel_CompilerSpecific = -O2 -fno-strict-aliasing -ffast-math -fno-omit-frame-pointer -ftree-vectorize -fpredictive-commoning -funswitch-loops
+ OptimizerLevel_CompilerSpecific = -O2 -fno-strict-aliasing -ffast-math -fno-omit-frame-pointer -ftree-vectorize
+ ifeq ($(CLANG_BUILD),1)
+ # These aren't supported wit Clang 3.5. Need to remove when we update that.
+ OptimizerLevel_CompilerSpecific += -fpredictive-commoning -funswitch-loops
+ else
+ OptimizerLevel_CompilerSpecific += -fpredictive-commoning -funswitch-loops
+ endif
else
OptimizerLevel_CompilerSpecific = -O0
#-O1 -finline-functions
@@ -41,14 +50,14 @@ CPPFLAGS = $(DEFINES) $(addprefix -I, $(abspath $(INCLUDEDIRS) ))
CFLAGS = $(ARCH_FLAGS) $(CPPFLAGS) $(WARN_FLAGS) -fvisibility=$(SymbolVisibility) $(OptimizerLevel) -pipe $(GCC_ExtraCompilerFlags) -Usprintf -Ustrncpy -UPROTECTED_THINGS_ENABLE
# In -std=gnu++0x mode we get lots of errors about "error: narrowing conversion". -fpermissive
# turns these into warnings in gcc, and -Wno-c++11-narrowing suppresses them entirely in clang 3.1+.
-ifeq ($(CXX),clang++)
+ifeq ($(CLANG_BUILD),1)
CXXFLAGS = $(CFLAGS) -std=gnu++0x -Wno-c++11-narrowing -Wno-dangling-else
else
CXXFLAGS = $(CFLAGS) -std=gnu++0x -fpermissive
endif
DEFINES += -DVPROF_LEVEL=1 -DGNUC -DNO_HOOK_MALLOC -DNO_MALLOC_OVERRIDE
LDFLAGS = $(CFLAGS) $(GCC_ExtraLinkerFlags) $(OptimizerLevel)
-GENDEP_CXXFLAGS = -MD -MP -MF $(@:.o=.P)
+GENDEP_CXXFLAGS = -MMD -MP -MF $(@:.o=.P)
MAP_FLAGS =
Srv_GAMEOUTPUTFILE =
COPY_DLL_TO_SRV = 0
@@ -57,11 +66,30 @@ COPY_DLL_TO_SRV = 0
ifeq ($(STEAM_BRANCH),1)
WARN_FLAGS = -Wall -Wextra -Wshadow -Wno-invalid-offsetof
else
- WARN_FLAGS = -Wno-write-strings -Wno-multichar
+ WARN_FLAGS = -Wall -Wno-invalid-offsetof -Wno-multichar -Wno-overloaded-virtual
+ WARN_FLAGS += -Wno-write-strings
+ WARN_FLAGS += -Wno-unused-variable
+ WARN_FLAGS += -Wno-unused-but-set-variable
+ WARN_FLAGS += -Wno-unused-function
+
+ ifeq ($(CLANG_BUILD),1)
+ # Clang specific flags
+ else
+ # Gcc specific flags. Need this for gcc 4.8.
+ # WARN_FLAGS += -Wno-unused-local-typedefs
+ # WARN_FLAGS += -Wno-unused-function
+ # WARN_FLAGS += -Wno-unused-result
+ # WARN_FLAGS += -Wno-narrowing
+ endif
endif
-WARN_FLAGS += -Wno-unknown-pragmas -Wno-unused-parameter -Wno-unused-value -Wno-missing-field-initializers -Wno-sign-compare -Wno-reorder -Wno-invalid-offsetof -Wno-float-equal -Werror=return-type -fdiagnostics-show-option -Wformat -Wformat-security
+WARN_FLAGS += -Wno-unknown-pragmas -Wno-unused-parameter -Wno-unused-value -Wno-missing-field-initializers
+WARN_FLAGS += -Wno-sign-compare -Wno-reorder -Wno-invalid-offsetof -Wno-float-equal -Werror=return-type
+WARN_FLAGS += -fdiagnostics-show-option -Wformat -Wformat-security
+ifeq ($(OS),Darwin)
+$(error This file should never be used for Mac - use base.xconfig)
+endif
ifeq ($(OS),Linux)
# We should always specify -Wl,--build-id, as documented at:
@@ -85,12 +113,9 @@ ifeq ($(OS),Linux)
# If the steam-runtime is available, use it. We should just default to using it when
# buildbot and everyone has a bit of time to get it installed.
ifneq "$(wildcard /valve/steam-runtime/bin/)" ""
- # The steam-runtime is incompatible with clang at this point, so disable it
- # if clang is enabled.
- ifneq ($(CXX),clang++)
- VALVE_BINDIR = /valve/steam-runtime/bin/
- endif
+ VALVE_BINDIR = /valve/steam-runtime/bin/
endif
+
GCC_VER =
MARCH_TARGET = pentium4
# On dedicated servers, some plugins depend on global variable symbols in addition to functions.
@@ -98,7 +123,10 @@ ifeq ($(OS),Linux)
STRIP_FLAGS = -x
endif
- ifeq ($(CXX),clang++)
+ ifeq ($(CLANG_BUILD),1)
+ # The steam-runtime is incompatible with clang at this point, so disable it
+ VALVE_BINDIR =
+
# Clang does not support -mfpmath=sse because it uses whatever
# instruction set extensions are available by default.
SSE_GEN_FLAGS = -msse2
@@ -114,19 +142,18 @@ ifeq ($(OS),Linux)
ifeq ($(origin AR), default)
AR = $(VALVE_BINDIR)ar crs
endif
- ifeq ($(origin CC),default)
+ ifeq ($(origin CC), default)
CC = $(CCACHE) $(VALVE_BINDIR)gcc$(GCC_VER)
endif
ifeq ($(origin CXX), default)
CXX = $(CCACHE) $(VALVE_BINDIR)g++$(GCC_VER)
endif
+
# Support ccache with clang. Add -Qunused-arguments to avoid excessive warnings due to
# a ccache quirk. Could also upgrade ccache.
# http://petereisentraut.blogspot.com/2011/05/ccache-and-clang.html
- ifeq ($(CC),clang)
+ ifeq ($(CLANG_BUILD),1)
CC = $(CCACHE) $(VALVE_BINDIR)clang -Qunused-arguments
- endif
- ifeq ($(CXX),clang++)
CXX = $(CCACHE) $(VALVE_BINDIR)clang++ -Qunused-arguments
endif
LINK ?= $(CC)
@@ -180,84 +207,6 @@ ifeq ($(OS),Linux)
endif
-ifeq ($(OS),Darwin)
- CCACHE := $(SRCROOT)/devtools/bin/osx32/ccache
- MAC_SDK_VER ?= 10.6
- MAC_SDK := macosx$(MAC_SDK_VER)
- SYSROOT := $(shell xcodebuild -sdk $(MAC_SDK) -version Path)
-
- ifneq ($(origin MAC_SDK_VER), file)
- $(warning Attempting build with SDK version $(MAC_SDK_VER), only 10.6 is supported and recommended!)
- endif
-
- ifeq ($(SYSROOT),)
- FIRSTSDK := $(firstword $(sort $(shell xcodebuild -showsdks | grep macosx | sed 's/.*macosx//')))
- $(error Could not find SDK version $(MAC_SDK_VER). Install and configure Xcode 4.3, or build with: make MAC_SDK_VER=$(FIRSTSDK))
- endif
-
- ifeq ($(origin CC), default)
- # Test to see if you have a compiler in the right place, if you
- # don't abort with an error
- CLANG := $(shell xcrun -sdk $(MAC_SDK) -find clang)
- ifeq ($(wildcard $(CLANG)),)
- $(error Unable to find C compiler, install and configure Xcode 4.3)
- endif
-
- CC := $(CCACHE) $(CLANG) -Qunused-arguments
- endif
-
- ifeq ($(origin CXX), default)
- CXXLANG := $(shell xcrun -sdk $(MAC_SDK) -find clang++)
- ifeq ($(wildcard $(CXXLANG)),)
- $(error Unable to find C++ compiler, install and configure Xcode 4.3)
- endif
-
- CXX := $(CCACHE) $(CXXLANG) -Qunused-arguments
- endif
- LINK ?= $(CXX)
-
- ifeq ($(origin AR), default)
- AR := $(shell xcrun -sdk $(MAC_SDK) -find libtool) -static -o
- endif
-
- ifeq ($(TARGET_PLATFORM),osx64)
- ARCH_FLAGS += -arch x86_64 -m64 -march=core2
- else ifeq (,$(findstring -arch x86_64,$(GCC_ExtraCompilerFlags)))
- ARCH_FLAGS += -arch i386 -m32 -march=prescott -momit-leaf-frame-pointer -mtune=core2
- else
- # dirty hack to build a universal binary - don't specify the architecture
- ARCH_FLAGS += -arch i386 -Xarch_i386 -march=prescott -Xarch_i386 -mtune=core2 -Xarch_i386 -momit-leaf-frame-pointer -Xarch_x86_64 -march=core2
- endif
-
- GEN_SYM ?= $(shell xcrun -sdk $(MAC_SDK) -find dsymutil)
- ifeq ($(CFG),release)
- STRIP ?= strip -S
- else
- STRIP ?= true
- endif
- ifeq ($(SOURCE_SDK), 1)
- VSIGN ?= true
- else
- VSIGN ?= $(SRCROOT)/devtools/bin/vsign
- endif
-
- CPPFLAGS += -I$(SYSROOT)/usr/include/malloc
- CFLAGS += -isysroot $(SYSROOT) -mmacosx-version-min=10.5 -fasm-blocks
-
- LIB_START_EXE = -lm -ldl -lpthread
- LIB_END_EXE =
-
- LIB_START_SHLIB =
- LIB_END_SHLIB =
-
- SHLIBLDFLAGS = $(LDFLAGS) -bundle -flat_namespace -undefined suppress -Wl,-dead_strip -Wl,-no_dead_strip_inits_and_terms
-
- ifeq (lib,$(findstring lib,$(GAMEOUTPUTFILE)))
- SHLIBLDFLAGS = $(LDFLAGS) -dynamiclib -current_version 1.0 -compatibility_version 1.0 -install_name @rpath/$(basename $(notdir $(GAMEOUTPUTFILE))).dylib $(SystemLibraries) -Wl,-dead_strip -Wl,-no_dead_strip_inits_and_terms
- endif
-
-endif
-
#
# Profile-directed optimizations.
# Note: Last time these were tested 3/5/08, it actually slowed down the server benchmark by 5%!