diff options
author | Nicholas Clark <nick@ccl4.org> | 2007-04-24 23:10:05 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2007-04-24 23:10:05 +0000 |
commit | 9444d2138b6b5264fb9381e43188986db5564e80 (patch) | |
tree | c56e68d0cadd5c59c7f243be82a7cef277d14b40 /win32 | |
parent | bdc0bf6fc8e477f7c30b05ea4c2ff791dd0f31af (diff) | |
download | perl-9444d2138b6b5264fb9381e43188986db5564e80.tar.gz |
Make PL_uudmap a constant global. Remove the run time initialisation
code, and instead use it to generate a header at perl build time.
By removing uudmap from the interpreter structure we save 256 bytes
per child thread.
p4raw-id: //depot/perl@31059
Diffstat (limited to 'win32')
-rw-r--r-- | win32/Makefile | 10 | ||||
-rw-r--r-- | win32/makefile.mk | 18 |
2 files changed, 28 insertions, 0 deletions
diff --git a/win32/Makefile b/win32/Makefile index d654faeebe..f189cc8db6 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -957,6 +957,15 @@ $(X2P) : $(MINIPERL) $(X2P_OBJ) << $(EMBED_EXE_MANI) +globals$(o) : uudmap.h + +uudmap.h: generate_uudmap.exe + generate_uudmap >uudmap.h + +generate_uudmap.exe : generate_uudmap$(o) + $(LINK32) -subsystem:console -out:$@ @<< + $(LINK_FLAGS) $(LIBFILES) generate_uudmap$(o) + perlmain.c : runperl.c copy runperl.c perlmain.c @@ -1274,6 +1283,7 @@ _clean : -@$(DEL) $(PERLSTATICLIB) -@$(DEL) $(PERLDLL) -@$(DEL) $(CORE_OBJ) + -@$(DEL) generate_uudmap.exe generate_uudmap$(o) uudmap.h -if exist $(MINIDIR) rmdir /s /q $(MINIDIR) -if exist $(UNIDATADIR1) rmdir /s /q $(UNIDATADIR1) -if exist $(UNIDATADIR2) rmdir /s /q $(UNIDATADIR2) diff --git a/win32/makefile.mk b/win32/makefile.mk index d632b16a7f..069e8834ff 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -1266,6 +1266,23 @@ $(X2P) : $(MINIPERL) $(X2P_OBJ) $(EMBED_EXE_MANI) .ENDIF +globals$(o) : uudmap.h + +uudmap.h: generate_uudmap.exe + generate_uudmap >uudmap.h + +generate_uudmap.exe : generate_uudmap$(o) +.IF "$(CCTYPE)" == "BORLAND" + $(LINK32) -Tpe -ap $(BLINK_FLAGS) \ + @$(mktmp c0x32$(o) generate_uudmap$(o),$(@:s,\,$B,),,$(LIBFILES),) +.ELIF "$(CCTYPE)" == "GCC" + $(LINK32) -v -o $@ $(BLINK_FLAGS) \ + $(mktmp $(LKPRE) generate_uudmap$(o) $(LIBFILES) $(LKPOST)) +.ELSE + $(LINK32) -subsystem:console -out:$@ $(BLINK_FLAGS) \ + @$(mktmp $(LIBFILES) generate_uudmap$(o)) +.ENDIF + perlmain.c : runperl.c copy runperl.c perlmain.c @@ -1605,6 +1622,7 @@ _clean : -@erase $(PERLSTATICLIB) -@erase $(PERLDLL) -@erase $(CORE_OBJ) + -@erase generate_uudmap.exe generate_uudmap$(o) uudmap.h -if exist $(MINIDIR) rmdir /s /q $(MINIDIR) -if exist $(UNIDATADIR1) rmdir /s /q $(UNIDATADIR1) -if exist $(UNIDATADIR2) rmdir /s /q $(UNIDATADIR2) |