Blame view

buildroot/buildroot-2016.08.1/package/icu/0001-dont-build-static-dynamic-twice.patch 1.42 KB
6b13f685e   김민수   BSP 최초 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
  Don't build object files twice
  
  When passed --enable-static and --enable-shared, icu will generate
  both a shared and a static version of its libraries.
  
  However, in order to do so, it builds each and every object file
  twice: once with -fPIC (for the shared library), and once without
  -fPIC (for the static library). While admittedly building -fPIC for a
  static library generates a slightly suboptimal code, this is what all
  the autotools-based project are doing. They build each object file
  once, and they use it for both the static and shared libraries.
  
  icu builds the object files for the shared library as .o files, and
  the object files for static library as .ao files. By simply changing
  the suffix of object files used for static libraries to ".o", we tell
  icu to use the ones built for the shared library (i.e, with -fPIC),
  and avoid the double build of icu.
  
  On a fast build server, this brings the target icu build from
  3m41.302s down to 1m43.926s (approximate numbers: some other builds
  are running on the system at the same time).
  
  Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
  
  Index: b/source/config/mh-linux
  ===================================================================
  --- a/source/config/mh-linux
  +++ b/source/config/mh-linux
  @@ -35,7 +35,7 @@
   ## Shared object suffix
   SO = so
   ## Non-shared intermediate object suffix
  -STATIC_O = ao
  +STATIC_O = o
   
   ## Compilation rules
   %.$(STATIC_O): $(srcdir)/%.c