Re: [Mingw-w64-public] [patch] Prefer to use local headers over installed headers

2013-04-04 Thread Corinna Vinschen
Hi,

On Mar 15 16:14, Corinna Vinschen wrote:
 On Mar 15 06:09, JonY wrote:
  On 3/14/2013 23:52, Corinna Vinschen wrote:
   
   What two build systems?  It's a fairly simple patch which allows the
   normal user of mingw64 to build the entire source tree in a single
   `configure; make; make install', nothing more, nothing less.  I don't
   understand why the unnecessary complicated 2-stage process is enforced.
   
   
  
  After having some proper sleep and looking at your patch again, I can
  see what you are trying to do.
  
  Please keep the changes to the top level configure, pass the -I
  arguments to the lower levels. None of the lower modules have any
  business getting too familiar with each other.
 
 I think NightStrike is already looking into this, so I shut up for now.
 Feel free to ping me if I I'm supposed to do something in this matter.

Is there some progress in this matter, which allows to build the headers
and crt in a single configure/make run?  Just asking...


Thanks,
Corinna

--
Minimize network downtime and maximize team effectiveness.
Reduce network management and security costs.Learn how to hire 
the most talented Cisco Certified professionals. Visit the 
Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [patch] Prefer to use local headers over installed headers

2013-03-15 Thread NightStrike
On Fri, Mar 15, 2013 at 12:55 AM, John E. / TDM tdra...@tdragon.net wrote:
 On 3/14/2013 8:54 PM, NightStrike wrote:
 On Thu, Mar 14, 2013 at 4:22 PM, John E. / TDM tdra...@tdragon.net wrote:
 $(RUNTIME_SRC)/configure --build=x86_64-w64-mingw32 --enable-lib32
 --enable-sdk=all --with-libraries=libmangle --with-tools=all
 --prefix=$(RUNTIME_STAGE)
 make
 make install

 If GCC or mingw-w64 introduce ABI-breaking changes (this happens often),
 I build a non-bootstrap GCC first in order to run this top-level
 mingw-w64 build before bootstrapping; otherwise I use the bootstrapped GCC.
 So no headers?  IIUC, it's only the headers package that is screwing up.

 The headers seem to get built along with all the other subtrees... ?

Curious... when configuring the crt, which headers is it checking for
_mingw_mac.h?  The soon-to-be-built ones, or the
already-installed-as-part-of-the-toolchain ones?  Similarly, which is
it compiling against?

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [patch] Prefer to use local headers over installed headers

2013-03-15 Thread Corinna Vinschen
On Mar 15 06:09, JonY wrote:
 On 3/14/2013 23:52, Corinna Vinschen wrote:
  
  What two build systems?  It's a fairly simple patch which allows the
  normal user of mingw64 to build the entire source tree in a single
  `configure; make; make install', nothing more, nothing less.  I don't
  understand why the unnecessary complicated 2-stage process is enforced.
  
  
 
 After having some proper sleep and looking at your patch again, I can
 see what you are trying to do.
 
 Please keep the changes to the top level configure, pass the -I
 arguments to the lower levels. None of the lower modules have any
 business getting too familiar with each other.

I think NightStrike is already looking into this, so I shut up for now.
Feel free to ping me if I I'm supposed to do something in this matter.


Corinna

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [patch] Prefer to use local headers over installed headers

2013-03-15 Thread JonY
On 3/15/2013 22:14, NightStrike wrote:
 Curious... when configuring the crt, which headers is it checking for
 _mingw_mac.h?  The soon-to-be-built ones, or the
 already-installed-as-part-of-the-toolchain ones?  Similarly, which is
 it compiling against?
 

It is a sanity check, to make sure we are really building against
mingw-w64 headers, not Linux headers nor mingw.org headers.




signature.asc
Description: OpenPGP digital signature
--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [patch] Prefer to use local headers over installed headers

2013-03-15 Thread John E. / TDM
On 3/15/2013 8:14 AM, NightStrike wrote:
 On Fri, Mar 15, 2013 at 12:55 AM, John E. / TDM tdra...@tdragon.net wrote:
 The headers seem to get built along with all the other subtrees... ?
 Curious... when configuring the crt, which headers is it checking for
 _mingw_mac.h?  The soon-to-be-built ones, or the
 already-installed-as-part-of-the-toolchain ones?  Similarly, which is
 it compiling against?

I haven't ever dug into the mingw-w64 build system to be able to answer 
these questions -- it's always worked, so I haven't worried about it.

-John E. / TDM

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [patch] Prefer to use local headers over installed headers

2013-03-15 Thread NightStrike
On Fri, Mar 15, 2013 at 3:24 PM, John E. / TDM tdra...@tdragon.net wrote:
 On 3/15/2013 8:14 AM, NightStrike wrote:
 On Fri, Mar 15, 2013 at 12:55 AM, John E. / TDM tdra...@tdragon.net wrote:
 The headers seem to get built along with all the other subtrees... ?
 Curious... when configuring the crt, which headers is it checking for
 _mingw_mac.h?  The soon-to-be-built ones, or the
 already-installed-as-part-of-the-toolchain ones?  Similarly, which is
 it compiling against?

 I haven't ever dug into the mingw-w64 build system to be able to answer
 these questions -- it's always worked, so I haven't worried about it.

I have a hunch that it's working because you are building mingw-w64
with mingw-w64.  If you did it with, say, mingw.org, it'd probably
fail... which means, it's taking the files from the build compiler to
jimmy the tests.

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [patch] Prefer to use local headers over installed headers

2013-03-14 Thread Rainer Emrich
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Am 13.03.2013 21:18, schrieb NightStrike:
 On Wed, Mar 13, 2013 at 7:22 AM, Corinna Vinschen vinsc...@redhat.com
 wrote:
 Hi,
 
 I'd like to resurrect a patch which has been refused last year, but I
 think it's still helpful and maybe the opinions have changed a bit.
 
 Sorry.. did I refuse it?  Can you link to the mailing list archive (I 
 understand that the SF interface blows for that...)
 
 For people building just the latest mingw64-headers and mingw64-crt, it's
 kind of surprising that mingw64-crt requires that the headers are already
 installed.  In theory, the right thing to do should be that mingw64-crt
 is build after mingw64-headers, and then prefer the just built in-tree
 headers over the already installed headers.
 
 I'm a little confused here.  What we require, ie, the only situation that
 we support, is when the version of the headers is the same version of the
 crt.  Ie, svn checkout revision.  Anything outside of that will probably
 work, of course, but nobody tests it.
 
 Now, in terms of the configure test that errors out in the case of not 
 finding _mingw_mac.h, that is due to the fact that the headers are required
 to build the crt.  We don't care where they are, we just care that they
 exist.  If they don't, the crt build will be all fouled up.
 
 The default, of course, is for the headers to exist in the sysroot that the
 crt is getting installed into.  This is a fairly common usage pattern, and
 modeled after the gcc build.  If they're somewhere else instead, you can
 just use --with-sysroot=some/wheres/else
I just kick in because Corrina is completly right. A common case as for me, is
to update the mingw-w64 runtime for an existing installation. So what you
want, is to compile the runtime in one go, configue, make, make install.
That's impossible for now. At the moment you have to install the headers first
and afterwards you are able to build and install the runtime.

For me that work as so:

mkdir build
cd build
../mingw-w64/configure
cd mingw-w64-headers
make
make install
cd ..
../mingw-w64/configure
make
make install

That's not how it should work. The ming-w64 package includes all what is
neccessary to build. You don't need already installed headers. This
requirement is wrong! You only have to make sure to use the headers included
in the package. That's as with any other software package. Really no package I
know of requires to install the package headers first to build the package.

 
 In fact, the help text for with-sysroot even says this: --with-sysroot=DIR
 Search for headers within DIR/include
 
 So if you for whatever reason want to stage a build of mingw-w64-headers in
 /tmp/my/dir, you just build the crt with --with-sysroot=/tmp/my/dir
That's not the point see above. Even here you have to install the headers first.

Cheers

Rainer
 
 Does that not work for you?
 
 
 
 
 The below patch does that, unless the --without-headers option is set.
 
 This should work in all typical scenarios:
 
 - cross build gcc:
 
 The headers have to be build first.  At the time crt gets build, the
 in-tree headers already have been built for gcc, so they are nicely
 available for the crt build.
 
 - native build gcc:
 
 The installed headers are potentially old.  Building crt with the latest
 in-tree headers is preferrable to circumnavigate potential bugs in the
 older headers.
 
 - native mingw-only build:
 
 Same as above.
 
 I can't come up with a scenario in which it would be bad to use the 
 in-tree headers, unless you don't build the headers, but crt only. This
 should be fixable, shouldn't it?
 
 --

 
Everyone hates slow websites. So do we.
 Make your web apps faster with AppDynamics Download AppDynamics Lite for
 free today: http://p.sf.net/sfu/appdyn_d2d_mar 
 ___ Mingw-w64-public mailing
 list Mingw-w64-public@lists.sourceforge.net 
 https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
 
 

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJRQY+WAAoJEB3HOsWs+KJb+hMH/3uwtbVoSvwXo5mlSoFxDaRG
R/Suh2GdILBIIX2raque/ZSFgUItcvvrSDulStvvyEk0dCBRn6wq3lijuu87a9U2
NCrLuSfmebrxYYSwFJdVDldCEYvNzefAL8PyUWWXWjVR5OR4qGcooE3CrgbG5Dja
7cgKc6/oURyIyFsFCe5l000D6gjGmFe2KwAwbUBY3WgwWwHVvyonJ6ZJV/nqoQL2
EltzBDBZE5MUMIRQQtwHzYtSc2wVmz5u14js8Iuhtp998q2oqV8OE8q+vnQxj6yU
mjUHaOick/tJ88zkuCIzmSdbee+stzHT51YWJtV4XEnScr44yXV9Ectk3F5Ywds=
=pH0D
-END PGP SIGNATURE-

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net

Re: [Mingw-w64-public] [patch] Prefer to use local headers over installed headers

2013-03-14 Thread Corinna Vinschen
On Mar 14 10:13, Corinna Vinschen wrote:
 Sorry, but I'm really confused about the unnecessary complexity.  I don't
 want to stage anything.  I would like to be able call
 
   configure --prefix=...
   make
   make install
 
 That's a pretty standard scenario.  But here's what happens: Try to
 build a full set of headers and libs for a Cygwin target:
 
   ${srcdir}/configure \
 --host=x86_64-w64-mingw32 \
 --prefix=/home/corinna/mingw \

That should have been --prefix=/home/corinna/mingw64 to match the below
error message.  Sorry.

 --enable-w32api
 
 As common as it looks, the build will fail:
 
   x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H \
 -I. \
 -I${srcdir}/mingw-w64-crt  \
 -m32 \
 -I/home/corinna/mingw64/include   \
 [...] -g -O2 [...] \
 -c -o libsrc/lib32_libwmcodecdspuuid_a-wmcodecdspuuid.o \
 [...]/wmcodecdspuuid.c
   ${srcdir}/mingw-w64-crt/libsrc/wmcodecdspuuid.c:8:24: fatal error: 
 wmcodecdsp.h: No such file or directory
   compilation terminated.
 
 The reason is obvious.  The -I don't include the headers within the
 same src tree, and they don't contain the generated headers within
 the same build tree *even though thay are available*.
 
 It simply doesn't make sense to require having a copy of these headers
 installed to some arbitrary sysroot dir, just to be able to build crt.


Corinna

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [patch] Prefer to use local headers over installed headers

2013-03-14 Thread JonY
On 3/14/2013 16:51, Rainer Emrich wrote:
 I just kick in because Corrina is completly right. A common case as for me, is
 to update the mingw-w64 runtime for an existing installation. So what you
 want, is to compile the runtime in one go, configue, make, make install.
 That's impossible for now. At the moment you have to install the headers first
 and afterwards you are able to build and install the runtime.
 
 For me that work as so:
 
 mkdir build
 cd build
 ../mingw-w64/configure
 cd mingw-w64-headers
 make
 make install
 cd ..
 ../mingw-w64/configure
 make
 make install
 
 That's not how it should work. The ming-w64 package includes all what is
 neccessary to build. You don't need already installed headers. This
 requirement is wrong! You only have to make sure to use the headers included
 in the package. That's as with any other software package. Really no package I
 know of requires to install the package headers first to build the package.
 
 

You *have* to install the headers first as a prerequisite for the crt to
work. There are generated headers required for the CRT, not a plain and
simple -I.

You do NOT need to use the top level configure. The more I think of it,
the more I think it was a bad idea.




signature.asc
Description: OpenPGP digital signature
--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [patch] Prefer to use local headers over installed headers

2013-03-14 Thread Rainer Emrich
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Am 14.03.2013 10:37, schrieb JonY:
 On 3/14/2013 16:51, Rainer Emrich wrote:
 I just kick in because Corrina is completly right. A common case as for
 me, is to update the mingw-w64 runtime for an existing installation. So
 what you want, is to compile the runtime in one go, configue, make, make
 install. That's impossible for now. At the moment you have to install the
 headers first and afterwards you are able to build and install the
 runtime.
 
 For me that work as so:
 
 mkdir build cd build ../mingw-w64/configure cd mingw-w64-headers make 
 make install cd .. ../mingw-w64/configure make make install
 
 That's not how it should work. The ming-w64 package includes all what is 
 neccessary to build. You don't need already installed headers. This 
 requirement is wrong! You only have to make sure to use the headers
 included in the package. That's as with any other software package.
 Really no package I know of requires to install the package headers first
 to build the package.
 
 
 
 You *have* to install the headers first as a prerequisite for the crt to 
 work. There are generated headers required for the CRT, not a plain and 
 simple -I.
No, that's wrong! The build machinery has to be smart to take this into
account. Even if you use generated headers, you don't need to install the
headers first. Eventually you have to build the generated headers before you
configure the runtime. But after that the right include path should do.

 
 You do NOT need to use the top level configure. The more I think of it, the
 more I think it was a bad idea.
No, that's the way it should work. But has to be improved. Maybe you have to
call the configure script for the crt from within the toplevel make.
I don't have the time to propose any patches for this issue at the moment, but
I'm sure that's feasible.

Rainer

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJRQZ8BAAoJEB3HOsWs+KJb8xoH/0K7DZ6HWohg10uQgTaLCJ1G
mVdcezVs35NByqaP1RCpOK+zy1zeWLbLE5UdN5i4qDwsCQ/eGGX2R5a2qo6n9rox
eDV8DKo70rgmyuR4Lp7CJCCJhxQLVUZEMATqIUcQxNj0uFyWesUlmHx5RpGKmsF4
inEW1I6BUsXpELukeJ98a+gvs4l7u8w98hrpKho39uErSOAgcXezoH6cfxUPkExq
F4f5Rm8B8HXZNqXzi7DdkFjFFCys+7P2b6KTo/boKQbwKWAPujtDu79v4/ZclvS/
9N8WRTVbXyMRTY6haTagPn2HE5BZwQHg4zz3gtK21I+VNcsjLEbAIfQuf1wMuz0=
=kXE/
-END PGP SIGNATURE-

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [patch] Prefer to use local headers over installed headers

2013-03-14 Thread Corinna Vinschen
On Mar 14 11:13, m...@morous.org wrote:
 
 
  You *have* to install the headers first as a prerequisite for the crt to
  work. There are generated headers required for the CRT, not a plain and
  simple -I.
 
 Many packages generate headers or some sources. Consider config.h.in -
 config.h as the most common case. I cannot see that as a reason for
 increased build complexity. There just implies one extra level of
 dependencies in (generated) Makefile.

Exactly.  Also, the just built headers *are* taken into account by my
patch, because they are included as well.  I don't see why we need a 
two stage build at all, if a one stage build can do the right thing
out of the box.


Corinna

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [patch] Prefer to use local headers over installed headers

2013-03-14 Thread Ruben Van Boxem
2013/3/14 Corinna Vinschen vinsc...@redhat.com

 On Mar 14 11:13, m...@morous.org wrote:
 
  
   You *have* to install the headers first as a prerequisite for the crt
 to
   work. There are generated headers required for the CRT, not a plain and
   simple -I.
 
  Many packages generate headers or some sources. Consider config.h.in -
  config.h as the most common case. I cannot see that as a reason for
  increased build complexity. There just implies one extra level of
  dependencies in (generated) Makefile.

 Exactly.  Also, the just built headers *are* taken into account by my
 patch, because they are included as well.  I don't see why we need a
 two stage build at all, if a one stage build can do the right thing
 out of the box.


The two stage build is only required to be possible in the case of building
a Canadian Cross, in which the build sequence is
headers,binutils+gcc-c,crt,gcc-all. But it is indeed not necessary at all
when there's a preexisting gcc available.

Ruben



 Corinna


 --
 Everyone hates slow websites. So do we.
 Make your web apps faster with AppDynamics
 Download AppDynamics Lite for free today:
 http://p.sf.net/sfu/appdyn_d2d_mar
 ___
 Mingw-w64-public mailing list
 Mingw-w64-public@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [patch] Prefer to use local headers over installed headers

2013-03-14 Thread NightStrike
On Thu, Mar 14, 2013 at 5:13 AM, Corinna Vinschen vinsc...@redhat.com wrote:
 On Mar 13 16:18, NightStrike wrote:
 On Wed, Mar 13, 2013 at 7:22 AM, Corinna Vinschen vinsc...@redhat.com 
 wrote:
  Hi,
 
  I'd like to resurrect a patch which has been refused last year, but
  I think it's still helpful and maybe the opinions have changed a bit.

 Sorry.. did I refuse it?  Can you link to the mailing list archive (I
 understand that the SF interface blows for that...)

No link?  I tried to find it and could not.

  For people building just the latest mingw64-headers and mingw64-crt,
  it's kind of surprising that mingw64-crt requires that the headers
  are already installed.  In theory, the right thing to do should be
  that mingw64-crt is build after mingw64-headers, and then prefer the
  just built in-tree headers over the already installed headers.

 I'm a little confused here.  What we require, ie, the only situation
 that we support, is when the version of the headers is the same
 version of the crt.  Ie, svn checkout revision.  Anything outside of
 that will probably work, of course, but nobody tests it.

 Sure, I'm not claiming anything else, nor am I trying to do anything
 else.  I want to build a full mingw tree, without having to have
 anything installed outside the source or build tree.

When you say full mingw tree, do you mean that you are building crt,
headers, and tools using the top level configure/make, as opposed to
building each thing you want independently?

 Now, in terms of the configure test that errors out in the case of not
 finding _mingw_mac.h, that is due to the fact that the headers are
 required to build the crt.  We don't care where they are, we just care
 that they exist.  If they don't, the crt build will be all fouled up.

 I'm puzzeled.  That has nothing to do with my patch.

Your patch changed when it errored out.

 The default, of course, is for the headers to exist in the sysroot
 that the crt is getting installed into.  This is a fairly common usage
 pattern, and modeled after the gcc build.  If they're somewhere else
 instead, you can just use --with-sysroot=some/wheres/else

 In fact, the help text for with-sysroot even says this:
  --with-sysroot=DIR   Search for headers within DIR/include

 So if you for whatever reason want to stage a build of
 mingw-w64-headers in /tmp/my/dir, you just build the crt with
 --with-sysroot=/tmp/my/dir

 Does that not work for you?

 Sorry, but I'm really confused about the unnecessary complexity.  I don't
 want to stage anything.  I would like to be able call

   configure --prefix=...
   make
   make install

Which configure are we talking about in all of this?  I thought you
were always asking about the crt configure, but I'm getting the
feeling that you're really asking about the top level configure.

 That's a pretty standard scenario.  But here's what happens: Try to
 build a full set of headers and libs for a Cygwin target:

   ${srcdir}/configure \
 --host=x86_64-w64-mingw32 \
 --prefix=/home/corinna/mingw \
 --enable-w32api

 As common as it looks, the build will fail:

   x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H \
 -I. \
 -I${srcdir}/mingw-w64-crt  \
 -m32 \
 -I/home/corinna/mingw64/include   \
 [...] -g -O2 [...] \
 -c -o libsrc/lib32_libwmcodecdspuuid_a-wmcodecdspuuid.o \
 [...]/wmcodecdspuuid.c
   ${srcdir}/mingw-w64-crt/libsrc/wmcodecdspuuid.c:8:24: fatal error: 
 wmcodecdsp.h: No such file or directory
   compilation terminated.

 The reason is obvious.  The -I don't include the headers within the
 same src tree, and they don't contain the generated headers within
 the same build tree *even though thay are available*.

 It simply doesn't make sense to require having a copy of these headers
 installed to some arbitrary sysroot dir, just to be able to build crt.


 Corinna

 --
 Everyone hates slow websites. So do we.
 Make your web apps faster with AppDynamics
 Download AppDynamics Lite for free today:
 http://p.sf.net/sfu/appdyn_d2d_mar
 ___
 Mingw-w64-public mailing list
 Mingw-w64-public@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [patch] Prefer to use local headers over installed headers

2013-03-14 Thread Corinna Vinschen
On Mar 14 10:53, NightStrike wrote:
 On Thu, Mar 14, 2013 at 5:13 AM, Corinna Vinschen vinsc...@redhat.com wrote:
  On Mar 13 16:18, NightStrike wrote:
  On Wed, Mar 13, 2013 at 7:22 AM, Corinna Vinschen vinsc...@redhat.com 
  wrote:
   Hi,
  
   I'd like to resurrect a patch which has been refused last year, but
   I think it's still helpful and maybe the opinions have changed a bit.
 
  Sorry.. did I refuse it?  Can you link to the mailing list archive (I
  understand that the SF interface blows for that...)
 
 No link?  I tried to find it and could not.

Do we really need that?  I didn't keep a local copy and searching the
ML archive sucks.

  I'm a little confused here.  What we require, ie, the only situation
  that we support, is when the version of the headers is the same
  version of the crt.  Ie, svn checkout revision.  Anything outside of
  that will probably work, of course, but nobody tests it.
 
  Sure, I'm not claiming anything else, nor am I trying to do anything
  else.  I want to build a full mingw tree, without having to have
  anything installed outside the source or build tree.
 
 When you say full mingw tree, do you mean that you are building crt,
 headers, and tools using the top level configure/make, as opposed to
 building each thing you want independently?

Exactly.  Doing that is a fairly typical scenario, isn't it?

  Now, in terms of the configure test that errors out in the case of not
  finding _mingw_mac.h, that is due to the fact that the headers are
  required to build the crt.  We don't care where they are, we just care
  that they exist.  If they don't, the crt build will be all fouled up.
 
  I'm puzzeled.  That has nothing to do with my patch.
 
 Your patch changed when it errored out.

Sorry?  When did my patch change?  When did it error out?  I realy don't
understand what you're talking about.

  The default, of course, is for the headers to exist in the sysroot
  that the crt is getting installed into.  This is a fairly common usage
  pattern, and modeled after the gcc build.  If they're somewhere else
  instead, you can just use --with-sysroot=some/wheres/else
 
  In fact, the help text for with-sysroot even says this:
   --with-sysroot=DIR   Search for headers within DIR/include
 
  So if you for whatever reason want to stage a build of
  mingw-w64-headers in /tmp/my/dir, you just build the crt with
  --with-sysroot=/tmp/my/dir
 
  Does that not work for you?
 
  Sorry, but I'm really confused about the unnecessary complexity.  I don't
  want to stage anything.  I would like to be able call
 
configure --prefix=...
make
make install
 
 Which configure are we talking about in all of this?  I thought you
 were always asking about the crt configure, but I'm getting the
 feeling that you're really asking about the top level configure.

The crt configurey needs a change to be able to build a full mingw
tree from top level.  I thought that was clear.  Only building crt
without the headers makes only marginal sense.  My below example
shows that:

  That's a pretty standard scenario.  But here's what happens: Try to
  build a full set of headers and libs for a Cygwin target:


 
${srcdir}/configure \
  --host=x86_64-w64-mingw32 \
  --prefix=/home/corinna/mingw \
  --enable-w32api
 
  As common as it looks, the build will fail:
 
x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H \
  -I. \
  -I${srcdir}/mingw-w64-crt  \
  -m32 \
  -I/home/corinna/mingw64/include   \
  [...] -g -O2 [...] \
  -c -o libsrc/lib32_libwmcodecdspuuid_a-wmcodecdspuuid.o \
  [...]/wmcodecdspuuid.c
${srcdir}/mingw-w64-crt/libsrc/wmcodecdspuuid.c:8:24: fatal error: 
  wmcodecdsp.h: No such file or directory
compilation terminated.
 
  The reason is obvious.  The -I don't include the headers within the
  same src tree, and they don't contain the generated headers within
  the same build tree *even though thay are available*.
 
  It simply doesn't make sense to require having a copy of these headers
  installed to some arbitrary sysroot dir, just to be able to build crt.

Corinna

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [patch] Prefer to use local headers over installed headers

2013-03-14 Thread JonY
On 3/14/2013 18:41, Ruben Van Boxem wrote:
 2013/3/14 Corinna Vinschen vinsc...@redhat.com
 
 On Mar 14 11:13, m...@morous.org wrote:


 You *have* to install the headers first as a prerequisite for the crt
 to
 work. There are generated headers required for the CRT, not a plain and
 simple -I.

 Many packages generate headers or some sources. Consider config.h.in -
 config.h as the most common case. I cannot see that as a reason for
 increased build complexity. There just implies one extra level of
 dependencies in (generated) Makefile.

Some of the library headers are designed to overwrite default copies
from mingw-w64-headers, not a simple config.h, eg winpthreads.


 Exactly.  Also, the just built headers *are* taken into account by my
 patch, because they are included as well.  I don't see why we need a
 two stage build at all, if a one stage build can do the right thing
 out of the box.


I'm still not sure about saving a few keystrokes for convenience to
justify the increased maintenance. Now you have *two* build systems to
take care of.

 
 The two stage build is only required to be possible in the case of building
 a Canadian Cross, in which the build sequence is
 headers,binutils+gcc-c,crt,gcc-all. But it is indeed not necessary at all
 when there's a preexisting gcc available.

Don't forget about doing a clean bootstrap with no cross gcc available.




signature.asc
Description: OpenPGP digital signature
--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [patch] Prefer to use local headers over installed headers

2013-03-14 Thread NightStrike
On Thu, Mar 14, 2013 at 11:27 AM, Corinna Vinschen vinsc...@redhat.com wrote:
 On Mar 14 10:53, NightStrike wrote:
 On Thu, Mar 14, 2013 at 5:13 AM, Corinna Vinschen vinsc...@redhat.com 
 wrote:
  On Mar 13 16:18, NightStrike wrote:
  On Wed, Mar 13, 2013 at 7:22 AM, Corinna Vinschen vinsc...@redhat.com 
  wrote:
   Hi,
  
   I'd like to resurrect a patch which has been refused last year, but
   I think it's still helpful and maybe the opinions have changed a bit.
 
  Sorry.. did I refuse it?  Can you link to the mailing list archive (I
  understand that the SF interface blows for that...)

 No link?  I tried to find it and could not.

 Do we really need that?  I didn't keep a local copy and searching the
 ML archive sucks.

I just thought maybe there was more enlightening discussion.

  I'm a little confused here.  What we require, ie, the only situation
  that we support, is when the version of the headers is the same
  version of the crt.  Ie, svn checkout revision.  Anything outside of
  that will probably work, of course, but nobody tests it.
 
  Sure, I'm not claiming anything else, nor am I trying to do anything
  else.  I want to build a full mingw tree, without having to have
  anything installed outside the source or build tree.

 When you say full mingw tree, do you mean that you are building crt,
 headers, and tools using the top level configure/make, as opposed to
 building each thing you want independently?

 Exactly.  Doing that is a fairly typical scenario, isn't it?

Actually, no.  Pretty much nobody uses the top level configure.  It
was an idea that I had that nobody really wanted, and so it fell into
disuse and doesn't really work (which I guess is what you are seeing).

If you want top level configure to work again, give me some time and
I'll work on it to make it useful.  There's actually numerous problems
with it, not just the hokiness of trying to stage a headers install.

  Now, in terms of the configure test that errors out in the case of not
  finding _mingw_mac.h, that is due to the fact that the headers are
  required to build the crt.  We don't care where they are, we just care
  that they exist.  If they don't, the crt build will be all fouled up.
 
  I'm puzzeled.  That has nothing to do with my patch.

 Your patch changed when it errored out.

 Sorry?  When did my patch change?  When did it error out?  I realy don't
 understand what you're talking about.

Your patch moved the criteria for erroring out on the non-existence of
mingw_mac.h:

-AC_CHECK_HEADER([_mingw_mac.h], [], [AC_MSG_ERROR([Please check if
the mingw-w64 header set and the build/host option are set
properly.])])
+AS_CASE([$with_headers],
+  [yes],[],
+  [AC_CHECK_HEADER([_mingw_mac.h],
+   [],
+   [AC_MSG_ERROR([Please check if the mingw-w64
header set and the build/host option are set properly.])])])

After your patch, configure won't always verify that the headers are
usable for building crt.

  The default, of course, is for the headers to exist in the sysroot
  that the crt is getting installed into.  This is a fairly common usage
  pattern, and modeled after the gcc build.  If they're somewhere else
  instead, you can just use --with-sysroot=some/wheres/else
 
  In fact, the help text for with-sysroot even says this:
   --with-sysroot=DIR   Search for headers within DIR/include
 
  So if you for whatever reason want to stage a build of
  mingw-w64-headers in /tmp/my/dir, you just build the crt with
  --with-sysroot=/tmp/my/dir
 
  Does that not work for you?
 
  Sorry, but I'm really confused about the unnecessary complexity.  I don't
  want to stage anything.  I would like to be able call
 
configure --prefix=...
make
make install

 Which configure are we talking about in all of this?  I thought you
 were always asking about the crt configure, but I'm getting the
 feeling that you're really asking about the top level configure.

 The crt configurey needs a change to be able to build a full mingw
 tree from top level.  I thought that was clear.  Only building crt
 without the headers makes only marginal sense.  My below example
 shows that:

Well, it's clear now.  Although note that until now, every user always
does configure/make/install of headers and crt independently.  Mostly
because top level doesn't really work :)

So at least now I understand your use case I'll look into it from
a different perspective and see what I can see.

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [patch] Prefer to use local headers over installed headers

2013-03-14 Thread Jacek Caban
On 3/14/13 8:00 PM, NightStrike wrote:
 Pretty much nobody uses the top level configure.  It
 was an idea that I had that nobody really wanted, and so it fell into
 disuse and doesn't really work (which I guess is what you are seeing).

Personally I like the idea of top level configure, *but* the fact that 
it doesn't work is a reason I use it. Ideally, the scenario:

./configure
make install-headers
# ... GCC stuff ...
make
make install

would be much cleaner than current solution IMHO. And it this scenario, 
Corinna's proposal to use in-tree headers seems a very much expected 
behavior.

 If you want top level configure to work again, give me some time and
 I'll work on it to make it useful.  There's actually numerous problems
 with it, not just the hokiness of trying to stage a headers install.

Yes, please :)

Cheers,
Jacek

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [patch] Prefer to use local headers over installed headers

2013-03-14 Thread Corinna Vinschen
On Mar 14 15:00, NightStrike wrote:
 On Thu, Mar 14, 2013 at 11:27 AM, Corinna Vinschen vinsc...@redhat.com 
 wrote:
  On Mar 14 10:53, NightStrike wrote:
  On Thu, Mar 14, 2013 at 5:13 AM, Corinna Vinschen vinsc...@redhat.com 
  wrote:
   On Mar 13 16:18, NightStrike wrote:
   On Wed, Mar 13, 2013 at 7:22 AM, Corinna Vinschen vinsc...@redhat.com 
   wrote:
  When you say full mingw tree, do you mean that you are building crt,
  headers, and tools using the top level configure/make, as opposed to
  building each thing you want independently?
 
  Exactly.  Doing that is a fairly typical scenario, isn't it?
 
 Actually, no.  Pretty much nobody uses the top level configure.  It
 was an idea that I had that nobody really wanted, and so it fell into
 disuse and doesn't really work (which I guess is what you are seeing).

The top-level configure works excellent for creating the w32api
installation, except for the missing header file paths.

 Your patch moved the criteria for erroring out on the non-existence of
 mingw_mac.h:
 
 -AC_CHECK_HEADER([_mingw_mac.h], [], [AC_MSG_ERROR([Please check if
 the mingw-w64 header set and the build/host option are set
 properly.])])
 +AS_CASE([$with_headers],
 +  [yes],[],
 +  [AC_CHECK_HEADER([_mingw_mac.h],
 +   [],
 +   [AC_MSG_ERROR([Please check if the mingw-w64
 header set and the build/host option are set properly.])])])
 
 After your patch, configure won't always verify that the headers are
 usable for building crt.

The criteria are pretty clear, so maybe I just didn't create the test
correctly:

- Either we're building a full tree with headers and crt, then the
  we don't need the test for _mingw_mac.h, because it will be
  created early enough while building the headers.

- Or we're building a standalone crt, then the _mingw_mac.h test is ok.

So, to get that right, the crt configure just needs to know if we're
building with in-tree headers or not.

I'd appreciate it very much if that could be done to allow an easy
single-stage build of the full tree.


Corinna

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [patch] Prefer to use local headers over installed headers

2013-03-14 Thread JonY
On 3/14/2013 23:52, Corinna Vinschen wrote:
 
 What two build systems?  It's a fairly simple patch which allows the
 normal user of mingw64 to build the entire source tree in a single
 `configure; make; make install', nothing more, nothing less.  I don't
 understand why the unnecessary complicated 2-stage process is enforced.
 
 

After having some proper sleep and looking at your patch again, I can
see what you are trying to do.

Please keep the changes to the top level configure, pass the -I
arguments to the lower levels. None of the lower modules have any
business getting too familiar with each other.





signature.asc
Description: OpenPGP digital signature
--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [patch] Prefer to use local headers over installed headers

2013-03-14 Thread John E. / TDM
On 3/14/2013 1:00 PM, NightStrike wrote:
 On Thu, Mar 14, 2013 at 11:27 AM, Corinna Vinschen vinsc...@redhat.com 
 wrote:
 On Mar 14 10:53, NightStrike wrote:
 When you say full mingw tree, do you mean that you are building crt,
 headers, and tools using the top level configure/make, as opposed to
 building each thing you want independently?
 Exactly.  Doing that is a fairly typical scenario, isn't it?
 Actually, no.  Pretty much nobody uses the top level configure.  It
 was an idea that I had that nobody really wanted, and so it fell into
 disuse and doesn't really work (which I guess is what you are seeing).

 If you want top level configure to work again, give me some time and
 I'll work on it to make it useful.  There's actually numerous problems
 with it, not just the hokiness of trying to stage a headers install.

Just to throw another data point out there, I use top-level configure 
for TDM-GCC (i.e. an x86_64-w64-mingw32 native bootstrap). It seems to 
work and is far easier than building each sub-tree individually.

-John E. / TDM

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [patch] Prefer to use local headers over installed headers

2013-03-14 Thread NightStrike
On Thu, Mar 14, 2013 at 1:26 PM, John E. / TDM tdra...@tdragon.net wrote:
 On 3/14/2013 1:00 PM, NightStrike wrote:
 On Thu, Mar 14, 2013 at 11:27 AM, Corinna Vinschen vinsc...@redhat.com 
 wrote:
 On Mar 14 10:53, NightStrike wrote:
 When you say full mingw tree, do you mean that you are building crt,
 headers, and tools using the top level configure/make, as opposed to
 building each thing you want independently?
 Exactly.  Doing that is a fairly typical scenario, isn't it?
 Actually, no.  Pretty much nobody uses the top level configure.  It
 was an idea that I had that nobody really wanted, and so it fell into
 disuse and doesn't really work (which I guess is what you are seeing).

 If you want top level configure to work again, give me some time and
 I'll work on it to make it useful.  There's actually numerous problems
 with it, not just the hokiness of trying to stage a headers install.

 Just to throw another data point out there, I use top-level configure
 for TDM-GCC (i.e. an x86_64-w64-mingw32 native bootstrap). It seems to
 work and is far easier than building each sub-tree individually.

How do you use it?

What I am finding is that there is a fundamental difference in how
AC_CONFIG_SUBDIRS works, and how we would like it to work.  Let's say
we have two packages, p1 and p2.  Both need to be configured, made and
installed (c/m/i for short).  Let's say further that we want to build
p1 and p2 serially such that we would do c1/m1/i1 followed by
c2/m2/i2.  What AC_CONFIG_SUBDIRS does instead is c1/c2, m1/m2, i1/i2.
 This means that in the case of the headers/crt packages, we will be
forcing all work on the headers to be done at configure time.
Translation -- we can't actually build the headers.  This is not
ideal.

Now, currently, we do a lot at configure time, but we do three things
at build time:
Create _mingw_directx.h
Create _mingw_ddk.h
(Optional) Run widl to convert from .widl to .h

You could argue that those three things don't need to happen before
you configure the crt, but currently, we don't have such a limitation
in place.  It's really not my place to create that limitation without
input from the people working in those areas.  I have no idea what's
planned for the future (ie, a future situation where the dependency
does exist.)  I'm open to ideas.  I'm also open to making the top
level configury smarter.

I looked at the gcc top level configury to see how that gets so smart.
 This works more like what I would expect -- serialize the c/m/i
process for each sub package.  It's also insanely complicated, and I
guess hearkens back to what people used to call the cygnus tree.


I am remembering now why I abandoned the top level idea :P

That said, it does work pretty well for the libs and tools, which have
no crazy dependencies.

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [patch] Prefer to use local headers over installed headers

2013-03-14 Thread John E. / TDM
On 3/14/2013 6:26 PM, NightStrike wrote:
 On Thu, Mar 14, 2013 at 1:26 PM, John E. / TDM tdra...@tdragon.net wrote:
 Just to throw another data point out there, I use top-level configure
 for TDM-GCC (i.e. an x86_64-w64-mingw32 native bootstrap). It seems to
 work and is far easier than building each sub-tree individually.
 How do you use it?

$(RUNTIME_SRC)/configure --build=x86_64-w64-mingw32 --enable-lib32 
--enable-sdk=all --with-libraries=libmangle --with-tools=all 
--prefix=$(RUNTIME_STAGE)
make
make install

If GCC or mingw-w64 introduce ABI-breaking changes (this happens often), 
I build a non-bootstrap GCC first in order to run this top-level 
mingw-w64 build before bootstrapping; otherwise I use the bootstrapped GCC.

-John E. / TDM

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [patch] Prefer to use local headers over installed headers

2013-03-14 Thread NightStrike
On Thu, Mar 14, 2013 at 4:22 PM, John E. / TDM tdra...@tdragon.net wrote:
 On 3/14/2013 6:26 PM, NightStrike wrote:
 On Thu, Mar 14, 2013 at 1:26 PM, John E. / TDM tdra...@tdragon.net wrote:
 Just to throw another data point out there, I use top-level configure
 for TDM-GCC (i.e. an x86_64-w64-mingw32 native bootstrap). It seems to
 work and is far easier than building each sub-tree individually.
 How do you use it?

 $(RUNTIME_SRC)/configure --build=x86_64-w64-mingw32 --enable-lib32
 --enable-sdk=all --with-libraries=libmangle --with-tools=all
 --prefix=$(RUNTIME_STAGE)
 make
 make install

 If GCC or mingw-w64 introduce ABI-breaking changes (this happens often),
 I build a non-bootstrap GCC first in order to run this top-level
 mingw-w64 build before bootstrapping; otherwise I use the bootstrapped GCC.

So no headers?  IIUC, it's only the headers package that is screwing up.

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [patch] Prefer to use local headers over installed headers

2013-03-13 Thread NightStrike
On Wed, Mar 13, 2013 at 7:22 AM, Corinna Vinschen vinsc...@redhat.com wrote:
 Hi,

 I'd like to resurrect a patch which has been refused last year, but
 I think it's still helpful and maybe the opinions have changed a bit.

Sorry.. did I refuse it?  Can you link to the mailing list archive (I
understand that the SF interface blows for that...)

 For people building just the latest mingw64-headers and mingw64-crt,
 it's kind of surprising that mingw64-crt requires that the headers
 are already installed.  In theory, the right thing to do should be
 that mingw64-crt is build after mingw64-headers, and then prefer the
 just built in-tree headers over the already installed headers.

I'm a little confused here.  What we require, ie, the only situation
that we support, is when the version of the headers is the same
version of the crt.  Ie, svn checkout revision.  Anything outside of
that will probably work, of course, but nobody tests it.

Now, in terms of the configure test that errors out in the case of not
finding _mingw_mac.h, that is due to the fact that the headers are
required to build the crt.  We don't care where they are, we just care
that they exist.  If they don't, the crt build will be all fouled up.

The default, of course, is for the headers to exist in the sysroot
that the crt is getting installed into.  This is a fairly common usage
pattern, and modeled after the gcc build.  If they're somewhere else
instead, you can just use --with-sysroot=some/wheres/else

In fact, the help text for with-sysroot even says this:
 --with-sysroot=DIR   Search for headers within DIR/include

So if you for whatever reason want to stage a build of
mingw-w64-headers in /tmp/my/dir, you just build the crt with
--with-sysroot=/tmp/my/dir

Does that not work for you?




  The
 below patch does that, unless the --without-headers option is set.

 This should work in all typical scenarios:

 - cross build gcc:

   The headers have to be build first.  At the time crt gets build,
   the in-tree headers already have been built for gcc, so they
   are nicely available for the crt build.

 - native build gcc:

   The installed headers are potentially old.  Building crt with the
   latest in-tree headers is preferrable to circumnavigate potential
   bugs in the older headers.

 - native mingw-only build:

   Same as above.

 I can't come up with a scenario in which it would be bad to use the
 in-tree headers, unless you don't build the headers, but crt only.
 This should be fixable, shouldn't it?

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public