{auxiliary,targets}/vl: use static/dynamic pipe-loader
[mesa.git] / src / gallium / targets / vdpau / Makefile.am
1 include $(top_srcdir)/src/gallium/Automake.inc
2
3 AM_CFLAGS = \
4 $(GALLIUM_TARGET_CFLAGS)
5
6 vdpaudir = $(VDPAU_LIB_INSTALL_DIR)
7 vdpau_LTLIBRARIES = libvdpau_gallium.la
8
9 nodist_EXTRA_libvdpau_gallium_la_SOURCES = dummy.cpp
10 libvdpau_gallium_la_SOURCES =
11
12 libvdpau_gallium_la_LDFLAGS = \
13 -shared \
14 -module \
15 -no-undefined \
16 -version-number $(VDPAU_MAJOR):$(VDPAU_MINOR) \
17 $(GC_SECTIONS) \
18 $(LD_NO_UNDEFINED)
19
20 if HAVE_LD_VERSION_SCRIPT
21 libvdpau_gallium_la_LDFLAGS += \
22 -Wl,--version-script=$(top_srcdir)/src/gallium/targets/vdpau/vdpau.sym
23 endif # HAVE_LD_VERSION_SCRIPT
24
25 if HAVE_LD_DYNAMIC_LIST
26 libvdpau_gallium_la_LDFLAGS += \
27 -Wl,--dynamic-list=$(top_srcdir)/src/gallium/targets/dri-vdpau.dyn
28 endif # HAVE_LD_DYNAMIC_LIST
29
30 # NOTE: libvdpau_gallium does not use(link against) libvdpau
31 libvdpau_gallium_la_LIBADD = \
32 $(top_builddir)/src/gallium/state_trackers/vdpau/libvdpautracker.la \
33 $(top_builddir)/src/gallium/auxiliary/libgalliumvlwinsys.la \
34 $(top_builddir)/src/gallium/auxiliary/libgalliumvl.la \
35 $(top_builddir)/src/gallium/auxiliary/libgallium.la \
36 $(top_builddir)/src/util/libmesautil.la \
37 $(VL_LIBS) \
38 $(LIBDRM_LIBS) \
39 $(GALLIUM_COMMON_LIB_DEPS)
40
41 EXTRA_libvdpau_gallium_la_DEPENDENCIES = \
42 vdpau.sym \
43 $(top_srcdir)/src/gallium/targets/dri-vdpau.dyn
44 EXTRA_DIST = \
45 vdpau.sym \
46 $(top_srcdir)/src/gallium/targets/dri-vdpau.dyn
47
48 TARGET_DRIVERS =
49 TARGET_CPPFLAGS =
50 TARGET_LIB_DEPS =
51
52 include $(top_srcdir)/src/gallium/drivers/nouveau/Automake.inc
53
54 include $(top_srcdir)/src/gallium/drivers/r300/Automake.inc
55 include $(top_srcdir)/src/gallium/drivers/r600/Automake.inc
56 include $(top_srcdir)/src/gallium/drivers/radeonsi/Automake.inc
57
58 if HAVE_GALLIUM_STATIC_TARGETS
59
60 libvdpau_gallium_la_SOURCES += target.c
61 libvdpau_gallium_la_CPPFLAGS = $(TARGET_CPPFLAGS)
62 libvdpau_gallium_la_LIBADD += \
63 $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader_static.la \
64 $(GALLIUM_PIPE_LOADER_WINSYS_LIBS) \
65 $(TARGET_LIB_DEPS) \
66 $(TARGET_RADEON_WINSYS) $(TARGET_RADEON_COMMON)
67
68 else # HAVE_GALLIUM_STATIC_TARGETS
69
70 libvdpau_gallium_la_LIBADD += \
71 $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader_dynamic.la
72
73 endif # HAVE_GALLIUM_STATIC_TARGETS
74
75 if HAVE_MESA_LLVM
76 libvdpau_gallium_la_LIBADD += $(LLVM_LIBS)
77 libvdpau_gallium_la_LDFLAGS += $(LLVM_LDFLAGS)
78 endif
79
80 if HAVE_COMPAT_SYMLINKS
81 # Add a link to allow setting VDPAU_DRIVER_PATH to /lib/gallium of the build tree.
82 all-local: $(vdpau_LTLIBRARIES)
83 $(AM_V_GEN)link_dir=$(top_builddir)/$(LIB_DIR)/gallium; \
84 $(MKDIR_P) $${link_dir}; \
85 for i in $(TARGET_DRIVERS); do \
86 j=libvdpau_gallium.$(LIB_EXT); \
87 k=libvdpau_$${i}.$(LIB_EXT); \
88 l=$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0; \
89 ln -f .libs/$${j}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0 \
90 $${link_dir}/$${l}; \
91 ln -sf $${l} \
92 $${link_dir}/$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR); \
93 ln -sf $${l} \
94 $${link_dir}/$${k}.$(VDPAU_MAJOR); \
95 ln -sf $${l} \
96 $${link_dir}/$${k}; \
97 done
98
99 clean-local:
100 $(AM_V_GEN)link_dir=$(top_builddir)/$(LIB_DIR)/gallium; \
101 $(AM_V_GEN)for i in $(TARGET_DRIVERS); do \
102 $(RM) $${link_dir}/libvdpau_$${i}.so{,.$(VDPAU_MAJOR){,.$(VDPAU_MINOR){,.0}}}; \
103 done;
104 endif
105
106 # hardlink each megadriver instance, but don't actually have
107 # libvdpau_gallium.so in the set of final installed files.
108 install-data-hook:
109 $(AM_V_GEN)dest_dir=$(DESTDIR)/$(vdpaudir); \
110 for i in $(TARGET_DRIVERS); do \
111 j=libvdpau_gallium.$(LIB_EXT); \
112 k=libvdpau_$${i}.$(LIB_EXT); \
113 l=$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0; \
114 ln -f $${dest_dir}/$${j}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0 \
115 $${dest_dir}/$${l}; \
116 ln -sf $${l} \
117 $${dest_dir}/$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR); \
118 ln -sf $${l} \
119 $${dest_dir}/$${k}.$(VDPAU_MAJOR); \
120 ln -sf $${l} \
121 $${dest_dir}/$${k}; \
122 done; \
123 $(RM) $${dest_dir}/libvdpau_gallium.*
124
125 uninstall-hook:
126 for i in $(TARGET_DRIVERS); do \
127 $(RM) $(DESTDIR)$(vdpaudir)/libvdpau_$${i}.so{,.$(VDPAU_MAJOR){,.$(VDPAU_MINOR){,.0}}}; \
128 done;