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);