"John E. Malmberg" <[EMAIL PROTECTED]> wrote on 04/11/2004 11:37:38 PM:
> To bring this list up to date, Craig Berry and I have been discussing
> patches needed to use Perl to build the GTK+ package as part of Mozilla.
Thanks for posting this.
> * Case needs to be preserved.
> Currently Perl always lowercases filenames if any mixed case is found.
Case preservation sounds quite useful. For whatever it might
be worth perl currently has trouble not only with ODS-5's
ability to preserve case, but also at least the ^. escape
for multiple periods.
> * All input filespecs need to be interpreted as UNIX format
> This implies that "." needs to be interpreted as the current
> directory.
Hmm - how about "./" or "../" - are they still OK?
> * The patch wants to use the CRTL unlink() function instead of
> kill_all. I do not know why. It also wants the "unlink_all_versions"
> defined.
> I have modified locally the configure.com procedure to allow
> specifying unlink_all_versions on a special build to do this.
>
> I would think it is better to have this as a run-time option so
> separate binaries were not needed.
You might consider whether it could (easily) be added to
the vmsish.pm pragmitc module such that you could modify
your scripts to say:
use vmsish qw(unlink_all_version);
to turn on the behavior.
> In doing this, I have discovered two things.
>
> 1. Gdiff on VMS can not handle it if it does not have write access to
> the files it is doing a diff on. It exists with an improperly signaled
> condition.
>
> 2. The contents of the config.sh file are mostly ignored.
config.h is critical. Since config.sh use sh syntax it cannot be fed
back into a second run of configure.com. A long time ago we discussed
possibly writing out a config.com DCL analog of config.sh, but the
"" versus '' quotation issues seemed to make the effort not too worth while
to pursue.
> --- dist_root:[000000]configure.com Sun Apr 11 20:45:43 2004
> +++ dist_root:[000000]configure.com_old Sun Apr 11 21:58:27 2004
I think that Craig has already pointed out that your
arguments to GNU diff were reversed. Such patches
are applicable as submitted, but it would be necessary
to tell the pumpking to apply with "patch -r". Better
still (especially to folks who want to read the
uni-diffs in email and interpret them) would be to
arrange for a mnemonic. The one that I rely on is:
gdiff -u bad good > patch.file
but your preferences may differ :-)
> $ IF be_case_sensitive THEN WC "#define VMS_WE_ARE_CASE_SENSITIVE"
> -$ IF d_unlink_all_versions then wc "#define ulink_all_versions"
.............................................^^^^^
This bit looks like a typographical error. In your
proposed modificaiton to vms.c the C preprocessor
macro that you #ifndef branch on is then called
unlink_all_versions with an "n":
> /* Delete if at all possible, changing protections if necessary. */
> -#ifndef unlink_all_versions
> #define unlink kill_file
> -#endif
Perhaps such changes could be submitted to the vmsperl
branch in Perforce?
Peter Prymmer