Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mingw32-make realclean doesn't clean everything #943

Closed
p6rt opened this issue Apr 22, 2009 · 10 comments
Closed

mingw32-make realclean doesn't clean everything #943

p6rt opened this issue Apr 22, 2009 · 10 comments

Comments

@p6rt
Copy link

p6rt commented Apr 22, 2009

Migrated from rt.perl.org#65006 (status was 'resolved')

Searchable as RT65006$

@p6rt
Copy link
Author

p6rt commented Apr 22, 2009

From webmaster@cosmicperl.com

I've tested and produced these results on​:-
Vista32, ActivePerl 5.10
Vista64, ActivePerl 5.8.8
XP, ActivePerl 5.10

Infinoid tested on Strawberry Perl and said he didn't get the same
problem. Maybe an issue with ActivePerl's version of ExtUtils​::Command???

Steps to reproduce realclean bug​:-

cd /c
mkdir temp
cd temp
git clone git​://github.com/rakudo/rakudo.git
(d0a5de5)
perl Configure.pl --gen-parrot
(got r38250)
mingw32-make

Then try to clean​:-

C​:\temp\rakudo>mingw32-make realclean
C​:\Perl\bin\perl.exe -MExtUtils​::Command -e rm_f perl6.pbc perl6.c
*.manifest *.
pdb perl6.o perl6.exe perl6_s1.pbc Test.pir src\gen_*.pir src\gen_*.pm
src\pmc\*
.h src\pmc\*.c src\pmc\*.dump src\pmc\*.o src\pmc\*.dll src\pmc\*.exp
src\pmc\*.
ilk src\pmc\*.manifest src\pmc\*.pdb src\pmc\*.lib src\pmc\objectref.pmc
src\ops
\*.h src\ops\*.c src\ops\*.o src\ops\*.dll
C​:\Perl\bin\perl.exe -MExtUtils​::Command -e rm_f src\utils\Makefile Makefile

C​:\temp\rakudo>ls

C​:\temp\rakudo>dir
Volume in drive C has no label.
Volume Serial Number is 90C9-3341

Directory of C​:\temp\rakudo

22/04/2009 20​:51 <DIR> .
22/04/2009 20​:51 <DIR> ..
22/04/2009 13​:38 <DIR> .git
22/04/2009 13​:38 202 .gitignore
22/04/2009 13​:38 <DIR> build
22/04/2009 13​:38 3,658 Configure.pl
22/04/2009 13​:38 5,151 CREDITS
22/04/2009 13​:38 <DIR> docs
22/04/2009 20​:01 10,414,563 libparrot.dll
22/04/2009 13​:38 8,902 LICENSE
22/04/2009 20​:02 <DIR> parrot
22/04/2009 13​:38 7,025 perl6.pir
22/04/2009 13​:38 6,198 README
22/04/2009 20​:51 <DIR> src
22/04/2009 13​:38 <DIR> t
22/04/2009 13​:38 6,899 Test.pm
22/04/2009 13​:38 <DIR> tools
  8 File(s) 10,452,598 bytes
  9 Dir(s) 82,706,616,320 bytes free

C​:\temp\rakudo>cd src\ops

C​:\temp\rakudo\src\ops>ls

C​:\temp\rakudo\src\ops>dir
Volume in drive C has no label.
Volume Serial Number is 90C9-3341

Directory of C​:\temp\rakudo\src\ops

22/04/2009 20​:36 <DIR> .
22/04/2009 20​:36 <DIR> ..
22/04/2009 13​:38 74 .gitignore
22/04/2009 13​:38 7,982 perl6.ops
22/04/2009 20​:35 52,067 perl6_ops.c
22/04/2009 20​:36 498,470 perl6_ops.dll
22/04/2009 20​:35 1,899 perl6_ops.h
22/04/2009 20​:36 486,284 perl6_ops.o
22/04/2009 20​:35 48,732 perl6_ops_cg.c
22/04/2009 20​:36 495,268 perl6_ops_cg.dll
22/04/2009 20​:35 1,966 perl6_ops_cg.h
22/04/2009 20​:35 482,128 perl6_ops_cg.o
22/04/2009 20​:35 57,153 perl6_ops_cgp.c
22/04/2009 20​:36 495,453 perl6_ops_cgp.dll
22/04/2009 20​:35 2,074 perl6_ops_cgp.h
22/04/2009 20​:36 482,207 perl6_ops_cgp.o
22/04/2009 20​:35 51,452 perl6_ops_switch.c
22/04/2009 20​:36 494,372 perl6_ops_switch.dll
22/04/2009 20​:35 2,089 perl6_ops_switch.h
22/04/2009 20​:36 481,096 perl6_ops_switch.o
  18 File(s) 4,140,766 bytes
  2 Dir(s) 82,706,616,320 bytes free

C​:\temp\rakudo\src\ops>

@p6rt
Copy link
Author

p6rt commented Apr 22, 2009

From webmaster@cosmicperl.com

Just test on​:-
XP, Strawberry Perl 5.10
Same issue for me

@p6rt
Copy link
Author

p6rt commented Apr 22, 2009

webmaster@cosmicperl.com - Status changed from 'new' to 'open'

@p6rt
Copy link
Author

p6rt commented Apr 26, 2009

From webmaster@cosmicperl.com

Infinoid helped me track the problem down to * being escaped on some of
the directories for the cleanup. So things like​:-
$(PMC_DIR)\*.h
Need to be​:-
$(PMC_DIR)\\*.h

Parrot already does this in it's makefile on Win32 so doesn't have this
issue. I've attached a patch that fixes things.

Lyle

@p6rt
Copy link
Author

p6rt commented Apr 26, 2009

From webmaster@cosmicperl.com

0001-Fixed-realclean-on-Win32.patch
From e6ea8acd3d312c6077421431a95f9f12dee15d92 Mon Sep 17 00:00:00 2001
From: cosmicnet <webmaster@cosmicperl.com>
Date: Sun, 26 Apr 2009 14:59:25 +0100
Subject: [PATCH] Fixed realclean on Win32

---
 Configure.pl |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/Configure.pl b/Configure.pl
index 0d98d59..a2318ad 100644
--- a/Configure.pl
+++ b/Configure.pl
@@ -95,6 +95,7 @@ sub create_makefile {
     $maketext =~ s/@(\w+)@/$config{$1}/g;
     if ($^O eq 'MSWin32') {
         $maketext =~ s{/}{\\}g;
+        $maketext =~ s{\\\*}{\\\\*}g;
         $maketext =~ s{http:\S+}{ do {my $t = $&; $t =~ s'\\'/'g; $t} }eg;
     }
 
-- 
1.6.2.2.1669.g7eaf8

@p6rt
Copy link
Author

p6rt commented Apr 27, 2009

From @pmichaud

On Sun, Apr 26, 2009 at 07​:04​:28AM -0700, webmaster@​cosmicperl.com via RT wrote​:

Infinoid helped me track the problem down to * being escaped on some of
the directories for the cleanup. So things like​:-
$(PMC_DIR)\*.h
Need to be​:-
$(PMC_DIR)\\*.h

Parrot already does this in it's makefile on Win32 so doesn't have this
issue. I've attached a patch that fixes things.

Does this interfere with other make tools on Win32, or is this
universal to all windows-based makes?

Pm

@p6rt
Copy link
Author

p6rt commented Apr 27, 2009

From @particle

On Mon, Apr 27, 2009 at 08​:02, Patrick R. Michaud <pmichaud@​pobox.com> wrote​:

On Sun, Apr 26, 2009 at 07​:04​:28AM -0700, webmaster@​cosmicperl.com via RT wrote​:

Infinoid helped me track the problem down to * being escaped on some of
the directories for the cleanup. So things like​:-
$(PMC_DIR)\*.h
Need to be​:-
$(PMC_DIR)\\*.h

Parrot already does this in it's makefile on Win32 so doesn't have this
issue. I've attached a patch that fixes things.

Does this interfere with other make tools on Win32, or is this
universal to all windows-based makes?

it's the shell that's running this, so the double-backslash is
necessary across win32 no matter which make engine is used.
~jerry

@p6rt
Copy link
Author

p6rt commented Mar 9, 2010

From @moritz

Does this problem still persists with a current version of Rakudo?

@p6rt
Copy link
Author

p6rt commented May 31, 2010

From @moritz

Closing ticket after not getting any updates from the original reporter
for more than two months.

@p6rt
Copy link
Author

p6rt commented May 31, 2010

@moritz - Status changed from 'open' to 'resolved'

@p6rt p6rt closed this as completed May 31, 2010
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant