target_config = {

    # Configuration syntax:
    #
    #   Required keys: (Use one or more of these)
    #    * golem - specify a golem machine-type to build, e.g. android-armv8
    #              (uses art/tools/golem/build-target.sh)
    #    * make - specify a make target to build, e.g. build-art-host
    #    * run-test - runs the tests in art/test/ directory with testrunner.py,
    #                 specify a list of arguments to pass to testrunner.py
    #
    #   Optional keys: (Use any of these)
    #    * env - Add additional environment variable to the current environment.
    #
    # *** IMPORTANT ***:
    #    This configuration is used by the android build server. Targets must not be renamed
    #    or removed.
    #

    ##########################################

    # General ART configurations.
    # Calls make and testrunner both.

    'art-test' : {
        'make' : 'test-art-host-gtest',
        'run-test' : []
    },

    'art-test-javac' : {
        'run-test' : ['--jvm']
    },

    # ART run-test configurations
    # (calls testrunner which builds and then runs the test targets)

    'art-ndebug' : {
        'run-test' : ['--ndebug']
    },
    'art-interpreter' : {
        'run-test' : ['--interpreter']
    },
    'art-interpreter-cxx' : {
        'run-test' : ['--interpreter'],
        'env' : {
            'ART_USE_CXX_INTERPRETER' : 'true'
        }
    },
    'art-interpreter-access-checks' : {
        'run-test' : ['--interp-ac']
    },
    'art-jit' : {
        'run-test' : ['--jit', '--debuggable', '--ndebuggable']
    },
    'art-jit-on-first-use' : {
        'run-test' : ['--jit-on-first-use']
    },
    'art-pictest' : {
        # Deprecated config: All AOT-compiled code is PIC now.
        'run-test' : ['--optimizing']
    },
    'art-gcstress-gcverify': {
        # Do not exercise '--interpreter', '--optimizing', nor '--jit' in this
        # configuration, as they are covered by the
        # 'art-interpreter-gcstress-gcverify',
        # 'art-optimizing-gcstress-gcverify' and 'art-jit-gcstress-gcverify'
        # configurations below.
        'run-test': ['--interp-ac',
                     '--speed-profile',
                     '--gcstress',
                     '--gcverify']
    },
    'art-interpreter-gcstress-gcverify' : {
        'run-test' : ['--interpreter',
                      '--gcstress',
                      '--gcverify']
    },
    'art-optimizing-gcstress-gcverify' : {
        'run-test' : ['--optimizing',
                      '--gcstress',
                      '--gcverify']
    },
    'art-jit-gcstress-gcverify' : {
        'run-test' : ['--jit',
                      '--gcstress',
                      '--gcverify']
    },
    'art-jit-on-first-use-gcstress' : {
        'run-test' : ['--jit-on-first-use',
                      '--gcstress']
    },
    'art-read-barrier-heap-poisoning' : {
        'run-test': ['--interpreter',
                     '--optimizing'],
        'env' : {
            'ART_HEAP_POISONING' : 'true'
        }
    },
    'art-read-barrier-table-lookup' : {
        'run-test' : ['--interpreter',
                      '--optimizing'],
        'env' : {
            'ART_READ_BARRIER_TYPE' : 'TABLELOOKUP',
            'ART_HEAP_POISONING' : 'true'
        }
    },
    'art-debug-gc' : {
        'run-test' : ['--interpreter',
                      '--optimizing'],
        'env' : {
            'ART_TEST_DEBUG_GC' : 'true',
            'ART_USE_READ_BARRIER' : 'false'
        }
    },
    # TODO: Consider removing this configuration when it is no longer used by
    # any continuous testing target (b/62611253), as the SS collector overlaps
    # with the CC collector, since both move objects.
    'art-ss-gc' : {
        'run-test' : ['--interpreter',
                      '--optimizing',
                      '--jit'],
        'env' : {
            'ART_DEFAULT_GC_TYPE' : 'SS',
            'ART_USE_READ_BARRIER' : 'false'
        }
    },
    # TODO: Consider removing this configuration when it is no longer used by
    # any continuous testing target (b/62611253), as the SS collector overlaps
    # with the CC collector, since both move objects.
    'art-ss-gc-tlab' : {
        'run-test' : ['--interpreter',
                      '--optimizing',
                      '--jit'],
        'env' : {
            'ART_DEFAULT_GC_TYPE' : 'SS',
            'ART_USE_TLAB' : 'true',
            'ART_USE_READ_BARRIER' : 'false'
        }
    },
    'art-tracing' : {
        'run-test' : ['--trace',
                      '--stream']
    },
    'art-interpreter-tracing' : {
        'run-test' : ['--interpreter',
                      '--trace']
    },
    'art-forcecopy' : {
        'run-test' : ['--forcecopy']
    },
    'art-no-prebuild' : {
        'run-test' : ['--no-prebuild']
    },
    'art-no-image' : {
        'run-test' : ['--no-image']
    },
    'art-interpreter-no-image' : {
        'run-test' : ['--interpreter',
                      '--no-image']
    },
    'art-heap-poisoning' : {
        'run-test' : ['--interpreter',
                      '--optimizing',
                      '--cdex-none'],
        'env' : {
            'ART_USE_READ_BARRIER' : 'false',
            'ART_HEAP_POISONING' : 'true',
            # Disable compact dex to get coverage of standard dex file usage.
            'ART_DEFAULT_COMPACT_DEX_LEVEL' : 'none'
        }
    },
    'art-preopt' : {
        # This test configuration is intended to be representative of the case
        # of preopted apps, which are precompiled against an
        # unrelocated image, then used with a relocated image.
        'run-test' : ['--prebuild',
                      '--relocate',
                      '--jit']
    },

    # ART gtest configurations
    # (calls make 'target' which builds and then runs the gtests).

    'art-gtest' : {
        'make' :  'test-art-host-gtest'
    },
    'art-gtest-read-barrier': {
        'make' :  'test-art-host-gtest',
        'env' : {
            'ART_HEAP_POISONING' : 'true'
        }
    },
    'art-gtest-read-barrier-table-lookup': {
        'make' :  'test-art-host-gtest',
        'env': {
            'ART_READ_BARRIER_TYPE' : 'TABLELOOKUP',
            'ART_HEAP_POISONING' : 'true'
        }
    },
    # TODO: Consider removing this configuration when it is no longer used by
    # any continuous testing target (b/62611253), as the SS collector overlaps
    # with the CC collector, since both move objects.
    'art-gtest-ss-gc': {
        'make' :  'test-art-host-gtest',
        'env': {
            'ART_DEFAULT_GC_TYPE' : 'SS',
            'ART_USE_READ_BARRIER' : 'false',
            # Disable compact dex to get coverage of standard dex file usage.
            'ART_DEFAULT_COMPACT_DEX_LEVEL' : 'none'
        }
    },
    # TODO: Consider removing this configuration when it is no longer used by
    # any continuous testing target (b/62611253), as the SS collector overlaps
    # with the CC collector, since both move objects.
    'art-gtest-ss-gc-tlab': {
        'make' :  'test-art-host-gtest',
        'env': {
            'ART_DEFAULT_GC_TYPE' : 'SS',
            'ART_USE_TLAB' : 'true',
            'ART_USE_READ_BARRIER' : 'false',
        }
    },
    'art-gtest-debug-gc' : {
        'make' :  'test-art-host-gtest',
        'env' : {
            'ART_TEST_DEBUG_GC' : 'true',
            'ART_USE_READ_BARRIER' : 'false'
        }
    },
    'art-generational-cc': {
        'make' : 'test-art-host-gtest',
        'run-test' : [],
        'env' : {
            'ART_USE_GENERATIONAL_CC' : 'true'
        }
    },

    # ASAN (host) configurations.

    # These configurations need detect_leaks=0 to work in non-setup environments like build bots,
    # as our build tools leak. b/37751350

    'art-gtest-asan': {
        'make' : 'test-art-host-gtest',
        'env': {
            'SANITIZE_HOST' : 'address',
            'ASAN_OPTIONS' : 'detect_leaks=0'
        }
    },
    'art-gtest-asan32': {
        'make' : 'test-art-host-gtest32',
        'env': {
            'SANITIZE_HOST' : 'address',
            'ASAN_OPTIONS' : 'detect_leaks=0'
        }
    },
    'art-gtest-asan64': {
        'make' : 'test-art-host-gtest64',
        'env': {
            'SANITIZE_HOST' : 'address',
            'ASAN_OPTIONS' : 'detect_leaks=0'
        }
    },
    'art-asan': {
        'run-test' : ['--interpreter',
                      '--interp-ac',
                      '--optimizing',
                      '--jit',
                      '--speed-profile'],
        'env': {
            'SANITIZE_HOST' : 'address',
            'ASAN_OPTIONS' : 'detect_leaks=0'
        }
    },
    'art-gtest-heap-poisoning': {
        'make' : 'test-art-host-gtest',
        'env' : {
            'ART_HEAP_POISONING' : 'true',
            'ART_USE_READ_BARRIER' : 'false',
            'SANITIZE_HOST' : 'address',
            'ASAN_OPTIONS' : 'detect_leaks=0'
        }
    },

    # ART Golem build targets used by go/lem (continuous ART benchmarking),
    # (art-opt-cc is used by default since it mimics the default preopt config),
    #
    # calls golem/build-target.sh which builds a golem tarball of the target name,
    #     e.g. 'golem: android-armv7' produces an 'android-armv7.tar.gz' upon success.

    'art-golem-android-armv7': {
        'golem' : 'android-armv7'
    },
    'art-golem-android-armv8': {
        'golem' : 'android-armv8'
    },
    'art-golem-linux-armv7': {
        'golem' : 'linux-armv7'
    },
    'art-golem-linux-armv8': {
        'golem' : 'linux-armv8'
    },
    'art-golem-linux-ia32': {
        'golem' : 'linux-ia32'
    },
    'art-golem-linux-x64': {
        'golem' : 'linux-x64'
    },
    'art-linux-bionic-x64': {
        'build': '{ANDROID_BUILD_TOP}/art/tools/build_linux_bionic_tests.sh {MAKE_OPTIONS}',
        'run-test': ['--run-test-option=--bionic',
                     '--host',
                     '--64',
                     '--no-build-dependencies'],
    },
    'art-linux-bionic-x64-zipapex': {
        'build': '{ANDROID_BUILD_TOP}/art/tools/build_linux_bionic_tests.sh {MAKE_OPTIONS} com.android.art.host',
        'run-test': ['--run-test-option=--bionic',
                     "--runtime-zipapex={SOONG_OUT_DIR}/host/linux_bionic-x86/apex/com.android.art.host.zipapex",
                     '--host',
                     '--64',
                     '--no-build-dependencies'],
    },
}
