include $(top_srcdir)/src/gallium/Automake.inc
-gbmdir = $(libdir)/gbm
-
-AM_CPPFLAGS = \
- -I$(top_srcdir)/include \
- -I$(top_srcdir)/src/gallium/state_trackers/gbm \
- -I$(top_srcdir)/src/gbm/main \
- -I$(top_srcdir)/src/gallium/winsys \
- $(GALLIUM_PIPE_LOADER_DEFINES) \
- -DPIPE_SEARCH_DIR=\"$(libdir)/gallium-pipe\"
-
AM_CFLAGS = \
- $(GALLIUM_CFLAGS) \
- $(LIBUDEV_CFLAGS) \
- $(LIBDRM_CFLAGS)
+ $(GALLIUM_TARGET_CFLAGS)
+gbmdir = $(libdir)/gbm
gbm_LTLIBRARIES = gbm_gallium_drm.la
-gbm_gallium_drm_la_SOURCES = gbm.c
+nodist_EXTRA_gbm_gallium_drm_la_SOURCES = dummy.cpp
+gbm_gallium_drm_la_SOURCES =
gbm_gallium_drm_la_LIBADD = \
- $(GALLIUM_PIPE_LOADER_LIBS) \
$(top_builddir)/src/gallium/state_trackers/gbm/libgbm.la \
$(top_builddir)/src/gallium/auxiliary/libgallium.la \
- $(LIBUDEV_LIBS) \
+ $(top_builddir)/src/util/libmesautil.la \
$(LIBDRM_LIBS) \
- -lm
+ $(GALLIUM_COMMON_LIB_DEPS)
-gbm_gallium_drm_la_LDFLAGS = -no-undefined -avoid-version -module
+gbm_gallium_drm_la_LDFLAGS = \
+ -module \
+ -no-undefined \
+ -avoid-version \
+ $(GC_SECTIONS) \
+ $(LD_NO_UNDEFINED)
-# FIXME: this shouldn't be needed
-if HAVE_MESA_LLVM
-gbm_gallium_drm_la_LINK = $(CXXLINK) $(gbm_gallium_drm_la_LDFLAGS)
-# Mention a dummy pure C++ file to trigger generation of the $(LINK) variable
-nodist_EXTRA_gbm_gallium_drm_la_SOURCES = dummy-cpp.cpp
+if HAVE_LD_VERSION_SCRIPT
+gbm_gallium_drm_la_LDFLAGS += \
+ -Wl,--version-script=$(top_srcdir)/src/gallium/targets/gbm/gbm.sym
+endif
+
+if HAVE_GALLIUM_STATIC_TARGETS
+
+STATIC_TARGET_CPPFLAGS =
+STATIC_TARGET_LIB_DEPS = \
+ $(top_builddir)/src/loader/libloader.la
+
+if HAVE_GALLIUM_I915
+STATIC_TARGET_CPPFLAGS += -DGALLIUM_I915
+STATIC_TARGET_LIB_DEPS += \
+ $(top_builddir)/src/gallium/winsys/i915/drm/libi915drm.la \
+ $(top_builddir)/src/gallium/drivers/i915/libi915.la \
+ $(INTEL_LIBS)
+endif
+
+if HAVE_GALLIUM_ILO
+STATIC_TARGET_CPPFLAGS += -DGALLIUM_ILO
+STATIC_TARGET_LIB_DEPS += \
+ $(top_builddir)/src/gallium/winsys/intel/drm/libintelwinsys.la \
+ $(top_builddir)/src/gallium/drivers/ilo/libilo.la \
+ $(INTEL_LIBS)
+endif
+
+if HAVE_GALLIUM_NOUVEAU
+STATIC_TARGET_CPPFLAGS += -DGALLIUM_NOUVEAU
+STATIC_TARGET_LIB_DEPS += \
+ $(top_builddir)/src/gallium/winsys/nouveau/drm/libnouveaudrm.la \
+ $(top_builddir)/src/gallium/drivers/nouveau/libnouveau.la \
+ $(NOUVEAU_LIBS)
+endif
+
+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
+
+if HAVE_GALLIUM_SVGA
+STATIC_TARGET_CPPFLAGS += -DGALLIUM_VMWGFX
+STATIC_TARGET_LIB_DEPS += \
+ $(top_builddir)/src/gallium/winsys/svga/drm/libsvgadrm.la \
+ $(top_builddir)/src/gallium/drivers/svga/libsvga.la
+endif
+if HAVE_GALLIUM_FREEDRENO
+STATIC_TARGET_CPPFLAGS += -DGALLIUM_FREEDRENO
+STATIC_TARGET_LIB_DEPS += \
+ $(top_builddir)/src/gallium/winsys/freedreno/drm/libfreedrenodrm.la \
+ $(top_builddir)/src/gallium/drivers/freedreno/libfreedreno.la \
+ $(FREEDRENO_LIBS)
+
+endif
+
+gbm_gallium_drm_la_SOURCES += target.c
+gbm_gallium_drm_la_CPPFLAGS = $(STATIC_TARGET_CPPFLAGS)
+gbm_gallium_drm_la_LIBADD += $(STATIC_TARGET_LIB_DEPS)
+
+else # HAVE_GALLIUM_STATIC_TARGETS
+gbm_gallium_drm_la_LIBADD += \
+ $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader_client.la \
+ $(GALLIUM_PIPE_LOADER_CLIENT_LIBS) \
+ $(GALLIUM_PIPE_LOADER_WINSYS_LIBS)
+
+endif # HAVE_GALLIUM_STATIC_TARGETS
+
+if HAVE_MESA_LLVM
gbm_gallium_drm_la_LIBADD += $(LLVM_LIBS)
gbm_gallium_drm_la_LDFLAGS += $(LLVM_LDFLAGS)
-else
-gbm_gallium_drm_la_LINK = $(CXXLINK) $(gbm_gallium_drm_la_LDFLAGS)
-# Mention a dummy pure C file to trigger generation of the $(LINK) variable
-nodist_EXTRA_gbm_gallium_drm_la_SOURCES = dummy-c.c
endif
+
+TESTS = gallium-gbm-symbols-check