diff --git a/dtool/Config.Win32.pp b/dtool/Config.Win32.pp index b4b9bfbabc..fbb5f2e007 100644 --- a/dtool/Config.Win32.pp +++ b/dtool/Config.Win32.pp @@ -90,3 +90,9 @@ // Do we have (and presumably a Linux-style audio // interface)? #define HAVE_SYS_SOUNDCARD_H + +// can Intel C++ build this directory successfully (if not, change CC to msvc) +#define NOT_INTEL_BUILDABLE false + + + diff --git a/dtool/pptempl/Global.gmsvc.pp b/dtool/pptempl/Global.gmsvc.pp index c353c18f5b..2346bb18b4 100644 --- a/dtool/pptempl/Global.gmsvc.pp +++ b/dtool/pptempl/Global.gmsvc.pp @@ -61,6 +61,7 @@ #define CFLAGS_SHARED + // Define LINK_ALL_STATIC to generate static libs instead of DLL's. #if $[ne $[LINK_ALL_STATIC],] #define dlink_all_static LINK_ALL_STATIC @@ -74,6 +75,10 @@ #define dlllib dll #endif +#if $[and $[eq $[USE_COMPILER], INTEL], $[eq $[NOT_INTEL_BUILDABLE], true]] +#define USE_COMPILER MSVC +#endif + #if $[eq $[USE_COMPILER], MSVC] #define COMPILER cl #define LINKER link @@ -100,10 +105,10 @@ #define COMPILER icl #define LINKER xilink #define LIBBER xilib - #define COMMONFLAGS /Gi- -// #define OPTFLAGS /O3 /G6 /Qvc6 /Qwd985 /Qipo /QaxW /Qvec_report1 - #define OPTFLAGS /O3 /G6 /Qvc6 /Qwd985 - #define DEBUGFLAGS /MDd /Zi $[BROWSEINFO_FLAG] + #define COMMONFLAGS /Gi- /Qwd985 +// #define OPTFLAGS /O3 /G6 /Qvc6 /Qipo /QaxW /Qvec_report1 + #define OPTFLAGS /O3 /G6 /Qvc6 /Qip + #define DEBUGFLAGS /MDd /Zi /Qinline_debug_info #define RELEASEFLAGS /MD // We assume the Intel compiler installation dir is mounted as /ia32. #define EXTRA_LIBPATH /ia32/lib @@ -112,12 +117,16 @@ #error Invalid value specified for USE_COMPILER. #endif -#if $[PREPROCESSOR_OUTPUT] -#define COMMONFLAGS $[COMMONFLAGS] /E +#if $[CHECK_SYNTAX_ONLY] +#define END_CFLAGS $[END_CFLAGS] /Zs +#endif + +#if $[GEN_ASSEMBLY] +#define END_CFLAGS $[END_CFLAGS] /FAs #endif -#if $[GEN_ASSEMBLY] -#define COMMONFLAGS $[COMMONFLAGS] /FAs +#if $[PREPROCESSOR_OUTPUT] +#define END_CFLAGS $[END_CFLAGS] /E #endif #defer CDEFINES_OPT1 _DEBUG $[dlink_all_static] @@ -125,10 +134,11 @@ #defer CDEFINES_OPT3 $[dlink_all_static] #defer CDEFINES_OPT4 NDEBUG $[dlink_all_static] -#defer CFLAGS_OPT1 $[CDEFINES_OPT1:%=/D%] $[COMMONFLAGS] /GZ $[DEBUGFLAGS] -#defer CFLAGS_OPT2 $[CDEFINES_OPT2:%=/D%] $[COMMONFLAGS] $[DEBUGFLAGS] $[OPTFLAGS] -#defer CFLAGS_OPT3 $[CDEFINES_OPT3:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS] -#defer CFLAGS_OPT4 $[CDEFINES_OPT4:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS] +// /GZ disables OPT flags, so OPT1 only +#defer CFLAGS_OPT1 $[CDEFINES_OPT1:%=/D%] $[COMMONFLAGS] /GZ $[DEBUGFLAGS] +#defer CFLAGS_OPT2 $[CDEFINES_OPT2:%=/D%] $[COMMONFLAGS] $[DEBUGFLAGS] $[OPTFLAGS] +#defer CFLAGS_OPT3 $[CDEFINES_OPT3:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS] +#defer CFLAGS_OPT4 $[CDEFINES_OPT4:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS] #if $[ENABLE_PROFILING] // note according to docs, this should force /PDB:none /DEBUGTYPE:cv, so no pdb file is generated for debug?? (doesnt seem to be true) @@ -168,7 +178,7 @@ #define WARNING_LEVEL_FLAG /W3 #endif -#defer extra_cflags /EHsc /Zm250 /DWIN32_VC /DWIN32 $[WARNING_LEVEL_FLAG] +#defer extra_cflags /EHsc /Zm250 /DWIN32_VC /DWIN32 $[WARNING_LEVEL_FLAG] $[END_CFLAGS] #defer COMPILE_C $[COMPILER] /nologo /c /Fo"$[osfilename $[target]]" $[decygwin %,/I"%",$[EXTRA_INCPATH] $[ipath]] $[flags] $[extra_cflags] $[source] #defer COMPILE_C++ $[COMPILE_C] diff --git a/dtool/pptempl/Global.msvc.pp b/dtool/pptempl/Global.msvc.pp index 6065d81583..373afad038 100644 --- a/dtool/pptempl/Global.msvc.pp +++ b/dtool/pptempl/Global.msvc.pp @@ -76,6 +76,10 @@ #define CFLAGS_SHARED +#if $[and $[eq $[USE_COMPILER], INTEL], $[eq $[NOT_INTEL_BUILDABLE], true]] +#define USE_COMPILER MSVC +#endif + #if $[eq $[USE_COMPILER], MSVC] #define COMPILER cl #define LINKER link @@ -112,12 +116,16 @@ #error Invalid value specified for USE_COMPILER. #endif -#if $[PREPROCESSOR_OUTPUT] -#define COMMONFLAGS $[COMMONFLAGS] /E +#if $[CHECK_SYNTAX_ONLY] +#define END_CFLAGS $[END_CFLAGS] /Zs +#endif + +#if $[GEN_ASSEMBLY] +#define END_CFLAGS $[END_CFLAGS] /FAs #endif -#if $[GEN_ASSEMBLY] -#define COMMONFLAGS $[COMMONFLAGS] /FAs +#if $[PREPROCESSOR_OUTPUT] +#define END_CFLAGS $[END_CFLAGS] /E #endif #defer CDEFINES_OPT1 _DEBUG $[dlink_all_static] @@ -168,7 +176,7 @@ #define WARNING_LEVEL_FLAG /W3 #endif -#defer extra_cflags /EHsc /Zm250 /DWIN32_VC /DWIN32 $[WARNING_LEVEL_FLAG] +#defer extra_cflags /EHsc /Zm250 /DWIN32_VC /DWIN32 $[WARNING_LEVEL_FLAG] $[END_CFLAGS] #defer COMPILE_C $[COMPILER] /nologo /c /Fo"$[osfilename $[target]]" $[decygwin %,/I"%",$[EXTRA_INCPATH] $[ipath]] $[flags] $[extra_cflags] $[source] #defer COMPILE_C++ $[COMPILE_C] diff --git a/panda/src/chancfg/Sources.pp b/panda/src/chancfg/Sources.pp index 9a9f0db084..0ea4bba9f3 100644 --- a/panda/src/chancfg/Sources.pp +++ b/panda/src/chancfg/Sources.pp @@ -1,6 +1,9 @@ #define OTHER_LIBS interrogatedb:c dconfig:c dtoolconfig:m \ dtoolutil:c dtoolbase:c dtool:m +// need to modify global scope +#set NOT_INTEL_BUILDABLE true + #begin lib_target #define TARGET chancfg #define LOCAL_LIBS \ diff --git a/panda/src/char/Sources.pp b/panda/src/char/Sources.pp index 251432d2a1..0b9ca41b9f 100644 --- a/panda/src/char/Sources.pp +++ b/panda/src/char/Sources.pp @@ -1,5 +1,8 @@ #define OTHER_LIBS interrogatedb:c dconfig:c dtoolconfig:m \ dtoolutil:c dtoolbase:c dtool:m + +// need to modify global scope +#set NOT_INTEL_BUILDABLE true #begin lib_target #define TARGET char diff --git a/panda/src/collide/Sources.pp b/panda/src/collide/Sources.pp index 0cd705ba21..9e2e162acf 100644 --- a/panda/src/collide/Sources.pp +++ b/panda/src/collide/Sources.pp @@ -1,5 +1,8 @@ #define OTHER_LIBS interrogatedb:c dconfig:c dtoolconfig:m \ dtoolutil:c dtoolbase:c dtool:m + +// need to modify global scope +#set NOT_INTEL_BUILDABLE true #begin lib_target #define TARGET collide diff --git a/panda/src/device/Sources.pp b/panda/src/device/Sources.pp index 16e9621efc..bb129ad9c1 100644 --- a/panda/src/device/Sources.pp +++ b/panda/src/device/Sources.pp @@ -1,5 +1,8 @@ #define OTHER_LIBS interrogatedb:c dconfig:c dtoolconfig:m \ dtoolutil:c dtoolbase:c dtool:m + +// need to modify global scope +#set NOT_INTEL_BUILDABLE true #begin lib_target #define TARGET device diff --git a/panda/src/display/Sources.pp b/panda/src/display/Sources.pp index 2f9f29cd7b..4bdb85acb3 100644 --- a/panda/src/display/Sources.pp +++ b/panda/src/display/Sources.pp @@ -1,5 +1,8 @@ #define OTHER_LIBS interrogatedb:c dconfig:c dtoolconfig:m \ dtoolutil:c dtoolbase:c dtool:m + +// need to modify global scope +#set NOT_INTEL_BUILDABLE true #begin lib_target #define TARGET display diff --git a/panda/src/gui/Sources.pp b/panda/src/gui/Sources.pp index 3ea87e666b..380c76e73f 100644 --- a/panda/src/gui/Sources.pp +++ b/panda/src/gui/Sources.pp @@ -1,6 +1,9 @@ #define OTHER_LIBS interrogatedb:c dconfig:c dtoolconfig:m \ dtoolutil:c dtoolbase:c dtool:m +// need to modify global scope +#set NOT_INTEL_BUILDABLE true + #begin lib_target #define TARGET gui