aboutsummaryrefslogtreecommitdiffstats
path: root/androidmk
Commit message (Collapse)AuthorAgeFilesLines
* Export cc_library_headers as BUILD_HEADER_LIBRARYDan Willemsen2017-02-161-0/+2
| | | | | | | | | And support the reverse translation in androidmk. Test: Use a cc_library_headers using LOCAL_HEADER_LIBRARIES in make Test: androidmk with LOCAL_HEADER_LIBRARIES Test: androidmk with soong's Android-*.mk file for BUILD_HEADER_LIBRARIES Change-Id: I17adedb62151f62e67e2168b09ad87f1d5648df6
* Fixed androidmk crash when parsing external/aac/Android.mkNan Zhang2017-01-271-1/+3
| | | | | | | | Catched the error when bpparser encountered the non-standard make variables. Bug: b/34454142 Test: Manual + (m -j blueprint_tools) command Change-Id: I0766082baa2c2c4020317f975012a476133f4f77
* Import/Export LOCAL_PROPRIETARY_MODULEDan Willemsen2016-12-051-0/+1
| | | | | | Test: androidmk hardware/broadcom/libbt/Android.mk Test: m -j vulkan.default, inspect out/soong/Android-aosp_flounder.mk Change-Id: I8a9553f772a1d434eb0069c1575e1b0d6db36bc9
* Add basic VNDK support in SoongDan Willemsen2016-11-281-0/+1
| | | | | | | | | | | | | | | | | | 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/+4
| | | | | | | | | | | | | | | | 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
* Add support for .proto filesColin Cross2016-10-271-0/+1
| | | | | | | | | .proto files are translated to .pb.cc and .pb.h files, which are then compiled normally. Bug: 32286026 Test: mmma -j system/extras/perfprofd Change-Id: I538071424d667aacf35b4b8bfebe217f5f092726
* Add Relocation Packer supportDan Willemsen2016-09-151-2/+2
| | | | | | | This only applies to shared libraries on the device, and like stripping, we'll let make do the actual packing if we're embedded in Make. Change-Id: I1585d74ecfc41e18dcbb5ffb70005adf007cc941
* Move Android.bp definitions into subdirsDan Willemsen2016-08-251-0/+48
| | | | | Test: m blueprint_tools still produces the same tools Change-Id: Ia1e2e43c62cb6035616bef9fbef56417b46cf3a4
* Add init_rc property, equivalent to LOCAL_INIT_RCDan Willemsen2016-07-291-0/+1
| | | | Change-Id: I914bfff8cbdf71b6cfb2271199a964b2cdcb72d0
* Add CommentGroupsColin Cross2016-06-141-18/+21
| | | | | | Follows blueprint change https://github.com/google/blueprint/pull/104/commits/1e73794d421a8017dbbc1d80913d93571d46d1b6 Change-Id: If3539e2d9370a0224a2364608c496a1e4385dbbf
* Rename Pos membersColin Cross2016-06-141-2/+2
| | | | | | Follows blueprint change https://github.com/google/blueprint/pull/104/commits/b3d0b8dab43776e5391eeebe8a9a0de7600ba219 Change-Id: I10f53498557325d26c6b690583596ac4f9206c79
* Remove blueprint/parser.IdentColin Cross2016-06-141-18/+11
| | | | | | Follows blueprint change https://github.com/google/blueprint/pull/104/commits/c32c47938f2a04cd62aed8691add85049c6a6625 Change-Id: I8f479704504f7bbefed3ed63bd0d040f65a2fdd5
* Update androidmk to match blueprint changesandroid-n-preview-4Colin Cross2016-06-084-281/+275
| | | | | | | blueprint/parser.Value is now an Expression interface, update androidmk to match. Change-Id: I01e0b2a83cf430c1981b450d35c8ab0aab6975f1
* Rename androidmk/test.go so go test can find itColin Cross2016-06-081-0/+0
| | | | Change-Id: If18c749fe9bc883552952284a469ea8e8f3e8f6d
* androidmk: Fix LOCAL_FORCE_STATIC_EXECUTABLEDan Willemsen2016-06-061-1/+1
| | | | Change-Id: Ia7e7fb61ffff212a5b6170743c429417a528cef3
* Implement re-exporting of library headersDan Willemsen2016-06-061-17/+19
| | | | | | This matches LOCAL_EXPORT_(SHARED|STATIC)_LIBRARY_HEADERS in Make. Change-Id: Iede67e2c24a24cf51e68a50123299effbe4e4196
* androidmk: TOP is always "."Dan Willemsen2016-06-052-13/+41
| | | | | | But if it comes out to ./, remove both characters. Change-Id: Ia86c1a60522736773b2e8ee0cf54a4348d302573
* androidmk: Support version_scriptDan Willemsen2016-06-032-1/+65
| | | | | | | This only translates the common case using $(LOCAL_PATH). If it doesn't match here, Soong will throw an error with a suggested fix. Change-Id: If64c8fca008a1a414fc12389e6b1bb40af0df899
* androidmk: Update LOCAL_SANITIZE* supportDan Willemsen2016-06-032-2/+122
| | | | Change-Id: Ib3d5473869f69e9e3a74ebb403653e5918ad240a
* Add _<OS> suffix support, remove USE_MINGWDan Willemsen2016-06-032-3/+28
| | | | | | USE_MINGW is no longer supported by Make Change-Id: I399190ac9e92a2e633bf5438d8deb653beae1bb1
* Add logtags support to androidmkDan Willemsen2016-06-032-87/+173
| | | | | | | Generalize the list splitting function used by include_dirs and export_include_dirs to also support splitting sources. Change-Id: I11b8f817fb32309511522074fe6b26052ae3d65f
* Add tests for androidmkDan Willemsen2016-06-032-8/+268
| | | | Change-Id: Ic31bf68f75c8dd4d7737d9ea01f2d93637cdaca2
* Add spaces around := when dumping assignmentsColin Cross2016-05-301-1/+1
| | | | | | Add spaces around := when dumping assignments that failed translation. Change-Id: I92cea0616a9dacd74a63b48f4626340b22542fbf
* Improve makefile parserColin Cross2016-05-266-276/+244
| | | | | | | | | | | | Improve the androidmk makefile parser based on ideas from go/ast and friends: - Use type switching instead of the As* mess - Don't store endPos for every node, compute it based on the last known position in the node plus the length of the last token - Store positions as only the offset into the file, and then unpack them into Line/Column scanner.Position objects later Change-Id: I87eb6661859951e6c2ea5a85db6229fa5561d615
* Fix blank line translation once and for allColin Cross2016-05-261-29/+24
| | | | | | | | | | Track the position in the input makefile and output blueprint file separately. When parsing a new makefile line, increment the line in the output position by the number of lines between the end of the last makefile line and the beginning of this line. Any extra blank lines will be discarded by the blueprint printer. Change-Id: I85c6e006667b5733b15e03b56b91caf29fbc0ea0
* Fix non-deterministic errors with LOCAL_*_x86_64Colin Cross2016-05-252-13/+15
| | | | | | | | | LOCAL_*_x86_64 was sometimes recognized as a _64 suffix and other times as the correct _x86_64 suffix, based on the random order of the propertyPrefixes map. Replace the map with a slice so that the ordering is consistent, and ensure 64 as after x86_64. Change-Id: I1a4b4959f8ef4273ad4a1cdd0672ad557bf1891e
* Update androidmk translatorColin Cross2016-05-031-1/+2
| | | | | | support LOCAL_SRC_FILES_EXCLUDE, and fix a typo arm->arch. Change-Id: I9f789e943d9aca4c5aff2b6b56b1e4a0626ecd86
* androidmk: Add support for LOCAL_MODULE_HOST_OSColin Cross2015-12-021-0/+41
| | | | Change-Id: Ic1aba6cdcd394fbe2b1819b80fb997f00d9711dc
* androidmk: Add support for TARGET_BUILD_APPSColin Cross2015-12-012-43/+35
| | | | Change-Id: Iade2dd9fd5b8873d723d5f6f235775f447fb1d98
* Replace asan with sanitizeColin Cross2015-09-161-1/+2
| | | | | | LOCAL_ADDRESS_SANITIZER has been replaced with LOCAL_SANITIZE. Change-Id: I81fe7e0c9135cfd4a222fae4012ab5082cc58f29
* Fix androidmk make_strings_test to use new APIDan Willemsen2015-06-241-26/+27
| | | | Change-Id: I23eb2df0603dbf76ff829c696cd09fe723efa9d9
* androidmk: make class+suffix into generic prefixColin Cross2015-05-122-140/+120
| | | | | | | | Allow variables to have a prefix, for example "target.arm.cflags". Each prefixed name separated by a "." will become a nested map property. Change-Id: Ib982b8dcaf2f1dc919acb2767e769950916c50f7
* androidmk: convert stems prefixed with LOCAL_MODULE to suffixColin Cross2015-05-121-1/+17
| | | | | | Convert stem: LOCAL_MODULE + "32" to suffix: "32" Change-Id: I7126e814bd35f502196abc087b5d0afb825d3665
* androidmk: strip LOCAL_PATH from export_include_dirs and local_include_dirsColin Cross2015-05-122-32/+227
| | | | | | | | Sort LOCAL_INCLUDE_DIRS values into local_include_dir include_dirs based on whether they are prefixed with $(LOCAL_PATH)/, and strip $(LOCAL_PATH)/ from export_include_dirs. Change-Id: I20f9f0f8385088660855c7ccf85b7933ff2dcd44
* androidmk: clean up nested comparisons for local variable namesColin Cross2015-05-121-12/+9
| | | | Change-Id: If84dbce05f1a28a562c8dba3eceedfe92b8d5ba5
* androidmk: use a single map for property listColin Cross2015-05-122-79/+79
| | | | Change-Id: I08019443f5fcb012190486e9144a1bfec26761b4
* Add cc_benchmark module typeColin Cross2015-05-071-0/+2
| | | | Change-Id: I83bed375fa77518baaab4260e714a9368761f0bc
* Support relative_install_path for cc modulesColin Cross2015-04-211-13/+14
| | | | | | | Support specifying an install path relative to the default install path for cc libraries and binaries. Change-Id: I47a97de9beaedde27d99c498c3f26c9d36358d94
* Add support for building android appsColin Cross2015-04-201-0/+7
| | | | | | | | Add support for running aapt to generate R.java and Manifest.java, compiling java into jar, adding resources to the jar to convert it into an apk, signing the apk, and zipaligning the apk. Change-Id: I7a73fef590d07f35b3d0b56a8571780c09bb10ae
* Rename resource_dirs to java_resource_dirsColin Cross2015-04-201-1/+1
| | | | | | | | Java vs. Android resource directories are already confusing enough, rename resource_dirs to java_resource_dirs to make room for android_resource_dirs. Change-Id: Iffd087860b98df29e81d8d2f823be87c8227e614
* androidmk: add support for ifdef USE_MINGWColin Cross2015-04-162-2/+3
| | | | Change-Id: Ib3436cb4fd2469f5be2f7ee1525709eb1e143dbf
* androidmk: add all-subdir-java-filesColin Cross2015-04-161-0/+5
| | | | Change-Id: I7f3458231abcf7fb03595bb0f9277a0820ceb4f7
* Add aidl file support to java buildsColin Cross2015-04-081-0/+1
| | | | | | | Add support for aidl files listed in srcs for java builds, and an aidl_preprocess module type for framework and sdk aidls. Change-Id: I3aa537f4483822e5b534c74d0b35f13a938f8947
* Add yacc and lex supportColin Cross2015-04-081-0/+1
| | | | | | | | Add support for yacc (.y or .yy) and lex (.l or .ll) files. Also tweak locations of .o files for normal and generated sources to makes sure they don't collide. Change-Id: I03172cddbdc022525bf392a81d72050406b8cdb3
* Add jarjar supportColin Cross2015-04-081-0/+1
| | | | | | | If jarjar_rules is set, pass the compiled jar through jarjar to produce a new intermediate jar. Change-Id: Ied596433fd5c49d05f07c04245f3abe8b9aadc5e
* androidmk: support translating all-java-files-underColin Cross2015-04-034-32/+62
| | | | Change-Id: I4c343f6d8d23d42dddc256ff022016b595bb3841
* Support java libraries, binaries, and prebuiltsColin Cross2015-04-031-1/+16
| | | | | | | | Add support for compiling java libraries (.jar files with or without .dex), java binaries (.jar files with a wrapper script to run them), and java prebuilts (for the SDK .jars) Change-Id: Id624da64c92cf20c6d9577c6bb06e5b212af0d1b
* androidmk: use map to hold module typesColin Cross2015-04-022-35/+22
| | | | | | | Reduces the number of places that need to be edited when adding new module types. Change-Id: Id35d16f005e377e1e3bb955348ed92a4a2c392bb
* androidmk: add BUILD_OS conditionalsColin Cross2015-03-271-0/+4
| | | | | | | Some Android.mk files use BUILD_OS instead of HOST_OS for selecting options when building host tools. Change-Id: Ic4869cdee01da050364bb21b47f3de8fd8adaa96
* androidmk: support conditionals on HOST_OS == linuxColin Cross2015-03-272-8/+8
| | | | | | | Add HOST_OS == linux to the supported conditionals, and replace a manual list with a map lookup. Change-Id: I0c26e3a854d1011870f41c05fc400d68334cd45f