More i686-pc-cygwin woes.

Chris Faylor cgf@cygnus.com
Thu Jun 8 11:25:00 GMT 2000


On Thu, Jun 08, 2000 at 01:11:11PM -0500, Parker, Ron wrote:
>> I force this to occur by specifying the regular "correct" stuff in
>> configure and using a line like this for the 'make install':
>> 
>>         make tooldir=/usr install
>> 
>> This causes cygwin to avoid using i686-pc-cygwin directory.
>
>Would it be better if we had our own version of autoconf that when it was
>dealing with a cygwin target set tooldir appropriately?  And yes I am
>volunteering.  

This is only an issue for the cygwin directory, AFAIK.  Everything else
does the right thing when supplied with the appropriate configure line.
Here's what my "net release" script uses:

$src/configure --build=i686-pc-linux --host=i686-pc-cygwin --target=i686-pc-cygwin --enable-haifa --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --includedir=/nonexistent/include

The '/nonexistent/include' stuff is, unfortunately, required because readline
uses --includedir as the directory to include in compilations which is not,
I believe, correct.

DJ added some logic a while ago that made cygwin do the right thing when
compiling natively.  However, if you're cross compiling, you really do
want to put things in the i686-pc-cygwin directory.  You could add some
autoconf stuff to work around this but I'm not sure that it would be
worth it.  There may be some, already existent, nifty autoconf variable
that should be used but I don't know what it is.

The method that I've been using is to configure everything as if it was
going to be installed on the native system and then do a "make install"
with lots of overrides on the command line:

make CFLAGS=-O2 tooldir=/usr
make install prefix=$inst/usr exec_prefix=$inst/usr bindir=$inst/usr/bin libdir=$inst/usr/lib sysconfdir=$inst/etc includedir=$inst/usr/include tooldir=$inst/usr

This seems to work fine.

So, the question is what is "appropriate" for the tooldir.  I think it
is currently appropriate as is.  Both DJ and I do cross-builds so we
have to add a little extra when installing.  AFAIK, the 'tooldir'
stuff is specific to cygwin.

>We could then autoconf the packages that referred to this directory and
>release a new tar ball and source for those packages.  Also if a user had
>complained of a third-party package that was errantly placing files in
>/usr/i686-pc-cygwin, we could direct him to:
>
>	autoconf
>	./configure --prefix=/usr i686-pc-cygwin
>	make
>	make install
>
>Which isn't that abnormal anyway.

I don't know about gcc, but this does the expected for cygwin when building
natively.

cgf


More information about the Cygwin-developers mailing list