aboutsummaryrefslogtreecommitdiffstats
path: root/cc/makevars.go
Commit message (Collapse)AuthorAgeFilesLines
* Use Config/DeviceConfig functions to access ProductVariablesDan Willemsen2018-04-171-6/+2
| | | | | | | | | | | | An upcoming change will stop exporting ProductVariables from Config, so switch to using existing accessor functions, and add more when they're missing. Bug: 76168832 Test: out/soong/build.ninja is identical Change-Id: Ie0135bdbd2df3258ef3ddb53e5f8fc00aa9b97f7 Merged-In: Ie0135bdbd2df3258ef3ddb53e5f8fc00aa9b97f7 (cherry picked from commit 3fb1faeeb98143e132ca4d6f1cac42d6f060888b)
* Remove obsolete Brillo variableDan Willemsen2018-04-161-3/+0
| | | | | | | | | | | | Unlike the original change on master, this does not remove product_variables.brillo, as I'm not backporting all of the other removal CLs. Bug: 76168832 Test: none Change-Id: I6a5ce57b317f0cdae1abef15def01e6a31e18d3e Merged-In: I6a5ce57b317f0cdae1abef15def01e6a31e18d3e (cherry picked from commit a052599bb6d00d73efb23a8ef55d145b6cf95a2c)
* Allow platform modules to link to vendor public librariesJiyong Park2018-03-301-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Normally, when building with VNDK, platform modules are not allowed to link against vendor libraries, because the ABI of the vendor libraries are not guaranteed to be stable and may differ across multiple vendor images. However, the vendor public libraries are the exceptions. Vendor public libraries are vendor libraries that are exposed to 3rd party apps and listed in /vendor/etc/public.libraries.txt. Since they are intended to be exposed to public, their ABI stability is guaranteed (by definition, though it is up to the vendor to actually guarantee it). This change provides a way to make a vendor lib as public by defining a module of type 'vendor_public_library' with a map file that enumerates public symbols that are publicized: cc_library { name: "libvendor", proprietary: true, ... } vendor_public_library { name: "libvendor", symbol_file: "libvendor.map.txt", } This defines a stub library module named libvendor.vendorpublic from the map file. `shared_libs: ["libvendor"]` is redirected to the stub library when it is from the outside of the vendor partition. Bug: 74275385 Test: m -j Test: cc_test.go passes Merged-In: I5bed94d7c4282b777632ab2f0fb63c203ee313ba Change-Id: I5bed94d7c4282b777632ab2f0fb63c203ee313ba (cherry picked from commit 374510bcb6a565902f8b8ea71045eb1f6ef095e1)
* Add minimal-runtime support for integer overflows.Ivan Lozano2018-03-211-0/+1
| | | | | | | | | | | | | | Adds Soong support for -fsanitze-minimal-runtime when using the integer overflow sanitizers. This makes the crashes due to these sanitizers less mysterious. Bug: 64091660 Test: Compiled and checked the generated compiler commands Test: Checked program that overflows for the abort reason Change-Id: Ieeceaf6c35c8371592952d3b8b977aefc11601c5 Merged-In: Ieeceaf6c35c8371592952d3b8b977aefc11601c5 (cherry picked from commit 30c5db2f47e0305cd50f0cc90047e9ac9c5f676e)
* Create a make variable for all lsdump files.Jayant Chowdhary2018-03-011-0/+3
| | | | | | | | | | | This is needed so that we can embed the paths of lsdump files in a file, in order to make lookup faster, while creating reference dumps. Test: mm -j64 in external/libjpeg-turbo for aosp_arm64_ab; out/soong/make_vars-aosp_arm64_ab.mk contains SOONG_LSDUMP_PATHS := <list of lsdump paths> Change-Id: I04608429e1add307cc1ee79d2f0c348fb041613c
* Store missing profile files into a Make variablePirama Arumuga Nainar2018-01-291-4/+6
| | | | | | | | | | | | Bug: http://b/72642679 Store missing profile files and the modules that refer to them in the SOONG_MODULES_MISSING_PGO_PROFILE_FILE variable passed to Make. The contents of this variable will be written to $DIST_DIR/pgo_profile_file_missing.txt as part of the 'dist' target. Test: 'm dist' and verify creation of pgo_profile_file_missing.txt. Change-Id: I237cd0398be418be2b7db6fa65ece5ef347ecbc1
* Switch back to llvm-ar (with crsD flags only).Stephen Hines2018-01-101-1/+1
| | | | | | | | | This properly sets -format=gnu for all non-Darwin targets, because llvm-ar is cross-platform (but defaults to the host environment). Bug: http://b/71618641 Test: m checkbuild Change-Id: Ic5bce7e237ea0cadfa1f96ea151d41115d8c56b8
* Revert "Switch to llvm-ar (with crsD flags only)."Yi Kong2018-01-081-1/+1
| | | | | | | | | This reverts commit 13bc31d6e180b7fd52e82d3013c5d6da57fd8c24. Bug: 71694982 Reason for revert: Broke Mac build Change-Id: I0da6866442ca9273dd329f0b82932f939b7f65ed
* Switch to llvm-ar (with crsD flags only).Yi Kong2018-01-041-1/+1
| | | | | | | | llvm-ar is required for platform LTO build. Bug: 71618641 Test: m checkbuild Change-Id: Idecea9fbe5dcbb1023dbe90047e3f9535d953440
* No need to dump modules added -Werror.Chih-Hung Hsieh2017-12-041-2/+0
| | | | | | | | | * This reduces size of output file wall_werror.txt. * Stop collecting SOONG_MODULES_ADDED_WERROR. Bug: 66996870 Test: normal build Change-Id: Ic6d87f6ee2b36b90ad0de4ac4f6f176334aba55e
* Expose $(prefix)CLANG_SUPPORTED to makeDan Willemsen2017-11-301-0/+4
| | | | | | | | So that we can switch clang on and off for windows from just Soong. Bug: 69933068 Test: grep CLANG_SUPPORTED out/soong/make_vars-aosp_arm.mk Change-Id: Ic304c1138ee2302c5733ef465bd462a0a25e949f
* Add default -Wall -Werror or -Wall.Chih-Hung Hsieh2017-11-201-0/+41
| | | | | | | | | | | | | | | | | | * When -Wno-error and -Werror are not used: add -Wall to the front of cflags if the project is in the WarningAllowedProjects, otherwise add -Wall -Werror. * Add -Wall -Werror to ndk_library build targets. * Collect names of modules with -Wno-error or without -Werror, and pass them to makefile variables: SOONG_MODULES_USING_WNO_ERROR SOONG_MODULES_ADDED_WERROR SOONG_MODULES_ADDED_WALL * Generate ANDROID_WARNING_ALLOWED_PROJECTS for old makefiles. Bug: 66996870 Test: normal build Change-Id: I31385e12b80ca946c7395a5a184ef259b029aac6
* Move -fvisibility-inlines-hidden to global device cppflagsColin Cross2017-11-131-0/+2
| | | | | | | | | It was previously set on arm[64] and mips[64], this will cause it to be set for x86[_64] too. Bug: 68855788 Test: m checkbuild Change-Id: I75af16e7d259963ad633cc664929144332bb435d
* Consolidate ldflags that are used on all devicesColin Cross2017-11-031-0/+2
| | | | | | | | | | | | | | | | Move ldflags that are specified for all devices into deviceGlobalLdflags, and add them to linker.go: -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--build-id=md5 -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined-version Bug: 68855788 Test: m checkbuild Change-Id: I82561b4189287d7638006f9e298c5151f9930c5e
* vendor_available:false hides a lib from vendorsJiyong Park2017-10-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | When a lib is explicitly marked as `vendor_available: false`, then it can't be directly depended by a vendor lib which is installed to /vendor partition. This is to hide some VNDK libs (including llndk) from vendors so that platform owners can have a freedom of modifying their ABI without breaking vendors. In addition, the list of the private libs are exported to the make world as VNDK_PRIVATE_LIBRARIES. Also, fixed a bug that allowed a vndk lib to link against to vendor library (or vendor variant of a system lib) if the lib is prebuilt. Bug: 64730695 Bug: 64994918 Test: Add `vendor_available: false` to libft2 and libcompiler_rt. Add the libs to shared_libs property of a vendor library in soong (i.e. libnbaio_mono). The build fails with the error message. Change-Id: Iab575db96bb4f6739a592f3fa0a75124296bea0c
* Expose host AvailableLibraries to MakeDan Willemsen2017-09-251-0/+4
| | | | | Test: Check out/soong/make_vars-aosp_arm64_ab.mk Change-Id: I8410942698f3c142b03a2e1e447c880184ab82bf
* List of VNDK-related libs are exported to makeJiyong Park2017-08-171-0/+4
| | | | | | | | | | | | | | | LL-NDK, VNDK-core, VNDK-SP libraries are exported to make as SOONG_LLNDK_LIBRARIES, SOONG_VNDK_CORE_LIBRARIES, and SOONG_VNDK_SAMEPROCESS_LIBRARIES. This can be used to auto-generate ld.config.txt from a template. Bug: 64013660 Test: BOARD_VNDK_VERSION=current m -j successful Test: check out/soong/make_vars*.mk and look for SOONG_*_LIBRARIES Merged-In: I0f4c5d05d9cd28c3fc9fdcca6ce0e6eaeaacbe8d Change-Id: I0f4c5d05d9cd28c3fc9fdcca6ce0e6eaeaacbe8d (cherry picked from commit d5b18a55bbde5d7f0ce78c889aacdd4bc2efc994)
* Move default libnativehelper include to mock dir.Steven Moreland2017-07-181-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also export the corresponding variable to make. libnativehelper's include_deprecated contains all of the headers that are currently used by libraries without the "nativehelper/" prefix. The current count of this is this: 2 ScopedLocalFrame.h 4 JniInvocation.h 4 ScopedBytes.h 5 AsynchronousCloseMonitor.h 6 toStringArray.h 7 ScopedStringChars.h 38 JniConstants.h 41 ScopedPrimitiveArray.h 79 ScopedUtfChars.h 80 UniquePtr.h 100 ScopedLocalRef.h 467 JNIHelp.h Now we can remove each file from the global header include on a file by file basis. Bug: 63762847 Test: libs find their headers Change-Id: Iffc0c1ceb55cc59dc4a70c75d7c0b9ce8397b2cf
* Add integer_overflow sanitization build option.Ivan Lozano2017-07-071-0/+2
| | | | | | | | | | | | | | | | | | | | Adds the SANITIZE_TARGET=integer_overflow build option to apply signed and unsigned integer overflow sanitization globally. This implements the Soong side of the build option. An additional build option is provided to control whether or not to run in diagnostics mode, controlled by SANITIZE_TARGET_DIAG. This works the same way that SANITIZE_TARGET does and currently only supports 'integer_overflow' as an option. A default sanitizer blacklist is added to avoid applying sanitization to functions that are likely to exhibit benign overflows. Bug: 30969751 Test: Building with and without the new flags, device boot-up, tested various permutations of controlling the new flags from build files. Change-Id: Ibc8a8615d3132f1a23faaf1cb4861f24c5ef734a
* Black-list for clang LibTooling Cflags.Jayant Chowdhary2017-06-191-5/+5
| | | | | | | | | | | | Add a list of flags which are not understood by clang LibTooling tools and filter them out of the Cflags the tools are invoked with. Test: In frameworks/av, make libmedia vendor_available (this invokes header-abi-dumper on this module), mm -j64. Bug: 62447349 Change-Id: I46f017212b89f4331145c999103d0ed44da0abaf
* Optimizations to abi checking.Jayant Chowdhary2017-05-251-0/+1
| | | | | | | | | | | | | | | | | | | | | We now add export_static_lib_headers, export_generated_headers to the filters while dumping the abi of a library using header-abi-dumper (through -I<dir> additions to the invocation of header-abi-dumper and header-abi-linker) Also add support for zipped reference source based abi dumps. Test: mm -j64 in hardware/interfaces/nfc/default/1.0 produces android.hardware.nfc@1.0.so.lsdump with abi filtered out using generated headers. Test: Copied the linked abi dumps produced by mm -j64 in bionic/libc to prebuilts/abi-dumps/ndk and gzipped them. Ran mm -j64 again in bionic/libc and verified header-abi-diff getting invoked. Bug: 32750600 Change-Id: I26210af908c87a6143e39fa25f50307acb68a387
* Support .rs and .fs files in cc_* module srcs listsColin Cross2017-05-051-0/+2
| | | | | | | Translate .rs and .fs files to .cpp files using llvm-rs-cc. Test: builds Change-Id: I242cea0d09c9985730a512cec7705c3f1479f4ed
* Remove -isystem frameworks/av/includeColin Cross2017-05-031-1/+1
| | | | | | | | | | | Remove the last -isystem for global include directory (besides bionic). Bug: 31751828 Test: builds Change-Id: I8f38332de8f0cffd5c56b9b5ebeacbaaf3a4faea Merged-In: I8f38332de8f0cffd5c56b9b5ebeacbaaf3a4faea (cherry picked from commit d13a457a45d8ebcdf4e248370078c5a5ff88fdcb)
* Split /system and /vendor modules, allow multi-installationDan Willemsen2017-04-111-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Nothing changes if BOARD_VNDK_VERSION isn't set. When the VNDK is enabled (BOARD_VNDK_VERSION in Make), this will split /system and /vendor modules into two different variant spaces that can't link to each other. There are a few interfaces between the two variant spaces: The `llndk_library` stubs will be available in the /vendor variant, but won't be installed, so at runtime the /system variant will be used. Setting `vendor_available: true` will split a module into both variants. The /system (or "core") variant will compile just like today. The /vendor ("vendor") variant will compile against everything else in the vendor space (so LL-NDK instead of libc/liblog/etc). There will be two copies of these libraries installed onto the final device. Since the available runtime interfaces for vendor modules may be reduced, and your dependencies may not expose their private interfaces, we allow the vendor variants to reduce their compilation set, and export a different set of headers: cc_library { name: "libfoo", srcs: ["common.cpp", "private_impl.cpp"], export_include_dirs: ["include"], target: { vendor: { export_include_dirs: ["include_vndk"], exclude_srcs: ["private_impl.cpp"], srcs: ["vendor_only.cpp"], }, }, } So the "core" variant would compile with both "common.cpp" and "private_impl.cpp", and export "include". The "vendor" variant would compile "common.cpp" and "vendor_only.cpp", and export "include_vndk". Bug: 36426473 Bug: 36079834 Test: out/soong/build.ninja, out/soong/Android- only changes due to _core addition and .llndk -> .vendor Test: attempt to compile with BOARD_VNDK_VERSION:=current Change-Id: Idef28764043bf6c33dc0d2e7e2026c38867ff769
* Add LLNDK support for the VNDKDan Willemsen2017-04-071-0/+1
| | | | | | | | | | | Instead of using the NDK headers and libraries, add LL-NDK specific headers and library stubs for VNDK users. This allows us to provide an expanded liblog interface. Test: aosp_arm; m -j Test: Enable BOARD_VNDK_VERSION on aosp_arm; m -j Test: Inspect out/soong/build.ninja before/after (w/o vndk) Change-Id: Ic85f07fa10c695b5baab10c41f5e0ad38700bf3d
* Export TSAN_RUNTIME_LIBRARY make variablePirama Arumuga Nainar2017-03-271-0/+1
| | | | | | | | | | TSAN_RUNTIME_LIBRARY is used by external/clang/Android.mk to get the name of the per-arch TSAN runtime. This CL also factors-out common code out of functions that construct names of the sanitizer libraries. Test: python external/clang/build.py with all CLs in this topic Change-Id: Ie5fac242c0d5a9296ab8936db927a4c934061aa4
* Revert "install *.so in different paths for their types"Dan Willemsen2017-03-161-1/+0
| | | | | | | | | This reverts commit 4c48f724e1b339128447ab1dafd656a9557557f5. It's causing test failures, warnings and complaints, so backing it out and we'll resolve those before putting it back in. Bug: 33681361 Test: m -j
* install *.so in different paths for their typesJiyong Park2017-03-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Shared libraries are now installed to different directories depending on their types. * NDK libraries: /system/lib/ndk * VNDK libraries: /system/lib/vndk * VNDK-ext libraries: /system/lib/vndk-ext * Framework-only libraries: /system/lib * Vendor-only libraries: /vendor/lib * Same-process HALs: /vendor/lib/sameprocess In addition, a new module type vndk_ext_library is added. It is almost identical to cc_shared_library but it introduces another attribute 'extends'. This is use to reference the vndk library that this vndk-ext library is extending. For example, in order to extend a vndk library libFoo: cc_library { name: "libFoo", srcs: [...] } --------------------- vndk_ext_library { name: "libFoo-extended", srcs: [...] extends: "libFoo" } Then, libFoo will be installed as /system/lib/vndk/libFoo.so and libFoo-extended will be installed as /system/lib/vndk-ext/libFoo.so. Note that file name of the latter is libFoo.so, not libFoo-extended.so: file name of an extending module is automatically set to that of the extended module. Bug: 33681361 Test: build & run. Libraries must be in the correct directories. Change-Id: Ia1eb3940605d582a252c78da0f3a5b36fdab062b
* Always use the standard OSX SDK toolsDan Willemsen2017-03-131-4/+1
| | | | | | | Instead of whatever happens to be in PATH. Test: port install gcc5; attempt to build host binaries Change-Id: If4af32596edd6fd3e459c3d574ab0ff495f236ff
* Blacklist code for CFI.Vishwath Mohan2017-02-151-0/+3
| | | | | | | | | | | | | Adds the -fsanitize-blacklist option for CFI, using the built in blacklist at external/compiler-rt/lib/cfi/cfi_blacklist.txt. Also refactors the CFI cflags and ldflags into cc/makevars.go to ensure they're consistent across Soong and make projects. Bug: 30227045 Test: ENABLE_CFI=true m -j40 builds and boots. Test: The blacklist prevents runtime errors that otherwise occur. Change-Id: I91c5420478e7290061d89338a86abdef69c67fe2
* Add RenderScript toolchain information to soong.Jayant Chowdhary2017-02-071-0/+7
| | | | | | Test: make -j64 from top of tree. Change-Id: I9e853e64924f26719c0cd7ae8de4958fe97ca04e
* Add c_std and cpp_std properties.Dan Albert2017-02-031-0/+2
| | | | | | Test: Checked showcommands ouput for each setting. Bug: None Change-Id: Ibe02352f19ca2777b9a419136270e5c4390f1149
* Export LLVM_RELEASE_VERSIONDan Willemsen2016-12-141-0/+1
| | | | | Test: m -j libc; check out/soong/make_vars-*.mk Change-Id: Ic29407d8b2ecc69f8d95102bca81bec3f0c5012b
* Support aidl cpp generationDan Willemsen2016-12-051-0/+2
| | | | | | | | | Ideally we'd calculate the headers that are written here too, but I'll add that in a later change that actually enforces the generated header list. Test: mmma -j system/tools/aidl Change-Id: Ifd2e8e8ff444b0f67270fb5156e7bf7bceddb6be
* Add basic VNDK support in SoongDan Willemsen2016-11-281-0/+7
| | | | | | | | | | | | | | | | | | Export a list of libraries in the VNDK, which is currently empty. Take in Make's global BOARD_VNDK_VERSION, and use that as the SDK version for modules that specify use_vndk: true. Modules that use the vndk have some configuration as if they were building against the NDK (the absence of globally defined headers), but in other cases look like platform modules (using the platform libc++, for now). This change does not attempt to enforce any linking constraints, that will come in a later patch. Test: out/soong/build.ninja doesn't change Change-Id: I3be206b67015ac5177b7eef4a451c579e3dc903f
* Add clang-tidy supportDan Willemsen2016-10-311-0/+13
| | | | | | | | | | | | | | | | For every file which we can run clang-tidy (C/C++ clang-built), we add a new build node that depends on the object file (since clang-tidy does not export a depfile), and is depended on by the link step. This is better than how we're doing it in make, since calling tidy can be turned on or off without needing to rebuild the object files. This does not attempt to port WITH_TIDY_ONLY from Make, since the way that it works is broken (due to the lack of a depfile). Bug: 32244182 Test: WITH_TIDY=true mmma -j bionic/libc Test: ./soong (Setting ClangTidy: true) Change-Id: I40bbb5bb00d292d72bf1c293b93080b5f9f6d8ea
* Consolidate -std flagsColin Cross2016-10-181-0/+4
| | | | | | | | Define the default -std values in global.go, export them in makevars.go, and use them in compiler.go. Test: builds Change-Id: Ia2ae01f63e182d0ad7f371e6d32184bff35a8897
* Export asan configuration to makeDan Willemsen2016-10-131-0/+4
| | | | | Test: Ninja files for ASAN'd aosp_flounder-eng identical Change-Id: Ib29cac0bc391dadd9ff27992c7b356415182767f
* Consistently use -std=gnu99 for gcc as well as clang.Elliott Hughes2016-10-131-2/+3
| | | | | | | | | | This matters for C files that are also built for Windows. Previously they'd be compiled with -std=gnu99 for the host but [effectively] -std=gnu89 for Windows. Bug: http://b/32019064 Test: builds, and can build libcrypto_utils without a manual -std= line Change-Id: I9c5cc7832220b5c3d6a007ff10d076e26fd8c75d
* Split CommonGlobalIncludes for system includesColin Cross2016-09-151-1/+1
| | | | | | | | Split CommonGlobalSystemIncludes out of CommonGlobalIncludes in preparation for moving global includes from -isystem to -I. Bug: 31492149 Change-Id: Ib935ea038cdbf9515dc2ab68d7fff924c370906a
* Sort NDK_MIGRATED_LIBS in make_varsDan Willemsen2016-09-141-0/+2
| | | | | | | | Otherwise this was changing every time, and causing Kati to find make_vars-*.mk different every time. Test: with https://android-review.googlesource.com/274439 Change-Id: I731b3b2fd434314bf6e8b7c2ec5310b9623512a5
* Add ubsan_standalone library name to the toolchain.Evgenii Stepanov2016-08-151-1/+2
| | | | | | | | | | and export the library name to make. Refactor the code a bit to avoid repeating the library name multiple times. Bug: 22033465 Test: Ran external/clang/build.py for aosp-llvm Change-Id: I25eb3858eb92e1dd493b09524d559802551b2547
* Move toolchain and global variables into separate packageColin Cross2016-08-011-23/+24
| | | | | | Move all of the configuration into a cc/config package Change-Id: If56fc7242062ed1ce3cb297f78a1e0ef7537373c
* Generate NDK sysroots from the platform build.Dan Albert2016-07-281-0/+3
| | | | | | | | | | | The list of migrated libraries is currently empty. Libraries will be migrated as follow up patches. Test: Migrated libc to this system and everything still builds. build.ninja shows libraries being built and used and headers are collected for the sysroot. Bug: http://b/27533932 Change-Id: Iaba00543c1390f432befe0eed768ed3fbb8a9b96
* Rename exported make variables for system headersColin Cross2016-07-201-1/+47
| | | | | | | | | Add SYSTEM_ to variables that contain headers that are used with -isystem, and split -I and -isystem variables into separate make variables. Also export SRC_HEADERS and SRC_SYSTEM_HEADERS to compare against make. Change-Id: I02097c35d1d5342ebce8311d8878fff33b118adb
* Support linking against NDK prebuilt librariesDan Willemsen2016-07-081-0/+1
| | | | | | | When sdk_version is specified, we need to use the prebuilt ndk versions of these libraries instead of the platform versions. Change-Id: I4ff33a234a985041ebe11ab148d64d0f8df66fc4
* Remove support for libstdc++ on Android/Linux/DarwinDan Willemsen2016-06-151-2/+0
| | | | | | | It's now only supported on Windows, where we don't have libc++ support yet. Change-Id: I64891b7558d3d2942588687017a0c2f695c18d5c
* Simplify arch target handlingColin Cross2016-06-021-35/+46
| | | | | | | | | | | | Soong's multi-architecture building has grown complex, with the combination of HostOrDevice+HostType+Arch necessary to determine how to build a variant of a module, and three separate mutators to split each into its variations. Combine HostOrDevice+HostType into Os, which will be Linux, Darwin, Windows, or Android. Store Os+Arch as a single Target. Change-Id: I92f2e2dac53617d595a35cc285d2bd348baa0fbd
* Revert "Simplify arch target handling"Colin Cross2016-06-031-46/+35
| | | | | | This reverts commit 6713fb26cbcadf525cd75e47d7d0cbc23d282b3e. Change-Id: Ic473cea2563b0b37dc08b0bc5d3a0ac8c4b6afe6
* Simplify arch target handlingColin Cross2016-06-021-35/+46
| | | | | | | | | | | | Soong's multi-architecture building has grown complex, with the combination of HostOrDevice+HostType+Arch necessary to determine how to build a variant of a module, and three separate mutators to split each into its variations. Combine HostOrDevice+HostType into Os, which will be Linux, Darwin, Windows, or Android. Store Os+Arch as a single Target. Change-Id: Iae677eff61a851b65a7192a47f2dc17c1abb4160