summaryrefslogtreecommitdiffstats
path: root/build/Android.common.mk
Commit message (Collapse)AuthorAgeFilesLines
* Add options for building/testing with coverage.Dan Albert2015-01-301-0/+15
| | | | | | | | | | | acov --clean mm -B NATIVE_COVERAGE=true ART_COVERAGE=true test-art-host acov --host -B is needed because you need to be sure you rebuild *all* of ART with coverage. Change-Id: Ib94ef610bd1b44dc45624877710ed733051b7a50
* ART: Mips64 runtime supportAndreas Gampe2015-01-151-1/+1
| | | | | | Interpret-only Mips64 runtime support. Change-Id: Iee22d0c8c77105d9b2f03a67dc4e09957fe0ab0a
* Add a new imgdiag tool to diff boot.art/core.art against a processIgor Murashkin2014-12-161-3/+3
| | | | | | | | | | | | | | Analyze the dirty memory pages of a running process per-object, this allows is to to fine-tune the dirty object binning algorithm in image writer. Also: * Factor out oatdump command line parsing code into cmdline.h * Factor out common build rules for building variations of binaries * Add a gtest for imgdiag Bug: 17611661 Change-Id: I3ac852a0d223af66f6d59ae5dbc3df101475e3d0
* Support TARGET_ARCH=64 with no 2ND_TARGET_ARCH.Nicolas Geoffray2014-11-071-4/+11
| | | | | | | This saves build time for the target defined in device/generic/armv8, by only building 64bits bin and lib. Change-Id: Ie2ad1411c127e60ca7569b4cbf4c0b52a4382d3e
* The host build has changed from lib32/lib to lib/lib64.Nicolas Geoffray2014-07-011-2/+0
| | | | | | Use the correct build variable for library dependency. Change-Id: I2f12d13b595d97b2806eb709613e2cc358f4cad4
* Fix various test dependencies.Ian Rogers2014-06-241-0/+6
| | | | Change-Id: I2e4761f4cc061f74319a7b64ebe67c553d5297df
* Multilib ART host.Ian Rogers2014-06-241-398/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | Build ART for the host as a multilib project with dalvikvm32 and dalvikvm64 running as 32 or 64-bit repsectfully. Note, currently multilib host builds are not the default, you make the so by setting BUILD_HOST_64bit=1. Extend tests to execute in both 32 and 64-bit modes. By default both 32 and 64-bit tests are run, add 32 or 64 to the end of a test name to run it in purely that flavor. Given the extra spam, modify oat tests to only generate console output when the test fails. Change the test harness so that common commands are run when a test should be skipped, when it passes or when it fails. Use these commands to generate a summary of passing, skipped and failing tests. Tests will be skipped if they are known to be broken or if a test has already failed. Setting the variable TEST_ART_KEEP_GOING=true will force working tests not to be skipped. In this change all tests running on the optimizing compiler are marked broken due to breakages running them in a multilib environment. Break apart Android.common.mk into its constituent parts, along with other pieces of reorganization. Stylistic nit, we refer to make rule targets as targets thereby overloading the term target. While consistent with make's terminology, its confusing with the Android notion of target. I've switched to just calling targets rules to avoid confusion in host tests. Change-Id: I5190fc3de46800a949fbb06b3f4c258ca89ccde9
* Use GCC on ARM64Sebastien Hertz2014-06-201-1/+1
| | | | | | | | This automatically enables the computed-goto interpreter as default. Bug: 15763315 Bug: 15405621 Change-Id: I4f6ed5f7cad96333bc8dc1029e9b90ba1b6916df
* Remove deprecated WITH_HOST_DALVIK.Ian Rogers2014-06-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | Bug: 13751317 Fix the Mac build: - disable x86 selector removal that causes OS/X 10.9 kernel panics, - madvise don't need does zero memory on the Mac, factor into MemMap routine, - switch to the elf.h in elfutils to avoid Linux kernel dependencies, - we can't rely on exclusive_owner_ being available from other pthread libraries so maintain our own when futexes aren't available (we can't rely on the OS/X 10.8 hack any more), - fix symbol naming in assembly code, - work around C library differences, - disable backtrace in DumpNativeStack to avoid a broken libbacktrace dependency, - disable main thread signal handling logic, - align the stack in stub_test, - use $(HOST_SHLIB_SUFFIX) rather than .so in host make file variables. Not all host tests are passing on the Mac with this change. dex2oat works as does running HelloWorld. Change-Id: I5a232aedfb2028524d49daa6397a8e60f3ee40d3
* Fix for test-art-hostBrian Carlstrom2014-06-101-0/+4
| | | | | | Courtesy of dallison@ Change-Id: I160a5c84c176f22168bf236899349b6087494807
* Enable -Wframe-larger-than=1728 compilation errorSebastien Hertz2014-06-041-4/+4
| | | | | Bug: 15278350 Change-Id: I142dc9de0312ac1f8aa55a4bce86b5bb6722535f
* ART: Make LOCAL_CLANG architecture dependent for the targetAndreas Gampe2014-06-041-13/+45
| | | | | | | | | | | | Be selective for which target we compile with Clang. Currently we only want to compile with Clang for ARM64, which means we need to be careful about ARM, which is the second architecture for that. Bug: 15014252 (cherry picked from commit 9689e3768621130b2536564f4e00fcb6b3d25df4) Change-Id: I312e1caea08f2f3a20304b27f979d3c7b72b0a04
* Update dump-oat-* and oatdump for new image file layoutBrian Carlstrom2014-05-221-0/+1
| | | | | Bug: 11997009 Change-Id: I30c356f3ea62b1850d17b5c6bf4af4080a466858
* Fix test-art-target-oat for multi targetSebastien Hertz2014-05-211-3/+0
| | | | | | | | | Avoids running dalvikvm with 32-bit native library. When the primary target is 64-bit, dalvikvm is a symlink to dalvikvm64 which can't load 32-bit native library. Bug: 15131102 Change-Id: I29c2f3b5a62b5f507674f3f6d1b9f3f2e5a9de23
* Merge "Add DALVIKVM_FLAGS to test invocation."Mathieu Chartier2014-05-201-1/+1
|\
| * Add DALVIKVM_FLAGS to test invocation.Mathieu Chartier2014-05-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Now, only gtest don't use these flags. Running tests with GC options e.g: DALVIK_VM="-Xgc:GSS" mm test-art-host-oat Added a --runtime-option to test/run-test which passes the args to the test: test/run-test --runtime-option -Xgc:GSS --runtime-option -XX:UseTLAB 080 Change-Id: Ic928df32cb5aa36d3b0b55456e8b535e82ee9e97
* | Merge "Now we have a proper C++ library, use std::unique_ptr."Ian Rogers2014-05-201-3/+0
|\ \
| * | Now we have a proper C++ library, use std::unique_ptr.Ian Rogers2014-05-191-3/+0
| | | | | | | | | | | | | | | | | | | | | Also remove the Android.libcxx.mk and other bits of stlport compatibility mechanics. Change-Id: Icdf7188ba3c79cdf5617672c1cfd0a68ae596a61
* | | Updating clean-oat againBrian Carlstrom2014-05-191-0/+19
|/ / | | | | | | | | | | Also fix test-art-host-oat dex2oat'ing to use the proper new directory layout. Change-Id: I4a65e88910a72dbe342c814551e4364d73e26e9c
* / Switch ART to libc++.Ian Rogers2014-05-191-1/+1
|/ | | | | | TODO: remove all vestiges of stlport. Change-Id: I95a3cb0b53d0898f0a5d388b606e79522f4d85e0
* Add ISA directory to image and odex pathnames.Brian Carlstrom2014-05-161-20/+9
| | | | | | Bug: 14882223 Bug: 14694978 Change-Id: Ic1b5ae836b8e91ea461dcd4f3da8e38dc3bec00f
* 64-bit host multilib build.Ying Wang2014-05-161-5/+1
| | | | | Bug: 13751317 Change-Id: I98c0d593e441add79d51ec1b690c4abd3489a8cf
* Merge "ART: Make build error a warning for TARGET_CPU_SMP"Andreas Gampe2014-05-151-1/+3
|\
| * ART: Make build error a warning for TARGET_CPU_SMPAndreas Gampe2014-05-151-1/+3
| | | | | | | | | | | | | | Builds that do not build for targets will not have this information. Make it a warning. Change-Id: Ibd5fa6f5d2c1cf6d86de30df24d25eddb23fb81d
* | Merge "Move RoS allocator to use unordered_set."Ian Rogers2014-05-151-0/+3
|\ \ | |/ |/|
| * Move RoS allocator to use unordered_set.Ian Rogers2014-05-151-0/+3
| | | | | | | | | | | | | | Work-around existing stlport issues for the target. This will go away when the target is using libc++. Change-Id: I8f213ecd9dc7d93d17f4a0d7e84182c12af6ca1b
* | Merge "ART: Fix MonitorExit code on ARM"Andreas Gampe2014-05-151-1/+5
|\ \
| * | ART: Fix MonitorExit code on ARMAndreas Gampe2014-05-151-1/+5
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We do not emit barriers on non-SMP systems. But on ARM, we have places that need to conditionally execute, which is done through an IT instruction. The guide of said instruction thus changes between SMP and non-SMP systems. To cleanly approach this, change the API so that GenMemBarrier returns whether it generated an instruction. ARM will have to query the result and update any dependent IT. Throw a build system error if TARGET_CPU_SMP is not set. Fix runtime/Android.mk to work with new multilib host. Bug: 14989275 Change-Id: I9e611b770e8a1cd4ca19367d7dae0573ec08dc61
* / Don't import llvm.mk for non-portable builds.Ian Rogers2014-05-151-3/+5
|/ | | | Change-Id: I447e7d816c0e4f84bc4d13bc34ff93b026d192b5
* Make it easy to change the default GC type.Hiroshi Yamauchi2014-05-121-0/+8
| | | | | Bug: 13641307 Change-Id: I47a36326be8dbb5fd637b743bbfad1fdde54011d
* Make arm64 build with ART_TARGET_CLANG.Tim Murray2014-05-021-1/+11
| | | | Change-Id: If47ba8afbce3bbe9696cc7d6d08502e07aba5e7d
* Add additional flags to make ART_TARGET_CLANG function with 3.5.Tim Murray2014-04-301-8/+18
| | | | Change-Id: I5fbf29e5d08d905f7585fb6d0de9472e3f3ed218
* Avoid volatile 64-bit tearing on 32-bit architectures.Ian Rogers2014-04-281-0/+8
| | | | | | | | | Change b122a4bbed34ab22b4c1541ee25e5cf22f12a926 removed inline assembly for volatile 64bit read/writes. This isn't sound in the general case, reinstate. Motivating change: https://android-review.googlesource.com/91250 Add optimizations for ARM in the case of LPAE support. Change-Id: Ie86d8885d27c8f0da75f0c3bd50d4553a331282f
* Fix dependencies in the test suite for multi-target testsAndreas Gampe2014-04-211-0/+67
| | | | Change-Id: I94dd767490a7cd8cceddc158d90f56f5bd3fef26
* Build changes to build multilib testsAndreas Gampe2014-04-011-4/+40
| | | | | | | | | | | | | | | | | | | | | | Test files will be emitted into directories for both first and second target architectures. Going with the naming scheme for binaries, single-architecture and 32b cases have the standard name, and 64b goes into a directory with "64" suffix. In multi-architecture setups, the default concrete test targets are extended with a "32" and "64" suffix, e.g., test-art-target-oat-JniTest64. The suffix-less form is linked to the primary architecture target (usually 64). That means running combined targets, e.g., test-art-target-oat, will only test the primary architecture right now. Fixed target run tests calling the right dalvikvm. Fixed library search path for tests derived from CommonRuntimeTest. Missing in this work-in-progress is correct handling of dex2oat for the secondary architecture. To make it work on 64b, comment out line 101 in build/Android.executable.mk Change-Id: I3d260994e6efe8b73b56c71994053cc9392943a9
* AArch64: Add arm64 runtime support.Stuart Monteith2014-03-191-1/+1
| | | | | | | | | Adds support for arm64 to ART. Assembler stubs are sufficient for down calls into interpreter. JNI compiler and generics are not finished. Basic Generic JNI functionality. Change-Id: I4a07c79d1e037b9f5746673480e32cf456867b82
* Add command line support for enabling the optimizing compiler.Nicolas Geoffray2014-03-131-0/+17
| | | | | | | Also run tests with the optimizing compiler enabled when the file art/USE_OPTIMIZING_COMPILER is present. Change-Id: Ibc33eed62a43547bc3b9fe786d014c0d81b5add8
* Fixed and refactored 64b host buildAndreas Gampe2014-03-121-0/+6
| | | | | | | | Add a global variable ART_HOST_ARCH in build/Android.common.mk that will be set to x86 or x86_64 depending on BUILD_HOST_64bit. This is then used as the instruction set for dex2oat. Change-Id: Icec8ef9139f780314a3ff325a729750e65d6d8da
* Disable host clang only if WITHOUT_HOST_CLANG is setYing Wang2014-03-101-1/+1
| | | | | Bug: 13402154 Change-Id: Ib915e31106aeb2adf64f8fa5d008b34debc205d7
* Support WITHOUT_CLANG buildsBrian Carlstrom2014-03-091-6/+5
| | | | | | (cherry picked from commit c9f7723cdb39f9791775166ec1942e456086ad3c) Change-Id: I9443e73a07b81038452c694a2f138faecdeff500
* Work around arm64 host prebuilt differences.Ian Rogers2014-03-081-2/+8
| | | | Change-Id: I345c994b06cc513f67270907f3877ad78dbadcc7
* Revert "Revert "Make clang the default compiler on host.""Ian Rogers2014-03-081-5/+1
| | | | | | This reverts commit d54f3a6219bca6ae018f4395fa0f1254bd4459be. Change-Id: Id96bb52a0d599f8848010d1589bdf0f70fc7124b
* Revert "Make clang the default compiler on host."Ian Rogers2014-03-081-1/+5
| | | | | | This reverts commit 87f8b4cf0c1d6aab3eb5d1e99cc4e7cf175ef772. Change-Id: I91a513042f0f9cf66288a296ad4a3b5da7830c7b
* Make clang the default compiler on host.Ian Rogers2014-03-071-5/+1
| | | | | | | | | | | | | Motivation, GCC's compiler warnings are inferior to clang's. -Wthread-safety is not supported by GCC starting with version 4.7. As this change only effects the host, performance issues are an impact on host building and testing alone. Fix clang gtest building on host with BUILD_HOST_64bit. Fix clang build regressions caused by unused fields. Fix x86-64 regression caused by requirement to fire-up quick compiler even in an interpret-only environment. Long-term this code doesn't belong in the quick compiler. Change-Id: Ifc2b10177f40d0724cbbf8dab9653ac03cdd1cee
* Enable annotalysis on clang ART builds.Ian Rogers2014-03-061-9/+11
| | | | | | | | | | | Fix clang build errors aswell as restructure locking/mutex code for correct thread safety analysis support. Reorder make dependencies so that host builds build first as they should provide better compilation errors than target. Remove host's use of -fno-omit-frame-pointer as it has no value with correct use of CFI, which we should have. Change-Id: I72cea8da9a3757b1a0b3acb4081feccb7c6cef90
* AArch64: Add ARM64 AssemblerSerban Constantinescu2014-03-051-0/+1
| | | | | | | | | This patch adds the ARM64 Assembler and ManagedRegister backend. The implementation of the Arm64Assembler class is based on VIXL (a programmatic A64 Assembler - see external/vixl ). Change-Id: I842fd574637a953c19631eedf26f6c70d9ed7f9e Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
* Fix clang to compile and run host tests.Ian Rogers2014-02-281-3/+5
| | | | | | | | | | | | | | Don't use the computed goto interpreter with clang 3.4 as it causes compilation to hang. Avoid inclusion of LLVM_(HOST|DEVICE)_BUILD_MK except for with portable as it sets clang incompatible cflags. Most fixes are self-evident, for the quick dex file method inliner the enums were being used with ostreams, so fix the enums and operator out python script to allow this. Note this change effects portable but this is untestable as portable was broken by ELF file and mc linker changes. Change-Id: Ia54348f6b1bd3f76d3b71c6e8c5f97626386b903
* Code cleanup to avoid LLVM dependency when building with quick only.Nicolas Geoffray2014-02-201-0/+2
| | | | Change-Id: I0985c227d775c72fd23975d4c9bf673ba32615c2
* art: convert makefiles to support multilib buildColin Cross2014-02-181-4/+6
| | | | | | | | Convert makefiles to allow for building two architectures at the same time. More changes may be necessary to get the tests to build. Change-Id: I02ba11706b7e5b5592d76e43c167bcbf0e665b93
* Remove -D__STDC_FORMAT_MACROS.Ian Rogers2014-01-291-3/+0
| | | | | | Its either unnecessary (bionic) or defined globally for host builds. Change-Id: I2d6ebe7069545d8e2e66f13cb26887ab91b2202c