Commit graph

11 commits

Author SHA1 Message Date
Dan Albert
5036729c41 Add unwinder linking to STL setup.
Previously we were bundling this into libc++ and having each binary
resolve its symbols from there. This means that the unwinder that gets
used for a given binary is sensitive to the order in which its
libraries are linked. Making this a static library dependency of each
binary means the right unwinder will always be used.

Bug: 18471342
Bug: 19958712
Change-Id: I782d212784dbf85355b5d9146d7460d675259a0e
2015-03-31 18:29:23 -07:00
Dan Albert
7955bf0fd6 Static binaries with libc++ need libs c, m and dl.
Can't be done on the user's end because these libraries all need to be
linked after libc++_static.

Change-Id: Ib21364e6f43689cf59da31d6f561919731ef8272
2015-03-19 13:05:13 -07:00
Dan Albert
d666bb1009 Fix the mac build.
Bug: 19567451
Change-Id: I6d15259520c9813df1a44d9244c99482f713d114
2015-03-03 21:47:04 -08:00
Dan Albert
b5eb905729 Catch more cases of static host executables.
Bug: 19567451
Change-Id: Ie1de436db74b727421449b43b192e9599ca8fca6
2015-03-03 18:30:27 -08:00
Dan Albert
4f2afde252 (Hopefully) fix the Mac build.
The Mac linker doesn't understand --start-group, which is needed for
properly linking libgcc/libc statically. It isn't needed for dynamic
executables though, so use that driver behavior where appropriate.

Bug: 19567451
Change-Id: Ifeb03bea55bc87561c64ddafdb99f664fef0f00e
2015-03-03 17:42:28 -08:00
Dan Albert
8bf4cc97c2 Fix building static host executables.
BUILD_HOST_static=1 forces all host binaries to be statically linked.
Since -nodefaultlibs was passed (to disable libstdc++), libgcc wasn't
being passed. This change emulates the driver's behavior.

Also fix default STL selection for BUILD_HOST_static.

Bug: 19567451
Change-Id: I617aab782d40ac76ca5a7d9dddf0f202a4e3a69b
2015-03-03 15:08:11 -08:00
Dan Albert
93766b28ce Make libc++ the default STL.
Previously, code defaulted to using libstdc++ (which was GNU libstdc++
on the host, or Bionic's "libstdc++" on the target). Now we default to
libc++. The exception for this is when using mingw, because we cannot
build libc++ for mingw.

Change-Id: I68726fa26cdcb6263f17c838d3e859debd57fae1
2014-11-07 13:24:56 -08:00
Dan Albert
5cab04ffd2 Missed a dependency on pthreads.
Change-Id: I060c9c65b07efe89a308fccf71a1096424a7de39
2014-11-06 17:32:25 -08:00
Dan Albert
93e8cf71fc Use libstc++ for the name of bionic's STL.
It is libstdc++.so, after all, and the naming makes sense for the host
this way (since it also uses libstdc++).

Change-Id: If37ffa015f7967a928ea47a290363d7696c4ce35
2014-10-16 21:18:15 -07:00
Dan Albert
b49987e2f8 Never use stlport on the host.
LOCAL_CXX_STL := stlport should just use the default STL on the host.

Change-Id: Iede1b2d8884e237a10e000e5835addb768c8f78d
2014-10-16 09:53:51 -07:00
Ying Wang
75e8fcbb6c Apply LOCAL_CXX_STL to also prebuilts.
Because LOCAL_CXX_STL modifies a module's required shared libaries,
we need this for also prebuilt shared libraries and executables.

Change-Id: I418c26143999a613c40aadf990f131b123e0ac3d
2014-10-07 13:07:00 -07:00