Nathan Chancellor 4d0d438095 kernel.mk: Support kernels that use LTO
Google added support for LTO + CFI in the Pixel 3 kernel, which requires
not only Clang but a couple of additional binaries, namely llvm-ar and
llvm-dis for IR generation. Google expects these binaries to be in PATH
according to their definitions and the build.config.common file:

https://android.googlesource.com/kernel/msm/+/android-9.0.0_r0.31/Makefile#637
https://android.googlesource.com/kernel/msm/+/android-9.0.0_r0.31/build.config.common

However, kernel.mk does not add the LLVM bin directory to PATH so the
build fails because the binaries can't be found. We could add LLVM_AR
and LLVM_DIS to the make commands like CC and CROSS_COMPILE; however,
adding the bin directory to PATH is a more sustainable solution as
Google might require new binaries in the future.

Additionally, LTO needs access to the LLVMgold library so it needs to be
available in LD_LIBRARY_PATH.

Add a PATH_OVERRIDE variable that will set up PATH and LD_LIBRARY_PATH
with the bin and lib64 folders from the requested LLVM toolchain
respectively when building with Clang. This won't affect kernels that
don't use LTO like Wahoo.

Change-Id: Ib16fa0d3180de2f96accb2f7648b07a017f8f98b
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2018-10-25 02:42:15 +02:00
2018-08-10 19:37:27 +01:00
2018-05-17 13:33:05 +02:00
2016-12-28 19:44:28 +00:00
2018-08-10 19:37:27 +01:00
2018-08-10 19:37:27 +01:00

LineageOS
===========

Getting started
---------------

To get started with Android/LineageOS, you'll need to get
familiar with [Repo](https://source.android.com/source/using-repo.html) and [Version Control with Git](https://source.android.com/source/version-control.html).

To initialize your local repository using the LineageOS trees, use a command like this:
```
repo init -u git://github.com/LineageOS/android.git -b lineage-16.0
```
Then to sync up:
```
repo sync
```
Please see the [LineageOS Wiki](https://wiki.lineageos.org/) for building instructions, by device.


Submitting patches
------------------
Patches are always welcome! Please submit your patches via LineageOS Gerrit!

Simply follow our guide on [how to submit patches](https://wiki.lineageos.org/submitting-patch-howto.html).

To view the status of your and others' patches, visit [LineageOS Gerrit Code Review](https://review.lineageos.org/).


Buildbot
--------

All supported devices are built weekly and periodically as changes are committed to ensure the source trees remain buildable.

You can view the current build statuses at [LineageOS Jenkins](https://jenkins.lineageos.org/).

Builds produced weekly by the buildbot can be downloaded from [LineageOS downloads](https://download.lineageos.org/).
Description
No description provided
Readme 780 MiB
Languages
CSS 27.1%
Makefile 21.2%
JavaScript 19.4%
Shell 15.5%
Python 8.5%
Other 8.3%