# versioned installation can be obtained by setting INST_TOP above to a
# path that includes an arbitrary version string.
#
-#INST_VER *= \5.19.6
+#INST_VER *= \5.19.11
#
# Comment this out if you DON'T want your perl installation to have
#USE_SITECUST *= define
#
-# uncomment to enable multiple interpreters. This is need for fork()
-# emulation and for thread support.
+# uncomment to enable multiple interpreters. This is needed for fork()
+# emulation and for thread support, and is auto-enabled by USE_IMP_SYS
+# and USE_ITHREADS below.
#
USE_MULTI *= define
#
# Interpreter cloning/threads; now reasonably complete.
-# This should be enabled to get the fork() emulation.
-# This needs USE_MULTI above.
+# This should be enabled to get the fork() emulation. This needs (and
+# will auto-enable) USE_MULTI above.
#
USE_ITHREADS *= define
#
# uncomment to enable the implicit "host" layer for all system calls
-# made by perl. This needs USE_MULTI above.
-# This is also needed to get fork().
+# made by perl. This is also needed to get fork(). This needs (and
+# will auto-enable) USE_MULTI above.
#
USE_IMP_SYS *= define
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
# with all compilers that are known to have a working optimizer.
PREMSVC80 = undef
.ENDIF
+.IF "$(__ICC)" != "define"
CC = cl
LINK32 = link
+.ELSE
+CC = icl
+LINK32 = xilink
+.ENDIF
LIB32 = $(LINK32) -lib
RSC = rc
# installed to get better stack traces from just the PDB symbols, so we
# avoid the bloat of COFF symbols by default.
#LINK_DBG = $(LINK_DBG) -debugtype:both
-.IF "$(WIN64)" == "define"
+.IF "$(CCTYPE)" != "MSVC60"
# enable Whole Program Optimizations (WPO) and Link Time Code Generation (LTCG)
OPTIMIZE += -GL
LINK_DBG += -ltcg
+LIB_FLAGS = -ltcg
.ENDIF
.ENDIF
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
LINK_FLAGS = -nologo -nodefaultlib $(LINK_DBG) \
-libpath:"$(INST_COREDIR)" \
-machine:$(PROCESSOR_ARCHITECTURE)
-LIB_FLAGS = -nologo
+LIB_FLAGS = $(LIB_FLAGS) -nologo
OBJOUT_FLAG = -Fo
EXEOUT_FLAG = -Fe
LIBOUT_FLAG = /out:
MICROCORE_SRC = \
..\av.c \
+ ..\caretx.c \
..\deb.c \
..\doio.c \
..\doop.c \
..\perl.h \
..\perlapi.h \
..\perlsdio.h \
- ..\perlsfio.h \
..\perly.h \
..\pp.h \
..\proto.h \
$(XCOPY) ..\*.h $(COREDIR)\*.*
$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic +re
-Extensions_static : ..\make_ext.pl ..\lib\buildcustomize.pl list_static_libs.pl $(PERLDEP) $(CONFIGPM)
+Extensions_static : ..\make_ext.pl ..\lib\buildcustomize.pl list_static_libs.pl $(PERLDEP) $(CONFIGPM) Extensions_nonxs
$(XCOPY) ..\*.h $(COREDIR)\*.*
$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --static
$(MINIPERL) -I..\lib list_static_libs.pl > Extensions_static
cd ..\utils && $(MAKE) PERL=$(MINIPERL)
copy ..\README.aix ..\pod\perlaix.pod
copy ..\README.amiga ..\pod\perlamiga.pod
+ copy ..\README.android ..\pod\perlandroid.pod
copy ..\README.bs2000 ..\pod\perlbs2000.pod
copy ..\README.ce ..\pod\perlce.pod
copy ..\README.cn ..\pod\perlcn.pod
copy ..\README.riscos ..\pod\perlriscos.pod
copy ..\README.solaris ..\pod\perlsolaris.pod
copy ..\README.symbian ..\pod\perlsymbian.pod
+ copy ..\README.synology ..\pod\perlsynology.pod
copy ..\README.tru64 ..\pod\perltru64.pod
copy ..\README.tw ..\pod\perltw.pod
copy ..\README.vos ..\pod\perlvos.pod
copy ..\README.win32 ..\pod\perlwin32.pod
- copy ..\pod\perldelta.pod ..\pod\perl5196delta.pod
+ copy ..\pod\perldelta.pod ..\pod\perl51911delta.pod
$(PERLEXE) $(PL2BAT) $(UTILS)
$(MINIPERL) -I..\lib ..\autodoc.pl ..
$(MINIPERL) -I..\lib ..\pod\perlmodlib.PL -q ..
-if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API
-if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
-cd $(PODDIR) && del /f *.html *.bat roffitall \
- perl5196delta.pod perlaix.pod perlamiga.pod perlapi.pod \
- perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod perldos.pod \
- perlfreebsd.pod perlhaiku.pod perlhpux.pod perlhurd.pod \
- perlintern.pod perlirix.pod perljp.pod perlko.pod perllinux.pod \
- perlmacos.pod perlmacosx.pod perlmodlib.pod perlnetware.pod \
- perlopenbsd.pod perlos2.pod perlos390.pod perlos400.pod \
- perlplan9.pod perlqnx.pod perlriscos.pod perlsolaris.pod \
- perlsymbian.pod perltoc.pod perltru64.pod perltw.pod \
- perluniprops.pod perlvos.pod perlwin32.pod
+ perl51911delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
+ perlapi.pod perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \
+ perldos.pod perlfreebsd.pod perlhaiku.pod perlhpux.pod \
+ perlhurd.pod perlintern.pod perlirix.pod perljp.pod perlko.pod \
+ perllinux.pod perlmacos.pod perlmacosx.pod perlmodlib.pod \
+ perlnetware.pod perlopenbsd.pod perlos2.pod perlos390.pod \
+ perlos400.pod perlplan9.pod perlqnx.pod perlriscos.pod \
+ perlsolaris.pod perlsymbian.pod perlsynology.pod perltoc.pod \
+ perltru64.pod perltw.pod perluniprops.pod perlvos.pod \
+ perlwin32.pod
-cd ..\utils && del /f h2ph splain perlbug pl2pm c2ph pstruct h2xs \
perldoc perlivp libnetcfg enc2xs piconv cpan *.bat \
xsubpp pod2html instmodsh json_pp prove ptar ptardiff ptargrep shasum corelist config_data zipdetails