On 8/25/2010 12:19 AM, JonY wrote:
since cygport and gcc has been updated, I can do the packaging without
any local hacks.
Here are the packages.
Overall comments: I see you reverted to bundling the DLLs with the
compiler packages (e.g. no separate mingw64-x86_64-libfoo-* tarballs).
While it isn't the way I would do it, that's your choice as maintainer
(and Yaakov would agree with you, not me).
Many of the setup.hint's specify
requires: mingw64-x86_64-gcc
I *think* that should be
requires: mingw64-x86_64-gcc-core.
You don't actually HAVE a 'mingw64-x86_64-gcc' package, except for the
source-only one. And I'm sure you don't mean to require everybody to
install the source code...
(*) I notice that both the -headers and -runtime cygport included this
line as the final command in src_install:
mv ${D}${CROSS_PREFIX}/${CROSS_HOST}/* ${D}${CROSS_PREFIX}
I see the same thing when I tried to use my old mingw*-zlib cygport; I
think the problem is in cygport(1), and your cygport(5) is just working
around the issue.
To sum up, assuming the Ada thing has a reasonable explanation, and the
setup.hints are fixed, I think this is GTG.
If you want to hold off and see what Yaakov does about the issue below,
and maybe revise your cygport(5)'s based on a new release of cygport(1),
that's up to you.
========== POSSIBLE CYGPORT(1) BUG =============
Yaakov?
the config.status for includedir has this:
S["includedir"]="${prefix}/include"
but other dirs are explicit:
S["bindir"]="/usr/x86_64-w64-mingw32/sys-root/mingw/bin"
Looking at the configure command (from config.status):
'/usr/src/mingw64/headers/mingw64-x86_64-headers-svn3433-1/src/mingw-w64-headers/configure'
'--srcdir=/usr/src/mingw64/headers/mingw64-x86_64-headers-svn3433-1/src/mingw-w64-headers'
'--prefix=/usr/x86_64-w64-mingw32/sys-root/mingw'
'--exec-prefix=/usr/x86_64-w64-mingw32/sys-root/mingw'
'--bindir=/usr/x86_64-w64-mingw32/sys-root/mingw/bin'
'--sbindir=/usr/x86_64-w64-mingw32/sys-root/mingw/sbin'
'--libexecdir=/usr/x86_64-w64-mingw32/sys-root/mingw/lib'
'--datadir=/usr/x86_64-w64-mingw32/sys-root/mingw/share'
'--localstatedir=/usr/x86_64-w64-mingw32/sys-root/mingw/var'
'--sysconfdir=/usr/x86_64-w64-mingw32/sys-root/mingw/etc'
'--datarootdir=/usr/x86_64-w64-mingw32/sys-root/mingw/share'
'--docdir=/usr/x86_64-w64-mingw32/sys-root/mingw/share/doc/mingw64-x86_64-headers'
'-C' '--build=i686-pc-cygwin' '--host=x86_64-w64-mingw32'
'--target=x86_64-w64-mingw32' '--enable-sdk=all'
'build_alias=i686-pc-cygwin' 'host_alias=x86_64-w64-mingw32'
'target_alias=x86_64-w64-mingw32' $ac_configure_extra_args --no-create
--no-recursion
I see that --includedir is missing. I think that is an oversight in
autotools.cygclass, and --includedir should be one of the elements
specified in confargs:
confargs="--prefix=${prefix} --exec-prefix=${prefix}
--bindir=${prefix}/bin \
--sbindir=${prefix}/sbin --libexecdir=${prefix}/lib \
--datadir=${prefix}/share --localstatedir=${prefix%/usr}/var \
--sysconfdir=${prefix%/usr}/etc"
I'm not real sure about the ${prefix%/...} manipulation, either,
especially for cross. (The effect of this manipulation for a cross for
$host=mingw is not apparent, since $prefix doesn't actually end in /usr
in that case). But...the current code seems to be incorrect, IMO.
As an aside, I happened to notice there is a bug in cyginstall() when
USE_DESTDIR=0, inherit cross, and $host is mingw: localstatedir (/var)
and sysconfdir (/etc) aren't handled correctly. But that has little to
do with JonY's mingw-w64 ITP.
--
Chuck