From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MGdBX-0007bW-Al for qemu-devel@nongnu.org; Tue, 16 Jun 2009 14:15:03 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MGdBS-0007Td-JT for qemu-devel@nongnu.org; Tue, 16 Jun 2009 14:15:02 -0400 Received: from [199.232.76.173] (port=47652 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MGdBS-0007TO-DE for qemu-devel@nongnu.org; Tue, 16 Jun 2009 14:14:58 -0400 Received: from mail2.shareable.org ([80.68.89.115]:55297) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MGdBR-0006A0-Sf for qemu-devel@nongnu.org; Tue, 16 Jun 2009 14:14:58 -0400 Date: Tue, 16 Jun 2009 19:14:56 +0100 From: Jamie Lokier Subject: Re: [Qemu-devel] [PATCH] Fix SDL configuration for mingw32 cross compilation. Message-ID: <20090616181456.GE11893@shareable.org> References: <1244880087-5277-1-git-send-email-weil@mail.berlios.de> <4A34271B.8080207@us.ibm.com> <4A350288.5090804@mail.berlios.de> <4A35AFD2.5060909@us.ibm.com> <20090616152830.GJ29040@shareable.org> <4A37C8F9.5050906@mail.berlios.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A37C8F9.5050906@mail.berlios.de> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Weil Cc: QEMU Developers Stefan Weil wrote: > Jamie Lokier schrieb: > > Anthony Liguori wrote: > > > >> Stefan Weil wrote: > >> > >>> Anthony Liguori schrieb: > >>> > >>> > >>>> Stefan Weil wrote: > >>>> > >>>> > >>>>> When building QEMU for win32 on linux with mingw32, > >>>>> configure must call ${cross_prefix}-sdl-config (not > >>>>> sdl-config) to get the correct include and lib paths. > >>>>> > >>>>> The results of the native sdl-config are only valid > >>>>> for native builds. They are useless for cross builds. > >>>>> > >>>>> > >>>>> > >>>> No, when you cross compile sdl, you still end up with an sdl-config > >>>> binary. The solution is to install the binary to a different path and > >>>> use PATH when building. > >>>> > >>>> Where did you get your cross build of SDL from? I assume whoever > >>>> packaged it renamed the binary but it's not what sdl actually does. > >>>> > >>>> > >>>> > >>> The PATH solution works (I used it, too), but it is bad: > >>> you have to use a modified PATH for every cross build > >>> (make calls configure when the configure script is updated). > >>> > >>> > >> Yes, this annoys me too. One thing I thought about is that we could > >> record important environment variables for use when re-running make. > >> It's not just PATH. PKG_CONFIG_PATH is also important for running > >> configure. To properly cross compile, you need to set both. > >> > > > > You can record PATH and other environment variables picked up at > > configure time in the Makefile itself. Makefile.in: > > > > export PATH = @PATH@ > > > > It's not pretty, but it works. > > > > -- Jamie > > > > > > Only with autoconf / automake? QEMU does not use them, > so there is no Makefile.in. > > I'd prefer setting paths for pkg-config and sdl-config via > configure options (those are recorded in config-host.mak). You can use it with anything which controls the variables like $(CC) in Makefiles. Doesn't have to be Autoconf. So you'd either put PATH=... and PKG_CONFIG_PATH=... in config-host.mak plus "export PATH PKG_CONFIG_PATH" in the Makefile, or you'd put "export PATH=..." and "export PKG_CONFIG_PATH=..." in config-host.mak and nothing in the Makefile. The main thing is, after recording them, you might have to export PATH in Makefile or config-host.mak to have the required effect. I guess PKG_CONFIG_PATH won't need exporting globally; only in commands which call pkg-config. -- Jamie