Sarathy's patch
[p5sagit/p5-mst-13.2.git] / win32 / makefile.mk
index 7f5dad3..f66e788 100644 (file)
@@ -10,8 +10,8 @@
 # Set these to wherever you want "nmake install" to put your
 # newly built perl.
 INST_DRV=c:
-INST_TOP=$(INST_DRV)\perl\perl5004.5X
-BUILDOPT=-DUSE_THREADS -P
+INST_TOP=$(INST_DRV)\perl5004.5x
+BUILDOPT=-DUSE_THREADS
 
 # -DUSE_PERLIO -D__STDC__=1 -DUSE_SFIO -DI_SFIO -I\sfio97\include
 
@@ -55,7 +55,7 @@ CCLIBDIR = $(CCHOME)\lib
 CC = bcc32
 LINK32 = tlink32
 LIB32 = tlib
-IMPLIB = implib
+IMPLIB = implib -c
 
 #
 # Options
@@ -64,7 +64,7 @@ RUNTIME  = -D_RTLDLL
 INCLUDES = -I.\include -I. -I.. -I$(CCINCDIR)
 #PCHFLAGS = -H -H$(INTDIR)\bcmoduls.pch 
 DEFINES  = -DWIN32 $(BUILDOPT) 
-LOCDEFS  = -DPERLDLL
+LOCDEFS  = -DPERLDLL -DPERL_CORE
 SUBSYS   = console
 LIBC = cw32mti.lib
 LIBFILES = import32.lib $(LIBC) odbc32.lib odbccp32.lib
@@ -72,14 +72,14 @@ LIBFILES = import32.lib $(LIBC) odbc32.lib odbccp32.lib
 WINIOMAYBE =
 
 .IF  "$(CFG)" == "Debug"
-OPTIMIZE = -v $(RUNTIME)
+OPTIMIZE = -v $(RUNTIME) -DDEBUGGING
 LINK_DBG = -v
 .ELSE
 OPTIMIZE = -5 -O2 $(RUNTIME)
 LINK_DBG = 
 .ENDIF
 
-CFLAGS   = -w -tWM -tWD $(INCLUDES) $(DEFINES) $(LOCDEFS) $(PCHFLAGS) $(OPTIMIZE)
+CFLAGS   = -w -d -tWM -tWD $(INCLUDES) $(DEFINES) $(LOCDEFS) $(PCHFLAGS) $(OPTIMIZE)
 LINK_FLAGS  = $(LINK_DBG) -L$(CCLIBDIR)
 OBJOUT_FLAG = -o
 
@@ -96,8 +96,8 @@ RUNTIME  = -MD
 .ENDIF
 INCLUDES = -I.\include -I. -I..
 #PCHFLAGS = -Fp$(INTDIR)\vcmoduls.pch -YX 
-DEFINES  = -DWIN32 $(BUILDOPT) -D_CONSOLE -D_WIN32_WINNT=0x400
-LOCDEFS  = -DPERLDLL
+DEFINES  = -DWIN32 -D_CONSOLE $(BUILDOPT)
+LOCDEFS  = -DPERLDLL -DPERL_CORE
 SUBSYS   = console
 
 .IF "$(RUNTIME)" == "-MD"
@@ -105,7 +105,7 @@ LIBC = msvcrt.lib
 WINIOMAYBE =
 .ELSE
 LIBC = libcmt.lib
-WINIOMAYBE = win32io.obj
+WINIOMAYBE =
 .ENDIF
 
 .IF  "$(CFG)" == "Debug"
@@ -131,7 +131,7 @@ LIBFILES = oldnames.lib kernel32.lib user32.lib gdi32.lib \
        version.lib odbc32.lib odbccp32.lib
 
 CFLAGS   = -nologo -W3 $(INCLUDES) $(DEFINES) $(LOCDEFS) $(PCHFLAGS) $(OPTIMIZE)
-LINK_FLAGS  = -nologo $(LIBFILES) $(LINK_DBG) -machine:I386
+LINK_FLAGS  = -nologo $(LINK_DBG) -machine:$(PROCESSOR_ARCHITECTURE)
 OBJOUT_FLAG = -Fo
 
 .ENDIF
@@ -157,7 +157,7 @@ OBJOUT_FLAG = -Fo
 
 .obj.dll:
        $(LINK32) -dll -subsystem:windows -implib:$(*B).lib -def:$(*B).def \
-           -out:$@ $(LINK_FLAGS) $< $(LIBPERL)  
+           -out:$@ $(LINK_FLAGS) $(LIBFILES) $< $(LIBPERL)  
 
 .ENDIF
 
@@ -234,7 +234,8 @@ CORE_C=     ..\av.c         \
        ..\taint.c      \
        ..\toke.c       \
        ..\universal.c  \
-       ..\util.c
+       ..\util.c       \
+       ..\malloc.c
 
 CORE_OBJ= ..\av.obj    \
        ..\deb.obj      \
@@ -261,22 +262,20 @@ CORE_OBJ= ..\av.obj       \
        ..\taint.obj    \
        ..\toke.obj     \
        ..\universal.obj\
-       ..\util.obj
+       ..\util.obj     \
+       ..\malloc.obj
 
 WIN32_C = perllib.c \
        win32.c \
-       win32io.c \
        win32sck.c \
        win32thread.c 
 
 WIN32_OBJ = win32.obj \
-       win32io.obj \
        win32sck.obj \
        win32thread.obj
 
 PERL95_OBJ = perl95.obj \
        win32mt.obj \
-       win32iomt.obj \
        win32sckmt.obj
 
 DLL_OBJ = perllib.obj $(DYNALOADER).obj
@@ -315,8 +314,8 @@ CORE_H = ..\av.h    \
        .\include\sys\socket.h  \
        .\win32.h
 
-
-EXTENSIONS=DynaLoader Socket IO Fcntl Opcode SDBM_File attrs Thread
+DYNAMIC_EXT=Socket IO Fcntl Opcode SDBM_File attrs Thread
+STATIC_EXT=DynaLoader
 
 DYNALOADER=$(EXTDIR)\DynaLoader\DynaLoader
 SOCKET=$(EXTDIR)\Socket\Socket
@@ -366,7 +365,8 @@ $(GLOBEXE): perlglob.obj
        $(LINK32) -Tpe -ap $(LINK_FLAGS) c0x32.obj perlglob.obj \
            $(CCLIBDIR)\32BIT\wildargs.obj,$@,,import32.lib cw32mt.lib,
 .ELSE
-       $(LINK32) $(LINK_FLAGS) -out:$@ -subsystem:$(SUBSYS) perlglob.obj setargv.obj 
+       $(LINK32) $(LINK_FLAGS) $(LIBFILES) -out:$@ -subsystem:$(SUBSYS) \
+           perlglob.obj setargv.obj 
 .ENDIF
 
 $(GLOBBAT) : ..\lib\File\DosGlob.pm $(MINIPERL)
@@ -379,7 +379,7 @@ perlglob.obj  : perlglob.c
 config.w32 : $(CFGSH_TMPL)
        copy $(CFGSH_TMPL) config.w32
 
-.\config.h : $(CFGSH_TMPL)
+.\config.h : $(CFGH_TMPL)
        -del /f config.h
        copy $(CFGH_TMPL) config.h
 
@@ -388,6 +388,8 @@ config.w32 : $(CFGSH_TMPL)
            "INST_TOP=$(INST_TOP)" "cc=$(CC)" "ccflags=$(OPTIMIZE) $(DEFINES)" \
            "cf_email=$(EMAIL)" "libs=$(LIBFILES:f)" "incpath=$(CCINCDIR)" \
            "libpth=$(strip $(CCLIBDIR) $(LIBFILES:d))" "libc=$(LIBC)" \
+            "static_ext=$(STATIC_EXT)" "dynamic_ext=$(DYNAMIC_EXT)" \
+            "ldflags=$(LINK_FLAGS)" "optimize=$(OPTIMIZE)" \
            config.w32 > ..\config.sh
 
 $(CONFIGPM) : $(MINIPERL) ..\config.sh config_h.PL ..\minimod.pl
@@ -406,7 +408,7 @@ $(MINIPERL) : ..\miniperlmain.obj $(CORE_OBJ) $(WIN32_OBJ)
                $(CORE_OBJ:s,\,\\) $(WIN32_OBJ:s,\,\\),$@,,$(LIBFILES),)
 .ELSE
        $(LINK32) -subsystem:console -out:$@ \
-           @$(mktmp $(LINK_FLAGS) ..\miniperlmain.obj \
+           @$(mktmp $(LINK_FLAGS) $(LIBFILES) ..\miniperlmain.obj \
                $(CORE_OBJ:s,\,\\) $(WIN32_OBJ:s,\,\\))
 .ENDIF
 
@@ -428,7 +430,7 @@ $(PERLDLL): perldll.def $(CORE_OBJ) $(WIN32_OBJ) $(DLL_OBJ)
        $(IMPLIB) $*.lib $@
 .ELSE
        $(LINK32) -dll -def:perldll.def -out:$@ \
-           @$(mktmp $(LINK_FLAGS) $(CORE_OBJ:s,\,\\) \
+           @$(mktmp $(LINK_FLAGS) $(LIBFILES) $(CORE_OBJ:s,\,\\) \
                $(WIN32_OBJ:s,\,\\) $(DLL_OBJ:s,\,\\))
 .ENDIF
        $(XCOPY) $(PERLIMPLIB) ..\lib\CORE
@@ -453,15 +455,13 @@ $(PERLEXE): $(PERLDLL) $(CONFIGPM) perlmain.obj
            $@,\n \
            $(PERLIMPLIB) $(LIBFILES)\n)
 .ELSE
-       $(LINK32) -subsystem:console -out:perl.exe $(LINK_FLAGS) \
+       $(LINK32) -subsystem:console -out:perl.exe $(LINK_FLAGS) $(LIBFILES) \
            perlmain.obj $(WINIOMAYBE) $(PERLIMPLIB) 
        copy perl.exe $@
        del perl.exe
 .ENDIF
        copy splittree.pl .. 
        $(MINIPERL) -I..\lib ..\splittree.pl "../LIB" "../LIB/auto"
-       attrib -r ..\t\*.*
-       copy test ..\t
 
 .IF "$(CCTYPE)" != "BORLAND"
 
@@ -471,9 +471,6 @@ perl95.c : runperl.c
 perl95.obj : perl95.c
        $(CC) $(CFLAGS) -MT -UPERLDLL -c perl95.c
 
-win32iomt.obj : win32io.c
-       $(CC) $(CFLAGS) -MT -c $(OBJOUT_FLAG)win32iomt.obj win32io.c
-
 win32sckmt.obj : win32sck.c
        $(CC) $(CFLAGS) -MT -c $(OBJOUT_FLAG)win32sckmt.obj win32sck.c
 
@@ -481,7 +478,7 @@ win32mt.obj : win32.c
        $(CC) $(CFLAGS) -MT -c $(OBJOUT_FLAG)win32mt.obj win32.c
 
 $(PERL95EXE): $(PERLDLL) $(CONFIGPM) $(PERL95_OBJ)
-       $(LINK32) -subsystem:console -out:perl95.exe $(LINK_FLAGS) \
+       $(LINK32) -subsystem:console -out:perl95.exe $(LINK_FLAGS) $(LIBFILES) \
            $(PERL95_OBJ) $(PERLIMPLIB) 
        copy perl95.exe $@
        del perl95.exe
@@ -550,7 +547,7 @@ utils: $(PERLEXE)
                        bin\pl2bat.pl
 
 distclean: clean
-       -del /f $(MINIPERL) $(PERLEXE) $(PERLDLL) $(GLOBEXE) \
+       -del /f $(MINIPERL) $(PERLEXE) $(PERL95EXE) $(PERLDLL) $(GLOBEXE) \
                $(PERLIMPLIB) ..\miniperl.lib $(MINIMOD)
        -del /f *.def *.map
        -del /f $(SOCKET_DLL) $(IO_DLL) $(SDBM_FILE_DLL) $(FCNTL_DLL) \
@@ -600,7 +597,7 @@ minitest : $(MINIPERL) $(GLOBEXE) $(CONFIGPM)
        cd ..\t && \
        $(MINIPERL) -I..\lib test base/*.t comp/*.t cmd/*.t io/*.t op/*.t pragma/*.t
 
-test : all
+test-prep : all
        $(XCOPY) $(PERLEXE) ..\t\$(NULL)
        $(XCOPY) $(PERLDLL) ..\t\$(NULL)
 .IF "$(CCTYPE)" == "BORLAND"
@@ -608,8 +605,14 @@ test : all
 .ELSE
        $(XCOPY) $(GLOBEXE) ..\t\$(NULL)
 .ENDIF
+
+test : test-prep
        cd ..\t && $(PERLEXE) -I..\lib harness
 
+test-notty : test-prep
+       set PERL_SKIP_TTY_TEST=1 && \
+       cd ..\t && $(PERLEXE) -I.\lib harness
+
 clean : 
        -@erase miniperlmain.obj
        -@erase $(MINIPERL)