~xnox/ubuntu/trusty/gcc-arm-linux-androideabi/dima

« back to all changes in this revision

Viewing changes to android/build/tools/acp/README

  • Committer: Package Import Robot
  • Author(s): Dmitrijs Ledkovs
  • Date: 2013-07-05 10:12:24 UTC
  • Revision ID: package-import@ubuntu.com-20130705101224-6qo3e8jbz8p31aa1
Tags: upstream-0.20130705.1
ImportĀ upstreamĀ versionĀ 0.20130705.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
README for Android "acp" Command
 
2
 
 
3
The "cp" command was judged and found wanting.  The issues are:
 
4
 
 
5
Mac OS X:
 
6
 - Uses the BSD cp, not the fancy GNU cp.  It lacks the "-u" flag, which
 
7
   only copies files if they are newer than the destination.  This can
 
8
   slow the build when copying lots of content.
 
9
 - Doesn't take the "-d" flag, which causes symlinks to be copied as
 
10
   links.  This is the default behavior, so it's not all bad, but it
 
11
   complains if you supply "-d".
 
12
 
 
13
MinGW/Cygwin:
 
14
 - Gets really weird when copying a file called "foo.exe", failing with
 
15
   "cp: skipping file 'foo.exe', as it was replaced while being copied".
 
16
   This only seems to happen when the source file is on an NFS/Samba
 
17
   volume.  "cp" works okay copying from local disk.
 
18
 
 
19
Linux:
 
20
 - On some systems it's possible to have microsecond-accurate timestamps
 
21
   on an NFS volume, and non-microsecond timestamps on a local volume.
 
22
   If you copy from NFS to local disk, your NFS files will always be
 
23
   newer, because the local disk time stamp is truncated rather than
 
24
   rounded up.  This foils the "-u" flag if you also supply the "-p" flag
 
25
   to preserve timestamps.
 
26
 - The Darwin linker insists that ranlib be current.  If you copy the
 
27
   library, the time stamp no longer matches.  Preserving the time
 
28
   stamp is essential, so simply turning the "-p" flag off doesn't work.
 
29
 
 
30
Futzing around these in make with GNU make functions is awkward at best.
 
31
It's easier and more reliable to write a cp command that works properly.
 
32
 
 
33
 
 
34
The "acp" command takes most of the standard flags, following the GNU
 
35
conventions.  It adds a "-e" flag, used when copying executables around.
 
36
On most systems it is ignored, but on MinGW/Cygwin it allows "cp foo bar"
 
37
to work when what is actually meant is "cp foo.exe bar.exe".  Unlike the
 
38
default Cygwin cp, "acp foo bar" will not find foo.exe unless you add
 
39
the "-e" flag, avoiding potential ambiguity.
 
40