[Mesa-dev] [PATCH 12/17] gallium/r300, r600, radeonsi: add automake target 'templates'
Christian König
deathsimple at vodafone.de
Mon Sep 22 01:29:56 PDT 2014
Am 22.09.2014 um 01:44 schrieb Emil Velikov:
> Rather than duplicating the libdeps, extra define... all over the
> targets, define them only once and use when applicable.
>
> Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Do I get it right that this also allows for relatively easy definition
of specialized targets? E.g. what we might want to do is providing
Ubuntu/Debian packages with only the AMD drivers compiled into a
specialized dri_radeon.so etc...
The patch itself looks good to be, but I'm not an expert on automake. So
it is Acked-by: Christian König <christian.koenig at amd.com>
> ---
> src/gallium/drivers/r300/Automake.inc | 18 +++++++++++++
> src/gallium/drivers/r600/Automake.inc | 16 ++++++++++++
> src/gallium/drivers/radeonsi/Automake.inc | 16 ++++++++++++
> src/gallium/targets/dri/Makefile.am | 39 ++++-----------------------
> src/gallium/targets/egl-static/Makefile.am | 42 +++++-------------------------
> src/gallium/targets/gbm/Makefile.am | 37 ++++----------------------
> src/gallium/targets/omx/Makefile.am | 34 +++---------------------
> src/gallium/targets/vdpau/Makefile.am | 36 +++----------------------
> src/gallium/targets/xvmc/Makefile.am | 13 +++------
> 9 files changed, 77 insertions(+), 174 deletions(-)
> create mode 100644 src/gallium/drivers/r300/Automake.inc
> create mode 100644 src/gallium/drivers/r600/Automake.inc
> create mode 100644 src/gallium/drivers/radeonsi/Automake.inc
>
> diff --git a/src/gallium/drivers/r300/Automake.inc b/src/gallium/drivers/r300/Automake.inc
> new file mode 100644
> index 0000000..6a8d4a7
> --- /dev/null
> +++ b/src/gallium/drivers/r300/Automake.inc
> @@ -0,0 +1,18 @@
> +if HAVE_GALLIUM_R300
> +
> +TARGET_DRIVERS += r300
> +TARGET_CPPFLAGS += -DGALLIUM_R300
> +TARGET_LIB_DEPS += \
> + $(top_builddir)/src/gallium/drivers/r300/libr300.la \
> + $(RADEON_LIBS) \
> + $(INTEL_LIBS)
> +
> +if !HAVE_OPENGL
> +TARGET_LIB_DEPS += \
> + $(top_builddir)/src/gallium/drivers/r300/libr300-helper.la
> +endif
> +
> +TARGET_RADEON_WINSYS ?= \
> + $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la
> +
> +endif
> diff --git a/src/gallium/drivers/r600/Automake.inc b/src/gallium/drivers/r600/Automake.inc
> new file mode 100644
> index 0000000..014f415
> --- /dev/null
> +++ b/src/gallium/drivers/r600/Automake.inc
> @@ -0,0 +1,16 @@
> +if HAVE_GALLIUM_R600
> +
> +TARGET_DRIVERS += r600
> +TARGET_CPPFLAGS += -DGALLIUM_R600
> +TARGET_LIB_DEPS += \
> + $(top_builddir)/src/gallium/drivers/r600/libr600.la \
> + $(RADEON_LIBS) \
> + $(LIBDRM_LIBS)
> +
> +TARGET_RADEON_WINSYS ?= \
> + $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la
> +
> +TARGET_RADEON_COMMON ?= \
> + $(top_builddir)/src/gallium/drivers/radeon/libradeon.la
> +
> +endif
> diff --git a/src/gallium/drivers/radeonsi/Automake.inc b/src/gallium/drivers/radeonsi/Automake.inc
> new file mode 100644
> index 0000000..3f212b3
> --- /dev/null
> +++ b/src/gallium/drivers/radeonsi/Automake.inc
> @@ -0,0 +1,16 @@
> +if HAVE_GALLIUM_RADEONSI
> +
> +TARGET_DRIVERS += radeonsi
> +TARGET_CPPFLAGS += -DGALLIUM_RADEONSI
> +TARGET_LIB_DEPS += \
> + $(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \
> + $(RADEON_LIBS) \
> + $(LIBDRM_LIBS)
> +
> +TARGET_RADEON_WINSYS ?= \
> + $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la
> +
> +TARGET_RADEON_COMMON ?= \
> + $(top_builddir)/src/gallium/drivers/radeon/libradeon.la
> +
> +endif
> diff --git a/src/gallium/targets/dri/Makefile.am b/src/gallium/targets/dri/Makefile.am
> index cf4a025..0143694 100644
> --- a/src/gallium/targets/dri/Makefile.am
> +++ b/src/gallium/targets/dri/Makefile.am
> @@ -74,39 +74,9 @@ include $(top_srcdir)/src/gallium/drivers/ilo/Automake.inc
>
> include $(top_srcdir)/src/gallium/drivers/nouveau/Automake.inc
>
> -if NEED_RADEON_DRM_WINSYS
> -STATIC_TARGET_LIB_DEPS += \
> - $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la
> -endif
> -
> -if HAVE_GALLIUM_RADEON_COMMON
> -STATIC_TARGET_LIB_DEPS += \
> - $(top_builddir)/src/gallium/drivers/radeon/libradeon.la
> -endif
> -
> -if HAVE_GALLIUM_R300
> -MEGADRIVERS += r300
> -STATIC_TARGET_CPPFLAGS += -DGALLIUM_R300
> -STATIC_TARGET_LIB_DEPS += \
> - $(top_builddir)/src/gallium/drivers/r300/libr300.la \
> - $(RADEON_LIBS)
> -endif
> -
> -if HAVE_GALLIUM_R600
> -MEGADRIVERS += r600
> -STATIC_TARGET_CPPFLAGS += -DGALLIUM_R600
> -STATIC_TARGET_LIB_DEPS += \
> - $(top_builddir)/src/gallium/drivers/r600/libr600.la \
> - $(RADEON_LIBS)
> -endif
> -
> -if HAVE_GALLIUM_RADEONSI
> -MEGADRIVERS += radeonsi
> -STATIC_TARGET_CPPFLAGS += -DGALLIUM_RADEONSI
> -STATIC_TARGET_LIB_DEPS += \
> - $(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \
> - $(RADEON_LIBS)
> -endif
> +include $(top_srcdir)/src/gallium/drivers/r300/Automake.inc
> +include $(top_srcdir)/src/gallium/drivers/r600/Automake.inc
> +include $(top_srcdir)/src/gallium/drivers/radeonsi/Automake.inc
>
> include $(top_srcdir)/src/gallium/drivers/svga/Automake.inc
>
> @@ -148,7 +118,8 @@ if HAVE_GALLIUM_STATIC_TARGETS
>
> gallium_dri_la_SOURCES += target.c
> AM_CPPFLAGS += $(STATIC_TARGET_CPPFLAGS) $(TARGET_CPPFLAGS)
> -gallium_dri_la_LIBADD += $(STATIC_TARGET_LIB_DEPS) $(TARGET_LIB_DEPS)
> +gallium_dri_la_LIBADD += $(STATIC_TARGET_LIB_DEPS) $(TARGET_LIB_DEPS) \
> + $(TARGET_RADEON_WINSYS) $(TARGET_RADEON_COMMON)
>
> else # HAVE_GALLIUM_STATIC_TARGETS
>
> diff --git a/src/gallium/targets/egl-static/Makefile.am b/src/gallium/targets/egl-static/Makefile.am
> index 788d3fd..472eea7 100644
> --- a/src/gallium/targets/egl-static/Makefile.am
> +++ b/src/gallium/targets/egl-static/Makefile.am
> @@ -167,41 +167,9 @@ include $(top_srcdir)/src/gallium/drivers/ilo/Automake.inc
>
> include $(top_srcdir)/src/gallium/drivers/nouveau/Automake.inc
>
> -if NEED_RADEON_DRM_WINSYS
> -egl_gallium_la_LIBADD += \
> - $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la
> -endif
> -
> -if HAVE_GALLIUM_RADEON_COMMON
> -egl_gallium_la_LIBADD += \
> - $(top_builddir)/src/gallium/drivers/radeon/libradeon.la
> -endif
> -
> -if HAVE_GALLIUM_R300
> -egl_gallium_la_CPPFLAGS += -DGALLIUM_R300
> -egl_gallium_la_LIBADD += \
> - $(top_builddir)/src/gallium/drivers/r300/libr300.la \
> - $(RADEON_LIBS)
> -
> -if !HAVE_OPENGL
> -egl_gallium_la_LIBADD += \
> - $(top_builddir)/src/gallium/drivers/r300/libr300-helper.la
> -endif
> -endif
> -
> -if HAVE_GALLIUM_R600
> -egl_gallium_la_CPPFLAGS += -DGALLIUM_R600
> -egl_gallium_la_LIBADD += \
> - $(top_builddir)/src/gallium/drivers/r600/libr600.la \
> - $(RADEON_LIBS)
> -endif
> -
> -if HAVE_GALLIUM_RADEONSI
> -egl_gallium_la_CPPFLAGS += -DGALLIUM_RADEONSI
> -egl_gallium_la_LIBADD += \
> - $(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \
> - $(RADEON_LIBS)
> -endif
> +include $(top_srcdir)/src/gallium/drivers/r300/Automake.inc
> +include $(top_srcdir)/src/gallium/drivers/r600/Automake.inc
> +include $(top_srcdir)/src/gallium/drivers/radeonsi/Automake.inc
>
> include $(top_srcdir)/src/gallium/drivers/svga/Automake.inc
>
> @@ -220,7 +188,9 @@ egl_gallium_la_LIBADD += \
> endif
>
> egl_gallium_la_CPPFLAGS += $(TARGET_CPPFLAGS)
> -egl_gallium_la_LIBADD += $(TARGET_LIB_DEPS)
> +egl_gallium_la_LIBADD += $(TARGET_LIB_DEPS) \
> + $(TARGET_RADEON_WINSYS) $(TARGET_RADEON_COMMON)
> +
>
> #else # HAVE_GALLIUM_STATIC_TARGETS
>
> diff --git a/src/gallium/targets/gbm/Makefile.am b/src/gallium/targets/gbm/Makefile.am
> index 2b05265..ddd558e 100644
> --- a/src/gallium/targets/gbm/Makefile.am
> +++ b/src/gallium/targets/gbm/Makefile.am
> @@ -66,37 +66,9 @@ include $(top_srcdir)/src/gallium/drivers/ilo/Automake.inc
>
> include $(top_srcdir)/src/gallium/drivers/nouveau/Automake.inc
>
> -if NEED_RADEON_DRM_WINSYS
> -STATIC_TARGET_LIB_DEPS += \
> - $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la
> -endif
> -
> -if HAVE_GALLIUM_RADEON_COMMON
> -STATIC_TARGET_LIB_DEPS += \
> - $(top_builddir)/src/gallium/drivers/radeon/libradeon.la
> -endif
> -
> -if HAVE_GALLIUM_R300
> -STATIC_TARGET_CPPFLAGS += -DGALLIUM_R300
> -STATIC_TARGET_LIB_DEPS += \
> - $(top_builddir)/src/gallium/drivers/r300/libr300.la \
> - $(top_builddir)/src/gallium/drivers/r300/libr300-helper.la \
> - $(RADEON_LIBS)
> -endif
> -
> -if HAVE_GALLIUM_R600
> -STATIC_TARGET_CPPFLAGS += -DGALLIUM_R600
> -STATIC_TARGET_LIB_DEPS += \
> - $(top_builddir)/src/gallium/drivers/r600/libr600.la \
> - $(RADEON_LIBS)
> -endif
> -
> -if HAVE_GALLIUM_RADEONSI
> -STATIC_TARGET_CPPFLAGS += -DGALLIUM_RADEONSI
> -STATIC_TARGET_LIB_DEPS += \
> - $(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \
> - $(RADEON_LIBS)
> -endif
> +include $(top_srcdir)/src/gallium/drivers/r300/Automake.inc
> +include $(top_srcdir)/src/gallium/drivers/r600/Automake.inc
> +include $(top_srcdir)/src/gallium/drivers/radeonsi/Automake.inc
>
> include $(top_srcdir)/src/gallium/drivers/svga/Automake.inc
>
> @@ -104,7 +76,8 @@ include $(top_srcdir)/src/gallium/drivers/freedreno/Automake.inc
>
> gbm_gallium_drm_la_SOURCES += target.c
> gbm_gallium_drm_la_CPPFLAGS = $(STATIC_TARGET_CPPFLAGS) $(TARGET_CPPFLAGS)
> -gbm_gallium_drm_la_LIBADD += $(STATIC_TARGET_LIB_DEPS) $(TARGET_LIB_DEPS)
> +gbm_gallium_drm_la_LIBADD += $(STATIC_TARGET_LIB_DEPS) $(TARGET_LIB_DEPS) \
> + $(TARGET_RADEON_WINSYS) $(TARGET_RADEON_COMMON)
>
> else # HAVE_GALLIUM_STATIC_TARGETS
> gbm_gallium_drm_la_LIBADD += \
> diff --git a/src/gallium/targets/omx/Makefile.am b/src/gallium/targets/omx/Makefile.am
> index e906ce1..17a44e9 100644
> --- a/src/gallium/targets/omx/Makefile.am
> +++ b/src/gallium/targets/omx/Makefile.am
> @@ -44,39 +44,13 @@ TARGET_LIB_DEPS =
>
> include $(top_srcdir)/src/gallium/drivers/nouveau/Automake.inc
>
> -# Radeon winsys chaos
> -if HAVE_GALLIUM_R600
> -STATIC_TARGET_LIB_DEPS += \
> - $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la
> -else
> -if HAVE_GALLIUM_RADEONSI
> -STATIC_TARGET_LIB_DEPS += \
> - $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la
> -endif
> -endif
> -
> -if HAVE_GALLIUM_RADEON_COMMON
> -STATIC_TARGET_LIB_DEPS += \
> - $(top_builddir)/src/gallium/drivers/radeon/libradeon.la
> -endif
> -
> -if HAVE_GALLIUM_R600
> -STATIC_TARGET_CPPFLAGS += -DGALLIUM_R600
> -STATIC_TARGET_LIB_DEPS += \
> - $(top_builddir)/src/gallium/drivers/r600/libr600.la \
> - $(RADEON_LIBS)
> -endif
> -
> -if HAVE_GALLIUM_RADEONSI
> -STATIC_TARGET_CPPFLAGS += -DGALLIUM_RADEONSI
> -STATIC_TARGET_LIB_DEPS += \
> - $(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \
> - $(RADEON_LIBS)
> -endif
> +include $(top_srcdir)/src/gallium/drivers/r600/Automake.inc
> +include $(top_srcdir)/src/gallium/drivers/radeonsi/Automake.inc
>
> libomx_mesa_la_SOURCES += target.c
> libomx_mesa_la_CPPFLAGS = $(STATIC_TARGET_CPPFLAGS) $(TARGET_CPPFLAGS)
> -libomx_mesa_la_LIBADD += $(STATIC_TARGET_LIB_DEPS) $(TARGET_LIB_DEPS)
> +libomx_mesa_la_LIBADD += $(STATIC_TARGET_LIB_DEPS) $(TARGET_LIB_DEPS) \
> + $(TARGET_RADEON_WINSYS) $(TARGET_RADEON_COMMON)
>
> else # HAVE_GALLIUM_STATIC_TARGETS
>
> diff --git a/src/gallium/targets/vdpau/Makefile.am b/src/gallium/targets/vdpau/Makefile.am
> index 3b39108..43cecc4 100644
> --- a/src/gallium/targets/vdpau/Makefile.am
> +++ b/src/gallium/targets/vdpau/Makefile.am
> @@ -49,43 +49,15 @@ TARGET_LIB_DEPS =
>
> include $(top_srcdir)/src/gallium/drivers/nouveau/Automake.inc
>
> -# Radeon winsys chaos
> -if HAVE_GALLIUM_R600
> -STATIC_TARGET_LIB_DEPS += \
> - $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la
> -else
> -if HAVE_GALLIUM_RADEONSI
> -STATIC_TARGET_LIB_DEPS += \
> - $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la
> -endif
> -endif
> -
> -if HAVE_GALLIUM_RADEON_COMMON
> -STATIC_TARGET_LIB_DEPS += \
> - $(top_builddir)/src/gallium/drivers/radeon/libradeon.la
> -endif
> -
> -if HAVE_GALLIUM_R600
> -MEGADRIVERS += r600
> -STATIC_TARGET_CPPFLAGS += -DGALLIUM_R600
> -STATIC_TARGET_LIB_DEPS += \
> - $(top_builddir)/src/gallium/drivers/r600/libr600.la \
> - $(RADEON_LIBS)
> -endif
> -
> -if HAVE_GALLIUM_RADEONSI
> -MEGADRIVERS += radeonsi
> -STATIC_TARGET_CPPFLAGS += -DGALLIUM_RADEONSI
> -STATIC_TARGET_LIB_DEPS += \
> - $(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \
> - $(RADEON_LIBS)
> -endif
> +include $(top_srcdir)/src/gallium/drivers/r600/Automake.inc
> +include $(top_srcdir)/src/gallium/drivers/radeonsi/Automake.inc
>
> if HAVE_GALLIUM_STATIC_TARGETS
>
> libvdpau_gallium_la_SOURCES += target.c
> libvdpau_gallium_la_CPPFLAGS = $(STATIC_TARGET_CPPFLAGS) $(TARGET_CPPFLAGS)
> -libvdpau_gallium_la_LIBADD += $(STATIC_TARGET_LIB_DEPS) $(TARGET_LIB_DEPS)
> +libvdpau_gallium_la_LIBADD += $(STATIC_TARGET_LIB_DEPS) $(TARGET_LIB_DEPS) \
> + $(TARGET_RADEON_WINSYS) $(TARGET_RADEON_COMMON)
>
> else # HAVE_GALLIUM_STATIC_TARGETS
>
> diff --git a/src/gallium/targets/xvmc/Makefile.am b/src/gallium/targets/xvmc/Makefile.am
> index e8bf6c4..7b4b4b9 100644
> --- a/src/gallium/targets/xvmc/Makefile.am
> +++ b/src/gallium/targets/xvmc/Makefile.am
> @@ -44,21 +44,14 @@ TARGET_LIB_DEPS =
>
> include $(top_srcdir)/src/gallium/drivers/nouveau/Automake.inc
>
> -if HAVE_GALLIUM_R600
> -MEGADRIVERS += r600
> -STATIC_TARGET_CPPFLAGS += -DGALLIUM_R600
> -STATIC_TARGET_LIB_DEPS += \
> - $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \
> - $(top_builddir)/src/gallium/drivers/radeon/libradeon.la \
> - $(top_builddir)/src/gallium/drivers/r600/libr600.la \
> - $(RADEON_LIBS)
> -endif
> +include $(top_srcdir)/src/gallium/drivers/r600/Automake.inc
>
> if HAVE_GALLIUM_STATIC_TARGETS
>
> libXvMCgallium_la_SOURCES += target.c
> libXvMCgallium_la_CPPFLAGS = $(STATIC_TARGET_CPPFLAGS) $(TARGET_CPPFLAGS)
> -libXvMCgallium_la_LIBADD += $(STATIC_TARGET_LIB_DEPS) $(TARGET_LIB_DEPS)
> +libXvMCgallium_la_LIBADD += $(STATIC_TARGET_LIB_DEPS) $(TARGET_LIB_DEPS) \
> + $(TARGET_RADEON_WINSYS) $(TARGET_RADEON_COMMON)
>
> else # HAVE_GALLIUM_STATIC_TARGETS
>
More information about the mesa-dev
mailing list