[Mesa-dev] [PATCH 7/7] automake: properly handle non-default expat installation

Tom Stellard tom at stellard.net
Mon Oct 7 08:48:42 PDT 2013


On Sat, Sep 28, 2013 at 03:46:21PM +0100, Emil Velikov wrote:
> Use PKG_CHECK_MODULE over requesting the user to setup the
> option at configure time. Drop unused EXPAT_INCLUDE and add
> EXPAT_CFLAGS to all classic/dri and gallium/dri targets.
> 
> Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
> ---
>  configure.ac                                  | 23 +++++------------------
>  src/gallium/targets/dri-freedreno/Makefile.am |  1 +
>  src/gallium/targets/dri-i915/Makefile.am      |  1 +
>  src/gallium/targets/dri-ilo/Makefile.am       |  1 +
>  src/gallium/targets/dri-nouveau/Makefile.am   |  1 +
>  src/gallium/targets/dri-swrast/Makefile.am    |  1 +
>  src/gallium/targets/dri-vmwgfx/Makefile.am    |  1 +
>  src/gallium/targets/r300/dri/Makefile.am      |  1 +
>  src/gallium/targets/r600/dri/Makefile.am      |  1 +
>  src/gallium/targets/radeonsi/dri/Makefile.am  |  1 +
>  src/mesa/drivers/dri/common/Makefile.am       |  1 +
>  src/mesa/drivers/dri/i915/Makefile.am         |  1 +
>  src/mesa/drivers/dri/i965/Makefile.am         |  1 +
>  src/mesa/drivers/dri/nouveau/Makefile.am      |  1 +
>  src/mesa/drivers/dri/r200/Makefile.am         |  1 +
>  src/mesa/drivers/dri/radeon/Makefile.am       |  1 +
>  src/mesa/drivers/dri/swrast/Makefile.am       |  1 +
>  17 files changed, 21 insertions(+), 18 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index 1dd0087..e8fb7f1 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -1003,21 +1003,9 @@ if test "x$enable_dri" = xyes; then
>      DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/  */ /g'`
>  
>      # Check for expat
> -    EXPAT_INCLUDES=""
> -    EXPAT_LIB=-lexpat
> -    AC_ARG_WITH([expat],
> -        [AS_HELP_STRING([--with-expat=DIR],
> -            [expat install directory])],[
> -        EXPAT_INCLUDES="-I$withval/include"
> -        CPPFLAGS="$CPPFLAGS $EXPAT_INCLUDES"
> -        LDFLAGS="$LDFLAGS -L$withval/$LIB_DIR"
> -        EXPAT_LIB="-L$withval/$LIB_DIR -lexpat"
> -        ])
> -    AC_CHECK_HEADER([expat.h],[],[AC_MSG_ERROR([Expat required for DRI.])])
> -    save_LIBS="$LIBS"
> -    AC_CHECK_LIB([expat],[XML_ParserCreate],[],
> -        [AC_MSG_ERROR([Expat required for DRI.])])
> -    LIBS="$save_LIBS"
> +    PKG_CHECK_MODULES([EXPAT], [expat], [],
> +                      AC_MSG_ERROR([Expat required for DRI.]))
> +

Is it possible to get the same behavior as the --with-expat option by
setting EXPAT_* environment variables at configure time?  If so, it would
be nice to add a note to the commit message explaining how to do this.

-Tom
>  
>      # If we are building any DRI driver other than swrast.
>      if test -n "$DRI_DIRS" -a x"$DRI_DIRS" != xswrast; then
> @@ -1030,13 +1018,12 @@ if test "x$enable_dri" = xyes; then
>      fi
>  
>      # put all the necessary libs together
> -    DRI_LIB_DEPS="$DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm $PTHREAD_LIBS $DLOPEN_LIBS"
> -    GALLIUM_DRI_LIB_DEPS="$GALLIUM_DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm $CLOCK_LIB $PTHREAD_LIBS $DLOPEN_LIBS"
> +    DRI_LIB_DEPS="$DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
> +    GALLIUM_DRI_LIB_DEPS="$GALLIUM_DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIBS -lm $CLOCK_LIB $PTHREAD_LIBS $DLOPEN_LIBS"
>  
>      DRI_DRIVER_LDFLAGS="-module -avoid-version -shared -Wl,-Bsymbolic"
>  fi
>  AM_CONDITIONAL(NEED_LIBDRICORE, test -n "$DRI_DIRS")
> -AC_SUBST([EXPAT_INCLUDES])
>  AC_SUBST([DRI_LIB_DEPS])
>  AC_SUBST([DRI_DRIVER_LDFLAGS])
>  AC_SUBST([GALLIUM_DRI_LIB_DEPS])
> diff --git a/src/gallium/targets/dri-freedreno/Makefile.am b/src/gallium/targets/dri-freedreno/Makefile.am
> index 615ae6f..18a3a8d 100644
> --- a/src/gallium/targets/dri-freedreno/Makefile.am
> +++ b/src/gallium/targets/dri-freedreno/Makefile.am
> @@ -25,6 +25,7 @@ include $(top_srcdir)/src/gallium/Automake.inc
>  AM_CFLAGS = \
>  	$(GALLIUM_CFLAGS) \
>  	$(PTHREAD_CFLAGS) \
> +	$(EXPAT_CFLAGS) \
>  	$(LIBDRM_CFLAGS)
>  AM_CPPFLAGS = \
>  	-I$(top_srcdir)/src/gallium/drivers \
> diff --git a/src/gallium/targets/dri-i915/Makefile.am b/src/gallium/targets/dri-i915/Makefile.am
> index ce6be78..7dfbe84 100644
> --- a/src/gallium/targets/dri-i915/Makefile.am
> +++ b/src/gallium/targets/dri-i915/Makefile.am
> @@ -25,6 +25,7 @@ include $(top_srcdir)/src/gallium/Automake.inc
>  AM_CFLAGS = \
>  	$(GALLIUM_CFLAGS) \
>  	$(PTHREAD_CFLAGS) \
> +	$(EXPAT_CFLAGS) \
>  	$(LIBDRM_CFLAGS)
>  AM_CPPFLAGS = \
>  	-I$(top_srcdir)/src/gallium/drivers \
> diff --git a/src/gallium/targets/dri-ilo/Makefile.am b/src/gallium/targets/dri-ilo/Makefile.am
> index 7761f33..39c1a91 100644
> --- a/src/gallium/targets/dri-ilo/Makefile.am
> +++ b/src/gallium/targets/dri-ilo/Makefile.am
> @@ -26,6 +26,7 @@ include $(top_srcdir)/src/gallium/Automake.inc
>  AM_CFLAGS = \
>  	$(GALLIUM_CFLAGS) \
>  	$(PTHREAD_CFLAGS) \
> +	$(EXPAT_CFLAGS) \
>  	$(LIBDRM_CFLAGS)
>  AM_CPPFLAGS = \
>  	-I$(top_srcdir)/src/gallium/drivers \
> diff --git a/src/gallium/targets/dri-nouveau/Makefile.am b/src/gallium/targets/dri-nouveau/Makefile.am
> index 9cc5455..c49a6a6 100644
> --- a/src/gallium/targets/dri-nouveau/Makefile.am
> +++ b/src/gallium/targets/dri-nouveau/Makefile.am
> @@ -25,6 +25,7 @@ include $(top_srcdir)/src/gallium/Automake.inc
>  AM_CFLAGS = \
>  	$(GALLIUM_CFLAGS) \
>  	$(PTHREAD_CFLAGS) \
> +	$(EXPAT_CFLAGS) \
>  	$(LIBDRM_CFLAGS)
>  AM_CPPFLAGS = \
>  	-I$(top_srcdir)/src/gallium/drivers \
> diff --git a/src/gallium/targets/dri-swrast/Makefile.am b/src/gallium/targets/dri-swrast/Makefile.am
> index 1104379..60c3253 100644
> --- a/src/gallium/targets/dri-swrast/Makefile.am
> +++ b/src/gallium/targets/dri-swrast/Makefile.am
> @@ -25,6 +25,7 @@ include $(top_srcdir)/src/gallium/Automake.inc
>  AM_CFLAGS = \
>  	$(GALLIUM_CFLAGS) \
>  	$(PTHREAD_CFLAGS) \
> +	$(EXPAT_CFLAGS) \
>  	$(LIBDRM_CFLAGS)
>  AM_CPPFLAGS = \
>  	-I$(top_srcdir)/src/gallium/winsys/sw/dri \
> diff --git a/src/gallium/targets/dri-vmwgfx/Makefile.am b/src/gallium/targets/dri-vmwgfx/Makefile.am
> index ca7df65..5a369e6 100644
> --- a/src/gallium/targets/dri-vmwgfx/Makefile.am
> +++ b/src/gallium/targets/dri-vmwgfx/Makefile.am
> @@ -25,6 +25,7 @@ include $(top_srcdir)/src/gallium/Automake.inc
>  AM_CFLAGS = \
>  	$(GALLIUM_CFLAGS) \
>  	$(PTHREAD_CFLAGS) \
> +	$(EXPAT_CFLAGS) \
>  	$(LIBDRM_CFLAGS)
>  AM_CPPFLAGS = \
>  	-I$(top_srcdir)/src/gallium/drivers \
> diff --git a/src/gallium/targets/r300/dri/Makefile.am b/src/gallium/targets/r300/dri/Makefile.am
> index 8909840..114f75f 100644
> --- a/src/gallium/targets/r300/dri/Makefile.am
> +++ b/src/gallium/targets/r300/dri/Makefile.am
> @@ -25,6 +25,7 @@ include $(top_srcdir)/src/gallium/Automake.inc
>  AM_CFLAGS = \
>  	$(GALLIUM_CFLAGS) \
>  	$(PTHREAD_CFLAGS) \
> +	$(EXPAT_CFLAGS) \
>  	$(LIBDRM_CFLAGS)
>  AM_CPPFLAGS = \
>  	-I$(top_srcdir)/src/gallium/drivers \
> diff --git a/src/gallium/targets/r600/dri/Makefile.am b/src/gallium/targets/r600/dri/Makefile.am
> index 423ad0e..d637fbc 100644
> --- a/src/gallium/targets/r600/dri/Makefile.am
> +++ b/src/gallium/targets/r600/dri/Makefile.am
> @@ -25,6 +25,7 @@ include $(top_srcdir)/src/gallium/Automake.inc
>  AM_CFLAGS = \
>  	$(GALLIUM_CFLAGS) \
>  	$(PTHREAD_CFLAGS) \
> +	$(EXPAT_CFLAGS) \
>  	$(LIBDRM_CFLAGS)
>  AM_CPPFLAGS = \
>  	-I$(top_srcdir)/src/gallium/drivers \
> diff --git a/src/gallium/targets/radeonsi/dri/Makefile.am b/src/gallium/targets/radeonsi/dri/Makefile.am
> index 3e927c7..4a36d09 100644
> --- a/src/gallium/targets/radeonsi/dri/Makefile.am
> +++ b/src/gallium/targets/radeonsi/dri/Makefile.am
> @@ -25,6 +25,7 @@ include $(top_srcdir)/src/gallium/Automake.inc
>  AM_CFLAGS = \
>  	$(GALLIUM_CFLAGS) \
>  	$(PTHREAD_CFLAGS) \
> +	$(EXPAT_CFLAGS) \
>  	$(LIBDRM_CFLAGS)
>  AM_CPPFLAGS = \
>  	-I$(top_srcdir)/src/gallium/drivers \
> diff --git a/src/mesa/drivers/dri/common/Makefile.am b/src/mesa/drivers/dri/common/Makefile.am
> index ce4119d..12f5095 100644
> --- a/src/mesa/drivers/dri/common/Makefile.am
> +++ b/src/mesa/drivers/dri/common/Makefile.am
> @@ -27,6 +27,7 @@ AM_CFLAGS = \
>  	-I$(top_srcdir)/src/mapi \
>  	-I$(top_srcdir)/src/mesa/ \
>  	$(DEFINES) \
> +	$(EXPAT_CFLAGS) \
>  	$(LIBDRM_CFLAGS) \
>  	$(VISIBILITY_CFLAGS)
>  
> diff --git a/src/mesa/drivers/dri/i915/Makefile.am b/src/mesa/drivers/dri/i915/Makefile.am
> index 46dd4c2..07088de 100644
> --- a/src/mesa/drivers/dri/i915/Makefile.am
> +++ b/src/mesa/drivers/dri/i915/Makefile.am
> @@ -32,6 +32,7 @@ AM_CFLAGS = \
>  	-I$(top_srcdir)/src/mesa/drivers/dri/intel/server \
>  	-I$(top_builddir)/src/mesa/drivers/dri/common \
>  	$(DEFINES) \
> +	$(EXPAT_CFLAGS) \
>  	$(VISIBILITY_CFLAGS) \
>  	$(INTEL_CFLAGS)
>  
> diff --git a/src/mesa/drivers/dri/i965/Makefile.am b/src/mesa/drivers/dri/i965/Makefile.am
> index eb437d3..3ba950b 100644
> --- a/src/mesa/drivers/dri/i965/Makefile.am
> +++ b/src/mesa/drivers/dri/i965/Makefile.am
> @@ -35,6 +35,7 @@ AM_CFLAGS = \
>  	-I$(top_srcdir)/src/gtest/include \
>  	-I$(top_builddir)/src/mesa/drivers/dri/common \
>  	$(DEFINES) \
> +	$(EXPAT_CFLAGS) \
>  	$(VISIBILITY_CFLAGS) \
>  	$(INTEL_CFLAGS)
>  
> diff --git a/src/mesa/drivers/dri/nouveau/Makefile.am b/src/mesa/drivers/dri/nouveau/Makefile.am
> index 7172e62..18866e8 100644
> --- a/src/mesa/drivers/dri/nouveau/Makefile.am
> +++ b/src/mesa/drivers/dri/nouveau/Makefile.am
> @@ -30,6 +30,7 @@ AM_CFLAGS = \
>  	-I$(top_srcdir)/src/mesa/ \
>  	-I$(top_srcdir)/src/mesa/drivers/dri/common \
>  	$(DEFINES) \
> +	$(EXPAT_CFLAGS) \
>  	$(VISIBILITY_CFLAGS) \
>  	$(NOUVEAU_CFLAGS)
>  
> diff --git a/src/mesa/drivers/dri/r200/Makefile.am b/src/mesa/drivers/dri/r200/Makefile.am
> index fc0482a..9bd859d 100644
> --- a/src/mesa/drivers/dri/r200/Makefile.am
> +++ b/src/mesa/drivers/dri/r200/Makefile.am
> @@ -33,6 +33,7 @@ AM_CFLAGS = \
>  	-I$(top_srcdir)/src/mesa/drivers/dri/r200/server \
>  	-I$(top_builddir)/src/mesa/drivers/dri/common \
>  	$(DEFINES) \
> +	$(EXPAT_CFLAGS) \
>  	$(VISIBILITY_CFLAGS) \
>  	$(RADEON_CFLAGS)
>  
> diff --git a/src/mesa/drivers/dri/radeon/Makefile.am b/src/mesa/drivers/dri/radeon/Makefile.am
> index d13b803..17d03e3 100644
> --- a/src/mesa/drivers/dri/radeon/Makefile.am
> +++ b/src/mesa/drivers/dri/radeon/Makefile.am
> @@ -33,6 +33,7 @@ AM_CFLAGS = \
>  	-I$(top_srcdir)/src/mesa/drivers/dri/radeon/server \
>  	-I$(top_builddir)/src/mesa/drivers/dri/common \
>  	$(DEFINES) \
> +	$(EXPAT_CFLAGS) \
>  	$(VISIBILITY_CFLAGS) \
>  	$(RADEON_CFLAGS)
>  
> diff --git a/src/mesa/drivers/dri/swrast/Makefile.am b/src/mesa/drivers/dri/swrast/Makefile.am
> index fb9b8a0..9ba5021 100644
> --- a/src/mesa/drivers/dri/swrast/Makefile.am
> +++ b/src/mesa/drivers/dri/swrast/Makefile.am
> @@ -31,6 +31,7 @@ AM_CFLAGS = \
>  	-I$(top_srcdir)/src/mesa/ \
>  	-I$(top_srcdir)/src/mesa/drivers/dri/common \
>  	$(DEFINES) \
> +	$(EXPAT_CFLAGS) \
>  	$(VISIBILITY_CFLAGS)
>  
>  dridir = $(DRI_DRIVER_INSTALL_DIR)
> -- 
> 1.8.4
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list