www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2010/03/13/03:23:30

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-3.2 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW
X-Spam-Check-By: sourceware.org
Message-ID: <4B9B4B6F.90603@cwilson.fastmail.fm>
Date: Sat, 13 Mar 2010 03:23:11 -0500
From: Charles Wilson <cygwin AT cwilson DOT fastmail DOT fm>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.23) Gecko/20090812 Thunderbird/2.0.0.23 Mnenhy/0.7.6.666
MIME-Version: 1.0
To: Cygwin Mailing List <cygwin AT cygwin DOT com>
Subject: Re: gettext/libiconv and libtool problem
References: <6 DOT 1 DOT 1 DOT 1 DOT 2 DOT 20100313064636 DOT 01e70d30 AT 192 DOT 168 DOT 6 DOT 12>
In-Reply-To: <6.1.1.1.2.20100313064636.01e70d30@192.168.6.12>
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

On 3/13/2010 1:36 AM, Roger While wrote:

> gettext supplies libintl.la.
> That file requires libiconv.la.

That is what would be supported by a 'build-depends:' tag -- which is
exactly how that is handled by more powerful package management systems
like rpm, deb, apt, and even ebuild.

The original design of setup.exe was supposed to support this, but it
never has been fleshed out.  From setup CVS, inilex.ll:

...
"Binary:"               return BINARYPACKAGE;
"Build-Depends:"        return BUILDDEPENDS;      <<<<<<
"Build-Depends-Indep:"  return BUILDDEPENDS;      <<<<<<
"Standards-Version:"    return STANDARDSVERSION;
"Format:"               return FORMAT;
"Directory:"            return DIRECTORY;
"Files:"                return FILES;
"category:"|"Section:"  return CATEGORY;
"Priority:"             return PRIORITY;
"requires:"             return REQUIRES;           <<<<<<
"Depends:"              return DEPENDS;
"Pre-Depends:"          return PREDEPENDS;
"Recommends:"           return RECOMMENDS;
"Suggests:"             return SUGGESTS;
"Conflicts:"            return CONFLICTS;
"Replaces:"             return REPLACES;
"Provides:"             return PROVIDES;
...

Note that there are a lot of other interesting items, such as Conflicts,
Replaces, Provides...none of which have any actual 'meat' associated
with them.

> It is not clear to me how one could check for this situation in configure.

You can't -- it is a meta operation, and /should/ be handled by the
package management system.

On linux, the -src.rpm (or .deb) would have a build-depends on the
various -devel packages that you would need.  It's a shortcoming of
setup.exe that we can't do that.

The solution is (a) to add that support to setup.exe, and (b) start
moving the build-depends information for individual packages into their
setup.hint files (currently, build-depends are usually -- but not always
-- documented in /usr/share/doc/Cygwin/<pkg>.README

The solution is NOT to overload the runtime requires: field, blurring
the distinction between actual requirements -- without which the app
will refuse to launch at all -- and these other scenarios which are of
interest only to developers ("users" don't run configure).

I'm sure cgf would entertain some refinements to the setup.hint
documentation.

--
Chuck

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019