Home | History | Annotate | Download | only in generic
      1 # config.mk
      2 #
      3 # Product-specific compile-time definitions.
      4 #
      5 
      6 # The generic product target doesn't have any hardware-specific pieces.
      7 TARGET_NO_BOOTLOADER := true
      8 TARGET_NO_KERNEL := true
      9 TARGET_ARCH := arm
     10 
     11 # Note: Before Pi, we built the platform images for ARMv7-A _without_ NEON.
     12 #
     13 ifneq ($(TARGET_BUILD_APPS)$(filter cts sdk,$(MAKECMDGOALS)),)
     14 # DO NOT USE
     15 #
     16 # This architecture variant should NOT be used for 32 bit arm platform
     17 # builds. It is the lowest common denominator required to build
     18 # an unbundled application for all supported 32 platforms.
     19 # cts for 32 bit arm is built using aosp_arm64 product.
     20 #
     21 # If you are building a 32 bit platform (and not an application),
     22 # you should set the following as 2nd arch variant:
     23 #
     24 # TARGET_ARCH_VARIANT := armv7-a-neon
     25 #
     26 # DO NOT USE
     27 TARGET_ARCH_VARIANT := armv7-a
     28 # DO NOT USE
     29 else
     30 # Starting from Pi, System image of aosp_arm products is the new GSI
     31 # for real devices newly launched for Pi. These devices are usualy not
     32 # as performant as the mainstream 64-bit devices and the performance
     33 # provided by NEON is important for them to pass related CTS tests.
     34 TARGET_ARCH_VARIANT := armv7-a-neon
     35 endif
     36 TARGET_CPU_VARIANT := generic
     37 TARGET_CPU_ABI := armeabi-v7a
     38 TARGET_CPU_ABI2 := armeabi
     39 HAVE_HTC_AUDIO_DRIVER := true
     40 BOARD_USES_GENERIC_AUDIO := true
     41 TARGET_BOOTLOADER_BOARD_NAME := goldfish_$(TARGET_ARCH)
     42 
     43 TARGET_USES_64_BIT_BINDER := true
     44 
     45 # no hardware camera
     46 USE_CAMERA_STUB := true
     47 
     48 TARGET_USES_HWC2 := true
     49 NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
     50 
     51 # Build OpenGLES emulation guest and host libraries
     52 BUILD_EMULATOR_OPENGL := true
     53 BUILD_QEMU_IMAGES := true
     54 
     55 # Build and enable the OpenGL ES View renderer. When running on the emulator,
     56 # the GLES renderer disables itself if host GL acceleration isn't available.
     57 USE_OPENGL_RENDERER := true
     58 
     59 TARGET_USERIMAGES_USE_EXT4 := true
     60 # Partition size is default 1.5GB (1536MB) for 64 bits projects
     61 BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1610612736
     62 BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800
     63 TARGET_COPY_OUT_VENDOR := vendor
     64 # ~100 MB vendor image. Please adjust system image / vendor image sizes
     65 # when finalizing them.
     66 BOARD_VENDORIMAGE_PARTITION_SIZE := 100000000
     67 BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
     68 BOARD_FLASH_BLOCK_SIZE := 512
     69 TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true
     70 DEVICE_MATRIX_FILE   := device/generic/goldfish/compatibility_matrix.xml
     71 
     72 # Android generic system image always create metadata partition
     73 BOARD_USES_METADATA_PARTITION := true
     74 
     75 # Set this to create /cache mount point for non-A/B devices that mounts /cache.
     76 # The partition size doesn't matter, just to make build pass.
     77 BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
     78 BOARD_CACHEIMAGE_PARTITION_SIZE := 16777216
     79 
     80 BOARD_SEPOLICY_DIRS += build/target/board/generic/sepolicy
     81 BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
     82 
     83 # Android Verified Boot (AVB):
     84 #   Builds a special vbmeta.img that disables AVB verification.
     85 #   Otherwise, AVB will prevent the device from booting the generic system.img.
     86 #   Also checks that BOARD_AVB_ENABLE is not set, to prevent adding verity
     87 #   metadata into system.img.
     88 ifeq ($(BOARD_AVB_ENABLE),true)
     89 $(error BOARD_AVB_ENABLE cannot be set for GSI)
     90 endif
     91 BOARD_BUILD_DISABLED_VBMETAIMAGE := true
     92 
     93 ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
     94 # GSI is always userdebug and needs a couple of properties taking precedence
     95 # over those set by the vendor.
     96 TARGET_SYSTEM_PROP := build/make/target/board/gsi_system.prop
     97 endif
     98 BOARD_VNDK_VERSION := current
     99 
    100 # Wifi.
    101 BOARD_WLAN_DEVICE           := emulator
    102 BOARD_HOSTAPD_DRIVER        := NL80211
    103 BOARD_WPA_SUPPLICANT_DRIVER := NL80211
    104 BOARD_HOSTAPD_PRIVATE_LIB   := lib_driver_cmd_simulated
    105 BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_simulated
    106 WPA_SUPPLICANT_VERSION      := VER_0_8_X
    107 WIFI_DRIVER_FW_PATH_PARAM   := "/dev/null"
    108 WIFI_DRIVER_FW_PATH_STA     := "/dev/null"
    109 WIFI_DRIVER_FW_PATH_AP      := "/dev/null"
    110 
    111 # Enable A/B update
    112 TARGET_NO_RECOVERY := true
    113 BOARD_BUILD_SYSTEM_ROOT_IMAGE := true
    114