am 80e88b37: am 993178d2: am 588d3e7a: Merge "emulator: opengl: Update/simplify build scripts"

* commit '80e88b371389fe220cfdfc4a40ffdeb38fce484e':
  emulator: opengl: Update/simplify build scripts
This commit is contained in:
David 'Digit' Turner
2011-06-23 05:30:07 -07:00
committed by Android Git Automerger
29 changed files with 962 additions and 766 deletions

View File

@@ -0,0 +1,89 @@
# This is the top-level build file for the Android HW OpenGL ES emulation
# in Android.
#
# You must define BUILD_EMULATOR_OPENGL to 'true' in your environment to
# build the following files.
#
# Also define BUILD_EMULATOR_OPENGL_DRIVER to 'true' to build the gralloc
# stuff as well.
#
ifeq (true,$(BUILD_EMULATOR_OPENGL))
# Top-level for all modules
EMUGL_PATH := $(call my-dir)
# Directory containing common headers used by several modules
# This is always set to a module's LOCAL_C_INCLUDES
# See the definition of emugl-begin-module in common.mk
#
EMUGL_COMMON_INCLUDES := $(EMUGL_PATH)/host/include/libOpenglRender
# Include common definitions used by all the modules included later
# in this build file. This contains the definition of all useful
# emugl-xxxx functions.
#
include $(EMUGL_PATH)/common.mk
# IMPORTANT: ORDER IS CRUCIAL HERE
#
# For the import/export feature to work properly, you must include
# modules below in correct order. That is, if module B depends on
# module A, then it must be included after module A below.
#
# This ensures that anything exported by module A will be correctly
# be imported by module B when it is declared.
#
# Note that the build system will complain if you try to import a
# module that hasn't been declared yet anyway.
#
# First, build the emugen host source-generation tool
#
# It will be used by other modules to generate wire protocol encode/decoder
# source files (see all emugl-gen-decoder/encoder in common.mk)
#
include $(EMUGL_PATH)/host/tools/emugen/Android.mk
include $(EMUGL_PATH)/shared/OpenglOsUtils/Android.mk
include $(EMUGL_PATH)/shared/OpenglCodecCommon/Android.mk
# System static libraries
include $(EMUGL_PATH)/system/GLESv1_enc/Android.mk
include $(EMUGL_PATH)/system/GLESv2_enc/Android.mk
include $(EMUGL_PATH)/system/renderControl_enc/Android.mk
include $(EMUGL_PATH)/system/OpenglSystemCommon/Android.mk
include $(EMUGL_PATH)/tests/ut_rendercontrol_enc/Android.mk
# System shared libraries
include $(EMUGL_PATH)/system/GLESv1/Android.mk
include $(EMUGL_PATH)/system/egl/Android.mk
include $(EMUGL_PATH)/tests/gles_android_wrapper/Android.mk
include $(EMUGL_PATH)/system/gralloc/Android.mk
# Host static libraries
include $(EMUGL_PATH)/host/libs/GLESv1_dec/Android.mk
include $(EMUGL_PATH)/host/libs/GLESv2_dec/Android.mk
include $(EMUGL_PATH)/host/libs/renderControl_dec/Android.mk
include $(EMUGL_PATH)/tests/ut_rendercontrol_dec/Android.mk
include $(EMUGL_PATH)/host/libs/Translator/GLcommon/Android.mk
include $(EMUGL_PATH)/host/libs/Translator/GLES_CM/Android.mk
include $(EMUGL_PATH)/host/libs/Translator/GLES_V2/Android.mk
include $(EMUGL_PATH)/host/libs/Translator/EGL/Android.mk
# Host shared libraries
include $(EMUGL_PATH)/host/libs/libOpenglRender/Android.mk
# Host executables
include $(EMUGL_PATH)/host/renderer/Android.mk
# Host unit-test for the renderer. this one uses its own small
# EGL host wrapper.
include $(EMUGL_PATH)/tests/EGL_host_wrapper/Android.mk
include $(EMUGL_PATH)/tests/emulator_test_renderer/Android.mk
include $(EMUGL_PATH)/tests/ut_renderer/Android.mk
include $(EMUGL_PATH)/tests/translator_tests/MacCommon/Android.mk
include $(EMUGL_PATH)/tests/translator_tests/GLES_CM/Android.mk
include $(EMUGL_PATH)/tests/translator_tests/GLES_V2/Android.mk
endif # BUILD_EMULATOR_OPENGL == true

View File

@@ -0,0 +1,106 @@
This directory contains the modules related to hardware OpenGL ES emulation.
For now, this feature is experimental, and *nothing* will be built unless
you define BUILD_EMULATOR_OPENGL in your environment, for example with:
export BUILD_EMULATOR_OPENGL=true
You can also define the following to enable the "gralloc" module, which
corresponds to system-wide GLES emulation (by default, only a specific set
of applications are enabled, see below):
export BUILD_EMULATOR_OPENGL_DRIVER=true
I. Overview of components:
==========================
The 'emugen' tool is used to generate several source files related to the
EGL/GLES command stream used between the guest and the host during emulation.
host/tools/emugen -> emugen program
Note that emugen is capable of generating, from a single set of specification
files, three types of auto-generated sources:
- sources to encode commands into a byte stream.
- sources to decide the byte stream into commands.
- sources to wrap normal procedural EGL/GLES calls into context-aware ones.
Modules under the system/ directory corresponds to code that runs on the
guest, and implement the marshalling of EGL/GLES commands into a stream of
bytes sent to the host through a fast pipe mechanism.
system/GLESv1_enc -> encoder for GLES 1.1 commands
system/GLESv2_enc -> encoder for GLES 2.0 commands
system/renderControl_enc -> encoder for rendering control commands
system/egl -> emulator-specific guest EGL library
system/GLESv1 -> emulator-specific guest GLES 1.1 library
system/gralloc -> emulator-specific gralloc module
system/OpenglSystemCommon -> library of common routines
Modules under the host/ directory corresponds to code that runs on the
host, and implement the decoding of the command stream, translation of
EGL/GLES commands into desktop GL 2.0 ones, and rendering to an off-screen
buffer.
host/libs/GLESv1_dec -> decoder for GLES 1.1 commands
host/libs/GLESv2_dec -> decoder for GLES 2.0 commands
host/libs/renderControl_dec -> decoder for rendering control commands
host/libs/Translator/EGL -> translator for EGL commands
host/libs/Translator/GLES_CM -> translator for GLES 1.1 commands
host/libs/Translator/GLES_V2 -> translator for GLES 2.0 commands
host/libs/Translator/GLcommon -> library of common translation routines
host/libs/libOpenglRender -> rendering library (uses all host libs above)
can be used by the 'renderer' program below,
or directly linked into the emulator UI program.
host/renderer/ -> stand-alone renderer program executable.
this can run in head-less mode and receive requests from
several emulators at the same time. It is the receiving
end of all command streams.
Modules under the test/ directory correspond to test programs that are useful
to debug the various modules described above:
tests/EGL_host_wrapper -> a small library used to dynamically load the
desktop libEGL.so or a replacement named by the
ANDROID_EGL_LIB environment variable. This lib
provides all EGL entry points.
tests/emulator_test_renderer -> a small program to run the rendering library
in a single SDL window on the host desktop.
tests/gles_android_wrapper -> guest EGL / GLES libraries that are run on
the device to run some tests. Replace the
system/egl and system/GLESv1 modules for now.
tests/translator_tests/GLES_CM -> desktop GLESv1 translation unit test
tests/translator_tests/GLES_V2 -> desktop GLESv2 translation unit test
tests/translator_tests/MacCommon -> used by translation tests on Mac only.
tests/ut_rendercontrol_enc -> guest library used by tests/ut_renderer
tests/ut_rendercontrol_dec -> host library used by tests/ut_renderer
tests/ut_renderer -> unit-test for render control and rendering library.
II. Build system considerations:
--------------------------------
The dependencies on the more than 20 components described in the previous
section are pretty sophisticated, involving lots of auto-generated code and
non-trivial placement for guest/device libraries.
To simplify the development and maintenance of these modules, a set of
helper GNU Make function is defined in common.mk, and included from the
Android.mk in this directory.
These functions all begin with the "emugl-" prefix, and can be used to
declare modules, what information they export to other modules, or import
from them, and also what kind of auto-generated sources they depend on.
Look at the comments inside common.mk and the Android.mk of the modules
to better understand what's happening.

View File

@@ -0,0 +1,335 @@
# This top-level build file is included by all modules that implement
# the hardware OpenGL ES emulation for Android.
#
# We use it to ensure that all sub-Makefiles are included in the right
# order for various variable definitions and usage to happen in the correct
# order.
#
# The following macros are used to start a new GLES emulation module.
#
# This will define LOCAL_MODULE as $1, plus a few other variables
# needed by the build system (e.g. LOCAL_MODULE_TAGS, LOCAL_MODULE_CLASS...)
#
# NOTE: You still need to define LOCAL_PATH before this
#
# Usage example:
#
# $(call emugl-begin-static-library,<name>)
# LOCAL_SRC_FILES := ....
# LOCAL_C_INCLUDES += ....
# $(call emugl-end-module)
#
emugl-begin-static-library = $(call emugl-begin-module,$1,STATIC_LIBRARY)
emugl-begin-shared-library = $(call emugl-begin-module,$1,SHARED_LIBRARY)
emugl-begin-host-static-library = $(call emugl-begin-module,$1,HOST_STATIC_LIBRARY,HOST)
emugl-begin-host-shared-library = $(call emugl-begin-module,$1,HOST_SHARED_LIBRARY,HOST)
emugl-begin-host-executable = $(call emugl-begin-module,$1,HOST_EXECUTABLE,HOST)
# Internal list of all declared modules (used for sanity checking)
_emugl_modules :=
_emugl_HOST_modules :=
# do not use directly, see functions above instead
emugl-begin-module = \
$(eval include $(CLEAR_VARS)) \
$(eval LOCAL_MODULE := $1) \
$(eval LOCAL_MODULE_TAGS := debug) \
$(eval LOCAL_MODULE_CLASS := $(patsubst HOST_%,%,$(patsubst %EXECUTABLE,%EXECUTABLES,$(patsubst %LIBRARY,%LIBRARIES,$2)))) \
$(eval LOCAL_IS_HOST_MODULE := $(if $3,true,))\
$(eval LOCAL_C_INCLUDES := $(EMUGL_COMMON_INCLUDES)) \
$(eval LOCAL_PRELINK_MODULE := false)\
$(eval _EMUGL_INCLUDE_TYPE := $(BUILD_$2)) \
$(call _emugl-init-module,$1,$2,$3)
# Used to end a module definition, see function definitions above
emugl-end-module = \
$(eval include $(_EMUGL_INCLUDE_TYPE))\
$(eval _EMUGL_INCLUDE_TYPE :=) \
$(eval _emugl_$(_emugl_HOST)modules += $(_emugl_MODULE))\
$(if $(EMUGL_DEBUG),$(call emugl-dump-module))
# Managing module exports and imports.
#
# A module can 'import' another module, by calling emugl-import. This will
# make the current LOCAL_MODULE inherit various definitions exported from
# the imported module.
#
# Module exports are defined by calling emugl-export. Here is an example:
#
# $(call emugl-begin-static-library,foo)
# LOCAL_SRC_FILES := foo.c
# $(call emugl-export,C_INCLUDES,$(LOCAL_PATH))
# $(call emugl-export,SHARED_LIBRARIES,libcutils)
# $(call emugl-end-module)
#
# $(call emugl-begin-shared-library,bar)
# LOCAL_SRC_FILES := bar.cpp
# $(call emugl-import,foo)
# $(call emugl-end-module)
#
# Here, we define a static library named 'foo' which exports an include
# path and a shared library requirement, and a shared library 'bar' which
# imports it.
#
# What this means is that:
#
# - 'bar' will automatically inherit foo's LOCAL_PATH in its LOCAL_C_INCLUDES
# - 'bar' will automatically inherit libcutils in its own LOCAL_SHARED_LIBRARIES
#
# Note that order of declaration matters. If 'foo' is defined after 'bar' in
# the example above, nothing will work correctly because dependencies are
# computed at import time.
#
#
# IMPORTANT: Imports are transitive, i.e. when module A imports B,
# it automatically imports anything imported by B too.
# This is the list of recognized export types we support for now.
EMUGL_EXPORT_TYPES := \
CFLAGS \
LDLIBS \
LDFLAGS \
C_INCLUDES \
SHARED_LIBRARIES \
STATIC_LIBRARIES \
ADDITIONAL_DEPENDENCIES
# Initialize a module in our database
# $1: Module name
# $2: Module type
# $3: "HOST" for a host module, empty for a target one.
_emugl-init-module = \
$(eval _emugl_HOST := $(if $3,HOST_,))\
$(eval _emugl_MODULE := $(_emugl_HOST)$1)\
$(if $(filter $(_emugl_$(_emugl_HOST)modules),$(_emugl_MODULE)),\
$(error There is already a $(if $3,host,) module named $1!)\
)\
$(eval _mod = $(_emugl_MODULE)) \
$(eval _emugl.$(_mod).type := $(patsubst HOST_%,%,$2))\
$(eval _emugl.$(_mod).imports :=) \
$(foreach _type,$(EMUGL_EXPORT_TYPES),\
$(eval _emugl.$(_mod).export.$(_type) :=)\
)
# Called to indicate that a module exports a given local variable for its
# users. This also adds this to LOCAL_$1
# $1: Local variable type (e.g. CFLAGS, LDLIBS, etc...)
# $2: Value(s) to append to the export
emugl-export = \
$(eval _emugl.$(_emugl_MODULE).export.$1 += $2)\
$(eval LOCAL_$1 := $2 $(LOCAL_$1))
emugl-export-outer = \
$(eval _emugl.$(_emugl_MODULE).export.$1 += $2)
# Called to indicate that a module imports the exports of another module
# $1: list of modules to import
#
emugl-import = \
$(foreach _imod,$1,\
$(call _emugl-module-import,$(_emugl_HOST)$(_imod))\
)
_emugl-module-import = \
$(eval _mod := $(_emugl_MODULE))\
$(if $(filter-out $(_emugl_$(_emugl_HOST)modules),$1),\
$(info Unknown imported emugles module: $1)\
$(if $(_emugl_HOST),\
$(eval _names := $(patsubst HOST_%,%,$(_emugl_HOST_modules))),\
$(eval _names := $(_emugl_modules))\
)\
$(info Please one of the following names: $(_names))\
$(error Aborting)\
)\
$(if $(filter-out $(_emugl.$(_mod).imports),$1),\
$(eval _emugl.$(_mod).imports += $1)\
$(foreach _sub,$(_emugl.$1.imports),\
$(call _emugl-module-import,$(_sub))\
)\
$(foreach _type,$(EMUGL_EXPORT_TYPES),\
$(eval LOCAL_$(_type) := $(_emugl.$1.export.$(_type)) $(LOCAL_$(_type)))\
)\
$(if $(filter EXECUTABLE SHARED_LIBRARY,$(_emugl.$(_emugl_MODULE).type)),\
$(if $(filter STATIC_LIBRARY,$(_emugl.$1.type)),\
$(eval LOCAL_STATIC_LIBRARIES := $(1:HOST_%=%) $(LOCAL_STATIC_LIBRARIES))\
)\
$(if $(filter SHARED_LIBRARY,$(_emugl.$1.type)),\
$(eval LOCAL_SHARED_LIBRARIES := $(1:HOST_%=%) $(LOCAL_SHARED_LIBRARIES))\
)\
)\
)
_emugl-dump-list = \
$(foreach _list_item,$(strip $1),$(info . $(_list_item)))
emugl-dump-module = \
$(info MODULE=$(_emugl_MODULE))\
$(info . HOST=$(_emugl_HOST))\
$(info . TYPE=$(_emugl.$(_emugl_MODULE).type))\
$(info . IMPORTS=$(_emugl.$(_emugl_MODULE).imports))\
$(foreach _type,$(EMUGL_EXPORT_TYPES),\
$(if $(filter C_INCLUDES ADDITIONAL_DEPENDENCIES,$(_type)),\
$(info . EXPORT.$(_type) :=)\
$(call _emugl-dump-list,$(_emugl.$(_emugl_MODULE).export.$(_type)))\
$(info . LOCAL_$(_type) :=)\
$(call _emugl-dump-list,$(LOCAL_$(_type)))\
,\
$(info . EXPORT.$(_type) := $(strip $(_emugl.$(_emugl_MODULE).export.$(_type))))\
$(info . LOCAL_$(_type) := $(strip $(LOCAL_$(_type))))\
)\
)\
$(info . LOCAL_SRC_FILES := $(LOCAL_SRC_FILES))\
# This function can be called to generate the decoder source files.
# LOCAL_MODULE and LOCAL_MODULE_CLASS must be defined or the build will abort.
# Source files will be stored in the local intermediates directory that will
# be automatically added to your LOCAL_C_INCLUDES.
#
# Usage:
# $(call emugl-gen-decoder,<input-dir>,<basename>)
#
emugl-gen-decoder = \
$(eval _emugl_out := $(call local-intermediates-dir))\
$(call emugl-gen-decoder-generic,$(_emugl_out),$1,$2)\
$(call emugl-export,C_INCLUDES,$(_emugl_out))
# This function can be called to generate the encoder source files.
# LOCAL_MODULE and LOCAL_MODULE_CLASS must be defined or the build will abort.
# Source files will be stored in the local intermediates directory that will
# be automatically added to your LOCAL_C_INCLUDES.
# Usage:
# $(call emugl-gen-encoder,<input-dir>,<basename>)
#
emugl-gen-encoder = \
$(eval _emugl_out := $(call local-intermediates-dir)) \
$(call emugl-gen-encoder-generic,$(_emugl_out),$1,$2) \
$(call emugl-export,C_INCLUDES,$(_emugl_out))
# This function can be called to generate the wrapper source files.
# LOCAL_MODULE and LOCAL_MODULE_CLASS must be defined or the build will abort.
# Source files will be stored in the local intermediates directory that will
# be automatically added to your LOCAL_C_INCLUDES.
# Usage:
# $(call emugl-gen-wrapper,<input-dir>,<basename>)
#
emugl-gen-wrapper = \
$(eval _emugl_out := $(call local-intermediates-dir)) \
$(call emugl-gen-wrapper-generic,$(_emugl_out),$1,$2) \
$(call emugl-export,C_INCLUDES,$(_emugl_out))
# IMPORTANT: EMUGL_EMUGEN is defined under host/tools/emugen/Android.mk
#
# DO NOT CALL DIRECTLY, USE emugl-gen-decoder instead.
#
# The following function can be called to generate wire protocol decoder
# source files, Usage is:
#
# $(call emugl-gen-decoder-generic,<dst-dir>,<src-dir>,<basename>)
#
# <dst-dir> is the destination directory where the generated sources are stored
# <src-dir> is the source directory where to find <basename>.attrib, etc..
# <basename> is the emugen basename (see host/tools/emugen/README)
#
emugl-gen-decoder-generic = $(eval $(emugl-gen-decoder-generic-ev))
define emugl-gen-decoder-generic-ev
_emugl_dec := $$1/$$3
_emugl_src := $$2/$$3
GEN := $$(_emugl_dec)_dec.cpp \
$$(_emugl_dec)_dec.h \
$$(_emugl_dec)_opcodes.h \
$$(_emugl_dec)_server_context.h \
$$(_emugl_dec)_server_context.cpp
$$(GEN): PRIVATE_PATH := $$(LOCAL_PATH)
$$(GEN): PRIVATE_CUSTOM_TOOL := $$(EMUGL_EMUGEN) -D $$1 -i $$2 $$3
$$(GEN): $$(EMUGL_EMUGEN) $$(_emugl_src).attrib $$(_emugl_src).in $$(_emugl_src).types
$$(transform-generated-source)
$$(call emugl-export,ADDITIONAL_DEPENDENCIES,$$(GEN))
LOCAL_GENERATED_SOURCES += $$(GEN)
LOCAL_C_INCLUDES += $$1
endef
# DO NOT CALL DIRECTLY, USE emugl-gen-encoder instead.
#
# The following function can be called to generate wire protocol encoder
# source files, Usage is:
#
# $(call emugl-gen-encoder-generic,<dst-dir>,<src-dir>,<basename>)
#
# <dst-dir> is the destination directory where the generated sources are stored
# <src-dir> is the source directory where to find <basename>.attrib, etc..
# <basename> is the emugen basename (see host/tools/emugen/README)
#
emugl-gen-encoder-generic = $(eval $(emugl-gen-encoder-generic-ev))
define emugl-gen-encoder-generic-ev
_emugl_enc := $$1/$$3
_emugl_src := $$2/$$3
GEN := $$(_emugl_enc)_entry.cpp \
$$(_emugl_enc)_enc.cpp \
$$(_emugl_enc)_enc.h \
$$(_emugl_enc)_ftable.h \
$$(_emugl_enc)_opcodes.h \
$$(_emugl_enc)_client_context.h \
$$(_emugl_enc)_client_context.cpp
$$(GEN): PRIVATE_PATH := $$(LOCAL_PATH)
$$(GEN): PRIVATE_CUSTOM_TOOL := $$(EMUGL_EMUGEN) -E $$1 -i $$2 $$3
$$(GEN): $$(EMUGL_EMUGEN) $$(_emugl_src).attrib $$(_emugl_src).in $$(_emugl_src).types
$$(transform-generated-source)
$$(call emugl-export,ADDITIONAL_DEPENDENCIES,$$(GEN))
LOCAL_GENERATED_SOURCES += $$(GEN)
LOCAL_C_INCLUDES += $$1
endef
# DO NOT CALL DIRECTLY, USE emugl-gen-wrapper instead.
#
# The following function can be called to generate GL library wrapper
# Usage is:
#
# $(call emugl-gen-wrapper-generic,<dst-dir>,<src-dir>,<basename>)
#
# <dst-dir> is the destination directory where the generated sources are stored
# <src-dir> is the source directory where to find <basename>.attrib, etc..
# <basename> is the emugen basename (see host/tools/emugen/README)
#
emugl-gen-wrapper-generic = $(eval $(emugl-gen-wrapper-generic-ev))
define emugl-gen-wrapper-generic-ev
_emugl_wrap := $$1/$$3
_emugl_src := $$2/$$3
GEN := $$(_emugl_wrap)_wrapper_entry.cpp \
$$(_emugl_wrap)_wrapper_context.cpp \
$$(_emugl_wrap)_wrapper_context.h \
$$(_emugl_wrap)_wrapper_proc.h
$$(GEN): PRIVATE_PATH := $$(LOCAL_PATH)
$$(GEN): PRIVATE_CUSTOM_TOOL := $$(EMUGL_EMUGEN) -W $$1 -i $$2 $$3
$$(GEN): $$(EMUGL_EMUGEN) $$(_emugl_src).attrib $$(_emugl_src).in $$(_emugl_src).types
$$(transform-generated-source)
$$(call emugl-export,ADDITIONAL_DEPENDENCIES,$$(GEN))
LOCAL_GENERATED_SOURCES += $$(GEN)
LOCAL_C_INCLUDES += $$1
#ifneq ($$(HOST_OS),windows)
$$(call emugl-export,LDFLAGS,-ldl)
#endif
endef
# Call this function when your shared library must be placed in a non-standard
# library path (i.e. not under /system/lib
# $1: library sub-path,relative to /system/lib
# For example: $(call emugl-set-shared-library-subpath,egl)
emugl-set-shared-library-subpath = \
$(eval LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/$1)\
$(call emugl-export-outer,ADDITIONAL_DEPENDENCIES,$(LOCAL_MODULE_PATH)/$(LOCAL_MODULE)$(TARGET_SHLIB_SUFFIX))

View File

@@ -1,45 +1,16 @@
LOCAL_PATH := $(call my-dir)
### GLESv1 Decoder ###########################################
include $(CLEAR_VARS)
$(call emugl-begin-host-shared-library,libGLESv1_dec)
emulatorOpengl := $(LOCAL_PATH)/../../..
EMUGEN := $(HOST_OUT_EXECUTABLES)/emugen
$(call emugl-import, libOpenglCodecCommon)
$(call emugl-export,C_INCLUDES,$(LOCAL_PATH))
$(call emugl-export,LDLIBS,-ldl)
LOCAL_IS_HOST_MODULE := true
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := libGLESv1_dec
$(call emugl-gen-decoder,$(EMUGL_PATH)/system/GLESv1_enc,gl)
intermediates := $(local-intermediates-dir)
LOCAL_SRC_FILES := GLDecoder.cpp
LOCAL_SRC_FILES := \
GLDecoder.cpp
# for gl_types.h !
$(call emugl-export,C_INCLUDES,$(EMUGL_PATH)/system/GLESv1_enc)
LOCAL_C_INCLUDES += \
$(emulatorOpengl)/shared/OpenglCodecCommon \
$(emulatorOpengl)/host/include/libOpenglRender \
$(emulatorOpengl)/system/GLESv1_enc
LOCAL_STATIC_LIBRARIES := \
libOpenglCodecCommon \
liblog
# XXX - uncomment for debug
#LOCAL_CFLAGS := -DDEBUG_PRINTOUT -O0 -g
LOCAL_LDLIBS := -ldl
GEN := $(intermediates)/gl_server_context.cpp $(intermediates)/gl_dec.cpp $(intermediates)/gl_dec.h
$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
$(GEN) : PRIVATE_CUSTOM_TOOL := $(EMUGEN) -D $(intermediates) -i $(emulatorOpengl)/system/GLESv1_enc gl
$(GEN) : $(EMUGEN) \
$(emulatorOpengl)/system/GLESv1_enc/gl.attrib \
$(emulatorOpengl)/system/GLESv1_enc/gl.in \
$(emulatorOpengl)/system/GLESv1_enc/gl.types
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
include $(BUILD_HOST_SHARED_LIBRARY)
$(call emugl-end-module)

View File

@@ -1,47 +1,13 @@
LOCAL_PATH := $(call my-dir)
### GLESv2 Decoder ###########################################
include $(CLEAR_VARS)
$(call emugl-begin-host-shared-library,libGLESv2_dec)
$(call emugl-import, libOpenglCodecCommon libOpenglOsUtils)
$(call emugl-gen-decoder,$(EMUGL_PATH)/system/GLESv2_enc,gl2)
emulatorOpengl := $(LOCAL_PATH)/../../..
EMUGEN := $(BUILD_OUT_EXECUTABLES)/emugen
# For gl2_types.h !
$(call emugl-export,C_INCLUDES,$(EMUGL_PATH)/system/GLESv2_enc)
$(call emugl-export,C_INCLUDES,$(LOCAL_PATH))
LOCAL_IS_HOST_MODULE := true
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := libGLESv2_dec
intermediates := $(local-intermediates-dir)
LOCAL_SRC_FILES := \
GL2Decoder.cpp
LOCAL_C_INCLUDES += \
$(emulatorOpengl)/shared \
$(emulatorOpengl)/shared/OpenglCodecCommon \
$(emulatorOpengl)/host/include/libOpenglRender \
$(emulatorOpengl)/system/GLESv2_enc
LOCAL_STATIC_LIBRARIES := \
libOpenglCodecCommon \
libOpenglOsUtils \
liblog
# XXX - uncomment for debug
#LOCAL_CFLAGS := -DDEBUG_PRINTOUT -O0 -g
LOCAL_LDLIBS := -ldl
GEN := $(intermediates)/gl2_dec.cpp $(intermediates)/gl2_dec.h $(intermediates)/gl2_server_context.cpp
$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
$(GEN) : PRIVATE_CUSTOM_TOOL := $(EMUGEN) -D $(intermediates) -i $(emulatorOpengl)/system/GLESv2_enc gl2
$(GEN) : $(EMUGEN) \
$(emulatorOpengl)/system/GLESv2_enc/gl2.attrib \
$(emulatorOpengl)/system/GLESv2_enc/gl2.in \
$(emulatorOpengl)/system/GLESv2_enc/gl2.types
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
include $(BUILD_HOST_SHARED_LIBRARY)
LOCAL_SRC_FILES := GL2Decoder.cpp
$(call emugl-end-module)

View File

@@ -5,7 +5,7 @@
#define GLES2_LIBNAME "libGLESv2.so"
#include "gl2_dec.h"
#include "OpenglOsUtils/osDynLibrary.h"
#include "osDynLibrary.h"
#include "GLDecoderContextData.h"

View File

@@ -1,16 +1,14 @@
LOCAL_PATH := $(call my-dir)
### EGL host implementation ########################
include $(CLEAR_VARS)
translator_path := $(LOCAL_PATH)/..
$(call emugl-begin-host-shared-library,libEGL_translator)
$(call emugl-import,libGLcommon)
OS_SRCS:=
ifeq ($(HOST_OS),linux)
OS_SRCS = EglX11Api.cpp
LOCAL_LDLIBS := -lX11 -lGL -ldl -lpthread
LOCAL_LDLIBS += -lX11 -lGL -ldl -lpthread
endif
ifeq ($(HOST_OS),darwin)
@@ -18,12 +16,12 @@ ifeq ($(HOST_OS),darwin)
MacNative.m \
MacPixelFormatsAttribs.m
LOCAL_LDLIBS := -Wl,-framework,AppKit
LOCAL_LDLIBS += -Wl,-framework,AppKit
endif
ifeq ($(HOST_OS),windows)
OS_SRCS = EglWindowsApi.cpp
LOCAL_LDLIBS := -lopengl32 -lgdi32
LOCAL_LDLIBS += -lopengl32 -lgdi32
endif
LOCAL_SRC_FILES := \
@@ -41,21 +39,5 @@ LOCAL_SRC_FILES := \
EglThreadInfo.cpp \
EglDisplay.cpp
LOCAL_C_INCLUDES += \
$(translator_path)/include \
$(translator_path)/../../../shared
LOCAL_CFLAGS := -g -O0
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := libEGL_translator
LOCAL_STATIC_LIBRARIES := \
libGLcommon \
libcutils \
libutils \
liblog \
libOpenglOsUtils
include $(BUILD_HOST_SHARED_LIBRARY)
$(call emugl-end-module)

View File

@@ -1,38 +1,15 @@
LOCAL_PATH := $(call my-dir)
### GLES_CM host implementation (On top of OpenGL) ########################
include $(CLEAR_VARS)
$(call emugl-begin-host-shared-library,libGLES_CM_translator)
translator_path := $(LOCAL_PATH)/..
$(call emugl-import,libGLcommon)
LOCAL_SRC_FILES := \
GLEScmImp.cpp \
GLEScmUtils.cpp \
TextureUtils.cpp \
GLEScmContext.cpp \
GLEScmValidate.cpp
LOCAL_C_INCLUDES += \
$(translator_path)/include \
$(translator_path)/../../../shared
LOCAL_STATIC_LIBRARIES := \
libGLcommon \
libOpenglOsUtils \
libutils \
libcutils
LOCAL_CFLAGS := -g -O0
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := libGLES_CM_translator
ifeq ($(HOST_OS),linux)
LOCAL_LDLIBS := -lGL -ldl
endif
ifeq ($(HOST_OS),windows)
LOCAL_LDLIBS := -lopengl32 -lgdi32
endif
include $(BUILD_HOST_SHARED_LIBRARY)
GLEScmValidate.cpp
$(call emugl-end-module)

View File

@@ -1,9 +1,8 @@
LOCAL_PATH := $(call my-dir)
### GLES_CM host implementation (On top of OpenGL) ########################
include $(CLEAR_VARS)
translator_path := $(LOCAL_PATH)/..
$(call emugl-begin-host-shared-library,libGLES_V2_translator)
$(call emugl-import, libGLcommon)
LOCAL_SRC_FILES := \
GLESv2Imp.cpp \
@@ -11,27 +10,4 @@ LOCAL_SRC_FILES := \
GLESv2Validate.cpp \
ShaderParser.cpp \
LOCAL_C_INCLUDES += \
$(translator_path)/include \
LOCAL_STATIC_LIBRARIES := \
libGLcommon \
libOpenglOsUtils \
libutils \
libcutils
ifeq ($(HOST_OS),linux)
LOCAL_LDLIBS := -lGL -ldl
endif
ifeq ($(HOST_OS),windows)
LOCAL_LDLIBS := -lopengl32 -lgdi32
endif
LOCAL_CFLAGS := -g -O0
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := libGLES_V2_translator
include $(BUILD_HOST_SHARED_LIBRARY)
$(call emugl-end-module)

View File

@@ -1,8 +1,9 @@
LOCAL_PATH := $(call my-dir)
### EGL host implementation ########################
include $(CLEAR_VARS)
$(call emugl-begin-host-static-library,libGLcommon)
$(call emugl-import,libOpenglOsUtils)
translator_path := $(LOCAL_PATH)/..
@@ -18,25 +19,16 @@ LOCAL_SRC_FILES := \
objectNameManager.cpp
LOCAL_C_INCLUDES += \
$(translator_path)/include \
$(translator_path)/../../../shared
LOCAL_STATIC_LIBRARIES := \
libOpenglOsUtils \
libutils \
libcutils
LOCAL_CFLAGS := -g -O0
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := libGLcommon
ifeq ($(HOST_OS),linux)
LOCAL_LDFLAGS := -Wl,--whole-archive
LOCAL_LDLIBS := -lGL -ldl
# $(call emugl-export,LDFLAGS,-Wl,--whole-archive)
$(call emugl-export,LDLIBS,-lGL -ldl)
endif
ifeq ($(HOST_OS),windows)
LOCAL_LDLIBS := -lopengl32 -lgdi32
$(call emugl-export,LDLIBS,-lopengl32 -lgdi32)
endif
include $(BUILD_HOST_STATIC_LIBRARY)
$(call emugl-export,C_INCLUDES,$(LOCAL_PATH)/../include $(EMUGL_PATH)/shared)
$(call emugl-export,STATIC_LIBRARIES, libcutils liblog)
$(call emugl-end-module)

View File

@@ -1,18 +1,11 @@
LOCAL_PATH := $(call my-dir)
ifneq ($(HOST_OS),darwin)
### libOpenglRender #################################################
include $(CLEAR_VARS)
$(call emugl-begin-host-shared-library,libOpenglRender)
emulatorOpengl := $(LOCAL_PATH)/../../..
LOCAL_IS_HOST_MODULE := true
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := libOpenglRender
LOCAL_ADDITIONAL_DEPENDENCIES := \
$(HOST_OUT_SHARED_LIBRARIES)/lib_renderControl_dec$(HOST_SHLIB_SUFFIX) \
$(HOST_OUT_SHARED_LIBRARIES)/libGLESv1_dec$(HOST_SHLIB_SUFFIX)
$(call emugl-import,libGLESv1_dec lib_renderControl_dec libOpenglCodecCommon libOpenglOsUtils)
LOCAL_SRC_FILES := \
render_api.cpp \
@@ -30,39 +23,8 @@ LOCAL_SRC_FILES := \
ReadBuffer.cpp \
RenderServer.cpp
LOCAL_C_INCLUDES += \
$(emulatorOpengl)/host/include \
$(emulatorOpengl)/shared/OpenglCodecCommon \
$(emulatorOpengl)/shared/OpenglOsUtils \
$(emulatorOpengl)/host/include/libOpenglRender \
$(emulatorOpengl)/host/libs/GLESv1_dec \
$(emulatorOpengl)/system/GLESv1_enc \
$(emulatorOpengl)/system/renderControl_enc \
$(call intermediates-dir-for, SHARED_LIBRARIES, libGLESv1_dec, HOST) \
$(call intermediates-dir-for, SHARED_LIBRARIES, lib_renderControl_dec, HOST)
$(call emugl-export,C_INCLUDES,$(EMUGL_PATH)/host/include)
LOCAL_STATIC_LIBRARIES := \
libOpenglCodecCommon \
libOpenglOsUtils \
libcutils \
libutils \
liblog
$(call emugl-end-module)
LOCAL_SHARED_LIBRARIES := \
libGLESv1_dec \
lib_renderControl_dec
ifeq ($(HOST_OS),windows)
LOCAL_LDLIBS := -lws2_32
endif
ifeq ($(HOST_OS),linux)
LOCAL_LDLIBS := -ldl -lpthread -lrt
endif
# XXX - uncomment for debug
#LOCAL_CFLAGS := -O0 -g
include $(BUILD_HOST_SHARED_LIBRARY)
endif # HOST_OS != darwin

View File

@@ -1,36 +1,8 @@
LOCAL_PATH := $(call my-dir)
### renderControl Decoder ###########################################
include $(CLEAR_VARS)
emulatorOpengl := $(LOCAL_PATH)/../../..
EMUGEN := $(BUILD_OUT_EXECUTABLES)/emugen
LOCAL_IS_HOST_MODULE := true
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := lib_renderControl_dec
LOCAL_SRC_FILES :=
#LOCAL_CFLAGS += -DDEBUG_PRINTOUT -O0 -g
intermediates := $(local-intermediates-dir)
LOCAL_STATIC_LIBRARIES := \
libOpenglCodecCommon \
liblog
LOCAL_C_INCLUDES += $(emulatorOpengl)/shared/OpenglCodecCommon \
$(emulatorOpengl)/host/include/libOpenglRender \
$(emulatorOpengl)/system/renderControl_enc
#we use only *_dec.h as a sentinel for the other generated headers
GEN := $(intermediates)/renderControl_dec.cpp $(intermediates)/renderControl_dec.h
$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
$(GEN): PRIVATE_CUSTOM_TOOL := $(EMUGEN) -D $(intermediates) -i $(emulatorOpengl)/system/renderControl_enc renderControl
$(GEN): $(EMUGEN) \
$(emulatorOpengl)/system/renderControl_enc/renderControl.attrib \
$(emulatorOpengl)/system/renderControl_enc/renderControl.in \
$(emulatorOpengl)/system/renderControl_enc/renderControl.types
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
include $(BUILD_HOST_SHARED_LIBRARY)
$(call emugl-begin-host-shared-library,lib_renderControl_dec)
$(call emugl-import,libOpenglCodecCommon)
$(call emugl-gen-decoder,$(EMUGL_PATH)/system/renderControl_enc,renderControl)
# For renderControl_types.h
$(call emugl-export,C_INCLUDES,$(EMUGL_PATH)/system/renderControl_enc)
$(call emugl-end-module)

View File

@@ -1,10 +1,16 @@
LOCAL_PATH:=$(call my-dir)
include $(CLEAR_VARS)
$(call emugl-begin-host-executable,emugen)
LOCAL_MODULE_TAGS := debug
LOCAL_SRC_FILES := ApiGen.cpp EntryPoint.cpp main.cpp strUtils.cpp TypeFactory.cpp
LOCAL_MODULE := emugen
LOCAL_SRC_FILES := \
ApiGen.cpp \
EntryPoint.cpp \
main.cpp \
strUtils.cpp \
TypeFactory.cpp
include $(BUILD_HOST_EXECUTABLE)
$(call emugl-end-module)
# The location of the emugen host tool that is used to generate wire
# protocol encoders/ decoders. This variable is used by other emugl modules.
EMUGL_EMUGEN := $(LOCAL_BUILT_MODULE)

View File

@@ -1,38 +1,33 @@
# This build script corresponds to a library containing many definitions
# common to both the guest and the host. They relate to
#
LOCAL_PATH := $(call my-dir)
emulatorOpengl := $(LOCAL_PATH)/../..
### OpenglCodecCommon ##############################################
### CodecCommon guest ##############################################
$(call emugl-begin-static-library,libOpenglCodecCommon)
include $(CLEAR_VARS)
OpenglCodecCommon := \
LOCAL_SRC_FILES := \
GLClientState.cpp \
glUtils.cpp \
TcpStream.cpp \
TimeUtils.cpp
LOCAL_SRC_FILES := $(OpenglCodecCommon)
LOCAL_C_INCLUDES += $(emulatorOpengl)/host/include/libOpenglRender
LOCAL_CFLAGS += -DLOG_TAG=\"eglCodecCommon\"
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := libOpenglCodecCommon
include $(BUILD_STATIC_LIBRARY)
$(call emugl-export,SHARED_LIBRARIES,libcutils)
$(call emugl-export,C_INCLUDES,$(LOCAL_PATH))
$(call emugl-end-module)
### OpenglCodecCommon host ##############################################
include $(CLEAR_VARS)
$(call emugl-begin-host-static-library,libOpenglCodecCommon)
LOCAL_SRC_FILES := $(OpenglCodecCommon)
LOCAL_SRC_FILES := \
GLClientState.cpp \
glUtils.cpp \
TcpStream.cpp \
TimeUtils.cpp
LOCAL_C_INCLUDES += $(emulatorOpengl)/host/include/libOpenglRender
$(call emugl-export,STATIC_LIBRARIES,libcutils)
$(call emugl-export,C_INCLUDES,$(LOCAL_PATH))
$(call emugl-end-module)
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := libOpenglCodecCommon
LOCAL_PRELINK_MODULE := false
# XXX - enable the next line for host debugging - JR
# LOCAL_CFLAGS := -O0 -g
include $(BUILD_HOST_STATIC_LIBRARY)

View File

@@ -1,42 +1,48 @@
# This build script corresponds to a small library containing
# OS-specific support functions for:
# - thread-local storage
# - dynamic library loading
# - child process creation and wait (probably not needed in guest)
#
LOCAL_PATH := $(call my-dir)
emulatorOpengl := $(LOCAL_PATH)/../..
### OpenglOsUtils ##############################################
### Guest library ##############################################
$(call emugl-begin-static-library,libOpenglOsUtils)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := \
osProcessUnix.cpp \
osThreadUnix.cpp \
osDynLibrary.cpp
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := libOpenglOsUtils
include $(BUILD_STATIC_LIBRARY)
### OpenglOsUtils host ##############################################
include $(CLEAR_VARS)
ifneq ($(HOST_OS),windows)
$(call emugl-export,C_INCLUDES,$(LOCAL_PATH))
$(call emugl-export,LDLIBS,-ldl)
LOCAL_SRC_FILES := \
osProcessUnix.cpp \
osThreadUnix.cpp \
osDynLibrary.cpp
LOCAL_LDLIBS := -ldl
$(call emugl-end-module)
else # !linux
LOCAL_SRC_FILES := \
osProcessWin.cpp \
osThreadWin.cpp \
osDynLibrary.cpp
### Host library ##############################################
$(call emugl-begin-host-static-library,libOpenglOsUtils)
endif # windows
$(call emugl-export,C_INCLUDES,$(LOCAL_PATH))
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := libOpenglOsUtils
LOCAL_SRC_FILES := osDynLibrary.cpp
include $(BUILD_HOST_STATIC_LIBRARY)
ifeq ($(HOST_OS),windows)
LOCAL_SRC_FILES += \
osProcessWin.cpp \
osThreadWin.cpp
$(call emugl-export,LDLIBS,-lws2_32)
else
LOCAL_SRC_FILES += \
osProcessUnix.cpp \
osThreadUnix.cpp
$(call emugl-export,LDLIBS,-ldl)
endif
ifeq ($(HOST_OS),linux)
$(call emugl-export,LDLIBS,-lpthread -lrt)
endif
$(call emugl-end-module)

View File

@@ -1,47 +1,58 @@
LOCAL_PATH := $(call my-dir)
emulatorOpengl := $(LOCAL_PATH)/../..
### GLESv1 implementation ###########################################
include $(CLEAR_VARS)
$(call emugl-begin-shared-library,libGLESv1_CM_emulation)
$(call emugl-import,libOpenglSystemCommon libGLESv1_enc lib_renderControl_enc)
# add additional depencies to ensure that the generated code that we depend on
# is generated
LOCAL_ADDITIONAL_DEPENDENCIES := \
$(TARGET_OUT_SHARED_LIBRARIES)/lib_renderControl_enc$(TARGET_SHLIB_SUFFIX) \
$(TARGET_OUT_SHARED_LIBRARIES)/libGLESv1_enc$(TARGET_SHLIB_SUFFIX)
LOCAL_SRC_FILES := \
gl.cpp
LOCAL_PRELINK_MODULE := false
LOCAL_CFLAGS += -DLOG_TAG=\"GLES_emulation\" -DGL_GLEXT_PROTOTYPES
LOCAL_C_INCLUDES += \
$(emulatorOpengl)/host/include/libOpenglRender \
$(emulatorOpengl)/shared/OpenglCodecCommon \
$(emulatorOpengl)/system/OpenglSystemCommon \
$(emulatorOpengl)/system/GLESv1_enc \
$(emulatorOpengl)/system/renderControl_enc \
$(call intermediates-dir-for, SHARED_LIBRARIES, lib_renderControl_enc) \
$(call intermediates-dir-for, SHARED_LIBRARIES, libGLESv1_enc)
LOCAL_MODULE_TAGS := debug
LOCAL_SRC_FILES := gl.cpp
LOCAL_STATIC_LIBRARIES += libqemu
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/egl
LOCAL_MODULE := libGLESv1_CM_emulation
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
$(call emugl-end-module)
LOCAL_STATIC_LIBRARIES := \
libOpenglCodecCommon \
libqemu
LOCAL_SHARED_LIBRARIES := \
libcutils \
libutils \
libdl \
libOpenglSystemCommon \
libGLESv1_enc \
lib_renderControl_enc
include $(BUILD_SHARED_LIBRARY)
#
# include $(CLEAR_VARS)
#
# # add additional depencies to ensure that the generated code that we depend on
# # is generated
# LOCAL_ADDITIONAL_DEPENDENCIES := \
# $(TARGET_OUT_SHARED_LIBRARIES)/lib_renderControl_enc$(TARGET_SHLIB_SUFFIX) \
# $(TARGET_OUT_SHARED_LIBRARIES)/libGLESv1_enc$(TARGET_SHLIB_SUFFIX)
#
# LOCAL_SRC_FILES := \
# gl.cpp
#
#
# LOCAL_PRELINK_MODULE := false
# LOCAL_CFLAGS += -DLOG_TAG=\"GLES_emulation\" -DGL_GLEXT_PROTOTYPES
# LOCAL_C_INCLUDES += \
# $(emulatorOpengl)/host/include/libOpenglRender \
# $(emulatorOpengl)/shared/OpenglCodecCommon \
# $(emulatorOpengl)/system/OpenglSystemCommon \
# $(emulatorOpengl)/system/GLESv1_enc \
# $(emulatorOpengl)/system/renderControl_enc \
# $(call intermediates-dir-for, SHARED_LIBRARIES, lib_renderControl_enc) \
# $(call intermediates-dir-for, SHARED_LIBRARIES, libGLESv1_enc)
#
# LOCAL_MODULE_TAGS := debug
# LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/egl
# LOCAL_MODULE := libGLESv1_CM_emulation
# LOCAL_MODULE_CLASS := SHARED_LIBRARIES
#
#
# LOCAL_STATIC_LIBRARIES := \
# libOpenglCodecCommon \
# libqemu
#
# LOCAL_SHARED_LIBRARIES := \
# libcutils \
# libutils \
# libdl \
# libOpenglSystemCommon \
# libGLESv1_enc \
# lib_renderControl_enc
#
#
# include $(BUILD_SHARED_LIBRARY)

View File

@@ -1,51 +1,18 @@
LOCAL_PATH := $(call my-dir)
emulatorOpengl := $(LOCAL_PATH)/../..
### GLESv1_enc Encoder ###########################################
include $(CLEAR_VARS)
$(call emugl-begin-shared-library,libGLESv1_enc)
LOCAL_CFLAGS += -DLOG_TAG=\"emuglGLESv1_enc\"
LOCAL_SRC_FILES := \
GLEncoder.cpp \
GLEncoderUtils.cpp
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := libGLESv1_enc
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
$(call emugl-gen-encoder,$(LOCAL_PATH),gl)
glesv1_intermediates := $(local-intermediates-dir)
$(call emugl-import,libOpenglCodecCommon)
$(call emugl-export,C_INCLUDES,$(LOCAL_PATH))
$(call emugl-export,C_INCLUDES,$(intermediates))
LOCAL_PRELINK_MODULE := false
LOCAL_CFLAGS += -DLOG_TAG=\"egl_GLESv1_enc\"
LOCAL_C_INCLUDES += \
$(emulatorOpengl)/shared/OpenglCodecCommon \
$(emulatorOpengl)/host/include/libOpenglRender \
$(emulatorOpengl)/system/renderControl_enc \
$(call intermediates-dir-for, SHARED_LIBRARIES, lib_renderControl_enc) \
$(glesv1_intermediates)
LOCAL_STATIC_LIBRARIES := \
libOpenglCodecCommon \
libqemu
LOCAL_SHARED_LIBRARIES := \
libcutils
EMUGEN := $(HOST_OUT_EXECUTABLES)/emugen
GEN_GL := \
$(glesv1_intermediates)/gl_entry.cpp \
$(glesv1_intermediates)/gl_enc.cpp \
$(glesv1_intermediates)/gl_enc.h
$(GEN_GL) : PRIVATE_PATH := $(LOCAL_PATH)
$(GEN_GL) : PRIVATE_CUSTOM_TOOL := \
$(EMUGEN) -E $(glesv1_intermediates) -i $(PRIVATE_PATH) gl
$(GEN_GL) : $(EMUGEN) \
$(LOCAL_PATH)/gl.attrib \
$(LOCAL_PATH)/gl.in \
$(LOCAL_PATH)//gl.types
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN_GL)
include $(BUILD_SHARED_LIBRARY)
$(call emugl-end-module)

View File

@@ -1,49 +1,18 @@
LOCAL_PATH := $(call my-dir)
emulatorOpengl := $(LOCAL_PATH)/../..
### GLESv2_enc Encoder ###########################################
include $(CLEAR_VARS)
$(call emugl-begin-shared-library,libGLESv2_enc)
LOCAL_SRC_FILES := \
GL2EncoderUtils.cpp \
GL2Encoder.cpp
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := libGLESv2_enc
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
glesv2_intermediates := $(local-intermediates-dir)
LOCAL_PRELINK_MODULE := false
LOCAL_CFLAGS += -DLOG_TAG=\"egl_GLESv2_enc\"
LOCAL_C_INCLUDES += \
$(emulatorOpengl)/shared/OpenglCodecCommon \
$(emulatorOpengl)/host/include/libOpenglRender \
$(glesv2_intermediates)
LOCAL_STATIC_LIBRARIES := \
libOpenglCodecCommon
LOCAL_SHARED_LIBRARIES := libcutils
EMUGEN := $(HOST_OUT_EXECUTABLES)/emugen
GEN_GL2 := \
$(glesv2_intermediates)/gl2_entry.cpp \
$(glesv2_intermediates)/gl2_enc.cpp \
$(glesv2_intermediates)/gl2_enc.h
$(GEN_GL2) : PRIVATE_PATH := $(LOCAL_PATH)
$(GEN_GL2) : PRIVATE_CUSTOM_TOOL := \
$(EMUGEN) -E $(glesv2_intermediates) -i $(PRIVATE_PATH) gl2
$(GEN_GL2) : $(EMUGEN) \
$(LOCAL_PATH)/gl2.attrib \
$(LOCAL_PATH)/gl2.in \
$(LOCAL_PATH)/gl2.types
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN_GL2)
include $(BUILD_SHARED_LIBRARY)
GL2EncoderUtils.cpp \
GL2Encoder.cpp
LOCAL_CFLAGS += -DLOG_TAG=\"emuglGLESv2_enc\"
$(call emugl-gen-encoder,$(LOCAL_PATH),gl2)
$(call emugl-export,C_INCLUDES,$(LOCAL_PATH))
$(call emugl-import,libOpenglCodecCommon)
$(call emugl-end-module)

View File

@@ -1,41 +1,15 @@
LOCAL_PATH := $(call my-dir)
emulatorOpengl := $(LOCAL_PATH)/../..
### OpenglSystemCommon ##############################################
include $(CLEAR_VARS)
# add additional depencies to ensure that the generated code that we depend on
# is generated
LOCAL_ADDITIONAL_DEPENDENCIES := \
$(TARGET_OUT_SHARED_LIBRARIES)/lib_renderControl_enc$(TARGET_SHLIB_SUFFIX) \
$(TARGET_OUT_SHARED_LIBRARIES)/libGLESv1_enc$(TARGET_SHLIB_SUFFIX)
$(call emugl-begin-shared-library,libOpenglSystemCommon)
$(call emugl-import,libGLESv1_enc lib_renderControl_enc)
LOCAL_SRC_FILES := \
HostConnection.cpp \
QemuPipeStream.cpp \
ThreadInfo.cpp
HostConnection.cpp \
QemuPipeStream.cpp \
ThreadInfo.cpp
LOCAL_C_INCLUDES += \
$(emulatorOpengl)/host/include/libOpenglRender \
$(emulatorOpengl)/shared/OpenglCodecCommon \
$(emulatorOpengl)/system/GLESv1_enc \
$(emulatorOpengl)/system/renderControl_enc \
$(call intermediates-dir-for, SHARED_LIBRARIES, lib_renderControl_enc) \
$(call intermediates-dir-for, SHARED_LIBRARIES, libGLESv1_enc)
$(call emugl-export,C_INCLUDES,$(LOCAL_PATH))
LOCAL_STATIC_LIBRARIES := \
libOpenglCodecCommon \
libqemu
LOCAL_STATIC_LIBRARIES += libqemu
LOCAL_SHARED_LIBRARIES := \
lib_renderControl_enc \
libGLESv1_enc \
libcutils \
libutils
LOCAL_PRELINK_MODULE := false
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := libOpenglSystemCommon
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
include $(BUILD_SHARED_LIBRARY)
$(call emugl-end-module)

View File

@@ -1,40 +1,7 @@
LOCAL_PATH := $(call my-dir)
emulatorOpengl := $(LOCAL_PATH)/../..
EMUGEN := $(HOST_OUT_EXECUTABLES)/emugen
#### renderControl ####
include $(CLEAR_VARS)
LOCAL_SRC_FILES :=
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := lib_renderControl_enc
LOCAL_PRELINK_MODULE := false
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
rc_intermediates := $(local-intermediates-dir)
LOCAL_C_INCLUDES += $(emulatorOpengl)/shared/OpenglCodecCommon \
$(emulatorOpengl)/host/include/libOpenglRender
LOCAL_STATIC_LIBRARIES := \
libOpenglCodecCommon
LOCAL_SHARED_LIBRARIES := libcutils
LOCAL_CFLAGS += -DDEBUG_PRINTOUT -O0 -g
RC_GEN := \
$(rc_intermediates)/renderControl_enc.cpp \
$(rc_intermediates)/renderControl_enc.h
$(RC_GEN) : PRIVATE_PATH = $(LOCAL_PATH)
$(RC_GEN) : PRIVATE_CUSTOM_TOOL := \
$(EMUGEN) -i $(PRIVATE_PATH) -E $(rc_intermediates) renderControl
$(RC_GEN) : $(EMUGEN) \
$(LOCAL_PATH)/renderControl.in \
$(LOCAL_PATH)/renderControl.attrib \
$(LOCAL_PATH)/renderControl.types
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(RC_GEN)
include $(BUILD_SHARED_LIBRARY)
$(call emugl-begin-shared-library,lib_renderControl_enc)
$(call emugl-gen-encoder,$(LOCAL_PATH),renderControl)
$(call emugl-export,C_INCLUDES,$(LOCAL_PATH))
$(call emugl-import,libOpenglCodecCommon)
$(call emugl-end-module)

View File

@@ -2,19 +2,15 @@ ifeq ($(HOST_OS),linux)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
$(call emugl-begin-host-static-library,libEGL_host_wrapper)
LOCAL_SRC_FILES := \
egl.cpp \
egl_dispatch.cpp
LOCAL_MODULE := libEGL_host_wrapper
LOCAL_MODULE_TAGS := debug
$(call emugl-export,LDLIBS,-ldl -pthread)
$(call emugl-export,C_INCLUDES,$(LOCAL_PATH))
OS_LDLIBS := -ldl -lpthread
$(call emugl-end-module)
LOCAL_LDLIBS := $(OS_LDLIBS)
include $(BUILD_HOST_SHARED_LIBRARY)
endif # HOST_OS == linux
endif # HOST_OS == linux

View File

@@ -2,16 +2,11 @@ LOCAL_PATH:=$(call my-dir)
# For now, OS X is not supported
ifneq ($(HOST_OS),darwin)
# test opengl renderer driver ###########################
include $(CLEAR_VARS)
emulatorOpengl := $(LOCAL_PATH)/../..
$(call emugl-begin-host-executable,emulator_test_renderer)
$(call emugl-import,libOpenglRender)
LOCAL_MODULE := emulator_test_renderer
LOCAL_MODULE_TAGS := debug
LOCAL_SRC_FILES := \
main.cpp
LOCAL_SRC_FILES := main.cpp
PREBUILT := $(HOST_PREBUILT_TAG)
SDL_CONFIG ?= prebuilt/$(PREBUILT)/sdl/bin/sdl-config
@@ -21,16 +16,8 @@ SDL_LDLIBS := $(filter-out %.a %.lib,$(shell $(SDL_CONFIG) --static-libs))
LOCAL_CFLAGS += $(SDL_CFLAGS) -g -O0
LOCAL_LDLIBS += $(SDL_LDLIBS)
LOCAL_C_INCLUDES := $(emulatorOpengl)/host/include \
$(emulatorOpengl)/host/include/libOpenglRender \
$(emulatorOpengl)/shared/OpenglCodecCommon \
$(emulatorOpengl)/host/libs/libOpenglRender
LOCAL_SHARED_LIBRARIES := libOpenglRender \
libGLESv1_dec \
lib_renderControl_dec
LOCAL_STATIC_LIBRARIES += libSDL libSDLmain
include $(BUILD_HOST_EXECUTABLE)
$(call emugl-end-module)
endif # HOST_OS != darwin

View File

@@ -1,5 +1,15 @@
LOCAL_PATH := $(call my-dir)
#### libGLESv1_CM_emul.so
$(call emugl-begin-shared-library,libGLESv1_CM_emul)
$(call emugl-import,libGLESv1_enc)
$(call emugl-gen-wrapper,$(EMUGL_PATH)/system/GLESv1_enc,gl)
$(call emugl-set-shared-library-subpath,egl)
LOCAL_SRC_FILES += glesv1_emul_ifc.cpp
$(call emugl-end-module)
emulatorOpengl := $(LOCAL_PATH)/../..
logTag := -DLOG_TAG=\"eglWrapper\"
EMUGEN = $(BUILD_OUT_EXECUTABLES)/emugen
@@ -7,80 +17,104 @@ EMUGEN = $(BUILD_OUT_EXECUTABLES)/emugen
#debugFlags = -g -O0
#### libGLESv1_CM_emul.so
include $(CLEAR_VARS)
LOCAL_MODULE := libGLESv1_CM_emul
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/egl
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_SRC_FILES := glesv1_emul_ifc.cpp
LOCAL_PRELINK_MODULE := false
LOCAL_MODULE_TAGS := debug
LOCAL_SHARED_LIBRARIES := libdl libcutils
LOCAL_CFLAGS += $(debugFlags)
LOCAL_C_INCLUDES += \
$(emulatorOpengl)/system/GLESv1_enc \
$(emulatorOpengl)/shared/OpenglCodecCommon
glesv1_emul_intermediates := $(local-intermediates-dir)
GEN_GLESv1_emul := \
$(glesv1_emul_intermediates)/gl_wrapper_entry.cpp \
$(glesv1_emul_intermediates)/gl_wrapper_context.cpp
$(GEN_GLESv1_emul) : PRIVATE_PATH := $(LOCAL_PATH)
$(GEN_GLESv1_emul) : PRIVATE_CUSTOM_TOOL := \
$(EMUGEN) -W $(glesv1_emul_intermediates) -i $(emulatorOpengl)/system/GLESv1_enc gl
$(GEN_GLESv1_emul) : $(EMUGEN) \
$(emulatorOpengl)/system/GLESv1_enc/gl.in \
$(emulatorOpengl)/system/GLESv1_enc/gl.attrib \
$(emulatorOpengl)/system/GLESv1_enc/gl.types
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN_GLESv1_emul)
include $(BUILD_SHARED_LIBRARY)
# include $(CLEAR_VARS)
#
#
#
# LOCAL_MODULE := libGLESv1_CM_emul
# LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/egl
# LOCAL_MODULE_CLASS := SHARED_LIBRARIES
# LOCAL_SRC_FILES := glesv1_emul_ifc.cpp
#
# LOCAL_PRELINK_MODULE := false
# LOCAL_MODULE_TAGS := debug
# LOCAL_SHARED_LIBRARIES := libdl libcutils
# LOCAL_CFLAGS += $(debugFlags)
#
# LOCAL_C_INCLUDES += \
# $(emulatorOpengl)/system/GLESv1_enc \
# $(emulatorOpengl)/shared/OpenglCodecCommon
#
# glesv1_emul_intermediates := $(local-intermediates-dir)
#
# GEN_GLESv1_emul := \
# $(glesv1_emul_intermediates)/gl_wrapper_entry.cpp \
# $(glesv1_emul_intermediates)/gl_wrapper_context.cpp
# $(GEN_GLESv1_emul) : PRIVATE_PATH := $(LOCAL_PATH)
# $(GEN_GLESv1_emul) : PRIVATE_CUSTOM_TOOL := \
# $(EMUGEN) -W $(glesv1_emul_intermediates) -i $(emulatorOpengl)/system/GLESv1_enc gl
# $(GEN_GLESv1_emul) : $(EMUGEN) \
# $(emulatorOpengl)/system/GLESv1_enc/gl.in \
# $(emulatorOpengl)/system/GLESv1_enc/gl.attrib \
# $(emulatorOpengl)/system/GLESv1_enc/gl.types
# $(transform-generated-source)
#
# LOCAL_GENERATED_SOURCES += $(GEN_GLESv1_emul)
#
# include $(BUILD_SHARED_LIBRARY)
#### libGLESv2_CM_emul.so
include $(CLEAR_VARS)
$(call emugl-begin-shared-library, libGLESv2_emul)
$(call emugl-import,libGLESv2_enc)
$(call emugl-gen-wrapper,$(EMUGL_PATH)/system/GLESv2_enc,gl2)
LOCAL_SRC_FILES += glesv2_emul_ifc.cpp
$(call emugl-set-shared-library-subpath,egl)
$(call emugl-end-module)
LOCAL_MODULE := libGLESv2_emul
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/egl
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_SRC_FILES := glesv2_emul_ifc.cpp
LOCAL_PRELINK_MODULE := false
LOCAL_MODULE_TAGS := debug
LOCAL_SHARED_LIBRARIES := libdl libcutils
LOCAL_CFLAGS += $(debugFlags)
LOCAL_C_INCLUDES += \
$(emulatorOpengl)/system/GLESv2_enc \
$(emulatorOpengl)/shared/OpenglCodecCommon
glesv2_emul_intermediates := $(local-intermediates-dir)
GEN_GLESv2_emul := \
$(glesv2_emul_intermediates)/gl2_wrapper_entry.cpp \
$(glesv2_emul_intermediates)/gl2_wrapper_context.cpp
$(GEN_GLESv2_emul) : PRIVATE_PATH := $(LOCAL_PATH)
$(GEN_GLESv2_emul) : PRIVATE_CUSTOM_TOOL := \
$(EMUGEN) -W $(glesv2_emul_intermediates) -i $(emulatorOpengl)/system/GLESv2_enc gl2
$(GEN_GLESv2_emul) : $(EMUGEN) \
$(emulatorOpengl)/system/GLESv2_enc/gl2.in \
$(emulatorOpengl)/system/GLESv2_enc/gl2.attrib \
$(emulatorOpengl)/system/GLESv2_enc/gl2.types
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN_GLESv2_emul)
include $(BUILD_SHARED_LIBRARY)
# include $(CLEAR_VARS)
#
# LOCAL_MODULE := libGLESv2_emul
# LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/egl
# LOCAL_MODULE_CLASS := SHARED_LIBRARIES
# LOCAL_SRC_FILES := glesv2_emul_ifc.cpp
#
# LOCAL_PRELINK_MODULE := false
# LOCAL_MODULE_TAGS := debug
# LOCAL_SHARED_LIBRARIES := libdl libcutils
# LOCAL_CFLAGS += $(debugFlags)
#
# LOCAL_C_INCLUDES += \
# $(emulatorOpengl)/system/GLESv2_enc \
# $(emulatorOpengl)/shared/OpenglCodecCommon
#
# glesv2_emul_intermediates := $(local-intermediates-dir)
#
# GEN_GLESv2_emul := \
# $(glesv2_emul_intermediates)/gl2_wrapper_entry.cpp \
# $(glesv2_emul_intermediates)/gl2_wrapper_context.cpp
#
# $(GEN_GLESv2_emul) : PRIVATE_PATH := $(LOCAL_PATH)
# $(GEN_GLESv2_emul) : PRIVATE_CUSTOM_TOOL := \
# $(EMUGEN) -W $(glesv2_emul_intermediates) -i $(emulatorOpengl)/system/GLESv2_enc gl2
# $(GEN_GLESv2_emul) : $(EMUGEN) \
# $(emulatorOpengl)/system/GLESv2_enc/gl2.in \
# $(emulatorOpengl)/system/GLESv2_enc/gl2.attrib \
# $(emulatorOpengl)/system/GLESv2_enc/gl2.types
# $(transform-generated-source)
#
# LOCAL_GENERATED_SOURCES += $(GEN_GLESv2_emul)
#
# include $(BUILD_SHARED_LIBRARY)
##### libEGL_emul.so ###########
# THE FOLLOWING DOESN'T WORK YET
#
# $(call emugl-begin-shared-library,libEGL_emul)
# $(call emugl-import,libut_rendercontrol_enc libGLESv1_enc libGLESv2_enc libOpenglSystemCommon)
#
# $(call emugl-set-shared-library-subpath,egl)
# LOCAL_CFLAGS += $(logTag)
#
# LOCAL_SRC_FILES := \
# egl.cpp \
# egl_dispatch.cpp \
# ServerConnection.cpp \
# ThreadInfo.cpp
#
# $(call emugl-end-module)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := \

View File

@@ -1,7 +1,7 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
translator_path := $(LOCAL_PATH)/../../../host/libs/Translator
$(call emugl-begin-host-executable,triangleCM)
$(call emugl-import,libEGL_translator libGLES_CM_translator)
PREBUILT := $(HOST_PREBUILT_TAG)
SDL_CONFIG ?= prebuilt/$(PREBUILT)/sdl/bin/sdl-config
@@ -11,27 +11,50 @@ SDL_LDLIBS := $(filter-out %.a %.lib,$(shell $(SDL_CONFIG) --static-libs))
LOCAL_SRC_FILES:= \
triangleCM.cpp
LOCAL_SHARED_LIBRARIES := \
libEGL_translator \
libGLES_CM_translator
LOCAL_CFLAGS += $(SDL_CFLAGS) -g -O0
LOCAL_LDLIBS += $(SDL_LDLIBS)
LOCAL_MODULE:= triangleCM
LOCAL_MODULE_TAGS := debug
LOCAL_STATIC_LIBRARIES += libSDL libSDLmain
LOCAL_STATIC_LIBRARIES += libSDL libSDLmain
ifeq ($(HOST_OS),darwin)
LOCAL_LDLIBS += -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit
LOCAL_STATIC_LIBRARIES += libMac_view
LOCAL_C_INCLUDES += \
$(LOCAL_PATH)/../MacCommon \
$(translator_path)/include
$(call emugl-import,libMac_view)
endif
include $(BUILD_HOST_EXECUTABLE)
$(call emugl-end-module)
# include $(CLEAR_VARS)
#
# translator_path := $(LOCAL_PATH)/../../../host/libs/Translator
#
# PREBUILT := $(HOST_PREBUILT_TAG)
# SDL_CONFIG ?= prebuilt/$(PREBUILT)/sdl/bin/sdl-config
# SDL_CFLAGS := $(shell $(SDL_CONFIG) --cflags)
# SDL_LDLIBS := $(filter-out %.a %.lib,$(shell $(SDL_CONFIG) --static-libs))
#
# LOCAL_SRC_FILES:= \
# triangleCM.cpp
#
#
# LOCAL_SHARED_LIBRARIES := \
# libEGL_translator \
# libGLES_CM_translator
#
# LOCAL_CFLAGS += $(SDL_CFLAGS) -g -O0
# LOCAL_LDLIBS += $(SDL_LDLIBS)
#
#
# LOCAL_MODULE:= triangleCM
# LOCAL_MODULE_TAGS := debug
# LOCAL_STATIC_LIBRARIES += libSDL libSDLmain
#
# ifeq ($(HOST_OS),darwin)
#
# LOCAL_LDLIBS += -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit
# LOCAL_STATIC_LIBRARIES += libMac_view
# LOCAL_C_INCLUDES += \
# $(LOCAL_PATH)/../MacCommon \
# $(translator_path)/include
# endif
#
# include $(BUILD_HOST_EXECUTABLE)

View File

@@ -1,7 +1,7 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
translator_path := $(LOCAL_PATH)/../../../host/libs/Translator
$(call emugl-begin-host-executable,triangleV2)
$(call emugl-import,libEGL_translator libGLES_V2_translator)
PREBUILT := $(HOST_PREBUILT_TAG)
SDL_CONFIG ?= prebuilt/$(PREBUILT)/sdl/bin/sdl-config
@@ -11,28 +11,51 @@ SDL_LDLIBS := $(filter-out %.a %.lib,$(shell $(SDL_CONFIG) --static-libs))
LOCAL_SRC_FILES:= \
triangleV2.cpp
LOCAL_SHARED_LIBRARIES := \
libEGL_translator \
libGLES_V2_translator
LOCAL_CFLAGS += $(SDL_CFLAGS) -g -O0
LOCAL_LDLIBS += $(SDL_LDLIBS)
LOCAL_MODULE:= triangleV2
LOCAL_MODULE_TAGS := debug
LOCAL_STATIC_LIBRARIES += libSDL libSDLmain
ifeq ($(HOST_OS),darwin)
LOCAL_LDLIBS += -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit
LOCAL_C_INCLUDES += \
$(translator_path)/include \
$(LOCAL_PATH)/../MacCommon
LOCAL_STATIC_LIBRARIES += libMac_view
$(call emugl-import,libMac_view)
endif
include $(BUILD_HOST_EXECUTABLE)
$(call emugl-end-module)
# include $(CLEAR_VARS)
#
# translator_path := $(LOCAL_PATH)/../../../host/libs/Translator
#
# PREBUILT := $(HOST_PREBUILT_TAG)
# SDL_CONFIG ?= prebuilt/$(PREBUILT)/sdl/bin/sdl-config
# SDL_CFLAGS := $(shell $(SDL_CONFIG) --cflags)
# SDL_LDLIBS := $(filter-out %.a %.lib,$(shell $(SDL_CONFIG) --static-libs))
#
# LOCAL_SRC_FILES:= \
# triangleV2.cpp
#
#
# LOCAL_SHARED_LIBRARIES := \
# libEGL_translator \
# libGLES_V2_translator
#
# LOCAL_CFLAGS += $(SDL_CFLAGS) -g -O0
# LOCAL_LDLIBS += $(SDL_LDLIBS)
#
#
# LOCAL_MODULE:= triangleV2
# LOCAL_MODULE_TAGS := debug
# LOCAL_STATIC_LIBRARIES += libSDL libSDLmain
#
# ifeq ($(HOST_OS),darwin)
#
# LOCAL_LDLIBS += -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit
# LOCAL_C_INCLUDES += \
# $(translator_path)/include \
# $(LOCAL_PATH)/../MacCommon
# LOCAL_STATIC_LIBRARIES += libMac_view
#
# endif
#
# include $(BUILD_HOST_EXECUTABLE)

View File

@@ -1,20 +1,30 @@
LOCAL_PATH := $(call my-dir)
ifeq ($(HOST_OS),darwin)
include $(CLEAR_VARS)
$(call emugl-begin-host-static-library,libMac_view)
LIBMACVIEW_FRAMEWORKS := AppKit AudioToolbox AudioUnit
LIBMACVIEW_PREFIX := -Wl,-framework,
LOCAL_LDLIBS := -Wl,-framework,AppKit
$(call emugl-export,LDLIBS,$(foreach _framework,$(LIBMACVIEW_FRAMEWORKS),$(LIBMACVIEW_PREFIX)$(_framework)))
LOCAL_SRC_FILES := setup_gl.m
LOCAL_CFLAGS += -g -O0
$(call emugl-end-module)
endif # HOST_OS == darwin
LOCAL_SRC_FILES := setup_gl.m
LOCAL_CFLAGS := -g -O0
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := libMac_view
include $(BUILD_HOST_STATIC_LIBRARY)
endif
# include $(CLEAR_VARS)
#
#
# LOCAL_LDLIBS := -Wl,-framework,AppKit
#
# LOCAL_SRC_FILES := setup_gl.m
#
#
#
# LOCAL_CFLAGS := -g -O0
# LOCAL_MODULE_TAGS := debug
# LOCAL_MODULE := libMac_view
#
#
# include $(BUILD_HOST_STATIC_LIBRARY)
# endif

View File

@@ -1,38 +1,7 @@
LOCAL_PATH := $(call my-dir)
### ut_rendercontrol Decoder ###########################################
include $(CLEAR_VARS)
emulatorOpengl := $(LOCAL_PATH)/../..
EMUGEN := $(HOST_OUT_EXECUTABLES)/emugen
LOCAL_IS_HOST_MODULE := true
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := libut_rendercontrol_dec
LOCAL_SRC_FILES :=
#LOCAL_CFLAGS += -DDEBUG_PRINTOUT -O0 -g
intermediates := $(local-intermediates-dir)
LOCAL_STATIC_LIBRARIES := \
libOpenglCodecCommon \
liblog
LOCAL_C_INCLUDES += \
$(emulatorOpengl)/shared/OpenglCodecCommon \
$(emulatorOpengl)/host/include/libOpenglRender \
$(emulatorOpengl)/tests/ut_rendercontrol_enc
#we use only *_dec.h as a sentinel for the other generated headers
GEN := $(intermediates)/ut_rendercontrol_dec.cpp $(intermediates)/ut_rendercontrol_dec.h
$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
$(GEN): PRIVATE_CUSTOM_TOOL := $(EMUGEN) -D $(intermediates) -i $(emulatorOpengl)/tests/ut_rendercontrol_enc ut_rendercontrol
$(GEN): $(EMUGEN) \
$(emulatorOpengl)/tests/ut_rendercontrol_enc/ut_rendercontrol.attrib \
$(emulatorOpengl)/tests/ut_rendercontrol_enc/ut_rendercontrol.in \
$(emulatorOpengl)/tests/ut_rendercontrol_enc/ut_rendercontrol.types
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
include $(BUILD_HOST_SHARED_LIBRARY)
$(call emugl-begin-host-shared-library,libut_rendercontrol_dec)
$(call emugl-import, libOpenglCodecCommon)
$(call emugl-gen-decoder,$(EMUGL_PATH)/tests/ut_rendercontrol_enc,ut_rendercontrol)
$(call emugl-export,C_INCLUDES,$(EMUGL_PATH)/tests/ut_rendercontrol_enc)
$(call emugl-end-module)

View File

@@ -1,39 +1,8 @@
LOCAL_PATH := $(call my-dir)
emulatorOpengl := $(LOCAL_PATH)/../..
EMUGEN := $(BUILD_OUT_EXECUTABLES)/emugen
#### ut_rendercontrol ####
include $(CLEAR_VARS)
LOCAL_SRC_FILES :=
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := libut_rendercontrol_enc
LOCAL_PRELINK_MODULE := false
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
ut_intermediates := $(local-intermediates-dir)
LOCAL_C_INCLUDES += \
$(emulatorOpengl)/shared/OpenglCodecCommon \
$(emulatorOpengl)/host/include/libOpenglRender
LOCAL_STATIC_LIBRARIES := \
libOpenglCodecCommon
LOCAL_SHARED_LIBRARIES := libcutils
UT_GEN := \
$(ut_intermediates)/ut_rendercontrol_enc.cpp \
$(ut_intermediates)/ut_rendercontrol_enc.h
$(UT_GEN) : PRIVATE_PATH = $(LOCAL_PATH)
$(UT_GEN) : PRIVATE_CUSTOM_TOOL := \
$(EMUGEN) -i $(PRIVATE_PATH) -E $(ut_intermediates) ut_rendercontrol
$(UT_GEN) : $(EMUGEN) \
$(LOCAL_PATH)/ut_rendercontrol.in \
$(LOCAL_PATH)/ut_rendercontrol.attrib \
$(LOCAL_PATH)/ut_rendercontrol.types
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(UT_GEN)
include $(BUILD_SHARED_LIBRARY)
$(call emugl-begin-shared-library,libut_rendercontrol_enc)
$(call emugl-import,libOpenglCodecCommon)
$(call emugl-gen-encoder,$(LOCAL_PATH),ut_rendercontrol)
$(call emugl-export,C_INCLUDES,$(LOCAL_PATH))
$(call emugl-end-module)

View File

@@ -1,29 +1,9 @@
# Building this module breaks the Linux build because
# libxcb.so is not installed in the i686-linux-glibc2.7-4.4.3
# prebuilt sysroot. Since rebuilding it will take some time, here's a
# quick fix to unbreak it.
#
ifneq (,$(BUILD_EMULATOR_OPENGL))
LOCAL_PATH:=$(call my-dir)
# ut_renderer test program ###########################
include $(CLEAR_VARS)
ifeq ($(HOST_OS), linux)
emulatorOpengl := $(LOCAL_PATH)/../..
LOCAL_MODULE := ut_renderer
LOCAL_MODULE_TAGS := debug
# add additional depencies to ensure that the generated code that we depend on
# is generated
LOCAL_ADDITIONAL_DEPENDENCIES := \
$(HOST_OUT_SHARED_LIBRARIES)/libut_rendercontrol_dec$(HOST_SHLIB_SUFFIX) \
$(HOST_OUT_SHARED_LIBRARIES)/libGLESv1_dec$(HOST_SHLIB_SUFFIX) \
$(HOST_OUT_SHARED_LIBRARIES)/libGLESv2_dec$(HOST_SHLIB_SUFFIX)
$(call emugl-begin-host-executable,ut_renderer)
$(call emugl-import,libut_rendercontrol_dec libGLESv1_dec libGLESv2_dec libEGL_host_wrapper)
LOCAL_SRC_FILES := ut_renderer.cpp \
RenderingThread.cpp \
@@ -31,38 +11,20 @@ LOCAL_SRC_FILES := ut_renderer.cpp \
Renderer.cpp \
RendererContext.cpp \
RendererSurface.cpp \
X11Windowing.cpp
X11Windowing.cpp
# define PVR_WAR to support imgtec PVR opengl-ES implementation
#
# specifically this MACRO enables code that work arounds a bug
# specifically this MACRO enables code that work arounds a bug
# in the implementation where glTextureParameter(...,GL_TEXTURE_RECT,...)
# is called would cause a crash if the texture dimensions have not been
# is called would cause a crash if the texture dimensions have not been
# defined yet.
LOCAL_CFLAGS := -DPVR_WAR
LOCAL_CFLAGS += -DPVR_WAR
#LOCAL_CFLAGS += -g -O0
LOCAL_C_INCLUDES := $(emulatorOpengl)/shared/OpenglCodecCommon \
$(emulatorOpengl)/shared \
$(emulatorOpengl)/host/include/libOpenglRender \
$(call intermediates-dir-for, SHARED_LIBRARIES, libut_rendercontrol_dec, HOST) \
$(call intermediates-dir-for, SHARED_LIBRARIES, libGLESv1_dec, HOST) \
$(call intermediates-dir-for, SHARED_LIBRARIES, libGLESv2_dec, HOST) \
$(emulatorOpengl)/host/libs/GLESv1_dec \
$(emulatorOpengl)/host/libs/GLESv2_dec \
$(emulatorOpengl)/system/GLESv1_enc \
$(emulatorOpengl)/system/GLESv2_enc \
$(emulatorOpengl)/tests/ut_rendercontrol_enc
LOCAL_LDLIBS += -lpthread -lX11 -lrt
LOCAL_SHARED_LIBRARIES := libut_rendercontrol_dec libGLESv1_dec libGLESv2_dec libEGL_host_wrapper
LOCAL_STATIC_LIBRARIES := \
libOpenglCodecCommon \
libcutils
LOCAL_LDLIBS := -lpthread -lX11 -lrt
include $(BUILD_HOST_EXECUTABLE)
$(call emugl-end-module)
endif # HOST_OS == linux
endif # BUILD_EMULATOR_OPENGL