@@ -1,531 +1,5 @@
LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-LOCAL_SRC_FILES := \
- tools/intel_reg_write.c \
- lib/intel_pci.c \
- lib/intel_gpu_tools.h \
- tools/intel_reg.h \
- lib/intel_batchbuffer.h \
- lib/intel_batchbuffer.c \
- lib/intel_reg_map.c \
- lib/intel_mmio.c \
- tools/intel_chipset.h
-
-
-LOCAL_C_INCLUDES += \
- $(LOCAL_PATH)/lib \
- $(TOPDIR)hardware/intel/libdrm/include/drm \
- $(TOPDIR)hardware/intel/libdrm/intel \
- $(LOCAL_PATH)/../libpciaccess/include/
-
-LOCAL_CFLAGS += -DHAVE_LIBDRM_ATOMIC_PRIMITIVES=1
-LOCAL_CFLAGS += -DANDROID
-
-LOCAL_MODULE := intel_reg_write
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SHARED_LIBRARIES := libpciaccess \
- libdrm \
- libdrm_intel
-
-include $(BUILD_EXECUTABLE)
-
-#================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- tools/intel_reg_read.c \
- lib/intel_pci.c \
- lib/intel_gpu_tools.h \
- tools/intel_reg.h \
- lib/intel_batchbuffer.h \
- lib/intel_batchbuffer.c \
- lib/intel_reg_map.c \
- lib/intel_mmio.c \
- tools/intel_chipset.h
-
-
-LOCAL_C_INCLUDES += \
- $(LOCAL_PATH)/lib \
- $(TOPDIR)hardware/intel/libdrm/include/drm \
- $(TOPDIR)hardware/intel/libdrm/intel \
- $(LOCAL_PATH)/../libpciaccess/include/
-
-LOCAL_CFLAGS += -DHAVE_LIBDRM_ATOMIC_PRIMITIVES=1
-LOCAL_CFLAGS += -DANDROID
-
-
-LOCAL_MODULE := intel_reg_read
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SHARED_LIBRARIES := libpciaccess \
- libdrm \
- libdrm_intel
-
-include $(BUILD_EXECUTABLE)
-
-#================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- tools/intel_disable_clock_gating.c \
- lib/intel_pci.c \
- lib/intel_gpu_tools.h \
- tools/intel_reg.h \
- lib/intel_batchbuffer.h \
- lib/intel_batchbuffer.c \
- lib/intel_mmio.c \
- tools/intel_chipset.h
-
-
-LOCAL_C_INCLUDES += \
- $(LOCAL_PATH)/lib \
- $(TOPDIR)hardware/intel/libdrm/include/drm \
- $(TOPDIR)hardware/intel/libdrm/intel \
- $(LOCAL_PATH)/../libpciaccess/include/
-
-LOCAL_CFLAGS += -DHAVE_LIBDRM_ATOMIC_PRIMITIVES=1
-LOCAL_CFLAGS += -DANDROID
-
-
-LOCAL_MODULE := intel_disable_clock_gating
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SHARED_LIBRARIES := libpciaccess \
- libdrm \
- libdrm_intel
-
-include $(BUILD_EXECUTABLE)
-
-#================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- tools/intel_audio_dump.c \
- lib/intel_pci.c \
- lib/intel_gpu_tools.h \
- tools/intel_reg.h \
- lib/intel_batchbuffer.h \
- lib/intel_batchbuffer.c \
- lib/intel_mmio.c \
- tools/intel_chipset.h
-
-
-LOCAL_C_INCLUDES += \
- $(LOCAL_PATH)/lib \
- $(TOPDIR)hardware/intel/libdrm/include/drm \
- $(TOPDIR)hardware/intel/libdrm/intel \
- $(LOCAL_PATH)/../libpciaccess/include/
-
-LOCAL_CFLAGS += -DHAVE_LIBDRM_ATOMIC_PRIMITIVES=1
-LOCAL_CFLAGS += -DANDROID
-
-
-LOCAL_MODULE := intel_audio_dump
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SHARED_LIBRARIES := libpciaccess \
- libdrm \
- libdrm_intel
-
-include $(BUILD_EXECUTABLE)
-
-#================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- tools/intel_backlight.c \
- lib/intel_pci.c \
- lib/intel_gpu_tools.h \
- tools/intel_reg.h \
- lib/intel_batchbuffer.h \
- lib/intel_batchbuffer.c \
- lib/intel_mmio.c \
- tools/intel_chipset.h
-
-
-LOCAL_C_INCLUDES += \
- $(LOCAL_PATH)/lib \
- $(TOPDIR)hardware/intel/libdrm/include/drm \
- $(TOPDIR)hardware/intel/libdrm/intel \
- $(LOCAL_PATH)/../libpciaccess/include/
-
-LOCAL_CFLAGS += -DHAVE_LIBDRM_ATOMIC_PRIMITIVES=1
-LOCAL_CFLAGS += -DANDROID
-
-
-LOCAL_MODULE := intel_backlight
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SHARED_LIBRARIES := libpciaccess \
- libdrm \
- libdrm_intel
-
-include $(BUILD_EXECUTABLE)
-
-#================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- tools/intel_bios_dumper.c \
- lib/intel_pci.c \
- lib/intel_gpu_tools.h \
- tools/intel_reg.h \
- lib/intel_batchbuffer.h \
- lib/intel_batchbuffer.c \
- lib/intel_mmio.c \
- tools/intel_chipset.h
-
-
-LOCAL_C_INCLUDES += \
- $(LOCAL_PATH)/lib \
- $(TOPDIR)hardware/intel/libdrm/include/drm \
- $(TOPDIR)hardware/intel/libdrm/intel \
- $(LOCAL_PATH)/../libpciaccess/include/
-
-LOCAL_CFLAGS += -DHAVE_LIBDRM_ATOMIC_PRIMITIVES=1
-LOCAL_CFLAGS += -DANDROID
-
-
-LOCAL_MODULE := intel_bios_dumper
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SHARED_LIBRARIES := libpciaccess \
- libdrm \
- libdrm_intel
-
-include $(BUILD_EXECUTABLE)
-
-#================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- tools/intel_bios_reader.c \
- lib/intel_pci.c \
- lib/intel_gpu_tools.h \
- tools/intel_reg.h \
- lib/intel_batchbuffer.h \
- lib/intel_batchbuffer.c \
- lib/intel_mmio.c \
- tools/intel_chipset.h
-
-
-LOCAL_C_INCLUDES += \
- $(LOCAL_PATH)/lib \
- $(TOPDIR)hardware/intel/libdrm/include/drm \
- $(TOPDIR)hardware/intel/libdrm/intel \
- $(LOCAL_PATH)/../libpciaccess/include/
-
-LOCAL_CFLAGS += -DHAVE_LIBDRM_ATOMIC_PRIMITIVES=1
-LOCAL_CFLAGS += -DANDROID
-
-
-LOCAL_MODULE := intel_bios_reader
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SHARED_LIBRARIES := libpciaccess \
- libdrm \
- libdrm_intel
-
-include $(BUILD_EXECUTABLE)
-
-#================
-# Disabling intel_error_decode tool, since Android still does not have libdrm2.4.30
-#================
-#include $(CLEAR_VARS)
-#
-#LOCAL_SRC_FILES := \
-# tools/intel_error_decode.c \
-# lib/intel_pci.c \
-# lib/intel_gpu_tools.h \
-# tools/intel_reg.h \
-# lib/intel_batchbuffer.h \
-# lib/intel_batchbuffer.c \
-# lib/intel_mmio.c \
-# tools/intel_chipset.h \
-# lib/instdone.h \
-# lib/instdone.c \
-# tools/intel_decode.h \
-# lib/intel_drm.c
-#
-#
-#LOCAL_C_INCLUDES += \
-# $(LOCAL_PATH)/lib \
-# $(TOPDIR)hardware/intel/libdrm/include/drm \
-# $(TOPDIR)hardware/intel/libdrm/intel \
-# $(LOCAL_PATH)/../libpciaccess/include/
-#
-#LOCAL_CFLAGS += -DHAVE_LIBDRM_ATOMIC_PRIMITIVES=1
-#LOCAL_CFLAGS += -DANDROID
-#LOCAL_CFLAGS += -std=c99
-#
-#
-#LOCAL_MODULE := intel_error_decode
-#LOCAL_MODULE_TAGS := optional
-#
-#LOCAL_SHARED_LIBRARIES := libpciaccess \
-# libdrm \
-# libdrm_intel
-#
-#include $(BUILD_EXECUTABLE)
-#
-#================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- tools/intel_gpu_top.c \
- lib/intel_pci.c \
- lib/intel_gpu_tools.h \
- tools/intel_reg.h \
- lib/intel_batchbuffer.h \
- lib/intel_batchbuffer.c \
- lib/intel_mmio.c \
- tools/intel_chipset.h \
- lib/instdone.h \
- lib/instdone.c \
- lib/intel_reg_map.c
-
-
-LOCAL_C_INCLUDES += \
- $(LOCAL_PATH)/lib \
- $(TOPDIR)hardware/intel/libdrm/include/drm \
- $(TOPDIR)hardware/intel/libdrm/intel \
- $(LOCAL_PATH)/../libpciaccess/include/
-
-LOCAL_CFLAGS += -DHAVE_LIBDRM_ATOMIC_PRIMITIVES=1
-LOCAL_CFLAGS += -DANDROID
-
-
-LOCAL_MODULE := intel_gpu_top
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SHARED_LIBRARIES := libpciaccess \
- libdrm \
- libdrm_intel
-
-include $(BUILD_EXECUTABLE)
-
-#================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- tools/intel_gpu_time.c \
- lib/intel_pci.c \
- lib/intel_gpu_tools.h \
- tools/intel_reg.h \
- lib/intel_batchbuffer.h \
- lib/intel_batchbuffer.c \
- lib/intel_mmio.c \
- tools/intel_chipset.h
-
-
-LOCAL_C_INCLUDES += \
- $(LOCAL_PATH)/lib \
- $(TOPDIR)hardware/intel/libdrm/include/drm \
- $(TOPDIR)hardware/intel/libdrm/intel \
- $(LOCAL_PATH)/../libpciaccess/include/
-
-LOCAL_CFLAGS += -DHAVE_LIBDRM_ATOMIC_PRIMITIVES=1
-LOCAL_CFLAGS += -DANDROID
-
-
-LOCAL_MODULE := intel_gpu_time
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SHARED_LIBRARIES := libpciaccess \
- libdrm \
- libdrm_intel
-
-include $(BUILD_EXECUTABLE)
-
-#================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- tools/intel_gtt.c \
- lib/intel_pci.c \
- lib/intel_gpu_tools.h \
- tools/intel_reg.h \
- lib/intel_batchbuffer.h \
- lib/intel_batchbuffer.c \
- lib/intel_mmio.c \
- tools/intel_chipset.h
-
-
-LOCAL_C_INCLUDES += \
- $(LOCAL_PATH)/lib \
- $(TOPDIR)hardware/intel/libdrm/include/drm \
- $(TOPDIR)hardware/intel/libdrm/intel \
- $(LOCAL_PATH)/../libpciaccess/include/
-
-LOCAL_CFLAGS += -DHAVE_LIBDRM_ATOMIC_PRIMITIVES=1
-
-LOCAL_MODULE := intel_gtt
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SHARED_LIBRARIES := libpciaccess \
- libdrm \
- libdrm_intel
-
-include $(BUILD_EXECUTABLE)
-
-#================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- tools/intel_stepping.c \
- lib/intel_pci.c \
- lib/intel_gpu_tools.h \
- tools/intel_reg.h \
- lib/intel_batchbuffer.h \
- lib/intel_batchbuffer.c \
- lib/intel_mmio.c \
- tools/intel_chipset.h
-
-
-LOCAL_C_INCLUDES += \
- $(LOCAL_PATH)/lib \
- $(TOPDIR)hardware/intel/libdrm/include/drm \
- $(TOPDIR)hardware/intel/libdrm/intel \
- $(LOCAL_PATH)/../libpciaccess/include/
-
-LOCAL_CFLAGS += -DHAVE_LIBDRM_ATOMIC_PRIMITIVES=1
-LOCAL_CFLAGS += -DANDROID
-
-
-LOCAL_MODULE := intel_stepping
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SHARED_LIBRARIES := libpciaccess \
- libdrm \
- libdrm_intel
-
-include $(BUILD_EXECUTABLE)
-
-#================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- tools/intel_reg_dumper.c \
- lib/intel_pci.c \
- lib/intel_gpu_tools.h \
- tools/intel_reg.h \
- lib/intel_batchbuffer.h \
- lib/intel_batchbuffer.c \
- lib/intel_mmio.c \
- tools/intel_chipset.h
-
-
-LOCAL_C_INCLUDES += \
- $(LOCAL_PATH)/lib \
- $(TOPDIR)hardware/intel/libdrm/include/drm \
- $(TOPDIR)hardware/intel/libdrm/intel \
- $(LOCAL_PATH)/../libpciaccess/include/
-
-LOCAL_CFLAGS += -DHAVE_LIBDRM_ATOMIC_PRIMITIVES=1
-LOCAL_CFLAGS += -DANDROID
-
-
-LOCAL_MODULE := intel_reg_dumper
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SHARED_LIBRARIES := libpciaccess \
- libdrm \
- libdrm_intel
-
-include $(BUILD_EXECUTABLE)
-
-#================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- tools/intel_reg_snapshot.c \
- lib/intel_pci.c \
- lib/intel_gpu_tools.h \
- tools/intel_reg.h \
- lib/intel_batchbuffer.h \
- lib/intel_batchbuffer.c \
- lib/intel_mmio.c \
- tools/intel_chipset.h
-
-
-LOCAL_C_INCLUDES += \
- $(LOCAL_PATH)/lib \
- $(TOPDIR)hardware/intel/libdrm/include/drm \
- $(TOPDIR)hardware/intel/libdrm/intel \
- $(LOCAL_PATH)/../libpciaccess/include/
-
-LOCAL_CFLAGS += -DHAVE_LIBDRM_ATOMIC_PRIMITIVES=1
-
-LOCAL_MODULE := intel_reg_snapshot
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SHARED_LIBRARIES := libpciaccess \
- libdrm \
- libdrm_intel
-
-include $(BUILD_EXECUTABLE)
-
-#================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- tools/forcewaked.c \
- lib/intel_pci.c \
- lib/intel_gpu_tools.h \
- tools/intel_reg.h \
- lib/intel_batchbuffer.h \
- lib/intel_batchbuffer.c \
- lib/intel_mmio.c \
- tools/intel_chipset.h \
- lib/intel_reg_map.c \
- lib/intel_drm.c
-
-
-LOCAL_C_INCLUDES += \
- $(LOCAL_PATH)/lib \
- $(TOPDIR)hardware/intel/libdrm/include/drm \
- $(TOPDIR)hardware/intel/libdrm/intel \
- $(LOCAL_PATH)/../libpciaccess/include/
-
-LOCAL_CFLAGS += -DHAVE_LIBDRM_ATOMIC_PRIMITIVES=1
-LOCAL_CFLAGS += -DANDROID
-
-
-LOCAL_MODULE := forcewaked
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SHARED_LIBRARIES := libpciaccess \
- libdrm \
- libdrm_intel
-
-include $(BUILD_EXECUTABLE)
-
-#================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
- lib/intel_gpu_tools.h \
- tools/intel_reg_checker.c \
- lib/intel_pci.c \
- lib/intel_mmio.c
-
-
-LOCAL_C_INCLUDES += \
- $(LOCAL_PATH)/lib \
- $(TOPDIR)hardware/intel/libdrm/include/drm \
- $(TOPDIR)hardware/intel/libdrm/intel \
- $(LOCAL_PATH)/../libpciaccess/include/
-
-LOCAL_CFLAGS += -DHAVE_LIBDRM_ATOMIC_PRIMITIVES=1
-LOCAL_CFLAGS += -DANDROID
-
-
-LOCAL_MODULE := intel_reg_checker
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SHARED_LIBRARIES := libpciaccess
-
-include $(BUILD_EXECUTABLE)
+include $(LOCAL_PATH)/tests/Android.mk
+include $(LOCAL_PATH)/tools/Android.mk
new file mode 100644
@@ -0,0 +1,77 @@
+include $(LOCAL_PATH)/tests/Makefile.sources
+include $(LOCAL_PATH)/lib/Makefile.sources
+
+LIBPCIACCESS_PATH := $(firstword $(wildcard \
+ $(TOP)/external/PRIVATE/libpciaccess \
+ $(TOP)/hardware/intel/libpciaccess \
+ $(TOP)/external/libpciaccess))
+ifeq ($(LIBPCIACCESS_PATH),)
+ $(error "Unable to find libpciaccess!")
+endif
+
+LIBDRM_PATH := $(firstword $(wildcard \
+ $(TOP)/external/PRIVATE/drm \
+ $(TOP)/external/drm))
+ifeq ($(LIBDRM_PATH),)
+ $(error "Unable to find libdrm!")
+endif
+
+skip_lib_list := \
+ igt_kms.c \
+ igt_kms.h
+
+lib_list := $(filter-out $(skip_lib_list),$(libintel_tools_la_SOURCES))
+LIB_SOURCES := $(addprefix lib/,$(lib_list))
+
+#================#
+
+define add_test
+ include $(CLEAR_VARS)
+
+ LOCAL_SRC_FILES := \
+ tests/$1.c \
+ $(LIB_SOURCES)
+
+
+ LOCAL_C_INCLUDES += \
+ $(LOCAL_PATH)/lib \
+ $(LIBDRM_PATH)/include/drm \
+ $(LIBDRM_PATH)/intel \
+ $(LIBPCIACCESS_PATH)/include
+
+ LOCAL_CFLAGS += -DHAVE_STRUCT_SYSINFO_TOTALRAM
+ LOCAL_CFLAGS += -DANDROID
+ LOCAL_CFLAGS += -std=c99
+ # FIXME: drop once Bionic correctly annotates "noreturn" on pthread_exit
+ LOCAL_CFLAGS += -Wno-error=return-type
+ # Excessive complaining for established cases. Rely on the Linux version warnings.
+ LOCAL_CFLAGS += -Wno-sign-compare
+
+ LOCAL_MODULE := $1
+ LOCAL_MODULE_TAGS := optional
+
+ LOCAL_SHARED_LIBRARIES := libpciaccess \
+ libdrm \
+ libdrm_intel
+
+ include $(BUILD_EXECUTABLE)
+endef
+
+#================#
+
+skip_tests_list := \
+ testdisplay \
+ kms_addfb \
+ kms_cursor_crc \
+ kms_flip \
+ kms_pipe_crc_basic \
+ kms_render \
+ kms_setmode \
+ pm_pc8 \
+ gem_seqno_wrap \
+ gem_render_copy
+
+tests_list := $(filter-out $(skip_tests_list),$(TESTS_progs) $(TESTS_progs_M) $(HANG) $(TESTS_testsuite))
+
+$(foreach item,$(tests_list),$(eval $(call add_test,$(item))))
+
new file mode 100644
@@ -0,0 +1,70 @@
+include $(LOCAL_PATH)/tools/Makefile.sources
+include $(LOCAL_PATH)/lib/Makefile.sources
+
+LIBPCIACCESS_PATH := $(firstword $(wildcard \
+ $(TOP)/external/PRIVATE/libpciaccess \
+ $(TOP)/hardware/intel/libpciaccess \
+ $(TOP)/external/libpciaccess))
+ifeq ($(LIBPCIACCESS_PATH),)
+ $(error "Unable to find libpciaccess!")
+endif
+
+LIBDRM_PATH := $(firstword $(wildcard \
+ $(TOP)/external/PRIVATE/drm \
+ $(TOP)/external/drm))
+ifeq ($(LIBDRM_PATH),)
+ $(error "Unable to find libdrm!")
+endif
+
+skip_lib_list := \
+ igt_kms.c \
+ igt_kms.h
+
+lib_list := $(filter-out $(skip_lib_list),$(libintel_tools_la_SOURCES))
+LIB_SOURCES := $(addprefix lib/,$(lib_list))
+
+#================#
+
+define add_tool
+ include $(CLEAR_VARS)
+
+ LOCAL_SRC_FILES := \
+ tools/$1.c \
+ $(LIB_SOURCES)
+
+ LOCAL_C_INCLUDES += \
+ $(LOCAL_PATH)/lib \
+ $(LIBDRM_PATH)/include/drm \
+ $(LIBDRM_PATH)/intel \
+ $(LIBPCIACCESS_PATH)/include
+
+ LOCAL_CFLAGS += -DHAVE_TERMIOS_H
+ LOCAL_CFLAGS += -DHAVE_STRUCT_SYSINFO_TOTALRAM
+ LOCAL_CFLAGS += -DANDROID
+ LOCAL_CFLAGS += -std=c99
+ # FIXME: drop once Bionic correctly annotates "noreturn" on pthread_exit
+ LOCAL_CFLAGS += -Wno-error=return-type
+ # Excessive complaining for established cases. Rely on the Linux version warnings.
+ LOCAL_CFLAGS += -Wno-sign-compare
+
+ LOCAL_MODULE := $1
+ LOCAL_MODULE_TAGS := optional
+
+ LOCAL_SHARED_LIBRARIES := libpciaccess \
+ libdrm \
+ libdrm_intel
+
+ include $(BUILD_EXECUTABLE)
+endef
+
+#================#
+
+skip_tools_list := \
+ intel_framebuffer_dump \
+ intel_reg_dumper \
+ intel_vga_read \
+ intel_vga_write
+
+tools_list := $(filter-out $(skip_tools_list),$(bin_PROGRAMS) $(noinst_PROGRAMS))
+
+$(foreach item,$(tools_list),$(eval $(call add_tool,$(item))))