1*8975f5c5SAndroid Build Coastguard Worker# Overview 2*8975f5c5SAndroid Build Coastguard Worker 3*8975f5c5SAndroid Build Coastguard WorkerThis directory contains files that make it possible for Linux 4*8975f5c5SAndroid Build Coastguard Workerdistributions to build Chromium using system toolchain. 5*8975f5c5SAndroid Build Coastguard Worker 6*8975f5c5SAndroid Build Coastguard WorkerFor more info on established way such builds are configured, 7*8975f5c5SAndroid Build Coastguard Workerplease read the following: 8*8975f5c5SAndroid Build Coastguard Worker 9*8975f5c5SAndroid Build Coastguard Worker - https://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html 10*8975f5c5SAndroid Build Coastguard Worker 11*8975f5c5SAndroid Build Coastguard WorkerWhy do distros want CFLAGS, LDFLAGS, etc? Please read the following 12*8975f5c5SAndroid Build Coastguard Workerfor some examples. This is not an exhaustive list. 13*8975f5c5SAndroid Build Coastguard Worker 14*8975f5c5SAndroid Build Coastguard Worker - https://wiki.debian.org/Hardening 15*8975f5c5SAndroid Build Coastguard Worker - https://wiki.ubuntu.com/DistCompilerFlags 16*8975f5c5SAndroid Build Coastguard Worker - https://fedoraproject.org/wiki/Changes/Harden_All_Packages 17*8975f5c5SAndroid Build Coastguard Worker - https://fedoraproject.org/wiki/Changes/Modernise_GCC_Flags 18*8975f5c5SAndroid Build Coastguard Worker - https://fedoraproject.org/wiki/Packaging:Guidelines#Compiler_flags 19*8975f5c5SAndroid Build Coastguard Worker - https://blog.flameeyes.eu/2010/09/are-we-done-with-ldflags/ 20*8975f5c5SAndroid Build Coastguard Worker - https://blog.flameeyes.eu/2008/08/flags-and-flags/ 21*8975f5c5SAndroid Build Coastguard Worker 22*8975f5c5SAndroid Build Coastguard Worker# Usage 23*8975f5c5SAndroid Build Coastguard Worker 24*8975f5c5SAndroid Build Coastguard WorkerAdd the following to GN args: 25*8975f5c5SAndroid Build Coastguard Worker 26*8975f5c5SAndroid Build Coastguard Worker``` 27*8975f5c5SAndroid Build Coastguard Workercustom_toolchain="//build/toolchain/linux/unbundle:default" 28*8975f5c5SAndroid Build Coastguard Workerhost_toolchain="//build/toolchain/linux/unbundle:default" 29*8975f5c5SAndroid Build Coastguard Worker``` 30*8975f5c5SAndroid Build Coastguard Worker 31*8975f5c5SAndroid Build Coastguard WorkerSee [more docs on GN](https://gn.googlesource.com/gn/+/main/docs/quick_start.md). 32*8975f5c5SAndroid Build Coastguard Worker 33*8975f5c5SAndroid Build Coastguard WorkerTo cross-compile (not fully tested), add the following: 34*8975f5c5SAndroid Build Coastguard Worker 35*8975f5c5SAndroid Build Coastguard Worker``` 36*8975f5c5SAndroid Build Coastguard Workerhost_toolchain="//build/toolchain/linux/unbundle:host" 37*8975f5c5SAndroid Build Coastguard Workerv8_snapshot_toolchain="//build/toolchain/linux/unbundle:host" 38*8975f5c5SAndroid Build Coastguard Worker``` 39*8975f5c5SAndroid Build Coastguard Worker 40*8975f5c5SAndroid Build Coastguard WorkerNote: when cross-compiling for a 32-bit target, a matching 32-bit toolchain 41*8975f5c5SAndroid Build Coastguard Workermay be needed. 42