# New Ticket Created by Jason Gloudon # Please include the string: [perl #16764] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt2/Ticket/Display.html?id=16764 >
This is a simple fix to the broken libparrot.a makefile target for Visual C++ win32 builds so that 'nmake test' works. This does not fix other non-UNIX targets and win32 builds with the borland compilers. The latter should be a matter of providing the approprate library building tool and options in the hints file. -- Jason -- attachment 1 ------------------------------------------------------ url: http://rt.perl.org/rt2/attach/35696/28934/434185/lib.patch
Index: config/gen/makefiles/root.in =================================================================== RCS file: /cvs/public/parrot/config/gen/makefiles/root.in,v retrieving revision 1.24 diff -u -r1.24 root.in --- config/gen/makefiles/root.in 25 Aug 2002 23:39:15 -0000 1.24 +++ config/gen/makefiles/root.in 26 Aug 2002 00:00:26 -0000 @@ -1,9 +1,9 @@ O = ${o} SO = .so -A = .a +A = ${a} RM_F = ${rm_f} RM_RF = ${rm_rf} -AR_CRS = ar crs +MAKELIB = ${makelib} LD = ${ld} LD_SHARED = ${ld_shared} LD_OUT = ${ld_out} @@ -160,7 +160,7 @@ # XXX Unix-only for now libparrot$(A) : $(O_DIRS) $(O_FILES) - $(AR_CRS) $@ $(O_FILES) + $(MAKELIB) ${makelib_opt} ${makelib_out}$@ $(O_FILES) $(TEST_PROG) : test_main$(O) $(GEN_HEADERS) $(O_DIRS) $(O_FILES) lib/Parrot/OpLib/core.pm lib/Parrot/PMC.pm $(LD) ${ld_out}$(TEST_PROG) $(LDFLAGS) $(O_FILES) test_main$(O) $(C_LIBS) @@ -438,7 +438,7 @@ # ############################################################################### -test : $(TEST_PROG) libparrot.a assemble.pl test_dummy +test : $(TEST_PROG) libparrot$(A) assemble.pl test_dummy test_dummy : $(PERL) t/harness $(TEST_PROG_ARGS) Index: config/init/data.pl =================================================================== RCS file: /cvs/public/parrot/config/init/data.pl,v retrieving revision 1.3 diff -u -r1.3 data.pl --- config/init/data.pl 22 Aug 2002 21:55:41 -0000 1.3 +++ config/init/data.pl 26 Aug 2002 00:00:26 -0000 @@ -17,7 +17,9 @@ my(%c)=( debugging => $debugging ? 1 : 0, - + makelib => $Config{ar}, # tool for building library + makelib_opt => 'rcs', # options required by tool + makelib_out => '', # option for specifying output file cc => $Config{cc}, ccflags => $Config{ccflags}, ld => $Config{ld}, @@ -28,6 +30,7 @@ cc_inc => "-I./include", cc_debug => '-g', cc_warn => '', + a => '.a', # library(archive) file extension o => '.o', # object files extension exe => $Config{_exe}, # executable files extension cc_o_out => '-o ', # cc object output file Index: config/init/hints/mswin32.pl =================================================================== RCS file: /cvs/public/parrot/config/init/hints/mswin32.pl,v retrieving revision 1.1 diff -u -r1.1 mswin32.pl --- config/init/hints/mswin32.pl 24 May 2002 06:24:27 -0000 1.1 +++ config/init/hints/mswin32.pl 26 Aug 2002 00:00:26 -0000 @@ -20,6 +20,10 @@ $ccflags =~ s/-O1 // if $cc_output =~ m/Standard/; Configure::Data->set( + a => '.lib', + makelib => 'lib', + makelib_opt=> '', + makelib_out=> '-out:', o => '.obj', cc_o_out => '-Fo', cc_exe_out => '-Fe', @@ -60,4 +64,4 @@ libs => $libs ); } -} \ No newline at end of file +}