Home | History | Annotate | Download | only in mesa3d
      1 # Mesa 3-D graphics library
      2 #
      3 # Copyright (C) 2010-2011 Chia-I Wu <olvaffe (a] gmail.com>
      4 # Copyright (C) 2010-2011 LunarG Inc.
      5 #
      6 # Permission is hereby granted, free of charge, to any person obtaining a
      7 # copy of this software and associated documentation files (the "Software"),
      8 # to deal in the Software without restriction, including without limitation
      9 # the rights to use, copy, modify, merge, publish, distribute, sublicense,
     10 # and/or sell copies of the Software, and to permit persons to whom the
     11 # Software is furnished to do so, subject to the following conditions:
     12 #
     13 # The above copyright notice and this permission notice shall be included
     14 # in all copies or substantial portions of the Software.
     15 #
     16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     17 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     18 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
     19 # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     20 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
     21 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
     22 # DEALINGS IN THE SOFTWARE.
     23 
     24 ifeq ($(LOCAL_IS_HOST_MODULE),true)
     25 LOCAL_CFLAGS += -D_GNU_SOURCE
     26 endif
     27 
     28 LOCAL_C_INCLUDES += \
     29 	$(MESA_TOP)/src \
     30 	$(MESA_TOP)/include
     31 
     32 MESA_VERSION := $(shell cat $(MESA_TOP)/VERSION)
     33 LOCAL_CFLAGS += \
     34 	-Wno-unused-parameter \
     35 	-Wno-date-time \
     36 	-Wno-pointer-arith \
     37 	-Wno-missing-field-initializers \
     38 	-Wno-initializer-overrides \
     39 	-Wno-mismatched-tags \
     40 	-DPACKAGE_VERSION=\"$(MESA_VERSION)\" \
     41 	-DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa\"
     42 
     43 LOCAL_CFLAGS += \
     44 	-DENABLE_SHADER_CACHE \
     45 	-D__STDC_LIMIT_MACROS \
     46 	-DHAVE___BUILTIN_EXPECT \
     47 	-DHAVE___BUILTIN_FFS \
     48 	-DHAVE___BUILTIN_FFSLL \
     49 	-DHAVE_FUNC_ATTRIBUTE_FLATTEN \
     50 	-DHAVE_FUNC_ATTRIBUTE_UNUSED \
     51 	-DHAVE_FUNC_ATTRIBUTE_FORMAT \
     52 	-DHAVE_FUNC_ATTRIBUTE_PACKED \
     53 	-DHAVE_FUNC_ATTRIBUTE_ALIAS \
     54 	-DHAVE___BUILTIN_CTZ \
     55 	-DHAVE___BUILTIN_POPCOUNT \
     56 	-DHAVE___BUILTIN_POPCOUNTLL \
     57 	-DHAVE___BUILTIN_CLZ \
     58 	-DHAVE___BUILTIN_CLZLL \
     59 	-DHAVE___BUILTIN_UNREACHABLE \
     60 	-DHAVE_PTHREAD=1 \
     61 	-DHAVE_DLOPEN \
     62 	-fvisibility=hidden \
     63 	-Wno-sign-compare
     64 
     65 LOCAL_CPPFLAGS += \
     66 	-D__STDC_CONSTANT_MACROS \
     67 	-D__STDC_FORMAT_MACROS \
     68 	-D__STDC_LIMIT_MACROS \
     69 	-Wno-error=non-virtual-dtor \
     70 	-Wno-non-virtual-dtor
     71 
     72 # mesa requires at least c99 compiler
     73 LOCAL_CONLYFLAGS += \
     74 	-std=c99
     75 
     76 ifeq ($(strip $(MESA_ENABLE_ASM)),true)
     77 ifeq ($(TARGET_ARCH),x86)
     78 LOCAL_CFLAGS += \
     79 	-DUSE_X86_ASM \
     80 
     81 endif
     82 endif
     83 
     84 ifeq ($(MESA_ENABLE_LLVM),true)
     85 LOCAL_CFLAGS += \
     86 	-D__STDC_CONSTANT_MACROS \
     87 	-D__STDC_FORMAT_MACROS \
     88 	-D__STDC_LIMIT_MACROS
     89 
     90   ifeq ($(MESA_ANDROID_MAJOR_VERSION),5)
     91     LOCAL_CFLAGS += -DHAVE_LLVM=0x0305 -DMESA_LLVM_VERSION_PATCH=2
     92     ELF_INCLUDES := external/elfutils/0.153/libelf
     93   endif
     94   ifeq ($(MESA_ANDROID_MAJOR_VERSION),6)
     95     LOCAL_CFLAGS += -DHAVE_LLVM=0x0307 -DMESA_LLVM_VERSION_PATCH=0
     96     ELF_INCLUDES := external/elfutils/src/libelf
     97   endif
     98   ifeq ($(MESA_ANDROID_MAJOR_VERSION),7)
     99     LOCAL_CFLAGS += -DHAVE_LLVM=0x0308 -DMESA_LLVM_VERSION_PATCH=0
    100     ELF_INCLUDES := external/elfutils/libelf
    101   endif
    102 endif
    103 
    104 ifneq ($(LOCAL_IS_HOST_MODULE),true)
    105 # add libdrm if there are hardware drivers
    106 ifneq ($(filter-out swrast,$(MESA_GPU_DRIVERS)),)
    107 LOCAL_CFLAGS += -DHAVE_LIBDRM
    108 LOCAL_SHARED_LIBRARIES += libdrm
    109 endif
    110 endif
    111 
    112 LOCAL_CFLAGS_32 += -DDEFAULT_DRIVER_DIR=\"/system/lib/$(MESA_DRI_MODULE_REL_PATH)\"
    113 LOCAL_CFLAGS_64 += -DDEFAULT_DRIVER_DIR=\"/system/lib64/$(MESA_DRI_MODULE_REL_PATH)\"
    114 
    115 # uncomment to keep the debug symbols
    116 #LOCAL_STRIP_MODULE := false
    117 
    118 ifeq ($(strip $(LOCAL_MODULE_TAGS)),)
    119 LOCAL_MODULE_TAGS := optional
    120 endif
    121 
    122 # Quiet down the build system and remove any .h files from the sources
    123 LOCAL_SRC_FILES := $(patsubst %.h, , $(LOCAL_SRC_FILES))
    124