From 5b87079d9dcf49505eecebfcb39e665a0da8234c Mon Sep 17 00:00:00 2001 From: Leo Date: Thu, 28 Nov 2019 13:32:14 +0100 Subject: [PATCH] pipe: use meson's config.h to get PIPE_ARCH__ENDIAN v2: - Add root build dir and src to include path (Gert) - fix gallium includes (Gert) Signed-off-by: Gert Wollny Acked-by: Rohan Garg --- meson.build | 2 +- src/gallium/include/pipe/p_config.h | 53 +++++------------------------ src/gallium/meson.build | 6 ++-- 3 files changed, 12 insertions(+), 49 deletions(-) diff --git a/meson.build b/meson.build index 355d667..5cb6116 100644 --- a/meson.build +++ b/meson.build @@ -224,7 +224,7 @@ pkg_config = configure_file(input : 'virglrenderer.pc.in', install_data(pkg_config, install_dir: get_option('libdir') + '/pkgconfig') -inc_configuration = include_directories('.') +inc_configuration = include_directories(['.', 'src']) with_fuzzer = get_option('fuzzer') with_tests = get_option('tests') diff --git a/src/gallium/include/pipe/p_config.h b/src/gallium/include/pipe/p_config.h index d603681..42d182c 100644 --- a/src/gallium/include/pipe/p_config.h +++ b/src/gallium/include/pipe/p_config.h @@ -47,6 +47,14 @@ #define P_CONFIG_H_ #include +/* + * This has PIPE_ARCH__ENDIAN defines acquired + * via meson and in the future might have other defines + * if they are found to be easier done on meson than in + * preprocessor macros + */ +#include "config.h" + /* * Compiler */ @@ -126,51 +134,6 @@ #define PIPE_ARCH_AARCH64 #endif -/* - * Endian detection. - */ - -#ifdef __GLIBC__ -#include - -#if __BYTE_ORDER == __LITTLE_ENDIAN -# define PIPE_ARCH_LITTLE_ENDIAN -#elif __BYTE_ORDER == __BIG_ENDIAN -# define PIPE_ARCH_BIG_ENDIAN -#endif - -#elif defined(__APPLE__) -#include - -#if __DARWIN_BYTE_ORDER == __DARWIN_LITTLE_ENDIAN -# define PIPE_ARCH_LITTLE_ENDIAN -#elif __DARWIN_BYTE_ORDER == __DARWIN_BIG_ENDIAN -# define PIPE_ARCH_BIG_ENDIAN -#endif - -#elif defined(__sun) -#include - -#if defined(_LITTLE_ENDIAN) -# define PIPE_ARCH_LITTLE_ENDIAN -#elif defined(_BIG_ENDIAN) -# define PIPE_ARCH_BIG_ENDIAN -#endif - -#else - -#if defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64) || defined(PIPE_ARCH_ARM) || defined(PIPE_ARCH_AARCH64) -#define PIPE_ARCH_LITTLE_ENDIAN -#elif defined(PIPE_ARCH_PPC) || defined(PIPE_ARCH_PPC_64) || defined(PIPE_ARCH_S390) -#define PIPE_ARCH_BIG_ENDIAN -#endif - -#endif - -#if !defined(PIPE_ARCH_LITTLE_ENDIAN) && !defined(PIPE_ARCH_BIG_ENDIAN) -#error Unknown Endianness -#endif - /* * Auto-detect the operating system family. * diff --git a/src/gallium/meson.build b/src/gallium/meson.build index 52b8bfd..fa0b0d4 100644 --- a/src/gallium/meson.build +++ b/src/gallium/meson.build @@ -108,7 +108,7 @@ sources_libgallium = [ 'auxiliary/os/os_misc.c', ] -inc_gallium = include_directories('include', 'auxiliary', 'auxiliary/util', ) +inc_gallium = include_directories('include', 'auxiliary', 'auxiliary/util') u_format_table_c = custom_target( 'u_format_table.c', @@ -123,11 +123,11 @@ libgallium = static_library( 'gallium', [sources_libgallium, u_format_table_c], include_directories : [ - inc_gallium, include_directories('..') + inc_gallium, inc_configuration ], ) gallium_dep = declare_dependency( link_with: libgallium, - include_directories: inc_gallium + include_directories: [inc_gallium, inc_configuration] )