• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: lipo doesn't touch (in the timestamp modification sense) the output file?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: lipo doesn't touch (in the timestamp modification sense) the output file?


  • Subject: Re: lipo doesn't touch (in the timestamp modification sense) the output file?
  • From: Rush Manbert <email@hidden>
  • Date: Mon, 27 Mar 2006 17:12:50 -0800

Alexei Kosut wrote:
On Mar 27, 2006, at 2:08 PM, Rush Manbert wrote:

I am using lipo to create fat libraries (ppc & i386). It runs as part of
a script that is doing this for about a hundred libraries and executables.


For each individual lipo operation, I have two source libraries.  One is
for ppc, and was built and checked in on 22 Feb 2006. The other is  Intel
and was built 24 March 2006. When I combine them using lipo, the  output
file has a 22 February 2006 timestamp. It doesn't seem to matter which
order I specify the two source libraries, the output always has the
earlier timestamp (and not the current timestamp).

Is this what lipo is supposed to do?


Yes. The source code to lipo is available as part of the cctools package in the Darwin source release of Xcode Tools 2.2, and if you take a look, you will find the following comment at <http:// www.opensource.apple.com/darwinsource/DevToolsNov2005/cctools-590.18/ misc/lipo.c>:

    /*
     * Select the eariliest modifiy time so that if the output file
     * contains archives with table of contents lipo will not make them
     * out of date.  This logic however could make an out of date table of
     * contents appear up todate if another file is combined with it that
     * has a date early enough.
     */

In other words, lipo is trying hard not to invalidate the table of contents of a static archive, so you do not have to re-run ranlib just because you've added or removed an architecture.

So your diagnosis is correct, and if this isn't the behavior you want, you should change the modification date yourself, e.g., using touch. And as Eric already replied, you should also file a bug with Apple if you think the tool's behavior should be changed.


Thanks Alexei! That's interesting, and I can understand the motivation.

I think I stand behind the bug report, though. I'd rather it touched the timestamp (assuming, of course, that ranlib works for fat libraries...)

Best regards,
Rush
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


References: 
 >lipo doesn't touch (in the timestamp modification sense) the output file? (From: Rush Manbert <email@hidden>)
 >Re: lipo doesn't touch (in the timestamp modification sense) the output file? (From: Alexei Kosut <email@hidden>)

  • Prev by Date: Re: lipo doesn't touch (in the timestamp modification sense) the output file?
  • Next by Date: Re: Included .rsrc dependencies ignored
  • Previous by thread: Re: lipo doesn't touch (in the timestamp modification sense) the output file?
  • Next by thread: Accelerated Obj-C Dispatch on Intel Only
  • Index(es):
    • Date
    • Thread