summaryrefslogtreecommitdiffstats
path: root/Android.common.mk
Commit message (Collapse)AuthorAgeFilesLines
* Android: gallium_dri: pass dri.sym to linkerRob Herring2017-08-221-0/+1
| | | | | | | | | | | | | | | | Pass the dri.sym version script to the linker. This ensures only explicitly exported symbols are exported and shrinks the library by up to 60KB. HAVE_DLADDR also needs to be set so that __driDriverExtensions is defined. We need to pass "--undefined-version" because the Android build system sets --no-undefined-version by default and we get an error on driver specific symbols if those drivers are disabled without the option. Suggested-by: Emil Velikov <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Signed-off-by: Rob Herring <[email protected]>
* configure.ac: Introduce HAVE_ARM_ASM/HAVE_AARCH64_ASM and the -D flags.Eric Anholt2017-08-151-0/+4
| | | | | | | | | | | | | I've been trying to get away without these conditionals in vc4's NEON code, but it meant compiling extra unused code on x86, and build failing on ARMv6. v2: Use the _arm/_arm64 flags to simplify detection (suggested by Rob), but hide the _arm version under ARCH_ARM_HAVE_NEON to keep from trying to build this stuff for armv5te. Tested-by: Rob Herring <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* util/vulkan: Move Vulkan utilities to src/vulkan/utilAlex Smith2017-06-061-0/+1
| | | | | | | | | | | | | We have Vulkan utilities in both src/util and src/vulkan/util. The latter seems a more appropriate place for Vulkan-specific things, so move them there. v2: Android build system changes (from Tapani Pälli) Signed-off-by: Alex Smith <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* Android: use bionic pthread_barrier_* if possibleChih-Wei Huang2017-06-051-0/+1
| | | | | | | | | The pthread_barrier_* functions were introduced to bionic since Nougat. Signed-off-by: Chih-Wei Huang <[email protected]> Acked-by: Tapani Pälli <[email protected]> Acked-by: Emil Velikov <[email protected]>
* Android: major/minor/makedev live in <sys/sysmacros.h>Rob Herring2017-05-311-0/+1
| | | | | | | | | sysmacros.h was getting implicitly included in types.h until recently in AOSP master. Define MAJOR_IN_SYSMACROS to explicitly include sysmacros.h. Reviewed-by: Tapani Pälli <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Signed-off-by: Rob Herring <[email protected]>
* Android: correct libz dependencyChih-Wei Huang2017-05-171-4/+0
| | | | | | | | | | | | | | | | | | | Commit 6facb0c0 ("android: fix libz dynamic library dependencies") unconditionally adds libz as a dependency to all shared libraries. That is unnecessary. Commit 85a9b1b5 introduced libz as a dependency to libmesa_util. So only the shared libraries that use libmesa_util need libz. Fix Android Lollipop build by adding the include path of zlib to libmesa_util explicitly instead of getting the path implicitly from zlib since it doesn't export the include path in Lollipop. Fixes: 6facb0c0 "android: fix libz dynamic library dependencies" Signed-off-by: Chih-Wei Huang <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> Reviewed-by: Rob Herring <[email protected]>
* Android: rework LLVM build supportRob Herring2017-05-111-9/+0
| | | | | | | | | | | | | Currently, building with "mmma external/mesa3d" which builds all targets and dependencies is broken for targets that require LLVM. This is due to the build settings depending on MESA_ENABLE_LLVM. Instead of using a conditional in the global Android.common.mk, make all the components that need LLVM explicitly include the necessary build settings. GALLIVM_CPP_SOURCES doesn't exist anymore, so remove that as well. Signed-off-by: Rob Herring <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* Android: rework libelf dependenciesRob Herring2017-05-111-2/+0
| | | | | | | | | Add libelf as a library dependency rather than explicitly listing its include paths. This should work for Android M and later which have the necessary exported directories in libelf. Signed-off-by: Rob Herring <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* Android: drop LLVM support on LollipopRob Herring2017-05-111-4/+0
| | | | | | | | | | | | Mesa no longer supports LLVM 3.5 for any targets we support. Android-x86 adds support for llvmpipe which could work, but android-x86 for L is using mesa 11.0 anyway. Dropping this support enables clean-up of libelf dependencies. Signed-off-by: Rob Herring <[email protected]> Reviewed-by: Chih-Wei Huang <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* Android: Fix swrast only buildRob Herring2017-05-111-3/+0
| | | | | | | | | | | | | A build of only swrast is broken as the Android EGL now depends on libdrm as does GBM. While we could make EGL conditionally depend on libdrm, we probably want to enable kms_dri winsys as well and that will need libdrm enabled. So just always enable libdrm and simplify the Android makefiles a bit. Signed-off-by: Rob Herring <[email protected]> Reviewed-by: Chih-Wei Huang <[email protected]> [Emil Velikov: drop related inline comment] Signed-off-by: Emil Velikov <[email protected]>
* Android: define required __STDC* macros as cflagsMauro Rossi2017-05-111-0/+5
| | | | | | | | | | | | | | | | | | | Necessary to fix the following radeonsi building errors: In file included from external/mesa/src/gallium/drivers/radeonsi/si_blit.c:24: In file included from external/mesa/src/gallium/drivers/radeonsi/si_pipe.h:29: In file included from external/mesa/src/gallium/drivers/radeonsi/si_shader.h:71: In file included from external/llvm/include/llvm-c/Core.h:18: In file included from external/llvm/include/llvm-c/ErrorHandling.h:17: In file included from external/llvm/include/llvm-c/Types.h:17: external/llvm/include/llvm/Support/DataTypes.h:49:3: error: "Must #define __STDC_LIMIT_MACROS before #including Support/DataTypes.h" ^ external/llvm/include/llvm/Support/DataTypes.h:53:3: error: "Must #define __STDC_CONSTANT_MACROS before " "#including Support/DataTypes.h" ^ 2 errors generated. [Emil Velikov: add inline comment about the defines] Signed-off-by: Emil Velikov <[email protected]>
* Android: drop Android 4.4 (KitKat) supportRob Herring2017-03-221-12/+5
| | | | | | | | | | | Any users of KitKat are likely using an older version of Mesa and KitKat support adds complexity to the make files. Dropping support allows removing the MESA_LOLLIPOP_BUILD make variable in various make files. Signed-off-by: Rob Herring <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* Android: kill off {MESA_}ANDROID_VERSION defines aka Android 4.1 and olderRob Herring2017-03-221-3/+1
| | | | | | | | | The Android version defines are only needed for versions less than 4.2 which aren't really supported or tested. Signed-off-by: Rob Herring <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* Android: fix libz dependency for host targetsRob Herring2017-03-221-0/+2
| | | | | | | | | | | | Commit 6facb0c08fa1 ("android: fix libz dynamic library dependencies") added libz as a dependency, but this breaks host targets as the host dependency is libz-host. As no host lib needs libz, just remove the dependency for them. Fixes: 6facb0c08fa1 "android: fix libz dynamic library dependencies" Signed-off-by: Rob Herring <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* Android: clean-up trailing '\' in make variablesRob Herring2017-03-221-1/+1
| | | | | | | | | Fixed with the following command: perl -pe 'BEGIN{undef $/;} s/ \\\n\n/\n\n/smg' $(find . -name 'Android.*') Signed-off-by: Rob Herring <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* android: fix libz dynamic library dependenciesMauro Rossi2017-03-041-0/+2
| | | | | | | | | | | | | | Fixes a series of libz related building errors: target SharedLib: gallium_dri_32 (out/target/prod...SHARED_LIBRARIES/gallium_dri_intermediates/LINKED/gallium_dri.so) external/elfutils/libelf/elf_compress.c:117: error: undefined reference to 'deflateInit_' ... external/elfutils/libelf/elf_compress.c:244: error: undefined reference to 'inflateEnd' clang++: error: linker command failed with exit code 1 (use -v to see invocation) Fixes: 85a9b1b "util/disk_cache: compress individual cache entries"
* android: define HAVE_DL_ITERATE_PHDR for build-id codeMauro Rossi2017-02-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Required due to d4fa083 "util: Add utility build-id code." to avoid following build error and warnings: external/mesa/src/intel/vulkan/anv_device.c:60:32: error: incompatible integer to pointer conversion initializing 'const struct build_id_note *' with an expression of type 'int' [-Werror,-Wint-conversion] const struct build_id_note *note = build_id_find_nhdr("libvulkan_intel.so"); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ external/mesa/src/intel/vulkan/anv_device.c:64:19: warning: implicit declaration of function 'build_id_length' is invalid in C99 [-Wimplicit-function-declaration] unsigned len = build_id_length(note); ^ external/mesa/src/intel/vulkan/anv_device.c:68:4: warning: implicit declaration of function 'build_id_read' is invalid in C99 [-Wimplicit-function-declaration] build_id_read(note, uuid, VK_UUID_SIZE); ^ 3 warnings and 1 error generated. [ 40% 1438/3588] target C: libmesa_vulkan_common_32 <= external/mesa/src/intel/vulkan/anv_image.c ninja: build stopped: subcommand failed. build/core/ninja.mk:148: recipe for target 'ninja_wrapper' failed make: *** [ninja_wrapper] Error 1 Fixes: d4fa083e11f ("util: Add utility build-id code.") Reviewed-by: Tapani Pälli <[email protected]> Acked-by: Emil Velikov <[email protected]>
* android: fix llvm, elf dependencies for M, N releasesMauro Rossi2017-02-011-2/+12
| | | | | | | | These changes set the correct llvm version and elf include path which differ for Marshmallow and Nougat Cc: "17.0" <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* android: always set __STDC_*_MACROS for C++ sourcesEmil Velikov2017-01-271-5/+6
| | | | | | | | | | | | | Various parts of the code depend on the macros being defined. Just set those unconditionally, only where needed (c++ sources) so that we can drop the workarounds through the code. Cc: Rob Herring <[email protected]> Cc: Chih-Wei Huang <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* android: correct typo in buildTapani Pälli2017-01-201-1/+1
| | | | | | Fixes: 63c58dfc653c499aab5b8d0ea07f1dc1af88c856 Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* utils: build sha1/disk cache only with Android/AutoconfEmil Velikov2017-01-181-0/+1
| | | | | | | | | | Earlier commit imported a SHA1 implementation and relaxed the SHA1 and disk cache handling, broking the Windows builds. Restrict things for now until we get to a proper fix. Fixes: d1efa09d342 "util: import sha1 implementation from OpenBSD" Signed-off-by: Emil Velikov <[email protected]>
* android: set HAVE_FUNC_ATTRIBUTE_ALIASEmil Velikov2017-01-181-0/+1
| | | | | | | | | | | | Analogous to previous two commits. Strictly speaking it's not be applicable for Android since we don't build GLX and related code. Regardless keep things consistent with the other build systems. Cc: Rob Herring <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* android: avoid using libdrm with host modulesChih-Wei Huang2016-11-021-0/+2
| | | | | | | | | | | | | | | | | | Note LOCAL_CFLAGS and LOCAL_SHARED_LIBRARIES in Android.common.mk are used by both host and target modules. However, commit 112e988 moved libdrm related flags to common. It causes the errors like: error: 'out/host/linux-x86/obj32/SHARED_LIBRARIES/libdrm_intermediates/export_includes', needed by 'out/host/linux-x86/obj32/EXECUTABLES/mesa_gen_matypes_intermediates/import_includes', missing and no known rule to make it No reason to use libdrm with host modules. Cc: "13.0" <[email protected]> Fixes: 112e988329b ("Android: move libdrm settings to top-level Android.common.mk") Signed-off-by: Chih-Wei Huang <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* Android: move libdrm settings to top-level Android.common.mkRob Herring2016-06-131-0/+6
| | | | | | | | | | | | | | Fix warnings like these due to HAVE_LIBDRM being inconsistently defined: external/libdrm/include/drm/drm.h:839:30: warning: redefinition of typedef 'drm_clip_rect_t' is a C11 feature [-Wtypedef-redefinition] typedef struct drm_clip_rect drm_clip_rect_t; HAVE_LIBDRM needs to be set project wide to fix this. This change also harmlessly links libdrm with everything, but simplifies the makefiles a bit. Signed-off-by: Rob Herring <[email protected]> Acked-by: Emil Velikov <[email protected]>
* Android: disable some noisy warningsRob Herring2016-06-131-0/+4
| | | | | | | | | Turn off warnings for -Wpointer-arith, -Wno-missing-field-initializers, -Wno-initializer-overrides, and -Wno-mismatched-tags. These are all deemed pointless, on purpose or no plans to fix. Signed-off-by: Rob Herring <[email protected]> Acked-by: Emil Velikov <[email protected]>
* Android: Move setting DEFAULT_DRIVER_DIR to shared locationRob Herring2016-05-231-0/+7
| | | | | | | | | Move the defining of DEFAULT_DRIVER_DIR path to a common location so both EGL and GBM can use it. Signed-off-by: Rob Herring <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* android: enable dlopen() on all architecturesWuZhen2016-05-011-1/+1
| | | | | | Cc: "11.2 11.1" <[email protected]> Signed-off-by: Chih-Wei Huang <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* Android: remove headers from LOCAL_SRC_FILESRob Herring2016-02-291-0/+3
| | | | | | | | | The Android build system now spits out warnings for header files listed in LOCAL_SRC_FILES, so strip them out. Cc: "11.1 11.2" <[email protected]> Signed-off-by: Rob Herring <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* Android: add -Wno-date-time flag for clangRob Herring2016-02-291-0/+1
| | | | | | | | | | | | clang complains about date/time macros: src/mesa/main/context.c:403:25: error: expansion of date or time macro is not reproducible [-Werror,-Wdate-time] Disable this warning. Cc: "11.1 11.2" <[email protected]> Signed-off-by: Rob Herring <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* Android: disable unused-parameter warningRob Herring2016-02-181-0/+1
| | | | | | | | Android builds with -Wunused-parameter enabled which results in spewing lots of warnings. Disable it so more meaningful warnings are more visible. Signed-off-by: Rob Herring <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* Android: Fix building secondary arch in mixed 32/64-bit buildsRob Herring2016-02-181-6/+5
| | | | | | | | | | | | | | | | TARGET_CC is not defined for the secondary arch on combined 32/64-bit builds. The build system uses 2ND_TARGET_CC instead and it is not meant to be used in module makefiles. LOCAL_CC was used to provide C only flags as -std=c99 is not valid for C++ files. Since Android 4.4, LOCAL_CONLYFLAGS was added to set compiler flags on C files only, so it can be used now instead of LOCAL_CC. This will break on pre-4.4 versions of Android, but it unlikely anyone is using current Mesa with such an old version of Android. Cc: Chih-Wei Huang <[email protected]> Signed-off-by: Rob Herring <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* android: Always define __STDC_LIMIT_MACROS.Mauro Rossi2015-09-091-0/+1
| | | | | | | | | | Analogous to commit 02a4fe22b13 (configure.ac: Always define __STDC_LIMIT_MACROS.) v2: [Emil Velikov] keep the LLVM specific __STDC_FORMAT_MACROS Cc: 11.0 <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* android: rename LLVM_VERSION_PATCH to MESA_LLVM_VERSION_PATCHMauro Rossi2015-09-091-1/+1
| | | | | | | Fixes: 797f4eacea8(configure.ac: rename LLVM_VERSION_PATCH to avoid conflict with llvm-config.h) Cc: 11.0 <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* android: build with libcxx on android lollipopChih-Wei Huang2015-06-091-0/+1
| | | | | | | | On Lollipop, apparently stlport is gone and libcxx must be used instead. We still support stlport when building on earlier android releases. Signed-off-by: Chih-Wei Huang <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* android: enable the radeonsi driverChih-Wei Huang2015-06-091-0/+8
| | | | | | | | | | | | | | | Based on the nice work of Paulo Sergio Travaglia <[email protected]>. The main modifications are: - Include paths for LLVM header files and shared/static libraries - Set C++ flag "c++11" to avoid compiling errors on LLVM header files - Set defines for LLVM - Add GALLIVM source files - Changes path of libelf library for lollipop Signed-off-by: Chih-Wei Huang <[email protected]> Acked-by: Eric Anholt <[email protected]>
* android: fix building issues of host binariesChih-Wei Huang2015-04-221-1/+1
| | | | | | | | Define _GNU_SOURCE to enable features (__USE_XOPEN2K and __USE_UNIX98) required to build the host binaries. Signed-off-by: Chih-Wei Huang <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* android: add HAVE__BUILTIN_* and HAVE_FUNC_ATTRIBUTE_* definesEmil Velikov2015-04-221-0/+13
| | | | | | | | | All of those are available on gcc 4.5 and later with the current android build using gcc 4.7. Cc: "10.4 10.5" <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Chih-Wei Huang <[email protected]>
* android: add $(mesa_top)/src include to the whole of mesaEmil Velikov2015-04-221-0/+1
| | | | | | | | | Many parts of mesa already have the include with others depending on it but it's missing. Add it once at the top makefile and be done with it. Cc: "10.4 10.5" <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Chih-Wei Huang <[email protected]>
* android: use := operator for assigning MESA_VERSIONEmil Velikov2015-04-221-1/+1
| | | | Signed-off-by: Emil Velikov <[email protected]>
* build: unify mesa version by using a VERSION fileEmil Velikov2013-07-291-1/+2
| | | | | | | | | | | | | | | | | | | | Rather than having to keep track of all the build systems and their respecitve definition of the mesa version, use a single top file VERSION. Every build system is responsible for reading/parsing the file and using it v2: * remove useless bulletpoint from the documentation, suggested by Matt * "Androing is Linux. Use '/' in stead of '\'", spotted by Chad V * use cleaner code to get the version in scons, suggested by Chad V v3: * ensure leading and trailing whitespace characters are stripped while parsing * android: handle GNU shell commands approapriately Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Chad Versace <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* mesa: Bump version to 9.3.0-devel.Kenneth Graunke2013-07-251-1/+1
| | | | This should have been done when making the 9.2 branch, but was missed.
* build: Unify PACKAGE_VERSION on autotools, scons and AndroidAndreas Boll2013-06-061-1/+1
| | | | | | | | | | | | | | This patch unifies mesa's PACKAGE_VERSION on autotools, scons and Android build systems. Current behaviour is: - Autotools uses 9.2.0 as PACKAGE_VERSION - Scons and Android use 9.2-devel as PACKAGE_VERSION With this patch all three build systems use 9.2.0-devel as PACKAGE_VERSION. Reviewed-by: Brian Paul <[email protected]>
* android: Define PACKAGE_VERSION/BUGREPORT in CFLAGSChad Versace2013-03-201-0/+2
| | | | | | | | This fixes the Android build. Commit 439c3d4 broke it. CC: Adrian M Negreanu <[email protected]> CC: Matt Turner <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* android: Define Make variables for Android versionChad Versace2013-01-021-3/+1
| | | | | | | | | | | | | | Define the following Make variables: MESA_ANDROID_MAJOR_VERSION MESA_ANDROID_MINOR_VERSION MESA_ANDROID_VERSION These variable will allow us to make version-dependent decisions on library dependencies. In particular, building Mesa against JellyBean will require libsync. Reviewed-by: Tapani Pälli <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* build: Use AX_PTHREAD's HAVE_PTHREAD preprocessor definitionMatt Turner2012-10-011-1/+1
|
* mesa/dlopen: use HAVE_DLOPEN instead of _GNU_SOURCETapani Pälli2012-08-241-1/+3
| | | | | | | | | | | | | Patches changes mesa to use 'HAVE_DLOPEN' defined by configure and Android.mk instead of _GNU_SOURCE for detecting dlopen capability. This makes dlopen to work also on Android where _GNU_SOURCE is not defined. [mattst88] v2: HAVE_DLOPEN is sufficient for including dlfcn.h, remove mingw/blrts checks around dlfcn.h inclusion. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Matt Turner <[email protected]> Signed-off-by: Tapani Pälli <[email protected]>
* android: pass -std=c99 by defaultChia-I Wu2011-11-261-0/+9
| | | | | Several modules expect a C99 compiler already. It is also the default for Makefile build.
* android: add support for ICSChia-I Wu2011-11-251-0/+6
| | | | | | | | With ICS (Android 4.0), several headers and structs are renamed. Define ANDROID_VERSION so that we can choose a different path depending on the platform version. I've tested only softpipe and llvmpipe. r600g is also reported to work.
* android: build libGLES_mesaChia-I Wu2011-08-211-0/+48
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.