Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin-developers AT sourceware DOT cygnus DOT com From: Chris Faylor Date: Thu, 8 Jun 2000 14:25:26 -0400 To: cygwin-developers AT sourceware DOT cygnus DOT com Subject: Re: More i686-pc-cygwin woes. Message-ID: <20000608142526.A20264@cygnus.com> Reply-To: cygwin-developers AT sourceware DOT cygnus DOT com Mail-Followup-To: cygwin-developers AT sourceware DOT cygnus DOT com References: <200006081815 DOT LAA09748 AT cygnus DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2i In-Reply-To: <200006081815.LAA09748@cygnus.com>; from rdparker@butlermfg.com on Thu, Jun 08, 2000 at 01:11:11PM -0500 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