commit | 80ba345f0efee700da452af0915f2d4f235b2450 | [log] [tgz] |
---|---|---|
author | Pirama Arumuga Nainar <pirama@google.com> | Wed Aug 08 10:29:00 2018 -0700 |
committer | Pirama Arumuga Nainar <pirama@google.com> | Tue Sep 25 21:11:23 2018 -0700 |
tree | 0d1f283654ff37548e6f6c8b00e2ce7300c919cb | |
parent | 4da4d6cc8944ae431a05527480c1f9450533a7f1 [diff] |
Change STL for Windows to libc++. - Link libgcc_eh, which needs pthread, which in turn depends on kernel32. Wrap the libraries with --start-group and --end-group and remove duplicates. - Use SjLj exceptions for 32-bit. libgcc_eh implements SjLj exception model for 32-bit. - Disable visibility annotations for libcxx and libcxxabi since we are only going to support these as static libraries. - Use Win32 threads. MinGW pthreads throws an error when building libcxx since it's pthread_mutex_initializer is not constant (needs a cast). Test: Build and test Windows binaries under Wine. Change-Id: I594fa7673282ff5c1b7b80d49f48b7618960a148
This is the Makefile-based portion of the Android Build System.
For documentation on how to run a build, see Usage.txt
For a list of behavioral changes useful for Android.mk writers see Changes.md
For an outdated reference on Android.mk files, see build-system.html. Our Android.mk files look similar, but are entirely different from the Android.mk files used by the NDK build system. When searching for documentation elsewhere, ensure that it is for the platform build system -- most are not.
This Makefile-based system is in the process of being replaced with Soong, a new build system written in Go. During the transition, all of these makefiles are read by Kati, and generate a ninja file instead of being executed directly. That's combined with a ninja file read by Soong so that the build graph of the two systems can be combined and run as one.