We no longer need PL_shared_hek_table
[p5sagit/p5-mst-13.2.git] / win32 / makefile.mk
index 137abe9..5aa8efb 100644 (file)
@@ -34,7 +34,7 @@ INST_TOP      *= $(INST_DRV)\perl
 # versioned installation can be obtained by setting INST_TOP above to a
 # path that includes an arbitrary version string.
 #
-#INST_VER      *= \5.9.2
+#INST_VER      *= \5.9.3
 
 #
 # Comment this out if you DON'T want your perl installation to have
@@ -48,6 +48,14 @@ INST_TOP     *= $(INST_DRV)\perl
 #INST_ARCH     *= \$(ARCHNAME)
 
 #
+# Uncomment this if you want perl to run
+#      $Config{sitelibexp}\sitecustomize.pl
+# before anything else.  This script can then be set up, for example,
+# to add additional entries to @INC.
+#
+#USE_SITECUST  *= define
+
+#
 # uncomment to enable multiple interpreters.  This is need for fork()
 # emulation and for thread support.
 #
@@ -79,7 +87,7 @@ USE_PERLIO    *= define
 # Comment this out if you don't want to enable large file support for
 # some reason.  Should normally only be changed to maintain compatibility
 # with an older release of perl.
-USE_LARGE_FILES *= define
+USE_LARGE_FILES        *= define
 
 #
 # uncomment exactly one of the following
@@ -97,10 +105,10 @@ CCTYPE             *= GCC
 
 #
 # uncomment this if your Borland compiler is older than v5.4.
-#BCCOLD = define
+#BCCOLD                *= define
 #
 # uncomment this if you want to use Borland's VCL as your CRT
-#BCCVCL = define
+#BCCVCL                *= define
 
 #
 # uncomment this if you are compiling under Windows 95/98 and command.com
@@ -186,6 +194,16 @@ CCLIBDIR   *= $(CCHOME)\lib
 #
 
 #
+# Adding -DPERL_HASH_SEED_EXPLICIT will disable randomization of Perl's
+# internal hash function unless the PERL_HASH_SEED environment variable is set.
+# Alternatively, adding -DNO_HASH_SEED will completely disable the
+# randomization feature. 
+# The latter is required to maintain binary compatibility with Perl 5.8.0.
+#
+#BUILDOPT      += -DPERL_HASH_SEED_EXPLICIT
+#BUILDOPT      += -DNO_HASH_SEED
+
+#
 # This should normally be disabled.  Adding -DPERL_POLLUTE enables support
 # for old symbols by default, at the expense of extreme pollution.  You most
 # probably just want to build modules that won't compile with
@@ -204,6 +222,7 @@ CCLIBDIR    *= $(CCHOME)\lib
 #
 # This should normally be disabled.  Enabling it causes perl to read scripts
 # in text mode (which is the 5.005 behavior) and will break ByteLoader.
+#
 #BUILDOPT      += -DPERL_TEXTMODE_SCRIPTS
 
 #
@@ -240,6 +259,7 @@ CRYPT_FLAG  = -DHAVE_DES_FCRYPT
 PERL_MALLOC    *= undef
 DEBUG_MSTATS   *= undef
 
+USE_SITECUST   *= undef
 USE_MULTI      *= undef
 USE_ITHREADS   *= undef
 USE_IMP_SYS    *= undef
@@ -267,6 +287,10 @@ USE_MULTI  != define
 USE_MULTI      != define
 .ENDIF
 
+.IF "$(USE_SITECUST)" == "define"
+BUILDOPT       += -DUSE_SITECUSTOMIZE
+.ENDIF
+
 .IF "$(USE_MULTI)" != "undef"
 BUILDOPT       += -DPERL_IMPLICIT_CONTEXT
 .ENDIF
@@ -831,7 +855,7 @@ 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 \
-               Unicode/Normalize Win32
+               Unicode/Normalize Math/BigInt/FastCalc Compress/Zlib Win32
 STATIC_EXT     = 
 NONXS_EXT      = Errno
 
@@ -874,6 +898,7 @@ CFG_VARS    =                                       \
                usemultiplicity=$(USE_MULTI)    ~       \
                useperlio=$(USE_PERLIO)         ~       \
                uselargefiles=$(USE_LARGE_FILES)        ~       \
+               usesitecustomize=$(USE_SITECUST)        ~       \
                LINK_FLAGS=$(LINK_FLAGS:s,\,$B,)        ~       \
                optimize=$(OPTIMIZE)
 
@@ -999,13 +1024,13 @@ $(CONFIGPM) : $(MINIPERL) ..\config.sh config_h.PL ..\minimod.pl
 $(MINIPERL) : $(MINIDIR) $(MINI_OBJ) $(CRTIPMLIBS)
 .IF "$(CCTYPE)" == "BORLAND"
        $(LINK32) -Tpe -ap $(BLINK_FLAGS) \
-           @$(mktmp c0x32$(o) $(MINI_OBJ:s,\,\\),$(@:s,\,\\),,$(LIBFILES),)
+           @$(mktmp c0x32$(o) $(MINI_OBJ:s,\,$B,),$(@:s,\,$B,),,$(LIBFILES),)
 .ELIF "$(CCTYPE)" == "GCC"
        $(LINK32) -v -mconsole -o $@ $(BLINK_FLAGS) \
-           $(mktmp $(LKPRE) $(MINI_OBJ:s,\,\\) $(LIBFILES) $(LKPOST))
+           $(mktmp $(LKPRE) $(MINI_OBJ:s,\,$B,) $(LIBFILES) $(LKPOST))
 .ELSE
        $(LINK32) -subsystem:console -out:$@ \
-           @$(mktmp $(BLINK_FLAGS) $(LIBFILES) $(MINI_OBJ:s,\,\\))
+           @$(mktmp $(BLINK_FLAGS) $(LIBFILES) $(MINI_OBJ:s,\,$B,))
 .ENDIF
 
 $(MINIDIR) :
@@ -1049,15 +1074,15 @@ perldll.def : $(MINIPERL) $(CONFIGPM) ..\global.sym ..\pp.sym ..\makedef.pl
 $(PERLDLL): perldll.def $(PERLDLL_OBJ) $(PERLDLL_RES) Extensions_static
 .IF "$(CCTYPE)" == "BORLAND"
        $(LINK32) -Tpd -ap $(BLINK_FLAGS) \
-           @$(mktmp c0d32$(o) $(PERLDLL_OBJ:s,\,\\)\n \
+           @$(mktmp c0d32$(o) $(PERLDLL_OBJ:s,\,$B,)\n \
                $@,\n \
                $(LIBFILES)\n \
                perldll.def\n)
        $(IMPLIB) $*.lib $@
 .ELIF "$(CCTYPE)" == "GCC"
        $(LINK32) -mdll -o $@ -Wl,--base-file -Wl,perl.base $(BLINK_FLAGS) \
-           $(mktmp $(LKPRE) $(PERLDLL_OBJ:s,\,\\) \
-               $(shell $(MINIPERL) -I..\lib buildext.pl --list-static-libs|tr \\\\ /) \
+           $(mktmp $(LKPRE) $(PERLDLL_OBJ:s,\,$B,) \
+               $(shell $(MINIPERL) -I..\lib buildext.pl --list-static-libs) \
                $(LIBFILES) $(LKPOST))
        dlltool --output-lib $(PERLIMPLIB) \
                --dllname $(PERLDLL:b).dll \
@@ -1065,14 +1090,14 @@ $(PERLDLL): perldll.def $(PERLDLL_OBJ) $(PERLDLL_RES) Extensions_static
                --base-file perl.base \
                --output-exp perl.exp
        $(LINK32) -mdll -o $@ $(BLINK_FLAGS) \
-           $(mktmp $(LKPRE) $(PERLDLL_OBJ:s,\,\\) \
-               $(shell $(MINIPERL) -I..\lib buildext.pl --list-static-libs|tr \\\\ /) \
+           $(mktmp $(LKPRE) $(PERLDLL_OBJ:s,\,$B,) \
+               $(shell $(MINIPERL) -I..\lib buildext.pl --list-static-libs) \
                $(LIBFILES) perl.exp $(LKPOST))
 .ELSE
        $(LINK32) -dll -def:perldll.def -out:$@ \
            $(shell $(MINIPERL) -I..\lib buildext.pl --list-static-libs) \
            @$(mktmp -base:0x28000000 $(BLINK_FLAGS) $(DELAYLOAD) $(LIBFILES) \
-               $(PERLDLL_RES) $(PERLDLL_OBJ:s,\,\\))
+               $(PERLDLL_RES) $(PERLDLL_OBJ:s,\,$B,))
 .ENDIF
        $(XCOPY) $(PERLIMPLIB) $(COREDIR)
 
@@ -1105,13 +1130,13 @@ $(X2P) : $(MINIPERL) $(X2P_OBJ)
        $(MINIPERL) ..\x2p\s2p.PL
 .IF "$(CCTYPE)" == "BORLAND"
        $(LINK32) -Tpe -ap $(BLINK_FLAGS) \
-           @$(mktmp c0x32$(o) $(X2P_OBJ:s,\,\\),$(@:s,\,\\),,$(LIBFILES),)
+           @$(mktmp c0x32$(o) $(X2P_OBJ:s,\,$B,),$(@:s,\,$B,),,$(LIBFILES),)
 .ELIF "$(CCTYPE)" == "GCC"
        $(LINK32) -v -o $@ $(BLINK_FLAGS) \
-           $(mktmp $(LKPRE) $(X2P_OBJ:s,\,\\) $(LIBFILES) $(LKPOST))
+           $(mktmp $(LKPRE) $(X2P_OBJ:s,\,$B,) $(LIBFILES) $(LKPOST))
 .ELSE
        $(LINK32) -subsystem:console -out:$@ \
-           @$(mktmp $(BLINK_FLAGS) $(LIBFILES) $(X2P_OBJ:s,\,\\))
+           @$(mktmp $(BLINK_FLAGS) $(LIBFILES) $(X2P_OBJ:s,\,$B,))
 .ENDIF
 
 perlmain.c : runperl.c
@@ -1123,8 +1148,8 @@ perlmain$(o) : perlmain.c
 $(PERLEXE): $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES)
 .IF "$(CCTYPE)" == "BORLAND"
        $(LINK32) -Tpe -ap $(BLINK_FLAGS) \
-           @$(mktmp c0x32$(o) $(PERLEXE_OBJ:s,\,\\)\n \
-           $(@:s,\,\\),\n \
+           @$(mktmp c0x32$(o) $(PERLEXE_OBJ:s,\,$B,)\n \
+           $(@:s,\,$B,),\n \
            $(PERLIMPLIB) $(LIBFILES)\n)
 .ELIF "$(CCTYPE)" == "GCC"
        $(LINK32) -mconsole -o $@ $(BLINK_FLAGS)  \
@@ -1150,7 +1175,7 @@ $(DYNALOADER).c: $(MINIPERL) $(EXTDIR)\DynaLoader\dl_win32.xs $(CONFIGPM)
 $(EXTDIR)\DynaLoader\dl_win32.xs: dl_win32.xs
        copy dl_win32.xs $(EXTDIR)\DynaLoader\dl_win32.xs
 
-#----------------------------------------------------------------------------------
+#-------------------------------------------------------------------------------
 Extensions : buildext.pl $(PERLDEP) $(CONFIGPM)
        $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) --dynamic
        $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) ext --dynamic
@@ -1159,20 +1184,15 @@ Extensions_static : buildext.pl
        $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) ext --static
        $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) --static
 
-# Note: The next two targets explicitly remove a "blibdirs.exists" file that
-# currerntly gets left behind, until CPAN RT Ticket #5616 is resolved.
-
 Extensions_clean :
        -if exist $(MINIPERL) $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) clean
        -if exist $(MINIPERL) $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) ext clean
-       -if exist $(EXTDIR)\SDBM_File\sdbm\blibdirs.exists del /f $(EXTDIR)\SDBM_File\sdbm\blibdirs.exists
 
 Extensions_realclean :
        -if exist $(MINIPERL) $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) realclean
        -if exist $(MINIPERL) $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) ext realclean
-       -if exist $(EXTDIR)\SDBM_File\sdbm\blibdirs.exists del /f $(EXTDIR)\SDBM_File\sdbm\blibdirs.exists
 
-#----------------------------------------------------------------------------------
+#-------------------------------------------------------------------------------
 
 
 doc: $(PERLEXE)
@@ -1208,12 +1228,14 @@ utils: $(PERLEXE) $(X2P)
        copy ..\README.mint     ..\pod\perlmint.pod
        copy ..\README.mpeix    ..\pod\perlmpeix.pod
        copy ..\README.netware  ..\pod\perlnetware.pod
+       copy ..\README.openbsd  ..\pod\perlopenbsd.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
+       copy ..\README.symbian  ..\pod\perlsymbian.pod
        copy ..\README.tru64    ..\pod\perltru64.pod
        copy ..\README.tw       ..\pod\perltw.pod
        copy ..\README.uts      ..\pod\perluts.pod
@@ -1221,7 +1243,7 @@ utils: $(PERLEXE) $(X2P)
        copy ..\README.vms      ..\pod\perlvms.pod
        copy ..\README.vos      ..\pod\perlvos.pod
        copy ..\README.win32    ..\pod\perlwin32.pod
-       copy ..\pod\perl592delta.pod ..\pod\perldelta.pod
+       copy ..\pod\perl593delta.pod ..\pod\perldelta.pod
        cd ..\pod && $(MAKE) -f ..\win32\pod.mak converters
        cd ..\lib && $(PERLEXE) lib_pm.PL
        $(PERLEXE) $(PL2BAT) $(UTILS)
@@ -1261,6 +1283,7 @@ distclean: realclean
        -del /f $(LIBDIR)\threads\shared.pm
        -del /f $(LIBDIR)\Time\HiRes.pm
        -del /f $(LIBDIR)\Unicode\Normalize.pm
+       -del /f $(LIBDIR)\Math\BigInt\FastCalc.pm
        -del /f $(LIBDIR)\Win32.pm
        -if exist $(LIBDIR)\IO rmdir /s /q $(LIBDIR)\IO
        -if exist $(LIBDIR)\IO rmdir /s $(LIBDIR)\IO
@@ -1291,10 +1314,10 @@ distclean: realclean
            perlfreebsd.pod perlhpux.pod perlhurd.pod perlirix.pod \
            perljp.pod perlko.pod perlmachten.pod perlmacos.pod \
            perlmacosx.pod perlmint.pod perlmpeix.pod perlnetware.pod \
-           perlos2.pod perlos390.pod perlos400.pod perlplan9.pod \
-           perlqnx.pod perlsolaris.pod perltru64.pod perltw.pod \
-           perluts.pod perlvmesa.pod perlvms.pod perlvms.pod perlvos.pod \
-           perlwin32.pod \
+           perlopenbsd.pod perlos2.pod perlos390.pod perlos400.pod \
+           perlplan9.pod perlqnx.pod perlsolaris.pod perlsymbian.pod \
+           perltru64.pod perltw.pod perluts.pod perlvmesa.pod perlvms.pod \
+           perlvms.pod perlvos.pod perlwin32.pod \
            pod2html pod2latex pod2man pod2text pod2usage \
            podchecker podselect
        -cd ..\utils && del /f h2ph splain perlbug pl2pm c2ph pstruct h2xs \