following compilers on the Intel x86 architecture:
Microsoft Visual C++ version 6.0 or later
- Intel C++ Compiler (experimental, nmake only)
+ Intel C++ Compiler (experimental)
Gcc by mingw.org gcc version 3.2 or later
Gcc by mingw-w64.sf.net gcc version 4.4.3 or later
=item Intel C++ Compiler
-Experimental support for using Intel C++ Compiler has been added. You must use
-nmake, not dmake. Edit win32/Makefile and pick the correct CCTYPE for the
-Visual C that Intel C was installed into. Also uncomment __ICC to enable Intel
-C on Visual C support. To set up the build enviroment, from the Start Menu run
+Experimental support for using Intel C++ Compiler has been added. Edit
+win32/Makefile and pick the correct CCTYPE for the Visual C that Intel C was
+installed into. Also uncomment __ICC to enable Intel C on Visual C support.
+To set up the build enviroment, from the Start Menu run
IA-32 Visual Studio 20__ mode or Intel 64 Visual Studio 20__ mode as
appropriate. Then run nmake as usually in that prompt box.
=over 4
-=item XXX-some-platform
+=item Windows
-XXX
+Experimental support for building with Intel C++ Compiler has been extended to
+cover the dmake makefile (win32/makefile.mk) as well.
=back
# MinGW or mingw-w64 with gcc-3.2 or later
CCTYPE *= GCC
+#
+# If you are using Intel C++ Compiler uncomment this
+#
+#__ICC *= define
+
#
# uncomment next line if you want debug version of perl (big,slow)
# If not enabled, we automatically try to use maximum optimization
PREMSVC80 = undef
.ENDIF
+.IF "$(__ICC)" != "define"
CC = cl
LINK32 = link
+.ELSE
+CC = icl
+LINK32 = xilink
+.ENDIF
LIB32 = $(LINK32) -lib
RSC = rc
netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib \
version.lib odbc32.lib odbccp32.lib comctl32.lib
+# Avoid __intel_new_proc_init link error for libircmt.
+# libmmd is /MD equivelent, other variants exist.
+# libmmd is Intel C's math addon funcs to MS CRT, contains long doubles, C99,
+# and optimized C89 funcs
+.IF "$(__ICC)" == "define"
+LIBBASEFILES += libircmt.lib libmmd.lib
+.ENDIF
+
# The 64 bit Windows Server 2003 SP1 SDK compilers link against MSVCRT.dll, which
# doesn't include the buffer overrun verification code used by the /GS switch.
# Since the code links against libraries that are compiled with /GS, this