diff options
| -rw-r--r-- | libs/gui/Android.bp | 110 | ||||
| -rw-r--r-- | libs/gui/Android.mk | 108 | ||||
| -rw-r--r-- | libs/gui/tests/Android.bp | 42 | ||||
| -rw-r--r-- | libs/gui/tests/Android.mk | 54 | ||||
| -rw-r--r-- | opengl/libs/Android.bp | 113 | ||||
| -rw-r--r-- | opengl/libs/Android.mk | 118 |
6 files changed, 265 insertions, 280 deletions
diff --git a/libs/gui/Android.bp b/libs/gui/Android.bp new file mode 100644 index 0000000000..b558ec9d87 --- /dev/null +++ b/libs/gui/Android.bp @@ -0,0 +1,110 @@ +// Copyright 2010 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +cc_library_shared { + name: "libgui", + + clang: true, + cppflags: [ + "-Weverything", + "-Werror", + + // The static constructors and destructors in this library have not been noted to + // introduce significant overheads + "-Wno-exit-time-destructors", + "-Wno-global-constructors", + + // We only care about compiling as C++14 + "-Wno-c++98-compat-pedantic", + + // We don't need to enumerate every case in a switch as long as a default case + // is present + "-Wno-switch-enum", + + // Allow calling variadic macros without a __VA_ARGS__ list + "-Wno-gnu-zero-variadic-macro-arguments", + + // Don't warn about struct padding + "-Wno-padded", + + // android/sensors.h uses nested anonymous unions and anonymous structs + "-Wno-nested-anon-types", + "-Wno-gnu-anonymous-struct", + + "-DDEBUG_ONLY_CODE=0", + ], + + product_variables: { + brillo: { + cflags: ["-DHAVE_NO_SURFACE_FLINGER"], + }, + debuggable: { + cppflags: [ + "-UDEBUG_ONLY_CODE", + "-DDEBUG_ONLY_CODE=1", + ], + }, + }, + + srcs: [ + "IGraphicBufferConsumer.cpp", + "IConsumerListener.cpp", + "BitTube.cpp", + "BufferItem.cpp", + "BufferItemConsumer.cpp", + "BufferQueue.cpp", + "BufferQueueConsumer.cpp", + "BufferQueueCore.cpp", + "BufferQueueProducer.cpp", + "BufferSlot.cpp", + "ConsumerBase.cpp", + "CpuConsumer.cpp", + "DisplayEventReceiver.cpp", + "GLConsumer.cpp", + "GraphicBufferAlloc.cpp", + "GuiConfig.cpp", + "IDisplayEventConnection.cpp", + "IGraphicBufferAlloc.cpp", + "IGraphicBufferProducer.cpp", + "IProducerListener.cpp", + "ISensorEventConnection.cpp", + "ISensorServer.cpp", + "ISurfaceComposer.cpp", + "ISurfaceComposerClient.cpp", + "LayerState.cpp", + "Sensor.cpp", + "SensorEventQueue.cpp", + "SensorManager.cpp", + "StreamSplitter.cpp", + "Surface.cpp", + "SurfaceControl.cpp", + "SurfaceComposerClient.cpp", + "SyncFeatures.cpp", + ], + + shared_libs: [ + "libbinder", + "libcutils", + "libEGL", + "libGLESv2", + "libsync", + "libui", + "libutils", + "liblog", + ], + + export_shared_lib_headers: ["libbinder"], +} + +subdirs = ["tests"] diff --git a/libs/gui/Android.mk b/libs/gui/Android.mk deleted file mode 100644 index 909ca67cb2..0000000000 --- a/libs/gui/Android.mk +++ /dev/null @@ -1,108 +0,0 @@ -# Copyright 2010 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) - -LOCAL_CLANG := true -LOCAL_CPPFLAGS := -Weverything -Werror - -# The static constructors and destructors in this library have not been noted to -# introduce significant overheads -LOCAL_CPPFLAGS += -Wno-exit-time-destructors -LOCAL_CPPFLAGS += -Wno-global-constructors - -# We only care about compiling as C++14 -LOCAL_CPPFLAGS += -Wno-c++98-compat-pedantic - -# We don't need to enumerate every case in a switch as long as a default case -# is present -LOCAL_CPPFLAGS += -Wno-switch-enum - -# Allow calling variadic macros without a __VA_ARGS__ list -LOCAL_CPPFLAGS += -Wno-gnu-zero-variadic-macro-arguments - -# Don't warn about struct padding -LOCAL_CPPFLAGS += -Wno-padded - -# android/sensors.h uses nested anonymous unions and anonymous structs -LOCAL_CPPFLAGS += -Wno-nested-anon-types -Wno-gnu-anonymous-struct - -LOCAL_CPPFLAGS += -DDEBUG_ONLY_CODE=$(if $(filter userdebug eng,$(TARGET_BUILD_VARIANT)),1,0) - -LOCAL_SRC_FILES := \ - IGraphicBufferConsumer.cpp \ - IConsumerListener.cpp \ - BitTube.cpp \ - BufferItem.cpp \ - BufferItemConsumer.cpp \ - BufferQueue.cpp \ - BufferQueueConsumer.cpp \ - BufferQueueCore.cpp \ - BufferQueueProducer.cpp \ - BufferSlot.cpp \ - ConsumerBase.cpp \ - CpuConsumer.cpp \ - DisplayEventReceiver.cpp \ - GLConsumer.cpp \ - GraphicBufferAlloc.cpp \ - GuiConfig.cpp \ - IDisplayEventConnection.cpp \ - IGraphicBufferAlloc.cpp \ - IGraphicBufferProducer.cpp \ - IProducerListener.cpp \ - ISensorEventConnection.cpp \ - ISensorServer.cpp \ - ISurfaceComposer.cpp \ - ISurfaceComposerClient.cpp \ - LayerState.cpp \ - Sensor.cpp \ - SensorEventQueue.cpp \ - SensorManager.cpp \ - StreamSplitter.cpp \ - Surface.cpp \ - SurfaceControl.cpp \ - SurfaceComposerClient.cpp \ - SyncFeatures.cpp \ - -LOCAL_SHARED_LIBRARIES := \ - libbinder \ - libcutils \ - libEGL \ - libGLESv2 \ - libsync \ - libui \ - libutils \ - liblog - -LOCAL_EXPORT_SHARED_LIBRARY_HEADERS := libbinder - -LOCAL_MODULE := libgui - -ifeq ($(TARGET_BOARD_PLATFORM), tegra) - LOCAL_CFLAGS += -DDONT_USE_FENCE_SYNC -endif -ifeq ($(TARGET_BOARD_PLATFORM), tegra3) - LOCAL_CFLAGS += -DDONT_USE_FENCE_SYNC -endif - -ifeq ($(TARGET_BOARD_HAS_NO_SURFACE_FLINGER), true) - LOCAL_CFLAGS += -DHAVE_NO_SURFACE_FLINGER -endif - -include $(BUILD_SHARED_LIBRARY) - -ifeq (,$(ONE_SHOT_MAKEFILE)) -include $(call first-makefiles-under,$(LOCAL_PATH)) -endif diff --git a/libs/gui/tests/Android.bp b/libs/gui/tests/Android.bp new file mode 100644 index 0000000000..3c7958fc85 --- /dev/null +++ b/libs/gui/tests/Android.bp @@ -0,0 +1,42 @@ +// Build the unit tests, + +// Build the binary to $(TARGET_OUT_DATA_NATIVE_TESTS)/$(LOCAL_MODULE) +// to integrate with auto-test framework. +cc_test { + name: "libgui_test", + + clang: true, + + srcs: [ + "BufferQueue_test.cpp", + "CpuConsumer_test.cpp", + "FillBuffer.cpp", + "GLTest.cpp", + "IGraphicBufferProducer_test.cpp", + "MultiTextureConsumer_test.cpp", + "Sensor_test.cpp", + "SRGB_test.cpp", + "StreamSplitter_test.cpp", + "SurfaceTextureClient_test.cpp", + "SurfaceTextureFBO_test.cpp", + "SurfaceTextureGLThreadToGL_test.cpp", + "SurfaceTextureGLToGL_test.cpp", + "SurfaceTextureGL_test.cpp", + "SurfaceTextureMultiContextGL_test.cpp", + "Surface_test.cpp", + "TextureRenderer.cpp", + ], + + shared_libs: [ + "liblog", + "libEGL", + "libGLESv1_CM", + "libGLESv2", + "libbinder", + "libcutils", + "libgui", + "libsync", + "libui", + "libutils", + ], +} diff --git a/libs/gui/tests/Android.mk b/libs/gui/tests/Android.mk deleted file mode 100644 index efae7f63d4..0000000000 --- a/libs/gui/tests/Android.mk +++ /dev/null @@ -1,54 +0,0 @@ -# Build the unit tests, -LOCAL_PATH:= $(call my-dir) -include $(CLEAR_VARS) -LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk - -LOCAL_CLANG := true - -LOCAL_MODULE := libgui_test - -LOCAL_MODULE_TAGS := tests - -LOCAL_SRC_FILES := \ - BufferQueue_test.cpp \ - CpuConsumer_test.cpp \ - FillBuffer.cpp \ - GLTest.cpp \ - IGraphicBufferProducer_test.cpp \ - MultiTextureConsumer_test.cpp \ - Sensor_test.cpp \ - SRGB_test.cpp \ - StreamSplitter_test.cpp \ - SurfaceTextureClient_test.cpp \ - SurfaceTextureFBO_test.cpp \ - SurfaceTextureGLThreadToGL_test.cpp \ - SurfaceTextureGLToGL_test.cpp \ - SurfaceTextureGL_test.cpp \ - SurfaceTextureMultiContextGL_test.cpp \ - Surface_test.cpp \ - TextureRenderer.cpp \ - -LOCAL_SHARED_LIBRARIES := \ - liblog \ - libEGL \ - libGLESv1_CM \ - libGLESv2 \ - libbinder \ - libcutils \ - libgui \ - libsync \ - libui \ - libutils \ - -# Build the binary to $(TARGET_OUT_DATA_NATIVE_TESTS)/$(LOCAL_MODULE) -# to integrate with auto-test framework. -include $(BUILD_NATIVE_TEST) - -# Include subdirectory makefiles -# ============================================================ - -# If we're building with ONE_SHOT_MAKEFILE (mm, mmm), then what the framework -# team really wants is to build the stuff defined by this makefile. -ifeq (,$(ONE_SHOT_MAKEFILE)) -include $(call first-makefiles-under,$(LOCAL_PATH)) -endif diff --git a/opengl/libs/Android.bp b/opengl/libs/Android.bp index bdd5152209..6a8aac8d70 100644 --- a/opengl/libs/Android.bp +++ b/opengl/libs/Android.bp @@ -45,3 +45,116 @@ ndk_library { symbol_file: "libGLESv3.map.txt", first_version: "18", } + +cc_defaults { + name: "gl_libs_defaults", + cflags: [ + "-DGL_GLEXT_PROTOTYPES", + "-DEGL_EGLEXT_PROTOTYPES", + "-fvisibility=hidden", + ], + shared_libs: [ + "libcutils", + "liblog", + "libdl", + ], + + // we need to access the private Bionic header <bionic_tls.h> + include_dirs: ["bionic/libc/private"], +} + +//############################################################################## +// Build META EGL library +// +cc_defaults { + name: "egl_libs_defaults", + defaults: ["gl_libs_defaults"], + cflags: [ + "-DLOG_TAG=\"libEGL\"", + ], + shared_libs: [ + "libbinder", + "libutils", + "libui", + ], +} + +cc_library_static { + name: "libEGL_getProcAddress", + defaults: ["egl_libs_defaults"], + srcs: ["EGL/getProcAddress.cpp"], + arch: { + arm: { + instruction_set: "arm", + }, + }, +} + +cc_library_shared { + name: "libEGL", + defaults: ["egl_libs_defaults"], + srcs: [ + "EGL/egl_tls.cpp", + "EGL/egl_cache.cpp", + "EGL/egl_display.cpp", + "EGL/egl_object.cpp", + "EGL/egl.cpp", + "EGL/eglApi.cpp", + "EGL/Loader.cpp", + ], + static_libs: ["libEGL_getProcAddress"], + ldflags: ["-Wl,--exclude-libs=ALL"], + + required: ["egl.cfg"], +} + +cc_defaults { + name: "gles_libs_defaults", + defaults: ["gl_libs_defaults"], + arch: { + arm: { + instruction_set: "arm", + + // TODO: This is to work around b/20093774. Remove after root cause is fixed + ldflags: ["-Wl,--hash-style,both"], + }, + }, + shared_libs: ["libEGL"], +} + +//############################################################################## +// Build the wrapper OpenGL ES 1.x library +// +cc_library_shared { + name: "libGLESv1_CM", + defaults: ["gles_libs_defaults"], + srcs: ["GLES_CM/gl.cpp"], + + cflags: ["-DLOG_TAG=\"libGLESv1\""], +} + +//############################################################################## +// Build the wrapper OpenGL ES 2.x library +// +cc_library_shared { + name: "libGLESv2", + defaults: ["gles_libs_defaults"], + srcs: ["GLES2/gl2.cpp"], + + shared_libs: ["libutils"], + + cflags: ["-DLOG_TAG=\"libGLESv2\""], +} + +//############################################################################## +// Build the wrapper OpenGL ES 3.x library (this is just different name for v2) +// +cc_library_shared { + name: "libGLESv3", + defaults: ["gles_libs_defaults"], + srcs: ["GLES2/gl2.cpp"], + + shared_libs: ["libutils"], + + cflags: ["-DLOG_TAG=\"libGLESv3\""], +} diff --git a/opengl/libs/Android.mk b/opengl/libs/Android.mk index 789b325640..21e76f51d9 100644 --- a/opengl/libs/Android.mk +++ b/opengl/libs/Android.mk @@ -1,13 +1,7 @@ LOCAL_PATH:= $(call my-dir) -############################################################################### -# Build META EGL library -# - -egl.cfg_config_module := # OpenGL drivers config file ifneq ($(BOARD_EGL_CFG),) - include $(CLEAR_VARS) LOCAL_MODULE := egl.cfg LOCAL_MODULE_TAGS := optional @@ -15,116 +9,4 @@ LOCAL_MODULE_CLASS := ETC LOCAL_MODULE_PATH := $(TARGET_OUT)/lib/egl LOCAL_SRC_FILES := ../../../../$(BOARD_EGL_CFG) include $(BUILD_PREBUILT) -egl.cfg_config_module := $(LOCAL_MODULE) endif - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES:= \ - EGL/egl_tls.cpp \ - EGL/egl_cache.cpp \ - EGL/egl_display.cpp \ - EGL/egl_object.cpp \ - EGL/egl.cpp \ - EGL/eglApi.cpp \ - EGL/getProcAddress.cpp.arm \ - EGL/Loader.cpp \ -# - -LOCAL_SHARED_LIBRARIES += libbinder libcutils libutils liblog libui -LOCAL_MODULE:= libEGL -LOCAL_LDFLAGS += -Wl,--exclude-libs=ALL -LOCAL_SHARED_LIBRARIES += libdl -# we need to access the private Bionic header <bionic_tls.h> -LOCAL_C_INCLUDES += bionic/libc/private - -LOCAL_CFLAGS += -DLOG_TAG=\"libEGL\" -LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES -LOCAL_CFLAGS += -fvisibility=hidden - -LOCAL_REQUIRED_MODULES := $(egl.cfg_config_module) -egl.cfg_config_module := - -include $(BUILD_SHARED_LIBRARY) - -############################################################################### -# Build the wrapper OpenGL ES 1.x library -# - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES:= \ - GLES_CM/gl.cpp.arm \ -# - -LOCAL_SHARED_LIBRARIES += libcutils liblog libEGL -LOCAL_MODULE:= libGLESv1_CM - -LOCAL_SHARED_LIBRARIES += libdl -# we need to access the private Bionic header <bionic_tls.h> -LOCAL_C_INCLUDES += bionic/libc/private - -LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv1\" -LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES -LOCAL_CFLAGS += -fvisibility=hidden - -# TODO: This is to work around b/20093774. Remove after root cause is fixed -LOCAL_LDFLAGS_arm += -Wl,--hash-style,both - -include $(BUILD_SHARED_LIBRARY) - - -############################################################################### -# Build the wrapper OpenGL ES 2.x library -# - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES:= \ - GLES2/gl2.cpp \ -# - -LOCAL_ARM_MODE := arm -LOCAL_SHARED_LIBRARIES += libcutils libutils liblog libEGL -LOCAL_MODULE:= libGLESv2 - -LOCAL_SHARED_LIBRARIES += libdl -# we need to access the private Bionic header <bionic_tls.h> -LOCAL_C_INCLUDES += bionic/libc/private - -LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv2\" -LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES -LOCAL_CFLAGS += -fvisibility=hidden - -# TODO: This is to work around b/20093774. Remove after root cause is fixed -LOCAL_LDFLAGS_arm += -Wl,--hash-style,both - -include $(BUILD_SHARED_LIBRARY) - -############################################################################### -# Build the wrapper OpenGL ES 3.x library (this is just different name for v2) -# - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES:= \ - GLES2/gl2.cpp \ -# - -LOCAL_ARM_MODE := arm -LOCAL_SHARED_LIBRARIES += libcutils libutils liblog libEGL -LOCAL_MODULE:= libGLESv3 -LOCAL_SHARED_LIBRARIES += libdl -# we need to access the private Bionic header <bionic_tls.h> -LOCAL_C_INCLUDES += bionic/libc/private - -LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv3\" -LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES -LOCAL_CFLAGS += -fvisibility=hidden - -# TODO: This is to work around b/20093774. Remove after root cause is fixed -LOCAL_LDFLAGS_arm += -Wl,--hash-style,both - -include $(BUILD_SHARED_LIBRARY) - -include $(call all-makefiles-under,$(LOCAL_PATH)) |