automake: don't enable -Wl,--no-undefined on OpenBSD
[mesa.git] / src / gallium / Automake.inc
index b6b9b367a825d0f1f77c7a0d4af4b8410a2c0f2f..bafde36c6b0f3de9072c5d2640a27bdcaa5f2940 100644 (file)
@@ -51,38 +51,74 @@ GALLIUM_VIDEO_CFLAGS = \
        $(VISIBILITY_CFLAGS)
 
 
-# TODO: add -export-symbols-regex
+DRI_VERSION_SCRIPT ?= $(top_srcdir)/src/gallium/state_trackers/dri/dri.link
+
 GALLIUM_DRI_LINKER_FLAGS = \
+       -shared \
        -module \
        -avoid-version \
-       -shared \
-       -Wl,-Bsymbolic
+       $(GC_SECTIONS) \
+       -Wl,--version-script=$(DRI_VERSION_SCRIPT)
 
 GALLIUM_VDPAU_LINKER_FLAGS = \
+       -shared \
        -module \
+       -no-undefined \
        -version-number $(VDPAU_MAJOR):$(VDPAU_MINOR) \
        -export-symbols-regex $(VDPAU_EXPORTS) \
-       -shared \
-       -no-undefined
+       $(GC_SECTIONS) \
+       $(LD_NO_UNDEFINED)
 
-# TODO: add -export-symbols-regex
 GALLIUM_XVMC_LINKER_FLAGS = \
+       -shared \
        -module \
+       -no-undefined \
        -version-number $(XVMC_MAJOR):$(XVMC_MINOR) \
+       -export-symbols-regex '^XvMC' \
+       $(GC_SECTIONS) \
+       $(LD_NO_UNDEFINED)
+
+GALLIUM_OMX_LINKER_FLAGS = \
        -shared \
-       -no-undefined
+       -module \
+       -no-undefined \
+       -export-symbols-regex $(EXPORTS) \
+       $(GC_SECTIONS) \
+       $(LD_NO_UNDEFINED)
+
+GALLIUM_COMMON_LIB_DEPS = \
+       -lm \
+       $(CLOCK_LIB) \
+       $(PTHREAD_LIBS) \
+       $(DLOPEN_LIBS)
+
+GALLIUM_DRI_LIB_DEPS = \
+       $(top_builddir)/src/mesa/libmesagallium.la \
+       $(top_builddir)/src/gallium/auxiliary/libgallium.la \
+       $(SELINUX_LIBS) \
+       $(LIBDRM_LIBS) \
+       $(EXPAT_LIBS) \
+       $(GALLIUM_COMMON_LIB_DEPS)
 
 GALLIUM_VDPAU_LIB_DEPS = \
        $(top_builddir)/src/gallium/auxiliary/libgallium.la \
        $(top_builddir)/src/gallium/state_trackers/vdpau/libvdpautracker.la \
        $(VDPAU_LIBS) \
-       $(LIBDRM_LIBS)
+       $(LIBDRM_LIBS) \
+       $(GALLIUM_COMMON_LIB_DEPS)
 
 GALLIUM_XVMC_LIB_DEPS = \
        $(top_builddir)/src/gallium/auxiliary/libgallium.la \
        $(top_builddir)/src/gallium/state_trackers/xvmc/libxvmctracker.la \
        $(XVMC_LIBS) \
-       $(LIBDRM_LIBS)
+       $(LIBDRM_LIBS) \
+       $(GALLIUM_COMMON_LIB_DEPS)
+
+GALLIUM_OMX_LIB_DEPS = \
+       $(top_builddir)/src/gallium/auxiliary/libgallium.la \
+       $(top_builddir)/src/gallium/state_trackers/omx/libomxtracker.la \
+       $(OMX_LIBS) \
+       $(GALLIUM_COMMON_LIB_DEPS)
 
 GALLIUM_WINSYS_CFLAGS = \
        -I$(top_srcdir)/include \
@@ -90,3 +126,17 @@ GALLIUM_WINSYS_CFLAGS = \
        -I$(top_srcdir)/src/gallium/auxiliary \
        $(DEFINES) \
        $(VISIBILITY_CFLAGS)
+
+if HAVE_MESA_LLVM
+
+GALLIUM_DRI_LINKER_FLAGS += $(LLVM_LDFLAGS)
+GALLIUM_VDPAU_LINKER_FLAGS += $(LLVM_LDFLAGS)
+GALLIUM_XVMC_LINKER_FLAGS += $(LLVM_LDFLAGS)
+GALLIUM_OMX_LINKER_FLAGS += $(LLVM_LDFLAGS)
+
+GALLIUM_DRI_LIB_DEPS += $(LLVM_LIBS)
+GALLIUM_VDPAU_LIB_DEPS += $(LLVM_LIBS)
+GALLIUM_XVMC_LIB_DEPS += $(LLVM_LIBS)
+GALLIUM_OMX_LIB_DEPS += $(LLVM_LIBS)
+
+endif