# Makefile to build perl on Windows using DMAKE.
# Supported compilers:
# Microsoft Visual C++ 6.0 or later
-# MinGW with gcc-3.4.5 or later
+# MinGW with gcc-3.4.5 or later with runtime < 3.21
+# MinGW64 with gcc-4.4.3 or later
# Windows SDK 64-bit compiler and tools
#
# This is set up to build a perl.exe that runs off a shared library
-# (perl527.dll). Also makes individual DLLs for the XS extensions.
+# (perl528.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.27.11
+#INST_VER *= \5.28.0
#
# Comment this out if you DON'T want your perl installation to have
# set this to additionally provide a statically linked perl-static.exe.
# Note that dynamic loading will not work with this perl, so you must
# include required modules statically using the STATIC_EXT or ALL_STATIC
-# variables below. A static library perl527s.lib will also be created.
+# variables below. A static library perl528s.lib will also be created.
# Ordinary perl.exe is not affected by this option.
#
#BUILD_STATIC *= define
CFGSH_TMPL = config.gc
CFGH_TMPL = config_H.gc
-PERLIMPLIB = $(COREDIR)\libperl527$(a)
-PERLSTATICLIB = ..\libperl527s$(a)
+PERLIMPLIB = $(COREDIR)\libperl528$(a)
+PERLSTATICLIB = ..\libperl528s$(a)
INT64 = long long
.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 *= $(COREDIR)\perl527$(a)
-PERLEXPLIB *= $(COREDIR)\perl527.exp
-PERLSTATICLIB *= ..\perl527s$(a)
-PERLDLL = ..\perl527.dll
-PERLDLLBASE = perl527.dll
+PERLIMPLIB *= $(COREDIR)\perl528$(a)
+PERLEXPLIB *= $(COREDIR)\perl528.exp
+PERLSTATICLIB *= ..\perl528s$(a)
+PERLDLL = ..\perl528.dll
+PERLDLLBASE = perl528.dll
#EUMM on Win32 isn't ready for parallel make, so only allow this file to be parallel
#$(MAKE) will contain the -P that this makefile was called with, which is bad for
echo #define Off_t_size ^4)>> config.h
.ENDIF
.IF "$(WIN64)"=="define"
+.IF "$(CCTYPE)" == "GCC"
+ @(echo #define LONG_DOUBLESIZE ^16)>> config.h
+.ELSE
+ @(echo #define LONG_DOUBLESIZE ^8)>> config.h
+.ENDIF
@(echo #define PTRSIZE ^8&& \
echo #define SSize_t $(INT64)&& \
echo #define HAS_ATOLL&& \
echo #define HAS_STRTOULL&& \
echo #define Size_t_size ^8)>> config.h
.ELSE
+.IF "$(CCTYPE)" == "GCC"
+ @(echo #define LONG_DOUBLESIZE ^12)>> config.h
+.ELSE
+ @(echo #define LONG_DOUBLESIZE ^8)>> config.h
+.ENDIF
@(echo #define PTRSIZE ^4&& \
echo #define SSize_t int&& \
echo #undef HAS_ATOLL&& \
echo #define PERL_PRIgldbl "Lg"&& \
echo #define PERL_PRIeldbl "Le"&& \
echo #define PERL_SCNfldbl "Lf"&& \
- echo #define NVTYPE long double)>> config.h
-.IF "$(WIN64)"=="define"
- @(echo #define NVSIZE ^16&& \
- echo #define LONG_DOUBLESIZE ^16)>> config.h
-.ELSE
- @(echo #define NVSIZE ^12&& \
- echo #define LONG_DOUBLESIZE ^12)>> config.h
-.ENDIF
- @(echo #define NV_OVERFLOWS_INTEGERS_AT 256.0*256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0&& \
+ echo #define NVTYPE long double&& \
+ echo #define NVSIZE LONG_DOUBLESIZE&& \
+ echo #define NV_OVERFLOWS_INTEGERS_AT 256.0*256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0&& \
echo #define NVef "Le"&& \
echo #define NVff "Lf"&& \
echo #define NVgf "Lg"&& \
echo #undef PERL_SCNfldbl&& \
echo #define NVTYPE double&& \
echo #define NVSIZE ^8&& \
- echo #define LONG_DOUBLESIZE ^8&& \
echo #define NV_OVERFLOWS_INTEGERS_AT 256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0&& \
echo #define NVef "e"&& \
echo #define NVff "f"&& \
copy ..\README.tw ..\pod\perltw.pod
copy ..\README.vos ..\pod\perlvos.pod
copy ..\README.win32 ..\pod\perlwin32.pod
- copy ..\pod\perldelta.pod ..\pod\perl52711delta.pod
+ copy ..\pod\perldelta.pod ..\pod\perl5290delta.pod
$(MINIPERL) -I..\lib $(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 \
- perl52711delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
+ perl5290delta.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 \