1*795d594fSAndroid Build Coastguard Workertarget_config = { 2*795d594fSAndroid Build Coastguard Worker 3*795d594fSAndroid Build Coastguard Worker # Configuration syntax: 4*795d594fSAndroid Build Coastguard Worker # 5*795d594fSAndroid Build Coastguard Worker # Required keys: (Use one or more of these) 6*795d594fSAndroid Build Coastguard Worker # * golem - specify a golem machine-type to build, e.g. android-armv8 7*795d594fSAndroid Build Coastguard Worker # (uses art/tools/golem/build-target.sh) 8*795d594fSAndroid Build Coastguard Worker # * make - specify a make target to build, e.g. build-art-host 9*795d594fSAndroid Build Coastguard Worker # * run-test - runs the tests in art/test/ directory with testrunner.py, 10*795d594fSAndroid Build Coastguard Worker # specify a list of arguments to pass to testrunner.py 11*795d594fSAndroid Build Coastguard Worker # 12*795d594fSAndroid Build Coastguard Worker # Optional keys: (Use any of these) 13*795d594fSAndroid Build Coastguard Worker # * env - Add additional environment variable to the current environment. 14*795d594fSAndroid Build Coastguard Worker # 15*795d594fSAndroid Build Coastguard Worker # *** IMPORTANT ***: 16*795d594fSAndroid Build Coastguard Worker # This configuration is used by the android build server. Targets must not be renamed 17*795d594fSAndroid Build Coastguard Worker # or removed. 18*795d594fSAndroid Build Coastguard Worker # 19*795d594fSAndroid Build Coastguard Worker 20*795d594fSAndroid Build Coastguard Worker ########################################## 21*795d594fSAndroid Build Coastguard Worker 22*795d594fSAndroid Build Coastguard Worker # General ART configurations. 23*795d594fSAndroid Build Coastguard Worker # Calls make and testrunner both. 24*795d594fSAndroid Build Coastguard Worker 25*795d594fSAndroid Build Coastguard Worker 'art-test' : { 26*795d594fSAndroid Build Coastguard Worker 'make' : 'test-art-host-gtest', 27*795d594fSAndroid Build Coastguard Worker 'run-test' : [] 28*795d594fSAndroid Build Coastguard Worker }, 29*795d594fSAndroid Build Coastguard Worker 30*795d594fSAndroid Build Coastguard Worker 'art-test-javac' : { 31*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--jvm'] 32*795d594fSAndroid Build Coastguard Worker }, 33*795d594fSAndroid Build Coastguard Worker 34*795d594fSAndroid Build Coastguard Worker # ART run-test configurations 35*795d594fSAndroid Build Coastguard Worker # (calls testrunner which builds and then runs the test targets) 36*795d594fSAndroid Build Coastguard Worker 37*795d594fSAndroid Build Coastguard Worker 'art-ndebug' : { 38*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--ndebug'] 39*795d594fSAndroid Build Coastguard Worker }, 40*795d594fSAndroid Build Coastguard Worker 'art-interpreter' : { 41*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--interpreter'] 42*795d594fSAndroid Build Coastguard Worker }, 43*795d594fSAndroid Build Coastguard Worker 'art-interpreter-cxx' : { 44*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--interpreter'], 45*795d594fSAndroid Build Coastguard Worker 'env' : { 46*795d594fSAndroid Build Coastguard Worker 'ART_USE_CXX_INTERPRETER' : 'true' 47*795d594fSAndroid Build Coastguard Worker } 48*795d594fSAndroid Build Coastguard Worker }, 49*795d594fSAndroid Build Coastguard Worker 'art-interpreter-access-checks' : { 50*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--interp-ac'] 51*795d594fSAndroid Build Coastguard Worker }, 52*795d594fSAndroid Build Coastguard Worker 'art-jit' : { 53*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--jit', '--debuggable', '--ndebuggable'] 54*795d594fSAndroid Build Coastguard Worker }, 55*795d594fSAndroid Build Coastguard Worker 'art-jit-on-first-use' : { 56*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--jit-on-first-use'] 57*795d594fSAndroid Build Coastguard Worker }, 58*795d594fSAndroid Build Coastguard Worker 'art-pictest' : { 59*795d594fSAndroid Build Coastguard Worker # Deprecated config: All AOT-compiled code is PIC now. 60*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--optimizing'] 61*795d594fSAndroid Build Coastguard Worker }, 62*795d594fSAndroid Build Coastguard Worker 'art-gcstress-gcverify': { 63*795d594fSAndroid Build Coastguard Worker # Do not exercise '--interpreter', '--optimizing', nor '--jit' in this 64*795d594fSAndroid Build Coastguard Worker # configuration, as they are covered by the 65*795d594fSAndroid Build Coastguard Worker # 'art-interpreter-gcstress-gcverify', 66*795d594fSAndroid Build Coastguard Worker # 'art-optimizing-gcstress-gcverify' and 'art-jit-gcstress-gcverify' 67*795d594fSAndroid Build Coastguard Worker # configurations below. 68*795d594fSAndroid Build Coastguard Worker 'run-test': ['--interp-ac', 69*795d594fSAndroid Build Coastguard Worker '--speed-profile', 70*795d594fSAndroid Build Coastguard Worker '--gcstress', 71*795d594fSAndroid Build Coastguard Worker '--gcverify'] 72*795d594fSAndroid Build Coastguard Worker }, 73*795d594fSAndroid Build Coastguard Worker 'art-interpreter-gcstress-gcverify' : { 74*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--interpreter', 75*795d594fSAndroid Build Coastguard Worker '--gcstress', 76*795d594fSAndroid Build Coastguard Worker '--gcverify'] 77*795d594fSAndroid Build Coastguard Worker }, 78*795d594fSAndroid Build Coastguard Worker 'art-optimizing-gcstress-gcverify' : { 79*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--optimizing', 80*795d594fSAndroid Build Coastguard Worker '--gcstress', 81*795d594fSAndroid Build Coastguard Worker '--gcverify'] 82*795d594fSAndroid Build Coastguard Worker }, 83*795d594fSAndroid Build Coastguard Worker 'art-jit-gcstress-gcverify' : { 84*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--jit', 85*795d594fSAndroid Build Coastguard Worker '--gcstress', 86*795d594fSAndroid Build Coastguard Worker '--gcverify'] 87*795d594fSAndroid Build Coastguard Worker }, 88*795d594fSAndroid Build Coastguard Worker 'art-jit-on-first-use-gcstress' : { 89*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--jit-on-first-use', 90*795d594fSAndroid Build Coastguard Worker '--gcstress'] 91*795d594fSAndroid Build Coastguard Worker }, 92*795d594fSAndroid Build Coastguard Worker 'art-read-barrier-heap-poisoning' : { 93*795d594fSAndroid Build Coastguard Worker 'run-test': ['--interpreter', 94*795d594fSAndroid Build Coastguard Worker '--optimizing'], 95*795d594fSAndroid Build Coastguard Worker 'env' : { 96*795d594fSAndroid Build Coastguard Worker 'ART_HEAP_POISONING' : 'true' 97*795d594fSAndroid Build Coastguard Worker } 98*795d594fSAndroid Build Coastguard Worker }, 99*795d594fSAndroid Build Coastguard Worker 'art-read-barrier-table-lookup' : { 100*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--interpreter', 101*795d594fSAndroid Build Coastguard Worker '--optimizing'], 102*795d594fSAndroid Build Coastguard Worker 'env' : { 103*795d594fSAndroid Build Coastguard Worker 'ART_READ_BARRIER_TYPE' : 'TABLELOOKUP', 104*795d594fSAndroid Build Coastguard Worker 'ART_HEAP_POISONING' : 'true' 105*795d594fSAndroid Build Coastguard Worker } 106*795d594fSAndroid Build Coastguard Worker }, 107*795d594fSAndroid Build Coastguard Worker 'art-debug-gc' : { 108*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--interpreter', 109*795d594fSAndroid Build Coastguard Worker '--optimizing'], 110*795d594fSAndroid Build Coastguard Worker 'env' : { 111*795d594fSAndroid Build Coastguard Worker 'ART_TEST_DEBUG_GC' : 'true', 112*795d594fSAndroid Build Coastguard Worker 'ART_USE_READ_BARRIER' : 'false' 113*795d594fSAndroid Build Coastguard Worker } 114*795d594fSAndroid Build Coastguard Worker }, 115*795d594fSAndroid Build Coastguard Worker # TODO: Consider removing this configuration when it is no longer used by 116*795d594fSAndroid Build Coastguard Worker # any continuous testing target (b/62611253), as the SS collector overlaps 117*795d594fSAndroid Build Coastguard Worker # with the CC collector, since both move objects. 118*795d594fSAndroid Build Coastguard Worker 'art-ss-gc' : { 119*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--interpreter', 120*795d594fSAndroid Build Coastguard Worker '--optimizing', 121*795d594fSAndroid Build Coastguard Worker '--jit'], 122*795d594fSAndroid Build Coastguard Worker 'env' : { 123*795d594fSAndroid Build Coastguard Worker 'ART_DEFAULT_GC_TYPE' : 'SS', 124*795d594fSAndroid Build Coastguard Worker 'ART_USE_READ_BARRIER' : 'false' 125*795d594fSAndroid Build Coastguard Worker } 126*795d594fSAndroid Build Coastguard Worker }, 127*795d594fSAndroid Build Coastguard Worker # TODO: Consider removing this configuration when it is no longer used by 128*795d594fSAndroid Build Coastguard Worker # any continuous testing target (b/62611253), as the SS collector overlaps 129*795d594fSAndroid Build Coastguard Worker # with the CC collector, since both move objects. 130*795d594fSAndroid Build Coastguard Worker 'art-ss-gc-tlab' : { 131*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--interpreter', 132*795d594fSAndroid Build Coastguard Worker '--optimizing', 133*795d594fSAndroid Build Coastguard Worker '--jit'], 134*795d594fSAndroid Build Coastguard Worker 'env' : { 135*795d594fSAndroid Build Coastguard Worker 'ART_DEFAULT_GC_TYPE' : 'SS', 136*795d594fSAndroid Build Coastguard Worker 'ART_USE_TLAB' : 'true', 137*795d594fSAndroid Build Coastguard Worker 'ART_USE_READ_BARRIER' : 'false' 138*795d594fSAndroid Build Coastguard Worker } 139*795d594fSAndroid Build Coastguard Worker }, 140*795d594fSAndroid Build Coastguard Worker 'art-tracing' : { 141*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--trace', 142*795d594fSAndroid Build Coastguard Worker '--stream'] 143*795d594fSAndroid Build Coastguard Worker }, 144*795d594fSAndroid Build Coastguard Worker 'art-interpreter-tracing' : { 145*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--interpreter', 146*795d594fSAndroid Build Coastguard Worker '--trace'] 147*795d594fSAndroid Build Coastguard Worker }, 148*795d594fSAndroid Build Coastguard Worker 'art-forcecopy' : { 149*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--forcecopy'] 150*795d594fSAndroid Build Coastguard Worker }, 151*795d594fSAndroid Build Coastguard Worker 'art-no-prebuild' : { 152*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--no-prebuild'] 153*795d594fSAndroid Build Coastguard Worker }, 154*795d594fSAndroid Build Coastguard Worker 'art-no-image' : { 155*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--no-image'] 156*795d594fSAndroid Build Coastguard Worker }, 157*795d594fSAndroid Build Coastguard Worker 'art-interpreter-no-image' : { 158*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--interpreter', 159*795d594fSAndroid Build Coastguard Worker '--no-image'] 160*795d594fSAndroid Build Coastguard Worker }, 161*795d594fSAndroid Build Coastguard Worker 'art-heap-poisoning' : { 162*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--interpreter', 163*795d594fSAndroid Build Coastguard Worker '--optimizing'], 164*795d594fSAndroid Build Coastguard Worker 'env' : { 165*795d594fSAndroid Build Coastguard Worker 'ART_USE_READ_BARRIER' : 'false', 166*795d594fSAndroid Build Coastguard Worker 'ART_HEAP_POISONING' : 'true' 167*795d594fSAndroid Build Coastguard Worker } 168*795d594fSAndroid Build Coastguard Worker }, 169*795d594fSAndroid Build Coastguard Worker 'art-preopt' : { 170*795d594fSAndroid Build Coastguard Worker # This test configuration is intended to be representative of the case 171*795d594fSAndroid Build Coastguard Worker # of preopted apps, which are precompiled against an 172*795d594fSAndroid Build Coastguard Worker # unrelocated image, then used with a relocated image. 173*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--prebuild', 174*795d594fSAndroid Build Coastguard Worker '--relocate', 175*795d594fSAndroid Build Coastguard Worker '--jit'] 176*795d594fSAndroid Build Coastguard Worker }, 177*795d594fSAndroid Build Coastguard Worker 178*795d594fSAndroid Build Coastguard Worker # ART gtest configurations 179*795d594fSAndroid Build Coastguard Worker # (calls make 'target' which builds and then runs the gtests). 180*795d594fSAndroid Build Coastguard Worker 181*795d594fSAndroid Build Coastguard Worker 'art-gtest' : { 182*795d594fSAndroid Build Coastguard Worker 'make' : 'test-art-host-gtest' 183*795d594fSAndroid Build Coastguard Worker }, 184*795d594fSAndroid Build Coastguard Worker 'art-gtest-read-barrier': { 185*795d594fSAndroid Build Coastguard Worker 'make' : 'test-art-host-gtest', 186*795d594fSAndroid Build Coastguard Worker 'env' : { 187*795d594fSAndroid Build Coastguard Worker 'ART_HEAP_POISONING' : 'true' 188*795d594fSAndroid Build Coastguard Worker } 189*795d594fSAndroid Build Coastguard Worker }, 190*795d594fSAndroid Build Coastguard Worker 'art-gtest-read-barrier-table-lookup': { 191*795d594fSAndroid Build Coastguard Worker 'make' : 'test-art-host-gtest', 192*795d594fSAndroid Build Coastguard Worker 'env': { 193*795d594fSAndroid Build Coastguard Worker 'ART_READ_BARRIER_TYPE' : 'TABLELOOKUP', 194*795d594fSAndroid Build Coastguard Worker 'ART_HEAP_POISONING' : 'true' 195*795d594fSAndroid Build Coastguard Worker } 196*795d594fSAndroid Build Coastguard Worker }, 197*795d594fSAndroid Build Coastguard Worker # TODO: Consider removing this configuration when it is no longer used by 198*795d594fSAndroid Build Coastguard Worker # any continuous testing target (b/62611253), as the SS collector overlaps 199*795d594fSAndroid Build Coastguard Worker # with the CC collector, since both move objects. 200*795d594fSAndroid Build Coastguard Worker 'art-gtest-ss-gc': { 201*795d594fSAndroid Build Coastguard Worker 'make' : 'test-art-host-gtest', 202*795d594fSAndroid Build Coastguard Worker 'env': { 203*795d594fSAndroid Build Coastguard Worker 'ART_DEFAULT_GC_TYPE' : 'SS', 204*795d594fSAndroid Build Coastguard Worker 'ART_USE_READ_BARRIER' : 'false' 205*795d594fSAndroid Build Coastguard Worker } 206*795d594fSAndroid Build Coastguard Worker }, 207*795d594fSAndroid Build Coastguard Worker # TODO: Consider removing this configuration when it is no longer used by 208*795d594fSAndroid Build Coastguard Worker # any continuous testing target (b/62611253), as the SS collector overlaps 209*795d594fSAndroid Build Coastguard Worker # with the CC collector, since both move objects. 210*795d594fSAndroid Build Coastguard Worker 'art-gtest-ss-gc-tlab': { 211*795d594fSAndroid Build Coastguard Worker 'make' : 'test-art-host-gtest', 212*795d594fSAndroid Build Coastguard Worker 'env': { 213*795d594fSAndroid Build Coastguard Worker 'ART_DEFAULT_GC_TYPE' : 'SS', 214*795d594fSAndroid Build Coastguard Worker 'ART_USE_TLAB' : 'true', 215*795d594fSAndroid Build Coastguard Worker 'ART_USE_READ_BARRIER' : 'false', 216*795d594fSAndroid Build Coastguard Worker } 217*795d594fSAndroid Build Coastguard Worker }, 218*795d594fSAndroid Build Coastguard Worker 'art-gtest-debug-gc' : { 219*795d594fSAndroid Build Coastguard Worker 'make' : 'test-art-host-gtest', 220*795d594fSAndroid Build Coastguard Worker 'env' : { 221*795d594fSAndroid Build Coastguard Worker 'ART_TEST_DEBUG_GC' : 'true', 222*795d594fSAndroid Build Coastguard Worker 'ART_USE_READ_BARRIER' : 'false' 223*795d594fSAndroid Build Coastguard Worker } 224*795d594fSAndroid Build Coastguard Worker }, 225*795d594fSAndroid Build Coastguard Worker 'art-generational-cc': { 226*795d594fSAndroid Build Coastguard Worker 'make' : 'test-art-host-gtest', 227*795d594fSAndroid Build Coastguard Worker 'run-test' : [], 228*795d594fSAndroid Build Coastguard Worker 'env' : { 229*795d594fSAndroid Build Coastguard Worker 'ART_USE_GENERATIONAL_CC' : 'true' 230*795d594fSAndroid Build Coastguard Worker } 231*795d594fSAndroid Build Coastguard Worker }, 232*795d594fSAndroid Build Coastguard Worker 233*795d594fSAndroid Build Coastguard Worker # ASAN (host) configurations. 234*795d594fSAndroid Build Coastguard Worker 235*795d594fSAndroid Build Coastguard Worker # These configurations need detect_leaks=0 to work in non-setup environments like build bots, 236*795d594fSAndroid Build Coastguard Worker # as our build tools leak. b/37751350 237*795d594fSAndroid Build Coastguard Worker 238*795d594fSAndroid Build Coastguard Worker 'art-gtest-asan': { 239*795d594fSAndroid Build Coastguard Worker 'make' : 'test-art-host-gtest', 240*795d594fSAndroid Build Coastguard Worker 'env': { 241*795d594fSAndroid Build Coastguard Worker 'SANITIZE_HOST' : 'address', 242*795d594fSAndroid Build Coastguard Worker 'ASAN_OPTIONS' : 'detect_leaks=0' 243*795d594fSAndroid Build Coastguard Worker } 244*795d594fSAndroid Build Coastguard Worker }, 245*795d594fSAndroid Build Coastguard Worker 'art-gtest-asan32': { 246*795d594fSAndroid Build Coastguard Worker 'make' : 'test-art-host-gtest32', 247*795d594fSAndroid Build Coastguard Worker 'env': { 248*795d594fSAndroid Build Coastguard Worker 'SANITIZE_HOST' : 'address', 249*795d594fSAndroid Build Coastguard Worker 'ASAN_OPTIONS' : 'detect_leaks=0' 250*795d594fSAndroid Build Coastguard Worker } 251*795d594fSAndroid Build Coastguard Worker }, 252*795d594fSAndroid Build Coastguard Worker 'art-gtest-asan64': { 253*795d594fSAndroid Build Coastguard Worker 'make' : 'test-art-host-gtest64', 254*795d594fSAndroid Build Coastguard Worker 'env': { 255*795d594fSAndroid Build Coastguard Worker 'SANITIZE_HOST' : 'address', 256*795d594fSAndroid Build Coastguard Worker 'ASAN_OPTIONS' : 'detect_leaks=0' 257*795d594fSAndroid Build Coastguard Worker } 258*795d594fSAndroid Build Coastguard Worker }, 259*795d594fSAndroid Build Coastguard Worker 'art-asan': { 260*795d594fSAndroid Build Coastguard Worker 'run-test' : ['--interpreter', 261*795d594fSAndroid Build Coastguard Worker '--interp-ac', 262*795d594fSAndroid Build Coastguard Worker '--optimizing', 263*795d594fSAndroid Build Coastguard Worker '--jit', 264*795d594fSAndroid Build Coastguard Worker '--speed-profile'], 265*795d594fSAndroid Build Coastguard Worker 'env': { 266*795d594fSAndroid Build Coastguard Worker 'SANITIZE_HOST' : 'address', 267*795d594fSAndroid Build Coastguard Worker 'ASAN_OPTIONS' : 'detect_leaks=0' 268*795d594fSAndroid Build Coastguard Worker } 269*795d594fSAndroid Build Coastguard Worker }, 270*795d594fSAndroid Build Coastguard Worker 'art-gtest-heap-poisoning': { 271*795d594fSAndroid Build Coastguard Worker 'make' : 'test-art-host-gtest', 272*795d594fSAndroid Build Coastguard Worker 'env' : { 273*795d594fSAndroid Build Coastguard Worker 'ART_HEAP_POISONING' : 'true', 274*795d594fSAndroid Build Coastguard Worker 'ART_USE_READ_BARRIER' : 'false', 275*795d594fSAndroid Build Coastguard Worker 'SANITIZE_HOST' : 'address', 276*795d594fSAndroid Build Coastguard Worker 'ASAN_OPTIONS' : 'detect_leaks=0' 277*795d594fSAndroid Build Coastguard Worker } 278*795d594fSAndroid Build Coastguard Worker }, 279*795d594fSAndroid Build Coastguard Worker 280*795d594fSAndroid Build Coastguard Worker # ART Golem build targets used by go/lem (continuous ART benchmarking), 281*795d594fSAndroid Build Coastguard Worker # (art-opt-cc is used by default since it mimics the default preopt config), 282*795d594fSAndroid Build Coastguard Worker # 283*795d594fSAndroid Build Coastguard Worker # calls golem/build-target.sh which builds a golem tarball of the target name, 284*795d594fSAndroid Build Coastguard Worker # e.g. 'golem: android-armv7' produces an 'android-armv7.tar.gz' upon success. 285*795d594fSAndroid Build Coastguard Worker 286*795d594fSAndroid Build Coastguard Worker 'art-golem-android-armv7': { 287*795d594fSAndroid Build Coastguard Worker 'golem' : 'android-armv7' 288*795d594fSAndroid Build Coastguard Worker }, 289*795d594fSAndroid Build Coastguard Worker 'art-golem-android-armv8': { 290*795d594fSAndroid Build Coastguard Worker 'golem' : 'android-armv8' 291*795d594fSAndroid Build Coastguard Worker }, 292*795d594fSAndroid Build Coastguard Worker 'art-golem-linux-armv7': { 293*795d594fSAndroid Build Coastguard Worker 'golem' : 'linux-armv7' 294*795d594fSAndroid Build Coastguard Worker }, 295*795d594fSAndroid Build Coastguard Worker 'art-golem-linux-armv8': { 296*795d594fSAndroid Build Coastguard Worker 'golem' : 'linux-armv8' 297*795d594fSAndroid Build Coastguard Worker }, 298*795d594fSAndroid Build Coastguard Worker 'art-golem-linux-ia32': { 299*795d594fSAndroid Build Coastguard Worker 'golem' : 'linux-ia32' 300*795d594fSAndroid Build Coastguard Worker }, 301*795d594fSAndroid Build Coastguard Worker 'art-golem-linux-x64': { 302*795d594fSAndroid Build Coastguard Worker 'golem' : 'linux-x64' 303*795d594fSAndroid Build Coastguard Worker }, 304*795d594fSAndroid Build Coastguard Worker} 305