[Intel-gfx] [PATCH 3/3] intel-gpu-tools: change how cairo.h is included, to enable Android build

Daniel Vetter daniel at ffwll.ch
Fri Mar 28 17:50:23 CET 2014


On Fri, Mar 28, 2014 at 12:55:00PM +0000, tim.gore at intel.com wrote:
> From: tgore <tim.gore at intel.com>
> 
> A recent commit (64401f57e958998d537ff67525d5f1e9a4f76b22) moved
> igt_display into igt_kms. This means igt_debugfs.c now needs to
> include igt_kms.h, which in turn includes igt_fb.h and hence cairo.h.
> This breaks the build on android since there is no cairo port for
> Android at present. igt_fb.h doesn't really need cairo.h it can manage
> with a couple of incomplete declarations. This then requires igt_fb.c
> and several test source files to explicitly include cairo.h, instead
> of getting it indirectly through igt_fb.h. This enables us to build
> the igt tests that dont require cairo on Android.
> 
> Signed-off-by: Tim Gore <tim.gore at intel.com>

Can we just wrap the cairo include in #ifdef ANDROID? The point of adding
the cairo include was very much that drivers don't need to do this ...
Also Android just needs to grow cairo support ;-)

Other two patches merged.
-Daniel

> ---
>  lib/Android.mk         | 4 +++-
>  lib/igt_fb.c           | 1 +
>  lib/igt_fb.h           | 4 +++-
>  tests/kms_cursor_crc.c | 1 +
>  tests/kms_fbc_crc.c    | 1 +
>  tests/kms_plane.c      | 1 +
>  tests/pm_lpsp.c        | 1 +
>  tests/pm_pc8.c         | 1 +
>  8 files changed, 12 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/Android.mk b/lib/Android.mk
> index 6735255..1260633 100644
> --- a/lib/Android.mk
> +++ b/lib/Android.mk
> @@ -33,7 +33,9 @@ include $(LOCAL_PATH)/Makefile.sources
>  
>  skip_lib_list := \
>      igt_kms.c \
> -    igt_kms.h
> +    igt_kms.h \
> +    igt_fb.c \
> +    igt_fb.h
>  
>  lib_list := $(filter-out $(skip_lib_list),$(libintel_tools_la_SOURCES))
>  
> diff --git a/lib/igt_fb.c b/lib/igt_fb.c
> index ef486f9..6a7b8b1 100644
> --- a/lib/igt_fb.c
> +++ b/lib/igt_fb.c
> @@ -32,6 +32,7 @@
>  #include "drmtest.h"
>  #include "igt_fb.h"
>  #include "ioctl_wrappers.h"
> +#include <cairo.h>
>  
>  /**
>   * SECTION:igt_fb
> diff --git a/lib/igt_fb.h b/lib/igt_fb.h
> index 5f0ff51..5b2c516 100644
> --- a/lib/igt_fb.h
> +++ b/lib/igt_fb.h
> @@ -28,11 +28,13 @@
>  #ifndef __IGT_FB_H__
>  #define __IGT_FB_H__
>  
> -#include <cairo.h>
>  
>  #include <drm_fourcc.h>
>  #include <xf86drmMode.h>
>  
> +typedef struct _cairo_surface cairo_surface_t;
> +typedef struct _cairo cairo_t;
> +
>  /* helpers to create nice-looking framebuffers */
>  struct igt_fb {
>  	uint32_t fb_id;
> diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> index fbb5d88..85f6464 100644
> --- a/tests/kms_cursor_crc.c
> +++ b/tests/kms_cursor_crc.c
> @@ -27,6 +27,7 @@
>  #include <stdbool.h>
>  #include <stdio.h>
>  #include <string.h>
> +#include <cairo.h>
>  
>  #include "drmtest.h"
>  #include "igt_debugfs.h"
> diff --git a/tests/kms_fbc_crc.c b/tests/kms_fbc_crc.c
> index 4f56d63..1f2754e 100644
> --- a/tests/kms_fbc_crc.c
> +++ b/tests/kms_fbc_crc.c
> @@ -26,6 +26,7 @@
>  #include <stdbool.h>
>  #include <stdio.h>
>  #include <string.h>
> +#include <cairo.h>
>  
>  #include "drmtest.h"
>  #include "igt_debugfs.h"
> diff --git a/tests/kms_plane.c b/tests/kms_plane.c
> index 6bdbca3..3153ace 100644
> --- a/tests/kms_plane.c
> +++ b/tests/kms_plane.c
> @@ -28,6 +28,7 @@
>  #include <stdbool.h>
>  #include <stdio.h>
>  #include <string.h>
> +#include <cairo.h>
>  
>  #include "drmtest.h"
>  #include "igt_debugfs.h"
> diff --git a/tests/pm_lpsp.c b/tests/pm_lpsp.c
> index 9d3884c..f053457 100644
> --- a/tests/pm_lpsp.c
> +++ b/tests/pm_lpsp.c
> @@ -28,6 +28,7 @@
>  #include <sys/stat.h>
>  #include <fcntl.h>
>  #include <unistd.h>
> +#include <cairo.h>
>  
>  #include "drmtest.h"
>  #include "igt_kms.h"
> diff --git a/tests/pm_pc8.c b/tests/pm_pc8.c
> index 0d04323..e9996bc 100644
> --- a/tests/pm_pc8.c
> +++ b/tests/pm_pc8.c
> @@ -41,6 +41,7 @@
>  #include <linux/i2c-dev.h>
>  
>  #include <drm.h>
> +#include <cairo.h>
>  
>  #include "drmtest.h"
>  #include "intel_batchbuffer.h"
> -- 
> 1.9.0
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list