# MS Platform SDK 64-bit compiler and tools **experimental**
#
# This is set up to build a perl.exe that runs off a shared library
-# (perl58.dll). Also makes individual DLLs for the XS extensions.
+# (perl59.dll). Also makes individual DLLs for the XS extensions.
#
##
# versioned installation can be obtained by setting INST_TOP above to a
# path that includes an arbitrary version string.
#
-INST_VER *= \5.7.3
+INST_VER *= \5.9.0
#
# Comment this out if you DON'T want your perl installation to have
#
# uncomment to enable multiple interpreters. This is need for fork()
-# emulation.
+# emulation and for thread support.
#
USE_MULTI *= define
#
-# Beginnings of interpreter cloning/threads; still very incomplete.
-# This should be enabled to get the fork() emulation. This needs
-# USE_MULTI as well.
+# Interpreter cloning/threads; now reasonably complete.
+# This should be enabled to get the fork() emulation.
+# This needs 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 needs USE_MULTI above.
+# This is also needed to get fork().
#
USE_IMP_SYS *= define
#
-# Comment to disable I/O subsystem and use compiler's stdio for IO
+# Comment out next assign to disable perl's I/O subsystem and use compiler's
+# stdio for IO - depending on your compiler vendor and run time library you may
+# then get a number of fails from make test i.e. bugs - complain to them not us ;-).
+# You will also be unable to take full advantage of perl5.8's support for multiple
+# encodings and may see lower IO performance. You have been warned.
USE_PERLIO = define
#
-# WARNING! This option is deprecated and will eventually go away (enable
-# USE_ITHREADS instead).
-#
-# uncomment to enable threads-capabilities. This is incompatible with
-# USE_ITHREADS, and is only here for people who may have come to rely
-# on the experimental Thread support that was in 5.005.
-#
-#USE_5005THREADS *= define
-
-#
# uncomment exactly one of the following
#
# Visual C++ 2.x
#CCTYPE *= BORLAND
# mingw32+gcc-2.95.2 or better
#CCTYPE *= GCC
+# Uncomment this if you are using the latest MinGW release (2.0.0)
+# with gcc3.2
+#USE_GCC_V3_2 *= define
#
# uncomment this if your Borland compiler is older than v5.4.
# If not enabled, we automatically try to use maximum optimization
# with all compilers that are known to have a working optimizer.
#
-CFG *= Debug
+#CFG *= Debug
#
# uncomment to enable use of PerlCRT.DLL when using the Visual C compiler.
PERL_MALLOC *= undef
-USE_5005THREADS *= undef
-
-.IF "$(USE_5005THREADS)" == "define"
-USE_ITHREADS != undef
-.ENDIF
-
-.IF "$(USE_IMP_SYS)" == "define"
-PERL_MALLOC != undef
-.ENDIF
-
USE_MULTI *= undef
USE_ITHREADS *= undef
USE_IMP_SYS *= undef
USE_PERLIO *= undef
USE_PERLCRT *= undef
-.IF "$(USE_IMP_SYS)$(USE_MULTI)$(USE_5005THREADS)" == "defineundefundef"
+.IF "$(USE_IMP_SYS)$(USE_MULTI)" == "defineundef"
USE_MULTI != define
.ENDIF
.IF "$(USE_ITHREADS)$(USE_MULTI)" == "defineundef"
USE_MULTI != define
-USE_5005THREADS != undef
.ENDIF
-.IF "$(USE_MULTI)$(USE_5005THREADS)" != "undefundef"
+.IF "$(USE_MULTI)" != "undef"
BUILDOPT += -DPERL_IMPLICIT_CONTEXT
.ENDIF
.ENDIF
.ENDIF
-.IF "$(USE_5005THREADS)" == "define"
-ARCHNAME = MSWin32-$(PROCESSOR_ARCHITECTURE)-thread
-.ELIF "$(USE_MULTI)" == "define"
+.IF "$(USE_MULTI)" == "define"
ARCHNAME = MSWin32-$(PROCESSOR_ARCHITECTURE)-multi
.ELSE
.IF "$(USE_PERLIO)" == "define"
CC = gcc
LINK32 = gcc
+.IF "$(USE_GCC_V3_2)" == "define"
+LINK32 = g++
+.END
LIB32 = ar rc
IMPLIB = dlltool
RSC = rc
CFGSH_TMPL = config.gc
CFGH_TMPL = config_H.gc
-PERLIMPLIB = ..\libperl58$(a)
+PERLIMPLIB = ..\libperl59$(a)
.ELSE
# makedef.pl must be updated if this changes, and this should normally
# only change when there is an incompatible revision of the public API.
-PERLIMPLIB *= ..\perl58$(a)
-PERLDLL = ..\perl58.dll
+PERLIMPLIB *= ..\perl59$(a)
+PERLDLL = ..\perl59.dll
XCOPY = xcopy /f /r /i /d
RCOPY = xcopy /f /r /i /e /d
..\mg.c \
..\numeric.c \
..\op.c \
+ ..\pad.c \
..\perl.c \
..\perlapi.c \
..\perly.c \
DYNAMIC_EXT = Socket IO Fcntl Opcode SDBM_File POSIX attrs Thread B re \
Data/Dumper Devel/Peek ByteLoader Devel/DProf File/Glob \
Sys/Hostname Storable Filter/Util/Call Encode \
- Digest/MD5 PerlIO/Scalar MIME/Base64 Time/HiRes \
+ Digest/MD5 PerlIO/scalar MIME/Base64 Time/HiRes \
Unicode/Normalize
STATIC_EXT = DynaLoader
NONXS_EXT = Errno
_a=$(a) ~ \
lib_ext=$(a) ~ \
static_ext=$(STATIC_EXT) ~ \
- use5005threads=$(USE_5005THREADS) ~ \
useithreads=$(USE_ITHREADS) ~ \
- usethreads=$(USE_5005THREADS) ~ \
usemultiplicity=$(USE_MULTI) ~ \
useperlio=$(USE_PERLIO) ~ \
LINK_FLAGS=$(LINK_FLAGS:s/\/\\/) ~ \
copy ..\README.dgux ..\pod\perldgux.pod
copy ..\README.dos ..\pod\perldos.pod
copy ..\README.epoc ..\pod\perlepoc.pod
+ copy ..\README.freebsd ..\pod\perlfreebsd.pod
copy ..\README.hpux ..\pod\perlhpux.pod
copy ..\README.hurd ..\pod\perlhurd.pod
+ copy ..\README.irix ..\pod\perlirix.pod
copy ..\README.machten ..\pod\perlmachten.pod
copy ..\README.macos ..\pod\perlmacos.pod
copy ..\README.mint ..\pod\perlmint.pod
copy ..\README.netware ..\pod\perlnetware.pod
copy ..\README.os2 ..\pod\perlos2.pod
copy ..\README.os390 ..\pod\perlos390.pod
+ copy ..\README.os400 ..\pod\perlos400.pod
copy ..\README.plan9 ..\pod\perlplan9.pod
copy ..\README.qnx ..\pod\perlqnx.pod
copy ..\README.solaris ..\pod\perlsolaris.pod
-del /f $(LIBDIR)\SDBM_File.pm $(LIBDIR)\Socket.pm $(LIBDIR)\POSIX.pm
-del /f $(LIBDIR)\B.pm $(LIBDIR)\O.pm $(LIBDIR)\re.pm
-del /f $(LIBDIR)\Data\Dumper.pm $(LIBDIR)\ByteLoader.pm
- -del /f $(LIBDIR)\PerlIO\Scalar.pm
+ -del /f $(LIBDIR)\PerlIO\scalar.pm
-del /f $(LIBDIR)\Devel\Peek.pm $(LIBDIR)\Devel\DProf.pm
-del /f $(LIBDIR)\File\Glob.pm
-del /f $(LIBDIR)\Storable.pm
-del /f $(LIBDIR)\Scalar\Util.pm
-del /f $(LIBDIR)\Unicode\Normalize.pm
-if exist $(LIBDIR)\IO rmdir /s /q $(LIBDIR)\IO || rmdir /s $(LIBDIR)\IO
- -if exist $(LIBDIR)\Thread rmdir /s /q $(LIBDIR)\Thread || rmdir /s $(LIBDIR)\Thread
-if exist $(LIBDIR)\B rmdir /s /q $(LIBDIR)\B || rmdir /s $(LIBDIR)\B
-if exist $(LIBDIR)\Data rmdir /s /q $(LIBDIR)\Data || rmdir /s $(LIBDIR)\Data
-if exist $(LIBDIR)\Filter\Util\Call rmdir /s /q $(LIBDIR)\Filter\Util\Call || rmdir /s $(LIBDIR)\Filter
-cd $(PODDIR) && del /f *.html *.bat checkpods \
perlaix.pod perlamiga.pod perlapollo.pod \
perlbeos.pod perlbs2000.pod perlce.pod perlcygwin.pod perldgux.pod \
- perldos.pod perlepoc.pod perlhpux.pod perlhurd.pod \
- perlmachten.pod perlmint.pod \
+ perldos.pod perlepoc.pod perlfreebsd.pod perlhpux.pod perlhurd.pod \
+ perlirix.pod perlmachten.pod perlmint.pod \
perlmacos.pod perlmpeix.pod perlnetware.pod \
- perlos2.pod perlos390.pod \
+ perlos2.pod perlos390.pod perlos400.pod \
perlplan9.pod perlqnx.pod \
perlsolaris.pod perltru64.pod perluts.pod \
perlvmesa.pod perlvms.pod perlvos.pod \