# 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



Reply via email to