delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/10/04/17:21:10

X-Spam-Check-By: sourceware.org
To: cygwin AT cygwin DOT com
From: Coatimundi <coatimundi AT cox DOT net>
Subject: Re: Does 'ar' work with native MS Windows libs?
Date: Wed, 04 Oct 2006 14:18:40 -0700
Lines: 35
Message-ID: <eg18fh$7mo$1@sea.gmane.org>
References: <efv8oc$eps$1 AT sea DOT gmane DOT org> <4C89134832705D4D85A6CD2EBF38AE0F7B133D AT PAUMAILU03 DOT ags DOT agere DOT com>
Mime-Version: 1.0
User-Agent: Thunderbird 1.5.0.7 (Windows/20060909)
In-Reply-To: <4C89134832705D4D85A6CD2EBF38AE0F7B133D@PAUMAILU03.ags.agere.com>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT 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

Williams, Gerald S (Jerry) wrote:
> You've probably already ruled this out, but if you do see it
> again, you might want to verify that you're not mixing path
> separators (LIB.EXE will use either). I believe you must use
> only backslash-style separators if you want to interoperate
> with ar.
> 
> gsw

Ironically, I just put a hardcopy of ar.c in the shredder.  As I 
recall... take a look at function normalize().  We see that '/' does 
enjoy special status.  Or, more precisely, the rightmost '/' has special 
status.  This will make sense if you have the code open.  And we also 
see that '\' has special status *if* HAVE_DOS_BASED_FILESYSTEM (or 
something like that) is #defined.  The code is clearly trying to handle 
everything.

For what it's worth, I think my problem was different.  All of the 
members were of the form <path>\<name>.obj where <path> was either 
Release or Debug; and <name> was whatever.  For the Release\ form I have 
never seen a problem.  For the Debug\ form, some members were not 
reported by 'ar t' even though 'ar x' got them all.  Oddly enough, 'ar 
tv' identifes all the members -- including the 'T' section -- but just 
gets the name wrong at the top, printing just Debug\ instead of, e.g. 
Debug\foo.obj.

After all this discussion and looking at the code I am reasonaly 
convinced that the problem I saw lay in the structure of my debugging 
libs built with LIB.EXE and was in no way a problem with 'ar.'  So with 
that, I will bow out of this thread which probably no longer belongs on 
gmane.os.cygwin.

Thanks to everyone, including those who took the time to make private 
suggestions.



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

- Raw text -


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