From 7bca89626e53f258397818a9b0d838a0a3e00f5b Mon Sep 17 00:00:00 2001 From: Ben Kaduk Date: Mon, 24 Jun 2013 18:19:45 -0400 Subject: [PATCH] Build with Visual Studio 2012 It's more aggressive about enforcing that keywords are not macros in C++ mode, and has bumped the MFC version to 11. Keep compatibility with older versions of Visual Studio, appropriately conditionalized. ticket: 7664 (new) tags: pullup target_version: 1.11.4 --- src/include/win-mac.h | 4 +++- src/windows/leash/Makefile.in | 9 +++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/include/win-mac.h b/src/include/win-mac.h index daec295b2c..2d8090adbf 100644 --- a/src/include/win-mac.h +++ b/src/include/win-mac.h @@ -119,8 +119,10 @@ typedef _W64 int ssize_t; #define NO_PASSWORD #define HAVE_STRERROR #define SYS_ERRLIST_DECLARED -/* if __STDC_VERSION__ >= 199901L this shouldn't be needed */ +/* Visual Studio 2012 errors out when we macroize keywords in C++ mode */ +#ifndef __cplusplus #define inline __inline +#endif #define NEED_INSIXADDR_ANY #define ENABLE_THREADS #endif diff --git a/src/windows/leash/Makefile.in b/src/windows/leash/Makefile.in index ec8cfa0d7b..28815f0001 100644 --- a/src/windows/leash/Makefile.in +++ b/src/windows/leash/Makefile.in @@ -14,11 +14,20 @@ AFS_INCLUDES= AFS_LIBS= !endif +# Need MFC version 11 for VS 2012; older VS get MFC version 10 +!if defined(VISUALSTUDIOVERSION) && "$(VISUALSTUDIOVERSION)" == "11.0" +!if defined(NODEBUG) +MFCLIB=MFC110.LIB +!else +MFCLIB=MFC110D.LIB +!endif +!else !if defined(NODEBUG) MFCLIB=MFC100.LIB !else MFCLIB=MFC100D.LIB !endif +!endif EXE_NAME=leash WSHELPER=wshelp32 -- 2.47.2