[PATCH] Fix 'make test' breakage with mingw32-make
flag
8 messages - Collapse all
/groups/adfetch?adid=46JgRxEAAABjTCpUXnPM8LONC2GP5BwOFSRgCP-avRN4YT0eROC0jw
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
1.  Leopold Toetsch  
View profile  
 More options Jun 15 2005, 4:40 am
Newsgroups: perl.perl6.internals
From: l...@toetsch.at (Leopold Toetsch)
Date: Wed, 15 Jun 2005 10:40:32 +0200
Local: Wed, Jun 15 2005 4:40 am
Subject: Re: [perl #36290] [PATCH] Fix 'make test' breakage with mingw32-make
Clement Cherlin (via RT) wrote:

>>        perl.exe t\harness --gc-debug --running-make-test

> t\library\*.t

[ ... ]

Doesn't a) perl take forward slashes too and b) harness do the glob
anyway? If the shell globs the test args, we'll run into commandline
length issues sooner or later.

leo


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
2.  Clement Cherlin  
View profile  
 More options Jun 15 2005, 1:43 am
Newsgroups: perl.perl6.internals
From: parrotbug-follo...@parrotcode.org (Clement Cherlin)
Date: Tue, 14 Jun 2005 22:43:23 -0700
Local: Wed, Jun 15 2005 1:43 am
Subject: [perl #36290] [PATCH] Fix 'make test' breakage with mingw32-make

# New Ticket Created by  Clement Cherlin
# Please include the string:  [perl #36290]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=36290 >

Not to worry, I have a one-line fix for that problem. Mingw32-make
treats '\*' as a backslash escaping an asterisk, so it turns that into
just '*'. I changed lib/Parrot/Configure/Step.pm to substitute '\\*'
for '\*'. I can now run 'make test'.

I have only tested this patch with mingw32-make, so I would appreciate
it if others could test it with nmake / dmake to make sure they don't
choke on the extra backslashes.

  Win98-glob.patch
< 1K Download

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
3.  Clement Cherlin  
View profile  
 More options Jun 15 2005, 4:52 am
Newsgroups: perl.perl6.internals
From: ccher...@pacbell.net (Clement Cherlin)
Date: Wed, 15 Jun 2005 01:52:14 -0700 (PDT)
Local: Wed, Jun 15 2005 4:52 am
Subject: Re: [perl #36290] [PATCH] Fix 'make test' breakage with mingw32-make
--- Leopold Toetsch via RT <parrotbug-follo...@parrotcode.org> wrote:

> Clement Cherlin (via RT) wrote:

> >>        perl.exe t\harness --gc-debug --running-make-test

> > t\library\*.t

> [ ... ]

> Doesn't a) perl take forward slashes too and b) harness do the glob
> anyway? If the shell globs the test args, we'll run into commandline
> length issues sooner or later.

> leo

Perl will accept both forward and backward slashes on Win32, and the
harness does do the globbing. My patch only deals with the fact that
make is treating "\*" as an escaped asterisk, and unescaping it to just
"*". I add an additional backslash, thus escaping the backslash instead
of the asterisk. Make translates "\\*" to "\*" and all is well.

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
4.  Leopold Toetsch  
View profile  
 More options Jun 15 2005, 5:36 am
Newsgroups: perl.perl6.internals
From: l...@toetsch.at (Leopold Toetsch)
Date: Wed, 15 Jun 2005 11:36:39 +0200
Local: Wed, Jun 15 2005 5:36 am
Subject: Re: [perl #36290] [PATCH] Fix 'make test' breakage with mingw32-make

Clement Cherlin wrote:
> --- Leopold Toetsch via RT <parrotbug-follo...@parrotcode.org> wrote:
>>Doesn't a) perl take forward slashes too and b) harness do the glob
>>anyway? If the shell globs the test args, we'll run into commandline
>>length issues sooner or later.

>>leo

> Perl will accept both forward and backward slashes on Win32, and the
> harness does do the globbing. My patch only deals with the fact that
> make is treating "\*" as an escaped asterisk, and unescaping it to just
> "*". I add an additional backslash, thus escaping the backslash instead
> of the asterisk. Make translates "\\*" to "\*" and all is well.

Yes. But shouldn't in that case the patch convert the backslashes to
just forward slahes - or much better not backslash it in the first place
(and possibly quote the *.t args)?

The patch reverses a wrong action (backslashing) that happens earlier
somewhere in config.

leo


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
5.  Clement Cherlin  
View profile  
 More options Jun 15 2005, 6:05 am
Newsgroups: perl.perl6.internals
From: ccher...@pacbell.net (Clement Cherlin)
Date: Wed, 15 Jun 2005 03:05:00 -0700 (PDT)
Subject: Re: [perl #36290] [PATCH] Fix 'make test' breakage with mingw32-make
--- Leopold Toetsch via RT <parrotbug-follo...@parrotcode.org> wrote:

The Makefile uses backslashes because backslashes are the native path
seperator on Windows, and the command.com shell will not accept forward
slashes. My earlier patch intentionally enabled the use of backslashes
in Makefiles when compiling with MinGW, in order to get Parrot to
compile at all. Parrot now compiles, but this problem with "make test"
resulted, and I provided a workaround. I agree that it's a somewhat
ugly workaround, but it was the simplest method I could think of. Can
you suggest an alternate solution?

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
6.  Clement Cherlin  
View profile  
 More options Jun 15 2005, 7:16 am
Newsgroups: perl.perl6.internals
From: ccher...@pacbell.net (Clement Cherlin)
Date: Wed, 15 Jun 2005 04:16:49 -0700 (PDT)
Local: Wed, Jun 15 2005 7:16 am
Subject: Re: [perl #36290] [PATCH] Fix 'make test' breakage with mingw32-make
--- Leopold Toetsch via RT <parrotbug-follo...@parrotcode.org> wrote:

I know where the conversion takes place, that's what my patch modifies.
The point I am trying to make is that the conversion is needed for
MinGW when using command.com, because command.com doesn't understand
forward slashes. I can't get by with forward slashes in makefiles;
Parrot will not build. Perl and the MinGW tools understand both forward
slashes and backslashes just fine. The only problem is that make treats
backslashes as an escape character when they precede an asterisk. So
the patch doubles up backslashes that precede asterisks. With this
patch, Parrot builds and make test runs.

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
7.  Leopold Toetsch  
View profile  
 More options Jun 15 2005, 7:09 am
Newsgroups: perl.perl6.internals
From: l...@toetsch.at (Leopold Toetsch)
Date: Wed, 15 Jun 2005 13:09:09 +0200
Local: Wed, Jun 15 2005 7:09 am
Subject: Re: [perl #36290] [PATCH] Fix 'make test' breakage with mingw32-make

Clement Cherlin wrote:
> ... I agree that it's a somewhat
> ugly workaround, but it was the simplest method I could think of. Can
> you suggest an alternate solution?

TEST_FILES in makefiles/root.in has forward slashes. During creation of
the Makefile these get somewhere converted to backslashes. This
conversion isn't needed (or wrong for MingW), if these files are part of
a perl commandline (or not at all for MingW).

But I actually don't know, where the conversion happens, sorry.

leo


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
8.  François PERRAD  
View profile  
 More options Jul 8 2005, 2:14 am
Newsgroups: perl.perl6.internals
From: francois.per...@gadz.org (François PERRAD)
Date: Fri, 08 Jul 2005 08:14:44 +0200
Local: Fri, Jul 8 2005 2:14 am
Subject: Re: [perl #36290] [PATCH] Fix 'make test' breakage with mingw32-make
At 22:43 14/06/2005 -0700, you wrote:

leo,

this patch (#36290) works for me.
There are 2 choices :
1) revert the patch that creates the revision 8298
2) not revert and add its complement ie. #36290
But it's not possible to stay in the current position.

François Perrad


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google