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: we build the platform images for ARMv7-A _without_ NEON.
     12 #
     13 # Technically, the emulator supports ARMv7-A _and_ NEON instructions, but
     14 # emulated NEON code paths typically ends up 2x slower than the normal C code
     15 # it is supposed to replace (unlike on real devices where it is 2x to 3x
     16 # faster).
     17 #
     18 # What this means is that the platform image will not use NEON code paths
     19 # that are slower to emulate. On the other hand, it is possible to emulate
     20 # application code generated with the NDK that uses NEON in the emulator.
     21 #
     22 TARGET_ARCH_VARIANT := armv7-a
     23 TARGET_CPU_VARIANT := generic
     24 TARGET_CPU_ABI := armeabi-v7a
     25 TARGET_CPU_ABI2 := armeabi
     26 
     27 HAVE_HTC_AUDIO_DRIVER := true
     28 BOARD_USES_GENERIC_AUDIO := true
     29 
     30 # no hardware camera
     31 USE_CAMERA_STUB := true
     32 
     33 # Enable dex-preoptimization to speed up the first boot sequence
     34 # of an SDK AVD. Note that this operation only works on Linux for now
     35 ifeq ($(HOST_OS),linux)
     36   ifeq ($(WITH_DEXPREOPT),)
     37     WITH_DEXPREOPT := true
     38   endif
     39 endif
     40 
     41 # Build OpenGLES emulation guest and host libraries
     42 BUILD_EMULATOR_OPENGL := true
     43 
     44 # Build and enable the OpenGL ES View renderer. When running on the emulator,
     45 # the GLES renderer disables itself if host GL acceleration isn't available.
     46 USE_OPENGL_RENDERER := true
     47 
     48 # Set the phase offset of the system's vsync event relative to the hardware
     49 # vsync. The system's vsync event drives Choreographer and SurfaceFlinger's
     50 # rendering. This value is the number of nanoseconds after the hardware vsync
     51 # that the system vsync event will occur.
     52 #
     53 # This phase offset allows adjustment of the minimum latency from application
     54 # wake-up (by Choregographer) time to the time at which the resulting window
     55 # image is displayed.  This value may be either positive (after the HW vsync)
     56 # or negative (before the HW vsync).  Setting it to 0 will result in a
     57 # minimum latency of two vsync periods because the app and SurfaceFlinger
     58 # will run just after the HW vsync.  Setting it to a positive number will
     59 # result in the minimum latency being:
     60 #
     61 #     (2 * VSYNC_PERIOD - (vsyncPhaseOffsetNs % VSYNC_PERIOD))
     62 #
     63 # Note that reducing this latency makes it more likely for the applications
     64 # to not have their window content image ready in time.  When this happens
     65 # the latency will end up being an additional vsync period, and animations
     66 # will hiccup.  Therefore, this latency should be tuned somewhat
     67 # conservatively (or at least with awareness of the trade-off being made).
     68 VSYNC_EVENT_PHASE_OFFSET_NS := 0
     69 
     70 TARGET_USERIMAGES_USE_EXT4 := true
     71 BOARD_SYSTEMIMAGE_PARTITION_SIZE := 576716800
     72 BOARD_USERDATAIMAGE_PARTITION_SIZE := 209715200
     73 BOARD_CACHEIMAGE_PARTITION_SIZE := 69206016
     74 BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
     75 BOARD_FLASH_BLOCK_SIZE := 512
     76 TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true
     77