Mailing-List: contact cygwin-help@sourceware.cygnus.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@sources.redhat.com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin@sources.redhat.com>
List-Help: <mailto:cygwin-help@sources.redhat.com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner@sources.redhat.com
Delivered-To: mailing list cygwin@sources.redhat.com
Date: Mon, 11 Sep 2000 10:47:14 -0400
From: Jason Tishler <Jason.Tishler@dothill.com>
To: Cygwin <cygwin@sources.redhat.com>
Subject: Using Cygwin ar Generated Library with Microsoft link
Message-ID: <20000911104714.B1061@OLMY>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.2.4i
Organization: Dot Hill Systems Corp.

Is it OK to use libraries created with Cygwin's ar to build executables
created with Microsoft's link?  I have (some) empirical evidence to indicate
yes.  Meaning that when I build an executable it seems to function correctly.

Unfortunately, I have a niggling concern to due to the strange listing of
libraries created with ar when displayed by Microsoft's lib.  By "strange
listing," I mean that the library members are repeated many times with
spurious /'s and q's thrown in for good measure.  For example:

    $ ar -cr ExclusionIdl.lib ExclusionService.obj ExclusionServiceMap.obj ExclusionServiceMap_skel.obj ExclusionService_skel.obj

    $ ar -tv ExclusionIdl.lib
    rw-r--r-- 1000/513 184385 Sep  9 16:28 2000 ExclusionService.obj
    rw-r--r-- 1000/513 158510 Sep  9 16:28 2000 ExclusionServiceMap.obj
    rw-r--r-- 1000/513 127171 Sep  9 16:28 2000 ExclusionServiceMap_skel.obj
    rw-r--r-- 1000/513 120263 Sep  9 16:29 2000 ExclusionService_skel.obj

    $ lib -nologo -list ExclusionIdl.lib  # *** STRANGE LISTING ***
    ExclusionService_skel.obj/
    q
    ExclusionServiceMap_skel.obj/
    ExclusionService_skel.obj/
    q
    ExclusionServiceMap.obj/
    ExclusionServiceMap_skel.obj/
    ExclusionService_skel.obj/
    q
    ExclusionService.obj/
    ExclusionServiceMap.obj/
    ExclusionServiceMap_skel.obj/
    ExclusionService_skel.obj/
    q

On the other hand, libraries created with lib do not exhibit this problem:

    $ lib -nologo -out:ExclusionIdl.lib ExclusionService.obj ExclusionServiceMap.obj ExclusionServiceMap_skel.obj ExclusionService_skel.obj

    $ ar -tv ExclusionIdl.lib
    rw-r--r-- 1000/513 184385 Sep  9 16:28 2000 ExclusionService.obj
    rw-r--r-- 1000/513 158510 Sep  9 16:28 2000 ExclusionServiceMap.obj
    rw-r--r-- 1000/513 127171 Sep  9 16:28 2000 ExclusionServiceMap_skel.obj
    rw-r--r-- 1000/513 120263 Sep  9 16:29 2000 ExclusionService_skel.obj

    $ lib -nologo -list ExclusionIdl.lib
    ExclusionService.obj
    ExclusionServiceMap.obj
    ExclusionServiceMap_skel.obj
    ExclusionService_skel.obj

Can anyone explain the above behavior?

Thanks,
Jason

-- 
Jason Tishler
Director, Software Engineering       Phone: +1 (732) 264-8770 x235
Dot Hill Systems Corporation         Fax:   +1 (732) 264-8798
82 Bethany Road, Suite 7             Email: Jason.Tishler@dothill.com
Hazlet, NJ 07730 USA                 WWW:   http://www.dothill.com

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

