# New Ticket Created by Andy Dougherty # Please include the string: [perl #16818] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt2/Ticket/Display.html?id=16818 >
I discovered 'make languages' yesterday. The enclosed patch cleans up a lot of small nits I found in the build process. In a number of cases, the Makefiles were running perl scripts as ./script rather than as $(PERL) script A few other places called a plain 'perl' instead of $(PERL). Second, Configure.pl was putting the wrong flags in to build a shared library. (Or, more precisely, it was apparently unconditionally using flags that work for GNU binutils.) I have replaced ld_shared by what I suspect is the appropriate perl5 Config variable. I left ld_shared_flags empty because I don't know what is supposed to go there, but the value Configure.pl used to use is definitely not right for Solaris's linker. diff -r -u parrot-orig/config/gen/makefiles/jako.in parrot-andy/config/gen/makefiles/jako.in --- parrot-orig/config/gen/makefiles/jako.in Fri May 24 02:23:58 2002 +++ parrot-andy/config/gen/makefiles/jako.in Tue Aug 27 15:36:29 2002 @@ -4,14 +4,14 @@ # $Id: jako.in,v 1.1 2002/05/24 06:23:58 brentdax Exp $ # +PERL = ${perl} +RM_F = ${rm_f} + DIR=languages/jako TOOL_DIR=../.. -ASM=perl -I ../../lib ../../assemble.pl -JAKOC=./jakoc +ASM=$(PERL) -I ../../lib ../../assemble.pl +JAKOC=$(PERL) jakoc INTERP=../../${test_prog} - -PERL = ${perl} -RM_F = ${rm_f} .SUFFIXES: .jako .pasm .pbc diff -r -u parrot-orig/config/gen/makefiles/miniperl.in parrot-andy/config/gen/makefiles/miniperl.in --- parrot-orig/config/gen/makefiles/miniperl.in Fri May 24 02:23:58 2002 +++ parrot-andy/config/gen/makefiles/miniperl.in Wed Aug 28 11:36:34 2002 @@ -4,10 +4,11 @@ # $Id: miniperl.in,v 1.1 2002/05/24 06:23:58 brentdax Exp $ # +PERL=${perl} DIR=languages/miniperl TOOL_DIR=../.. ASM=./assemble.pl -MINIPERLC=./miniperlc +MINIPERLC=$(PERL) miniperlc INTERP=./${test_prog} # @@ -19,7 +20,7 @@ foo: foo.mpl miniperlc $(MINIPERLC) foo.mpl > foo.pasm - cd $(TOOL_DIR); perl $(ASM) $(DIR)/foo.pasm > $(DIR)/foo.pbc + cd $(TOOL_DIR); $(PERL) $(ASM) $(DIR)/foo.pasm > $(DIR)/foo.pbc cd $(TOOL_DIR); $(INTERP) $(DIR)/foo.pbc cat foo.pasm @@ -68,7 +69,7 @@ @make all test: - t/harness + $(PERL) t/harness # cd $(TOOL_DIR); $(INTERP) $(DIR)/test.pbc # cd $(TOOL_DIR); $(INTERP) $(DIR)/and.pbc # cd $(TOOL_DIR); $(INTERP) $(DIR)/foo.pbc diff -r -u parrot-orig/config/gen/makefiles/scheme.in parrot-andy/config/gen/makefiles/scheme.in --- parrot-orig/config/gen/makefiles/scheme.in Fri May 24 02:23:58 2002 +++ parrot-andy/config/gen/makefiles/scheme.in Tue Aug 27 15:30:21 2002 @@ -4,15 +4,15 @@ # $Id: scheme.in,v 1.1 2002/05/24 06:23:58 brentdax Exp $ # +PERL = ${perl} +RM_F = ${rm_f} + DIR=languages/scheme TOOL_DIR=../.. -ASM=./assemble.pl -SCHEMEC=./schemec +ASM= $(PERL) assemble.pl +SCHEMEC=$(PERL) schemec INTERP=./${test_prog} -PERL = ${perl} -RM_F = ${rm_f} - # # Default target: # @@ -71,7 +71,7 @@ @$(MAKE) all test: - t/harness + $(PERL) t/harness # cd $(TOOL_DIR); $(INTERP) $(DIR)/test.pbc # cd $(TOOL_DIR); $(INTERP) $(DIR)/and.pbc # cd $(TOOL_DIR); $(INTERP) $(DIR)/foo.pbc diff -r -u parrot-orig/config/init/data.pl parrot-andy/config/init/data.pl --- parrot-orig/config/init/data.pl Tue Aug 27 07:57:44 2002 +++ parrot-andy/config/init/data.pl Wed Aug 28 11:29:58 2002 @@ -39,8 +39,9 @@ ld_out => '-o ', # ld output file ld_debug => '', # include debug info in executable - ld_shared => '-shared', - ld_shared_flags=> '-Wl,-soname,libparrot$(SO)', + ld_shared => $Config{lddlflags}, + ld_shared_flags=> '', # What is this, exactly? For GNU ld, it was + # '-Wl,-soname,libparrot$(SO)' # should we have a dependancy upon arc to generate .a's? blib_lib_libparrot_a => 'blib/lib/libparrot$(A)', diff -r -u parrot-orig/languages/scheme/Scheme/Test.pm parrot-andy/languages/scheme/Scheme/Test.pm --- parrot-orig/languages/scheme/Scheme/Test.pm Wed Jan 30 13:02:32 2002 +++ parrot-andy/languages/scheme/Scheme/Test.pm Tue Aug 27 15:57:31 2002 @@ -59,7 +59,7 @@ print SCHEME $assembly; # JMG close SCHEME; # JMG - _run_command("./schemec $scheme_f >$as_f"); # JMG + _run_command("$PConfig{perl} schemec $scheme_f >$as_f"); # JMG _run_command("(cd ../.. ; $PConfig{perl} assemble.pl languages/scheme/$as_f --output languages/scheme/$by_f)"); # JMG _run_command( "(cd ../.. ; ./$PConfig{test_prog} languages/scheme/$by_f)", 'STDOUT' => $out_f, 'STDERR' => $out_f); # JMG -- Andy Dougherty [EMAIL PROTECTED] Dept. of Physics Lafayette College, Easton PA 18042