This patch contains different things.
If you prefer three smaller patches,
just speak, I'll resend.
* Configure.pl
* 5.004_04 does not have $Config{_o}, $Config{_exe},
use obj_ext, and exe_ext
* Use ExtUtils::Manifest for manifest parsing
( now you can put blank lines/comments/
file descriptions in MANIFEST )
* add rm_f configuration variable
( WIndows, as usual, is different )
* MANIFEST, MANIFEST.SKIP
* updates, skip CVS-related files
in fullcheck
* Makefile.in
* some cleanup
* new targets:
distclean, to remove configure-generated files
fullcheck, to do a ExtUtils::Manifest::fullcheck
* hints/mswin32.pl
* added rm_f
* test_main.c
* renamed _read to read
Regards
Mattia
diff -r -u -2 -N -xCVS -x.#* -xop.h -x*.orig -x*.rej -x*~ parrot.cvs/Configure.pl
parrot/Configure.pl
--- parrot.cvs/Configure.pl Tue Sep 18 21:45:08 2001
+++ parrot/Configure.pl Tue Sep 18 21:43:04 2001
@@ -7,4 +7,5 @@
use Config;
use Getopt::Long;
+use ExtUtils::Manifest;
my( $opt_debugging, $opt_defaults, $opt_version, $opt_help ) = ( 0, 0, 0, 0 );
@@ -69,10 +70,11 @@
perl => $^X,
cc_debug => '-g',
- o => '.o', # object files extension
- exe => $Config{_exe},
+ o => $Config{obj_ext}, # object files extension
+ exe => $Config{exe_ext},
ld => $Config{ld},
ld_out => '-o ', # ld output file
ld_debug => '', # include debug info in executable
debugging => $opt_debugging,
+ rm_f => 'rm -f', # remove files
);
@@ -211,11 +213,10 @@
sub check_manifest {
+ my $files = ExtUtils::Manifest::maniread( 'MANIFEST' );
my $not_ok;
- open(MANIFEST, "MANIFEST");
- while(<MANIFEST>) {
- chomp;
- unless(-e $_) {
- print "File $_ is missing!\n";
+ foreach my $i ( keys %$files ) {
+ unless( -e $i) {
+ print "File $i is missing!\n";
$not_ok=1;
}
diff -r -u -2 -N -xCVS -x.#* -xop.h -x*.orig -x*.rej -x*~ parrot.cvs/MANIFEST
parrot/MANIFEST
--- parrot.cvs/MANIFEST Tue Sep 18 14:53:20 2001
+++ parrot/MANIFEST Tue Sep 18 15:53:06 2001
@@ -3,5 +3,7 @@
Makefile.in
MANIFEST
+MANIFEST.SKIP
Parrot/Opcode.pm
+Parrot/Test.pm
Parrot/PackFile.pm
Parrot/PackFile/Constant.pm
@@ -23,4 +25,6 @@
docs/strings.pod
docs/vtables.pod
+docs/parrot_assembly.pod
+hints/mswin32.pl
include/parrot/events.h
include/parrot/exceptions.h
@@ -50,4 +54,9 @@
t/euclid.pasm
t/jump.pasm
+t/local_label.pasm
+t/Makefile
+t/harness
+t/op/basic.t
+t/op/string.t
test_main.c
little_languages/euclid.jako
diff -r -u -2 -N -xCVS -x.#* -xop.h -x*.orig -x*.rej -x*~ parrot.cvs/MANIFEST.SKIP
parrot/MANIFEST.SKIP
--- parrot.cvs/MANIFEST.SKIP Thu Jan 1 01:00:00 1970
+++ parrot/MANIFEST.SKIP Tue Sep 18 15:42:04 2001
@@ -0,0 +1,3 @@
+[Cc][Vv][Ss]/
+\.\#.*[\d\.]+
+\.cvsignore
diff -r -u -2 -N -xCVS -x.#* -xop.h -x*.orig -x*.rej -x*~ parrot.cvs/Makefile.in
parrot/Makefile.in
--- parrot.cvs/Makefile.in Tue Sep 18 21:45:08 2001
+++ parrot/Makefile.in Tue Sep 18 21:43:04 2001
@@ -1,3 +1,4 @@
O = ${o}
+RM_F = ${rm_f}
INC=include/parrot
@@ -18,5 +19,5 @@
TEST_PROG = test_prog${exe}
-.c.o:
+.c$(O):
$(CC) $(CFLAGS) -o $@ -c $<
@@ -60,11 +61,17 @@
$(PERL) make_op_header.pl opcode_table > $(INC)/op.h
-config.h: Configure.pl config_h.in
+$(INC)/config.h: Configure.pl config_h.in
$(PERL) Configure.pl
clean:
- rm -f *$(O) *.s basic_opcodes.c $(INC)/interp_guts.h $(INC)/op.h $(TEST_PROG)
+ $(RM_F) *$(O) *.s basic_opcodes.c $(INC)/interp_guts.h $(INC)/op.h $(TEST_PROG)
-test:
+distclean: clean
+ $(RM_F) Parrot/Config.pm include/parrot/config.h
+
+fullcheck:
+ $(PERL) -MExtUtils::Manifest=fullcheck -e fullcheck
+
+test: $(TEST_PROG)
$(PERL) t/harness
diff -r -u -2 -N -xCVS -x.#* -xop.h -x*.orig -x*.rej -x*~ parrot.cvs/hints/mswin32.pl
parrot/hints/mswin32.pl
--- parrot.cvs/hints/mswin32.pl Mon Sep 17 00:06:44 2001
+++ parrot/hints/mswin32.pl Tue Sep 18 22:05:58 2001
@@ -3,4 +3,6 @@
my $is_mingw = grep { $c{cc} eq $_ } ( qw(gcc gcc.exe) );
+ $c{rm_f} = '$(PERL) -MExtUtils::Command -e rm_f';
+
if( $is_msvc ) {
$c{o} = '.obj';
@@ -10,4 +12,6 @@
}
elsif( $is_mingw ) {
+ $c{o} = '.o';
+ $c{perl} =~ tr{\\}{/}; # GNU make hates "\"
$c{ld} = 'gcc';
# if your perl is ActivePerl, then libs are .lib files,
@@ -15,3 +19,3 @@
$c{libs} = ' ' if $c{libs} =~ m/\.lib\s/i;
}
-}
\ No newline at end of file
+}
diff -r -u -2 -N -xCVS -x.#* -xop.h -x*.orig -x*.rej -x*~ parrot.cvs/process_opfunc.pl
parrot/process_opfunc.pl
--- parrot.cvs/process_opfunc.pl Tue Sep 18 14:53:20 2001
+++ parrot/process_opfunc.pl Tue Sep 18 18:56:44 2001
@@ -52,5 +52,6 @@
D => 1,
S => 1,
- s => 1,
+ # quotes to make 5.004_04 happy
+ 's' => 1,
);
diff -r -u -2 -N -xCVS -x.#* -xop.h -x*.orig -x*.rej -x*~ parrot.cvs/test_main.c
parrot/test_main.c
--- parrot.cvs/test_main.c Mon Sep 17 22:24:30 2001
+++ parrot/test_main.c Tue Sep 18 15:25:26 2001
@@ -95,5 +95,5 @@
#ifndef HAS_HEADER_SYSMMAN
program_code = mem_sys_allocate(program_size);
- _read(fd, program_code, program_size);
+ read(fd, program_code, program_size);
#else
program_code = mmap(0, program_size, PROT_READ, MAP_SHARED, fd, 0);