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


---
osname= cygwin
osvers= 1.5.25(0.15642)
arch=   cygwin-thread-multi-64int
cc=     gcc
---
Flags:
     category=install
     severity=medium
     ack=no
---

for the upcoming official cygwin package:

use sane defaults without destdir, prefix and without buildprefix.
esp. main and library files to /usr/lib/parrot and not
just to prefix (/usr) is important.
there's a minor cygwin stat-copy discrepancy

patch attached.

---
Summary of my parrot 0.6.3 (r0) configuration:
   configdate='Wed Jul  2 19:08:15 2008 GMT'
   Platform:
     osname=cygwin, archname=cygwin-thread-multi-64int
     jitcapable=1, jitarchname=i386-cygwin,
     jitosname=CYGWIN, jitcpuarch=i386
     execcapable=1
     perl=/usr/bin/perl.exe
   Compiler:
     cc='gcc', ccflags='-U__STRICT_ANSI__  -pipe -I/usr/local/include 
-DHASATTRIBUTE_CONST  -DHASATTRIBUTE_DEPRECATED  -DHASATTRIBUTE_MALLOC 
-DHASATTRIBUTE_NONNULL  -DHASATTRIBUTE_NORETURN  -DHASATTRIBUTE_PURE 
-DHASATTRIBUTE_UNUSED  -DHASATTRIBUTE_WARN_UNUSED_RESULT 
-falign-functions=16 -maccumulate-outgoing-args -W -Wall 
-Waggregate-return -Wcast-align -Wcast-qual -Wchar-subscripts -Wcomment 
-Wdisabled-optimization -Wendif-labels -Wextra -Wformat 
-Wformat-extra-args -Wformat-nonliteral -Wformat-security -Wformat-y2k 
-Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wmissing-braces 
-Wno-missing-format-attribute -Wpacked -Wparentheses -Wpointer-arith 
-Wreturn-type -Wsequence-point -Wno-shadow -Wsign-compare 
-Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default 
-Wtrigraphs -Wundef -Wunknown-pragmas -Wno-unused -Wwrite-strings 
-Wbad-function-cast -Wdeclaration-after-statement 
-Wimplicit-function-declaration -Wimplicit-int -Wmain 
-Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wnonnull 
-DDISABLE_GC_DEBUG=1 -DNDEBUG -O3 -DHAS_GETTEXT',
   Linker and Libraries:
     ld='gcc', ldflags=' -Wl,--enable-auto-import 
-Wl,--export-all-symbols -Wl,--stack,8388608 
-Wl,--enable-auto-image-base -L/usr/local/lib',
     cc_ldflags='',
     libs='-ldl -lcrypt -lgmp -lreadline -lpcre -lglut -lGLU -lGL 
-lcrypto -lintl'
   Dynamic Linking:
     share_ext='.dll', ld_share_flags='-shared',
     load_ext='.dll', ld_load_flags='-shared'
   Types:
     iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4,
     ptrsize=4, ptr_alignment=1 byteorder=1234,
     nv=double, numvalsize=8, doublesize=8

---
Environment:
     CYGWIN =server
     HOME =/home/rurban
     LANG  (unset)
     LANGUAGE  (unset)
     LD_LIBRARY_PATH  (unset)
     LOGDIR  (unset)
     PATH 
=/usr/src/perl/parrot/parrot-svn/blib/lib:~/bin:/usr/bin:/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/rurban/bin:/usr/bin:/usr/local/bin:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32:/usr/X11R6/bin:/cygdrive/c/bat:/cygdrive/p/MSVS6/reskit:/usr/bin:/usr/lib/gstreamer-0.8:/usr/lib/lapack
     SHELL  (unset)

-- 
Reini Urban
http://phpwiki.org/  http://murbreak.at/
2008-07-03 00:41:43 rurban

	use sane defaults without destdir, prefix and without buildprefix.
	esp. main and library files to /usr/lib/parrot and not just to prefix 
	(/usr) is important.
	there's also a fix for a minor cygwin stat-copy discrepancy.

diff -u  src/parrot-0.6.3/tools/dev/install_files.pl.orig
--- src/parrot-0.6.3/tools/dev/install_files.pl.orig	2008-05-18 16:44:14.000000000 +0000
+++ src/parrot-0.6.3/tools/dev/install_files.pl	2008-07-02 21:52:10.250000000 +0000
@@ -124,9 +124,9 @@
     destdir     => '',
     exec_prefix => '/usr',
     bindir      => '/usr/bin',
-    libdir      => '/usr/lib',
+    libdir      => '/usr/lib/parrot',
     includedir  => '/usr/include',
-    docdir      => '/usr/share/doc',
+    docdir      => '/usr/share/doc/parrot',
     'dry-run'   => 0,
 );
 
@@ -189,6 +189,7 @@
     }
     elsif ( $meta{include} ) {
         $dest =~ s/^include//;
+        $dest =~ s/^src/parrot/;
         $dest = File::Spec->catdir( $options{includedir}, $dest );
     }
     elsif ( $meta{doc} ) {
@@ -204,7 +205,7 @@
     }
     else {
         $dest =~ s/^runtime/lib/ if /\[library]/;
-        $dest = File::Spec->catdir( $options{prefix}, $dest );
+        $dest = File::Spec->catdir( $options{libdir}, $dest );
     }
 
     $dest = File::Spec->catdir( $options{buildprefix}, $dest )
@@ -243,6 +244,7 @@
     }
     else {
         next unless -e $src;
+        next if $^O eq 'cygwin' and -e "$src.exe"; # cygwin stat works, but copy not
         copy( $src, $dest ) or die "copy $src to $dest: $!\n";
         print "$dest\n";
     }

Reply via email to