1lib_LTLIBRARIES = libxcb.la
2
3EXTSOURCES =	xproto.c \
4		bigreq.c \
5		xc_misc.c
6
7AM_CFLAGS = $(BASE_CFLAGS) $(NEEDED_CFLAGS) $(XDMCP_CFLAGS)
8libxcb_la_LIBADD = $(NEEDED_LIBS) $(XDMCP_LIBS)
9libxcb_la_SOURCES = \
10		xcb_conn.c xcb_out.c xcb_in.c xcb_ext.c xcb_xid.c \
11		xcb_list.c xcb_util.c xcb_auth.c c_client.py
12nodist_libxcb_la_SOURCES = xproto.c bigreq.c xc_misc.c
13
14# Explanation for -version-info:
15# -version-info current:revision:age
16# The library supports interface (current-age) to interface current.
17# * If you changed the source code at all, increment revision.
18# * If you add an interface, increment current and age and set revision to 0.
19# * If you change or remove an interface, increment current and set revision
20#   and age to 0.
21libxcb_la_LDFLAGS = -version-info 2:0:1 -no-undefined @lt_enable_auto_import@
22
23XCB_LIBS = libxcb.la
24
25# FIXME: find a way to autogenerate this from the XML files.
26
27EXTSOURCES += composite.c
28if BUILD_COMPOSITE
29lib_LTLIBRARIES += libxcb-composite.la
30libxcb_composite_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
31libxcb_composite_la_LIBADD = $(XCB_LIBS)
32nodist_libxcb_composite_la_SOURCES = composite.c composite.h
33endif
34
35EXTSOURCES += damage.c
36if BUILD_DAMAGE
37lib_LTLIBRARIES += libxcb-damage.la
38libxcb_damage_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
39libxcb_damage_la_LIBADD = $(XCB_LIBS)
40nodist_libxcb_damage_la_SOURCES = damage.c damage.h
41endif
42
43EXTSOURCES += dbe.c
44if BUILD_DBE
45lib_LTLIBRARIES += libxcb-dbe.la
46libxcb_dbe_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
47libxcb_dbe_la_LIBADD = $(XCB_LIBS)
48nodist_libxcb_dbe_la_SOURCES = dbe.c dbe.h
49endif
50
51EXTSOURCES += dpms.c
52if BUILD_DPMS
53lib_LTLIBRARIES += libxcb-dpms.la
54libxcb_dpms_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
55libxcb_dpms_la_LIBADD = $(XCB_LIBS)
56nodist_libxcb_dpms_la_SOURCES = dpms.c dpms.h
57endif
58
59EXTSOURCES += dri2.c
60if BUILD_DRI2
61lib_LTLIBRARIES += libxcb-dri2.la
62libxcb_dri2_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
63libxcb_dri2_la_LIBADD = $(XCB_LIBS)
64nodist_libxcb_dri2_la_SOURCES = dri2.c dri2.h
65endif
66
67EXTSOURCES += dri3.c
68if BUILD_DRI3
69lib_LTLIBRARIES += libxcb-dri3.la
70libxcb_dri3_la_LDFLAGS = -version-info 1:0:1 -no-undefined @lt_enable_auto_import@
71libxcb_dri3_la_LIBADD = $(XCB_LIBS)
72nodist_libxcb_dri3_la_SOURCES = dri3.c dri3.h
73endif
74
75EXTSOURCES += present.c
76if BUILD_PRESENT
77lib_LTLIBRARIES += libxcb-present.la
78libxcb_present_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
79libxcb_present_la_LIBADD = $(XCB_LIBS)
80nodist_libxcb_present_la_SOURCES = present.c present.h
81endif
82
83EXTSOURCES += glx.c
84if BUILD_GLX
85lib_LTLIBRARIES += libxcb-glx.la
86libxcb_glx_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
87libxcb_glx_la_LIBADD = $(XCB_LIBS)
88nodist_libxcb_glx_la_SOURCES = glx.c glx.h
89endif
90
91EXTSOURCES += randr.c
92if BUILD_RANDR
93lib_LTLIBRARIES += libxcb-randr.la
94libxcb_randr_la_LDFLAGS = -version-info 1:0:1 -no-undefined @lt_enable_auto_import@
95libxcb_randr_la_LIBADD = $(XCB_LIBS)
96nodist_libxcb_randr_la_SOURCES = randr.c randr.h
97endif
98
99EXTSOURCES += record.c
100if BUILD_RECORD
101lib_LTLIBRARIES += libxcb-record.la
102libxcb_record_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
103libxcb_record_la_LIBADD = $(XCB_LIBS)
104nodist_libxcb_record_la_SOURCES = record.c record.h
105endif
106
107EXTSOURCES += render.c
108if BUILD_RENDER
109lib_LTLIBRARIES += libxcb-render.la
110libxcb_render_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
111libxcb_render_la_LIBADD = $(XCB_LIBS)
112nodist_libxcb_render_la_SOURCES = render.c render.h
113endif
114
115EXTSOURCES += res.c
116if BUILD_RESOURCE
117lib_LTLIBRARIES += libxcb-res.la
118libxcb_res_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
119libxcb_res_la_LIBADD = $(XCB_LIBS)
120nodist_libxcb_res_la_SOURCES = res.c res.h
121endif
122
123EXTSOURCES += screensaver.c
124if BUILD_SCREENSAVER
125lib_LTLIBRARIES += libxcb-screensaver.la
126libxcb_screensaver_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
127libxcb_screensaver_la_LIBADD = $(XCB_LIBS)
128nodist_libxcb_screensaver_la_SOURCES = screensaver.c screensaver.h
129endif
130
131EXTSOURCES += shape.c
132if BUILD_SHAPE
133lib_LTLIBRARIES += libxcb-shape.la
134libxcb_shape_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
135libxcb_shape_la_LIBADD = $(XCB_LIBS)
136nodist_libxcb_shape_la_SOURCES = shape.c shape.h
137endif
138
139EXTSOURCES += shm.c
140if BUILD_SHM
141lib_LTLIBRARIES += libxcb-shm.la
142libxcb_shm_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
143libxcb_shm_la_LIBADD = $(XCB_LIBS)
144nodist_libxcb_shm_la_SOURCES = shm.c shm.h
145endif
146
147EXTSOURCES += sync.c
148if BUILD_SYNC
149lib_LTLIBRARIES += libxcb-sync.la
150libxcb_sync_la_LDFLAGS = -version-info 1:0:0 -no-undefined @lt_enable_auto_import@
151libxcb_sync_la_LIBADD = $(XCB_LIBS)
152nodist_libxcb_sync_la_SOURCES = sync.c sync.h
153endif
154
155EXTSOURCES += xevie.c
156if BUILD_XEVIE
157lib_LTLIBRARIES += libxcb-xevie.la
158libxcb_xevie_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
159libxcb_xevie_la_LIBADD = $(XCB_LIBS)
160nodist_libxcb_xevie_la_SOURCES = xevie.c xevie.h
161endif
162
163EXTSOURCES += xf86dri.c
164if BUILD_XFREE86_DRI
165lib_LTLIBRARIES += libxcb-xf86dri.la
166libxcb_xf86dri_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
167libxcb_xf86dri_la_LIBADD = $(XCB_LIBS)
168nodist_libxcb_xf86dri_la_SOURCES = xf86dri.c xf86dri.h
169endif
170
171EXTSOURCES += xfixes.c
172if BUILD_XFIXES
173lib_LTLIBRARIES += libxcb-xfixes.la
174libxcb_xfixes_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
175libxcb_xfixes_la_LIBADD = $(XCB_LIBS)
176nodist_libxcb_xfixes_la_SOURCES = xfixes.c xfixes.h
177endif
178
179EXTSOURCES += xinerama.c
180if BUILD_XINERAMA
181lib_LTLIBRARIES += libxcb-xinerama.la
182libxcb_xinerama_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
183libxcb_xinerama_la_LIBADD = $(XCB_LIBS)
184nodist_libxcb_xinerama_la_SOURCES = xinerama.c xinerama.h
185endif
186
187EXTSOURCES += xinput.c
188if BUILD_XINPUT
189lib_LTLIBRARIES += libxcb-xinput.la
190libxcb_xinput_la_LDFLAGS = -version-info 1:0:1 -no-undefined @lt_enable_auto_import@
191libxcb_xinput_la_LIBADD = $(XCB_LIBS)
192nodist_libxcb_xinput_la_SOURCES = xinput.c xinput.h
193endif
194
195EXTSOURCES += xkb.c
196if BUILD_XKB
197lib_LTLIBRARIES += libxcb-xkb.la
198libxcb_xkb_la_LDFLAGS = -version-info 1:0:0 -no-undefined
199libxcb_xkb_la_LIBADD = $(XCB_LIBS)
200nodist_libxcb_xkb_la_SOURCES = xkb.c xkb.h
201endif
202
203EXTSOURCES += xprint.c
204if BUILD_XPRINT
205lib_LTLIBRARIES += libxcb-xprint.la
206libxcb_xprint_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
207libxcb_xprint_la_LIBADD = $(XCB_LIBS)
208nodist_libxcb_xprint_la_SOURCES = xprint.c xprint.h
209endif
210
211EXTSOURCES += xselinux.c
212if BUILD_SELINUX
213lib_LTLIBRARIES += libxcb-xselinux.la
214libxcb_xselinux_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
215libxcb_xselinux_la_LIBADD = $(XCB_LIBS)
216nodist_libxcb_xselinux_la_SOURCES = xselinux.c xselinux.h
217endif
218
219EXTSOURCES += xtest.c
220if BUILD_XTEST
221lib_LTLIBRARIES += libxcb-xtest.la
222libxcb_xtest_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
223libxcb_xtest_la_LIBADD = $(XCB_LIBS)
224nodist_libxcb_xtest_la_SOURCES = xtest.c xtest.h
225endif
226
227EXTSOURCES += xv.c
228if BUILD_XV
229lib_LTLIBRARIES += libxcb-xv.la
230libxcb_xv_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
231libxcb_xv_la_LIBADD = $(XCB_LIBS)
232nodist_libxcb_xv_la_SOURCES = xv.c xv.h
233endif
234
235EXTSOURCES += xvmc.c
236if BUILD_XVMC
237lib_LTLIBRARIES += libxcb-xvmc.la
238libxcb_xvmc_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
239libxcb_xvmc_la_LIBADD = $(XCB_LIBS)
240nodist_libxcb_xvmc_la_SOURCES = xvmc.c xvmc.h
241endif
242
243EXTSOURCES += ge.c
244if BUILD_GE
245lib_LTLIBRARIES += libxcb-ge.la
246libxcb_ge_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
247libxcb_ge_la_LIBADD = $(XCB_LIBS)
248nodist_libxcb_ge_la_SOURCES = ge.c ge.h
249endif
250
251EXTHEADERS=$(EXTSOURCES:.c=.h)
252xcbinclude_HEADERS = xcb.h xcbext.h
253if XCB_HAVE_WIN32
254xcbinclude_HEADERS += xcb_windefs.h
255endif
256nodist_xcbinclude_HEADERS = $(EXTHEADERS)
257noinst_HEADERS = xcbint.h
258
259BUILT_MAN_PAGES = man/xcb_*
260libmandir = $(LIB_MAN_DIR)
261libman_DATA = $(BUILT_MAN_PAGES)
262
263BUILT_SOURCES = $(EXTSOURCES) $(BUILT_MAN_PAGES)
264CLEANFILES = $(EXTSOURCES) $(EXTHEADERS) $(BUILT_MAN_PAGES)
265
266C_CLIENT_PY_EXTRA_ARGS =
267if XCB_SERVERSIDE_SUPPORT
268C_CLIENT_PY_EXTRA_ARGS += --server-side
269endif
270
271$(EXTSOURCES): c_client.py $(XCBPROTO_XCBINCLUDEDIR)/$(@:.c=.xml)
272	$(AM_V_GEN)$(PYTHON) $(srcdir)/c_client.py	-c "$(PACKAGE_STRING)" -l "$(XORG_MAN_PAGE)" \
273		-s "$(LIB_MAN_SUFFIX)" -p $(XCBPROTO_XCBPYTHONDIR) \
274		$(C_CLIENT_PY_EXTRA_ARGS) \
275		$(XCBPROTO_XCBINCLUDEDIR)/$(@:.c=.xml)
276
277$(BUILT_MAN_PAGES): $(EXTSOURCES)
278