[Mesa-dev] [PATCH 09/18] android: build libGLES_mesa
Chad Versace
chad at chad-versace.us
Wed Aug 17 11:03:36 PDT 2011
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I've commented below on TOP/Android.mk and TOP/Android.common.mk.
The Gallium makefiles are outside of my domain, so I have no comments on those.
On 08/16/2011 11:28 PM, Chia-I Wu wrote:
> This is the first step to integrate Mesa into Android(-x86) build
> system. You can git clone mesa under the external/ directory of Android
> source tree and build Android with
>
> $ make BOARD_GPU_DRIVERS=swrast
>
> It will build libGLES_mesa that will be loaded by Android runtime.
>
> libGLES_mesa is still a stub in this commit.
> ---
> Android.common.mk | 48 ++++++++++++++++++
> Android.mk | 76 +++++++++++++++++++++++++++++
> src/gallium/Android.mk | 36 ++++++++++++++
> src/gallium/Android.template.mk | 33 ++++++++++++
> src/gallium/targets/egl-static/Android.mk | 39 +++++++++++++++
> 5 files changed, 232 insertions(+), 0 deletions(-)
> create mode 100644 Android.common.mk
> create mode 100644 Android.mk
> create mode 100644 src/gallium/Android.mk
> create mode 100644 src/gallium/Android.template.mk
> create mode 100644 src/gallium/targets/egl-static/Android.mk
>
> diff --git a/Android.common.mk b/Android.common.mk
> new file mode 100644
> index 0000000..c1e4cce
> --- /dev/null
> +++ b/Android.common.mk
> @@ -0,0 +1,48 @@
> +# Mesa 3-D graphics library
> +# Version: 7.12
"Version 7.12" is misleading and should be removed from all the
copyright headers in the series.
> +#
> +# Copyright (C) 2010-2011 Chia-I Wu <olvaffe at gmail.com>
> +# Copyright (C) 2010-2011 LunarG Inc.
> +#
> +# Permission is hereby granted, free of charge, to any person obtaining a
> +# copy of this software and associated documentation files (the "Software"),
> +# to deal in the Software without restriction, including without limitation
> +# the rights to use, copy, modify, merge, publish, distribute, sublicense,
> +# and/or sell copies of the Software, and to permit persons to whom the
> +# Software is furnished to do so, subject to the following conditions:
> +#
> +# The above copyright notice and this permission notice shall be included
> +# in all copies or substantial portions of the Software.
> +#
> +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
> +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> +# DEALINGS IN THE SOFTWARE.
> +
> +LOCAL_C_INCLUDES += \
> + $(MESA_TOP)/include
> +
> +LOCAL_CFLAGS += \
> + -DPTHREADS \
> + -fvisibility=hidden \
> + -Wno-sign-compare
> +
> +ifeq ($(strip $(MESA_ENABLE_ASM)),true)
> +ifeq ($(TARGET_ARCH),x86)
> +LOCAL_CFLAGS += \
> + -DUSE_X86_ASM
> +endif
> +endif
> +
> +LOCAL_CPPFLAGS += \
> + -Wno-error=non-virtual-dtor \
> + -Wno-non-virtual-dtor
> +
> +#LOCAL_STRIP_MODULE := false
Did you intend to comment out this line? If you intend for it to
remain commented-out in the file, then there should be a comment
explaining why.
>
> +ifeq ($(strip $(LOCAL_MODULE_TAGS)),)
> +LOCAL_MODULE_TAGS := optional
> +endif
> diff --git a/Android.mk b/Android.mk
> new file mode 100644
> index 0000000..8da5120
> --- /dev/null
> +++ b/Android.mk
> @@ -0,0 +1,76 @@
> +# Mesa 3-D graphics library
> +# Version: 7.12
> +#
> +# Copyright (C) 2010-2011 Chia-I Wu <olvaffe at gmail.com>
> +# Copyright (C) 2010-2011 LunarG Inc.
> +#
> +# Permission is hereby granted, free of charge, to any person obtaining a
> +# copy of this software and associated documentation files (the "Software"),
> +# to deal in the Software without restriction, including without limitation
> +# the rights to use, copy, modify, merge, publish, distribute, sublicense,
> +# and/or sell copies of the Software, and to permit persons to whom the
> +# Software is furnished to do so, subject to the following conditions:
> +#
> +# The above copyright notice and this permission notice shall be included
> +# in all copies or substantial portions of the Software.
> +#
> +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
> +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> +# DEALINGS IN THE SOFTWARE.
> +
> +# BOARD_GPU_DRIVERS should be defined. The valid values are
> +#
> +# classic drivers:
> +# gallium drivers: swrast
> +#
> +# The main target is libGLES_mesa. There is no classic drivers yet.
> +#
- ---
> +# The rules can be found in src/gallium/targets/Android.mk.
- ---
This comment line is misleading. It implies that the build system is intended only for Gallium.
Very soon the build system will also build non-Gallium drivers.
> +
> +LOCAL_PATH := $(call my-dir)
> +
> +MESA_PYTHON2 := python
> +
> +MESA_TOP := $(LOCAL_PATH)
> +DRM_TOP := external/drm
> +DRM_GRALLOC_TOP := hardware/drm_gralloc
> +
> +MESA_COMMON_MK := $(MESA_TOP)/Android.common.mk
> +
> +SUBDIRS := \
> + $(LOCAL_PATH)/src/gallium/Android.mk
The gallium subdir should only be added if MESA_BUILD_GALLIUM is true.
> +
> +MESA_GPU_DRIVERS := $(BOARD_GPU_DRIVERS)
> +
> +classic_drivers :=
> +gallium_drivers := swrast
> +
> +# warn about invalid drivers
> +invalid_drivers := $(filter-out \
> + $(classic_drivers) $(gallium_drivers), $(MESA_GPU_DRIVERS))
> +ifneq ($(invalid_drivers),)
> +$(warning invalid GPU drivers: $(invalid_drivers))
> +# tidy up
> +MESA_GPU_DRIVERS := $(filter-out $(invalid_drivers), $(MESA_GPU_DRIVERS))
> +endif
> +
> +# host and target must be the same arch to generate matypes.h
> +ifeq ($(TARGET_ARCH),$(HOST_ARCH))
> +MESA_ENABLE_ASM := true
> +else
> +MESA_ENABLE_ASM := false
> +endif
> +
> +ifneq ($(filter $(gallium_drivers), $(MESA_GPU_DRIVERS)),)
> +MESA_BUILD_GALLIUM := true
> +else
> +MESA_BUILD_GALLIUM := false
> +endif
> +
> +ifneq ($(strip $(MESA_GPU_DRIVERS)),)
> +include $(SUBDIRS)
> +endif
- --
Chad Versace
chad at chad-versace.us
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iQIcBAEBAgAGBQJOTAJ4AAoJEAIvNt057x8ilcAP/0wvxg/hUFAE/96bCsSDFjsB
5pl7KdyGpV7UyS71gpTSa/+P79zXRFqLb7+eXNTkApIyVn4G6XhDmhzaU0oLVlGT
Y/HFN3rX61ouzdoUQ9vJ2DhagL/fD3sLNEtb4Ly760i+Ek/sownADABIj2fI1qSr
H26XluLv5zRfTgxjJHo+MBsRvYbyme+Y34/ePVDjDkyUhBMiIP0IInBDLrUGWdEy
0O7FDJ8ANRW6inZhboYY4uh/SPU/QwTRmFtUdNz3gvX7ZqL1QC1wZAGmAE33HUDC
xy3hRyCA5rWQ1OPfPalwwvfwijZ4z9F2/WM5TU/Pm3gUEmiBFFDNq/BnFqzG1ccn
eGbjtmdlo7MLvK8ol5ImAcv5C4GMRUysmz8AOKsKgpYegrnmCWZwxXuG5OOcQUoC
Szeiy8T34ZcMcNO778YrKGTKE7pBlVAb1BxCL5J5Czsxn1IYLXMKYOJIzRloUMPA
xVMwHAhORcJ6cvqbirL812PIVKUkBqYRovtrAB7HUiGFipMTb7h6pCsUzODNspbq
DWq2+Rp9WE5lYzbOrZ3EeB8fWu8DW9cF0SBuffahtOoPQGb9xhGOka1Zp9rigMVu
PZsISoOR/A2qbQnnbqTcHBL1SBtSXABBWhyPrR923pGpZGyEMCBJ9RXymBIUgHyB
o6hWE3k/EiSVkfI5i7nr
=qXo/
-----END PGP SIGNATURE-----
More information about the mesa-dev
mailing list