summaryrefslogtreecommitdiffstats
path: root/core/definitions.mk
Commit message (Collapse)AuthorAgeFilesLines
* Add new variable SCAN_EXCLUDE_DIRS; specifies directories to exclude when ↵C. Sean Young2015-06-101-1/+1
| | | | | | | | | | searching source tree. These directories are excluded in addition to OUT_DIR. This can be useful if your build system has other output directories beyond what OUT_DIR is set to. Change-Id: I6d98a85bcc8c89279e939406a7fec32547e8922f
* Use ALL_MODULES.$(m).INSTALLED in modules-for-tag-listYing Wang2015-02-261-1/+1
| | | | | | | | | | Previously we store tag's installed modules in a separate variable ALL_MODULE_TAGS.$(tag). However we only record the main installed file for a module, but omit affiliated files like .odex. With this change, we handle the tagged module the same way as modules in PRODUCT_PACKAGES. Change-Id: I7972528a4df5a4ba8bc98930864da9672d32d7fe
* PIE executables created with mingw use "mainCRTStartup" as their entry point.Stephen Hines2014-10-021-0/+4
| | | | | | | | | Bug: 14416410 Our linker uses "start" as the primary entry point, so we need to adjust this for mingw-based Windows compiles, or nothing will execute correctly. Change-Id: I6e99f43e075ef9f00500099ce34ec4425c996454
* Return "none" if no matching arch foundYing Wang2014-09-261-2/+4
| | | | | | | So result of get-prebuilt-src-arch can be passed to LOCAL_MODULE_TARGET_ARCH, which takes empty string as "any" actually. Change-Id: I916c9738ccce4a94ac084fb4141d54659e896a1f
* Fix build breakage due to incorrect bcc_compat RS_TRIPLE.Stephen Hines2014-09-021-1/+1
| | | | | Bug: 17333374 Change-Id: I13582ce0cde86f7b3728aa4f45a5197438d65a2d
* Apply TARGET_GLOBAL_LDFLAGS to transform-bc-to-soYing Wang2014-08-131-1/+1
| | | | | | | | This fixes mips unbundled build since we switched to mips64el toolchain for both mips and mips64. TODO: multilib build support. Change-Id: I7add92d2cecfc3ab739785ceef6700240a25093a
* Inhibit implicit -Bsymolic in -shared.Dan Albert2014-08-081-1/+1
| | | | | | | Bug: 16853291 Change-Id: Id70488b077256a70137c4417f21be2c2d1d4341c (cherry picked from commit b6bb71b85d506dcc4763290d72c4168afd541f7d)
* Fix uses of -fPIC and -fPIE.Dan Albert2014-08-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | We've been using -fPIC and -fPIE together in the global cflags all this time. These options are incompatible. The only reason we haven't been hit by this before is because of the forced -Bsymbolic in GCC. To fix this, pass -fpic when compiling objects for shared libraries and -fpie when compiling objects for executables. For static libraries, also use -fpic. We have to do this because static libraries might be included in either a shared library or an executable. Code compiled with -fpie cannot be included in a shared library, but code compiled with -fpic may be included in an executable. We've also been using -fpic and -fPIC together. These are different options, and only the latter will take effect. http://stackoverflow.com/a/967010 The final thing this fixes is that we had -f(PIC|PIE) flags being passed to link commands. These are compile time flags, and don't do anything at link time. Bug: 16823325 Change-Id: Ic76f47e63dc2c81b7e1a8058bae1b3dc8565d606 (cherry picked from commit 4803ce2696950f8c27c83de4fe46ae196f35af16)
* Improve rules of split apks.Ying Wang2014-07-231-12/+0
| | | | | | | | | | | - Better messaging if the expected split apk isn't generated by the aapt command in the base apk rule; Remove the built base apk, so make will rerun aapt after the user changes the splitting parameters. - Use cleaner static pattern rules instead of running $(foreach) with $(eval). Bug: 16319961 Change-Id: If6ae302e1a39d2e0db8f784d4e1cf292ec855281
* Support LOCAL_PACKAGE_SPLITS.Ying Wang2014-07-221-0/+12
| | | | | | | | | Support LOCAL_PACKAGE_SPLITS, which accepts a list of resource lables and generates multiple apks. The build system sets up rules to sign and zipalign the split apks. Bug: 16319961 Change-Id: I344b3d1c7eb158c6d0df879093d666a89870aadd
* New installation path for apks and their JNIs.Ying Wang2014-07-181-2/+2
| | | | | | | | | Apk's path is changed to <parent_dir>/MyApp/MyApp.apk; JNI path is changed to <parent_dir>/MyApp/lib/<arch_name>/libfoo.so. Symlinks of JNIs are changed accordingly. Bug: 16319961 Change-Id: Ib3b2309c95fa9aea27837fcc29e28d990b04747b
* am 904446ce: am 1a3d260f: am e69d4350: Merge "Support to add JNI of both ↵Ying Wang2014-06-251-2/+12
|\ | | | | | | | | | | | | archs in multilib build." * commit '904446ce0b3f430ac88ae0c08b9c613721474cd5': Support to add JNI of both archs in multilib build.
| * Support to add JNI of both archs in multilib build.Ying Wang2014-06-251-2/+12
| | | | | | | | | | | | | | | | | | | | | | Use "LOCAL_MULTILIB := both" to install jni libraries of both archs in multilib build. The build system will package jni of both archs to the apk, or install them to the right location on the system image and create symlinks, extract .so files from prebuilt apk, etc if appropriate. Bug: 15849902 Change-Id: I7e147b5a47db476584c38250de7b36c75ea40d81
* | am a1ac4736: am b110da5f: am 9d8854e3: Merge "build: delete 64-bit blacklist"Colin Cross2014-06-181-1/+1
|\ \ | |/ | | | | | | * commit 'a1ac47367636c0473156679f8f30af626df7da85': build: delete 64-bit blacklist
| * build: delete 64-bit blacklistColin Cross2014-06-171-1/+1
| | | | | | | | | | | | The last projects in the blacklist have been fixed, delete the code. Change-Id: I0fe7809bd18e32516374c9cb2a6f71df1d3c62ee
* | core: Fixup assert-max-image-size/assert-max-file-size usageJP Abgrall2014-06-161-11/+4
| | | | | | | | | | | | | | | | | | - Remove the incorrectly used (and unused) 3rd arg to assert-max-image-size - Remove test for fstype in assert-max-file-size() as it was always set to a value leading to 0. Change-Id: I0a1182fcc85c6c3801d45731e691b9bb38657606 Signed-off-by: JP Abgrall <jpa@google.com>
* | am dceddd91: am 79b46720: am 02f98a26: Merge "Fix loophole in module expansion."Ying Wang2014-06-111-14/+0
|\ \ | |/ | | | | | | * commit 'dceddd91d9a6516346e752b9f942747bea931cfa': Fix loophole in module expansion.
| * Fix loophole in module expansion.Ying Wang2014-06-101-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we only expanded product_MODULES with LOCAL_REQUIRED_MODULES, but not modules introduced by LOCAL_SHARED_LIBRARIES; Later we did a further shared libary expansion in vendor_module_check.mk. It couldn't track C in the following case: A : B, by LOCAL_SHARED_LIBRARIES; B : C, by LOCAL_REQUIRED_MODULES. With this change, we transformed the LOCAL_SHARED_LIBRARIES dependencies into LOCAL_REQUIRED_MODULES dependencies before doing the required module expansion and the loophole is closed. All module names are now expanded to product_MODULES now and it makes vendor_module_check.mk simpler. Change-Id: I8835a478d2ce0ce10601a8449f446f07b01c2b7f
* | am fe9ad097: am b1f65358: am 5ad17493: Merge "Support .asm being compiled by ↵Ying Wang2014-06-111-0/+10
|\ \ | |/ | | | | | | | | | | yasm targeted for x86." * commit 'fe9ad0975ade10219a5fa9a77d034ba77735e393': Support .asm being compiled by yasm targeted for x86.
| * Support .asm being compiled by yasm targeted for x86.Ying Wang2014-06-061-0/+10
| | | | | | | | Change-Id: Icd6626a082facf920b0e49e2fbe8861e94400552
* | am 834ec0ea: am d3ddfdf8: am b3bed595: Merge "Add a dummy build recipe for ↵Ying Wang2014-05-281-1/+1
|\ \ | |/ | | | | | | | | | | generated RS cpp files." * commit '834ec0ead591cf64a5f660af0210e95728e08c4f': Add a dummy build recipe for generated RS cpp files.
| * am b3bed595: Merge "Add a dummy build recipe for generated RS cpp files."Ying Wang2014-05-281-1/+1
| |\ | | | | | | | | | | | | * commit 'b3bed5952b44e69dc9e1988beb4092303084ef61': Add a dummy build recipe for generated RS cpp files.
| | * Add a dummy build recipe for generated RS cpp files.Ying Wang2014-05-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the RS cpp files are generated by the timestamp rule. Though we have the generated RS cpp files depend on the timestamp file, we don't have a build recipe. In such case gmake does some "optimization" that it skip recompiling the generated cpp files, because it assumes the generated cpp files are already up to date even if the rs files have been updated. Bug: 15313144 Change-Id: Ie69ecd2c788057d3619f9c7d2a125d44c4a534a1
| * | am 3805f619: Merge "Revert "Fix for duplicate names in whole static libs""Dan Albert2014-05-271-20/+20
| |\ \ | | |/ | | | | | | | | | * commit '3805f619156163eab8ad92fd51b4a431be1287bd': Revert "Fix for duplicate names in whole static libs"
| | * Revert "Fix for duplicate names in whole static libs"Dan Albert2014-05-271-20/+20
| | | | | | | | | | | | | | | | | | This reverts commit 0e5ce8be34446278a3404ea2a4afc01f20f86c5a. Change-Id: I68b776cb915fd7be8299ddb2899907046dddadf3
| * | am 31101623: Merge "Fix for duplicate names in whole static libs"Dan Albert2014-05-271-20/+20
| |\ \ | | |/ | | | | | | | | | * commit '31101623b3e621436f6b46f49242ed4642d86164': Fix for duplicate names in whole static libs
| | * Fix for duplicate names in whole static libsDan Albert2014-05-231-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | _extract-and-include-single-(host|target)-whole-static-lib was written such that only the first file of a given name would be extracted and included into the new library. This patch iterates over each identically named archive member, extracts them individually, and adds them to the new archive. Bug: 15110069 Change-Id: Ia08c7be6f40bfc8403908a8808898ada479099b1
* | | Support more precise package exclusion from JAR files.Jeff Brown2014-05-231-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow LOCAL_JAR_PACKAGES to work on subpackages. Previously it only worked on top-level packages due to a bug in how the directories were recursively deleted. Add LOCAL_JAR_EXCLUDE_PACKAGES to allow specific subpackages to be excluded. This rule applies after LOCAL_JAR_PACKAGES has selected which packages to include. It may also be used independently. Change-Id: Ibd0e495be1a20c84b59c9da132e92100ef3f8705
* | | am 2bf10a72: am cdcb6926: am 6cb69bd4: Merge "Add HOST_PREFER_32_BIT to ↵Ying Wang2014-05-231-1/+2
|\ \ \ | |/ / | | | | | | | | | | | | | | | support 32-bit-by-default multilib build" * commit '2bf10a72f87a8e97923286aa331f7db81e2361ca': Add HOST_PREFER_32_BIT to support 32-bit-by-default multilib build
| * | am 6cb69bd4: Merge "Add HOST_PREFER_32_BIT to support 32-bit-by-default ↵Ying Wang2014-05-231-1/+2
| |\ \ | | |/ | | | | | | | | | | | | | | | multilib build" * commit '6cb69bd4f20ac3ae3a7d5b5cc323c4480cf8ef75': Add HOST_PREFER_32_BIT to support 32-bit-by-default multilib build
| | * Merge "Add HOST_PREFER_32_BIT to support 32-bit-by-default multilib build"Ying Wang2014-05-231-1/+2
| | |\
| | | * Add HOST_PREFER_32_BIT to support 32-bit-by-default multilib buildYing Wang2014-05-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We already support pure 32-bit and 64-bit-by-default multilib build. With HOST_PREFER_32_BIT we can build 32-bit-by-default multilib build. This will be lest disruptive during the period we transition to 64-bit-by-default. Bug: 13751317 Change-Id: I0d56ce4abbe4afeaacfd70d709f6a349791c0722
* | | | am 913e0317: am a72e6f80: am 8a3f514d: Merge "Split the rules to build the ↵Ying Wang2014-05-221-2/+2
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | odex file" * commit '913e031793928981640f51fa2e6480312f044c37': Split the rules to build the odex file
| * | | am 8a3f514d: Merge "Split the rules to build the odex file"Ying Wang2014-05-221-2/+2
| |\ \ \ | | |/ / | | | | | | | | | | | | * commit '8a3f514d44e2c1d4920126b3edd47f7a7616b732': Split the rules to build the odex file
| | * | Split the rules to build the odex fileYing Wang2014-05-211-2/+2
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the odex file is byproduct generated by the package.apk rule. Though we have the odex file depend on the package.apk it doesn't have its own build recipe. In case package.apk isn't updated but we still need to update the odex file (such as changed LOCAL_MULTILIB), the odex file will never be rebuilt. This change split out the rules to build the odex file and make sure the build recipe get executed if the odex file needs rebuild. Change-Id: I60c2f32b536b3d59045301ee863aae1451734aad
* | | am e50f2d9f: am 40b49d30: am a74ade94: Merge "Support host multilib build"Ying Wang2014-05-151-13/+17
|\ \ \ | |/ / | | | | | | | | | * commit 'e50f2d9f32a27d8290692dbf99ab8b247ef9d553': Support host multilib build
| * | am a74ade94: Merge "Support host multilib build"Ying Wang2014-05-151-13/+17
| |\ \ | | |/ | | | | | | | | | * commit 'a74ade945776e80f99f3b05d06a131cfd353c3f6': Support host multilib build
| | * Support host multilib buildYing Wang2014-05-141-13/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change basically ported our target multilib to the host side. It supports 2 host build modes: x86 and x86_64 multilib build. For now you need to set "BUILD_HOST_64bit=true" to switch to x86_64 multilib build. Later we'll default to x86_64 build and have a flag to force 32-bit only build, which may be needed by SDK build. In host module definition, like in target ones, you can use the following LOCAL variables to set up multilib configuration: LOCAL_MULTILIB: can be "both", "first", "32" or "64". It also supports the same set of arch or 32-vs-64 specific LOCAL variables. By default, it builds only for the first arch. To keep path compatibility, in x86_64 build files are still output to out/host/linux-x86; Both 32-bit and 64-bit executables are in out/host/linux-86/bin; In x86_64 build 32-bit shared libraries are installed to out/host/linux-x86/lib32 and 64-bit shared libraries are installed to out/host/linux-x86/lib; 32-bit object files are output to out/host/linux-x86/obj32 and 64-bit object files are output to out/host/linux-x86/obj. Bug: 13751317 Change-Id: I6044f83b7db369a33e05209e8c588eb6dc83409f
| * | Merge commit '8113e43601aac7702b9ec007e81a179826143d1e' into HEADBill Yi2014-04-291-2/+3
| |\ \ | | |/ | |/|
| | * am 266cf4f2: am f39752e9: Skip the product-scoped --product flag if it\'s ↵Ying Wang2014-03-241-1/+1
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | set in LOCAL_AAPT_FLAGS * commit '266cf4f2595323170fe02db05835884b4522a0f9': Skip the product-scoped --product flag if it's set in LOCAL_AAPT_FLAGS
| | * \ am aea9f041: am 8b1bcc7d: Merge "Add a method to leave the symbol table in a ↵Christopher Ferris2014-03-191-0/+6
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | library." * commit 'aea9f041f72a128065691ac402ccdb72a5a7aad4': Add a method to leave the symbol table in a library.
| | * | | HACK: add 64-bit directory blacklistColin Cross2014-03-131-3/+5
| | | | | | | | | | | | | | | | | | | | Change-Id: I431e8b220db81d51930dc0b3d95995df120c179a
| | * | | am db48d145: am 247dd0c4: Merge "Do not remove the generated .hpp file from ↵Nicolas Geoffray2014-03-111-1/+0
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | yacc." * commit 'db48d145841afb9b9b6d1c124191a1681d6b4f39': Do not remove the generated .hpp file from yacc.
| | * \ \ \ am a6230641: am 26bcd640: Merge "Try to catch more misuse of ."Ying Wang2014-03-111-2/+5
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'a623064131f23412daa0ac4b333320e2e30d85f0': Try to catch more misuse of $(my-dir).
| | * \ \ \ \ am 8e286fbf: am cf1b7d4b: Merge "Select src arch for prebuilts."Ying Wang2014-03-111-0/+7
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '8e286fbfc712ed695008f786592fe83e4a1331a7': Select src arch for prebuilts.
| | * \ \ \ \ \ am 63002088: Merge "Allow LOCAL_LDFLAGS to override HOST_GLOBAL_LDFLAGS."Torne (Richard Coles)2014-03-111-2/+2
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '630020883abc6c8b2c13876e3195ed6abcf4890f': Allow LOCAL_LDFLAGS to override HOST_GLOBAL_LDFLAGS.
| | * \ \ \ \ \ \ am eb9b62e0: Merge "Make -rpath-link work with multilib."Ying Wang2014-03-101-2/+2
| | |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'eb9b62e08d25ec9067a3f47634a2b8cf750230d8': Make -rpath-link work with multilib.
| | * \ \ \ \ \ \ \ am 5c7039fb: Merge "Remove dead code."Ying Wang2014-03-071-30/+0
| | |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '5c7039fb069c040759df0a5a15241dd7f8b2f9b7': Remove dead code.
| | * \ \ \ \ \ \ \ \ am 993ffb80: Merge "Add all-S-files-under."Elliott Hughes2014-03-071-0/+13
| | |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '993ffb802ee90e07e73e67e523fd040395dfd74d': Add all-S-files-under.
| | * \ \ \ \ \ \ \ \ \ am 717de0f5: Merge "Fix installing 2nd arch shared libraries"Colin Cross2014-03-071-0/+1
| | |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '717de0f553dc3c1a2baa0cc988af1adc5b26dba8': Fix installing 2nd arch shared libraries