Hello,

perl-5.8.6 builds cleanly on Win32 with only MinGW and
dmake installed (provided it's not the latest version of dmake,
which has a little problem with makefile.mk). However, maintperl 
and bleadperl don't, because change 23762 introduced a dependency on
tr, which is not present on such a system. Links:

http://public.activestate.com/gsar/APC/diffs/23762.gz
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2005-01/msg00132.html

Change 23762 went into maintperl as part of change 23784:
http://public.activestate.com/gsar/APC/perl-5.8.x-diffs/23784.gz

This might not have come up when people tested the changes
(e.g. 
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2005-01/msg00160.html 
)
because they had 'tr' in the path on their machine, from msys or cygwin.

Is it possible to avoid this use of tr and/or to integrate
it into buildext.pl, to avoid the external dependency? The crucial lines
are
        $(LINK32) -mdll -o $@ -Wl,--base-file -Wl,perl.base 
$(BLINK_FLAGS) \
-           $(mktmp $(LKPRE) $(PERLDLL_OBJ:s,\,\\) $(LIBFILES) $(LKPOST))
+           $(mktmp $(LKPRE) $(PERLDLL_OBJ:s,\,\\) \
+               $(shell $(MINIPERL) -I..\lib buildext.pl --list-static-libs|tr 
\\\\ /) \
+               $(LIBFILES) $(LKPOST))

[...]

        $(LINK32) -mdll -o $@ $(BLINK_FLAGS) \
-           $(mktmp $(LKPRE) $(PERLDLL_OBJ:s,\,\\) $(LIBFILES) \
-               perl.exp $(LKPOST))
+           $(mktmp $(LKPRE) $(PERLDLL_OBJ:s,\,\\) \
+               $(shell $(MINIPERL) -I..\lib buildext.pl --list-static-libs|tr 
\\\\ /) \
+               $(LIBFILES) perl.exp $(LKPOST))

On a non-cygwin MinGW system, running the output of buildext.pl 
--list-static-libs though 'tr \\ /' is certainly superfluous, because
the linker understands the backslashes. I don't know enough
about Cygwin to determine whether this is needed there; but if it is,
it could probably be done inside buildext.pl? 

-- 
avva
"There's nothing simply good, nor ill alone" -- John Donne

Reply via email to