summaryrefslogtreecommitdiffstats
path: root/core/module_arch_supported.mk
Commit message (Collapse)AuthorAgeFilesLines
* build: delete 64-bit blacklistColin Cross2014-06-171-2/+0
| | | | | | The last projects in the blacklist have been fixed, delete the code. Change-Id: I0fe7809bd18e32516374c9cb2a6f71df1d3c62ee
* Support host multilib buildYing Wang2014-05-141-15/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* build: add support for LOCAL_MULTILIB := 64Colin Cross2014-04-101-0/+4
| | | | | | | | I don't expect it to be useful for modules, but package.mk will use it to only install 64-bit native apps on devices that only have a 64-bit zygote. Change-Id: If3f5a81c3a60bd13fa6ded08e2a7579a29877324
* add support for LOCAL_MULTILIBColin Cross2014-03-261-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | LOCAL_MULTILIB replaces LOCAL_32_BIT_ONLY and LOCAL_NO_2ND_ARCH, although both are still supported. Set LOCAL_MULTILIB := 32 to always build a module 32-bit. This is the same as specifying LOCAL_32_BIT_ONLY. Set LOCAL_MULTILIB := first to always build a module for the first architecture (64-bit on a 64-bit target, 32-bit on a 32-bit target). This is the same as specifying LOCAL_NO_2ND_ARCH. Set LOCAL_MULTILIB := both to build for both architectures on a mulitlib (64-bit) target. If LOCAL_MULTILIB is not set libraries will default to "both", and executables, packages, and prebuilts will default to building for the first architecture if supported by the module, otherwise the second. Executables that set LOCAL_MULTILIB := both must set either LOCAL_MODULE_STEM_32 and LOCAL_MODULE_STEM_64 or LOCAL_MODULE_PATH_32 and LOCAL_MODULE_PATH_64 to specify how to differentiate the install locations of the two versions. Change-Id: I22ab6aa342b231c307b1d8a86cea4fd91eea39f5
* HACK: add 64-bit directory blacklistColin Cross2014-02-121-0/+2
| | | | Change-Id: I431e8b220db81d51930dc0b3d95995df120c179a
* add support for module supported or unsupported target architecturesColin Cross2014-02-121-0/+52
Add four new variables for module makefiles: LOCAL_MODULE_TARGET_ARCH specifies that a module is only supported for one or more architectures. Any architecture not in the list will be not attempt to build the module. The expected use case is prebuilts that are only suitable for a single architecture, or modules like llvm that need per-architecture support. LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH specifies that a module cannot be built for one or more architectures. LOCAL_MODULE_TARGET_ARCH_WARN and LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH_WARN are the same, but warn that the arch is not supported, which is useful for modules that are critical but not yet working. The logic for whether or not to build an architecture is fairly complicated, so this patch consolidates it into module_arch_supported.mk Change-Id: I120caf4a375f484e1fd6017b60c2f53882ae01e6