summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Kaduk <kaduk@mit.edu>2013-06-24 18:19:45 -0400
committerBen Kaduk <kaduk@mit.edu>2013-06-25 17:07:13 -0400
commit7bca89626e53f258397818a9b0d838a0a3e00f5b (patch)
treea627fc99abc51fd695482adbdcb3839edc4597d8
parent90f6507c3b94b22ea78dc5e7054af501a80932f0 (diff)
downloadkrb5-7bca89626e53f258397818a9b0d838a0a3e00f5b.tar.gz
krb5-7bca89626e53f258397818a9b0d838a0a3e00f5b.tar.xz
krb5-7bca89626e53f258397818a9b0d838a0a3e00f5b.zip
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
-rw-r--r--src/include/win-mac.h4
-rw-r--r--src/windows/leash/Makefile.in9
2 files changed, 12 insertions, 1 deletions
diff --git a/src/include/win-mac.h b/src/include/win-mac.h
index daec295b2..2d8090adb 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 ec8cfa0d7..28815f000 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