Don't hold the xlib-xcb lock while sleeping: that allows deadlock.
[free-sw/xcb/libxcb] / src / Makefile.am
index 0f59719..b02caf3 100644 (file)
-lib_LTLIBRARIES = libXCB.la \
-                  libXCBcomposite.la \
-                  libXCBdamage.la \
-                  libXCBdpms.la \
-                  libXCBglx.la \
-                  libXCBrandr.la \
-                  libXCBrecord.la \
-                  libXCBrender.la \
-                  libXCBres.la \
-                  libXCBscreensaver.la \
-                  libXCBshape.la \
-                  libXCBshm.la \
-                  libXCBsync.la \
-                  libXCBxevie.la \
-                  libXCBxf86dri.la \
-                  libXCBxfixes.la \
-                  libXCBxprint.la \
-                  libXCBxtest.la \
-                  libXCBxv.la \
-                  libXCBxvmc.la
-
-EXTHEADERS = \
-               extensions/bigreq.h \
-               extensions/composite.h \
-               extensions/damage.h \
-               extensions/dpms.h \
-               extensions/glx.h \
-               extensions/randr.h \
-               extensions/record.h \
-               extensions/render.h \
-               extensions/res.h \
-               extensions/screensaver.h \
-               extensions/shape.h \
-               extensions/shm.h \
-               extensions/sync.h \
-               extensions/xc_misc.h \
-               extensions/xevie.h \
-               extensions/xf86dri.h \
-               extensions/xfixes.h \
-               extensions/xprint.h \
-               extensions/xtest.h \
-               extensions/xv.h \
-               extensions/xvmc.h
-EXTSOURCES = \
-               extensions/bigreq.c \
-               extensions/composite.c \
-               extensions/damage.c \
-               extensions/dpms.c \
-               extensions/glx.c \
-               extensions/randr.c \
-               extensions/record.c \
-               extensions/render.c \
-               extensions/res.c \
-               extensions/screensaver.c \
-               extensions/shape.c \
-               extensions/shm.c \
-               extensions/sync.c \
-               extensions/xc_misc.c \
-               extensions/xevie.c \
-               extensions/xf86dri.c \
-               extensions/xfixes.c \
-               extensions/xprint.c \
-               extensions/xtest.c \
-               extensions/xv.c \
-               extensions/xvmc.c
-EXTENSIONS = $(EXTSOURCES) $(EXTHEADERS)
-
-ESSENTIAL_EXTENSIONS = \
-               extensions/bigreq.h \
-               extensions/bigreq.c \
-               extensions/xc_misc.h \
-               extensions/xc_misc.c
-
-COREHEADERS = xproto.h xcb_types.h
-CORESOURCES = xproto.c xcb_types.c
-COREPROTO   = $(CORESOURCES) $(COREHEADERS)
-
-xcbinclude_HEADERS = xcb.h xcbext.h xcbxlib.h $(COREHEADERS) $(EXTHEADERS)
+lib_LTLIBRARIES = libxcb.la \
+                  libxcb-xlib.la \
+                  libxcb-composite.la \
+                  libxcb-damage.la \
+                  libxcb-dpms.la \
+                  libxcb-glx.la \
+                  libxcb-randr.la \
+                  libxcb-record.la \
+                  libxcb-render.la \
+                  libxcb-res.la \
+                  libxcb-screensaver.la \
+                  libxcb-shape.la \
+                  libxcb-shm.la \
+                  libxcb-sync.la \
+                  libxcb-xevie.la \
+                  libxcb-xf86dri.la \
+                  libxcb-xfixes.la \
+                 libxcb-xinerama.la \
+                  libxcb-xprint.la \
+                  libxcb-xtest.la \
+                  libxcb-xv.la \
+                  libxcb-xvmc.la
+
+EXTHEADERS =   xproto.h \
+               bigreq.h \
+               composite.h \
+               damage.h \
+               dpms.h \
+               glx.h \
+               randr.h \
+               record.h \
+               render.h \
+               res.h \
+               screensaver.h \
+               shape.h \
+               shm.h \
+               sync.h \
+               xc_misc.h \
+               xevie.h \
+               xf86dri.h \
+               xfixes.h \
+               xinerama.h \
+               xprint.h \
+               xtest.h \
+               xv.h \
+               xvmc.h
+EXTSOURCES =   xproto.c \
+               bigreq.c \
+               composite.c \
+               damage.c \
+               dpms.c \
+               glx.c \
+               randr.c \
+               record.c \
+               render.c \
+               res.c \
+               screensaver.c \
+               shape.c \
+               shm.c \
+               sync.c \
+               xc_misc.c \
+               xevie.c \
+               xf86dri.c \
+               xfixes.c \
+               xinerama.c \
+               xprint.c \
+               xtest.c \
+               xv.c \
+               xvmc.c
+EXTENSION_XML = xproto.xml \
+               bigreq.xml \
+               composite.xml \
+               damage.xml \
+               dpms.xml \
+               glx.xml \
+               randr.xml \
+               record.xml \
+               render.xml \
+               res.xml \
+               screensaver.xml \
+               shape.xml \
+               shm.xml \
+               sync.xml \
+               xc_misc.xml \
+               xevie.xml \
+               xf86dri.xml \
+               xfixes.xml \
+               xinerama.xml \
+               xprint.xml \
+               xtest.xml \
+               xvmc.xml \
+               xv.xml
+
+xcbinclude_HEADERS = xcb.h xcbext.h xcbxlib.h $(EXTHEADERS)
 noinst_HEADERS = xcbint.h
 
-AM_CFLAGS = $(COPTFLAGS) $(CWARNFLAGS) $(CDEBUGFLAGS) $(XCBPROTO_CFLAGS) $(XPROTO_CFLAGS) $(XAU_CFLAGS) $(XDMCP_CFLAGS)
-libXCB_la_LIBADD = $(XCBPROTO_LIBS) $(XPROTO_LIBS) $(XAU_LIBS) $(XDMCP_LIBS)
-libXCB_la_SOURCES = \
+AM_CFLAGS = $(CWARNFLAGS) $(NEEDED_CFLAGS) $(XDMCP_CFLAGS)
+libxcb_la_LIBADD = $(NEEDED_LIBS) $(XDMCP_LIBS)
+libxcb_la_SOURCES = \
                xcb_conn.c xcb_out.c xcb_in.c xcb_ext.c xcb_xid.c \
-               xcb_list.c xcb_util.c xcb_xlib.c xcb_auth.c \
-               $(COREPROTO) $(ESSENTIAL_EXTENSIONS)
+               xcb_list.c xcb_util.c xcb_auth.c c-client.xsl \
+               xproto.c bigreq.c xc_misc.c
 
 # Explanation for -version-info:
 # -version-info current:revision:age
@@ -92,107 +108,116 @@ libXCB_la_SOURCES = \
 # * If you add an interface, increment current and age and set revision to 0.
 # * If you change or remove an interface, increment current and set revision
 #   and age to 0.
-libXCB_la_LDFLAGS = -version-info 0:0:0
+libxcb_la_LDFLAGS = -version-info 1:0:0
 
-BUILT_SOURCES = $(COREPROTO) $(EXTENSIONS)
-CLEANFILES = $(COREPROTO) $(EXTENSIONS)
-clean-local:
-       rmdir extensions || true
+BUILT_SOURCES = $(EXTSOURCES) $(EXTHEADERS)
+CLEANFILES = $(EXTSOURCES) $(EXTHEADERS) $(EXTENSION_XML)
 
-XCB_LIBS = libXCB.la
+XCB_LIBS = libxcb.la
+
+libxcb_xlib_la_LDFLAGS = -version-info 0:0:0
+libxcb_xlib_la_LIBADD = $(XCB_LIBS)
+libxcb_xlib_la_SOURCES = xcb_xlib.c
 
 # FIXME: find a way to autogenerate this from the XML files.
 
-libXCBcomposite_la_LDFLAGS = -version-info 0:0:0
-libXCBcomposite_la_LIBADD = $(XCB_LIBS)
-libXCBcomposite_la_SOURCES = extensions/composite.c extensions/composite.h
+libxcb_composite_la_LDFLAGS = -version-info 0:0:0
+libxcb_composite_la_LIBADD = $(XCB_LIBS)
+libxcb_composite_la_SOURCES = composite.c composite.h
+
+libxcb_damage_la_LDFLAGS = -version-info 0:0:0
+libxcb_damage_la_LIBADD = $(XCB_LIBS)
+libxcb_damage_la_SOURCES = damage.c damage.h
 
-libXCBdamage_la_LDFLAGS = -version-info 0:0:0
-libXCBdamage_la_LIBADD = $(XCB_LIBS)
-libXCBdamage_la_SOURCES = extensions/damage.c extensions/damage.h
+libxcb_dpms_la_LDFLAGS = -version-info 0:0:0
+libxcb_dpms_la_LIBADD = $(XCB_LIBS)
+libxcb_dpms_la_SOURCES = dpms.c dpms.h
 
-libXCBdpms_la_LDFLAGS = -version-info 0:0:0
-libXCBdpms_la_LIBADD = $(XCB_LIBS)
-libXCBdpms_la_SOURCES = extensions/dpms.c extensions/dpms.h
+libxcb_glx_la_LDFLAGS = -version-info 0:0:0
+libxcb_glx_la_LIBADD = $(XCB_LIBS)
+libxcb_glx_la_SOURCES = glx.c glx.h
 
-libXCBglx_la_LDFLAGS = -version-info 0:0:0
-libXCBglx_la_LIBADD = $(XCB_LIBS)
-libXCBglx_la_SOURCES = extensions/glx.c extensions/glx.h
+libxcb_randr_la_LDFLAGS = -version-info 0:0:0
+libxcb_randr_la_LIBADD = $(XCB_LIBS)
+libxcb_randr_la_SOURCES = randr.c randr.h
 
-libXCBrandr_la_LDFLAGS = -version-info 0:0:0
-libXCBrandr_la_LIBADD = $(XCB_LIBS)
-libXCBrandr_la_SOURCES = extensions/randr.c extensions/randr.h
+libxcb_record_la_LDFLAGS = -version-info 0:0:0
+libxcb_record_la_LIBADD = $(XCB_LIBS)
+libxcb_record_la_SOURCES = record.c record.h
 
-libXCBrecord_la_LDFLAGS = -version-info 0:0:0
-libXCBrecord_la_LIBADD = $(XCB_LIBS)
-libXCBrecord_la_SOURCES = extensions/record.c extensions/record.h
+libxcb_render_la_LDFLAGS = -version-info 0:0:0
+libxcb_render_la_LIBADD = $(XCB_LIBS)
+libxcb_render_la_SOURCES = render.c render.h
 
-libXCBrender_la_LDFLAGS = -version-info 0:0:0
-libXCBrender_la_LIBADD = $(XCB_LIBS)
-libXCBrender_la_SOURCES = extensions/render.c extensions/render.h
+libxcb_res_la_LDFLAGS = -version-info 0:0:0
+libxcb_res_la_LIBADD = $(XCB_LIBS)
+libxcb_res_la_SOURCES = res.c res.h
 
-libXCBres_la_LDFLAGS = -version-info 0:0:0
-libXCBres_la_LIBADD = $(XCB_LIBS)
-libXCBres_la_SOURCES = extensions/res.c extensions/res.h
+libxcb_screensaver_la_LDFLAGS = -version-info 0:0:0
+libxcb_screensaver_la_LIBADD = $(XCB_LIBS)
+libxcb_screensaver_la_SOURCES = screensaver.c screensaver.h
 
-libXCBscreensaver_la_LDFLAGS = -version-info 0:0:0
-libXCBscreensaver_la_LIBADD = $(XCB_LIBS)
-libXCBscreensaver_la_SOURCES = extensions/screensaver.c extensions/screensaver.h
+libxcb_shape_la_LDFLAGS = -version-info 0:0:0
+libxcb_shape_la_LIBADD = $(XCB_LIBS)
+libxcb_shape_la_SOURCES = shape.c shape.h
 
-libXCBshape_la_LDFLAGS = -version-info 0:0:0
-libXCBshape_la_LIBADD = $(XCB_LIBS)
-libXCBshape_la_SOURCES = extensions/shape.c extensions/shape.h
+libxcb_shm_la_LDFLAGS = -version-info 0:0:0
+libxcb_shm_la_LIBADD = $(XCB_LIBS)
+libxcb_shm_la_SOURCES = shm.c shm.h
 
-libXCBshm_la_LDFLAGS = -version-info 0:0:0
-libXCBshm_la_LIBADD = $(XCB_LIBS)
-libXCBshm_la_SOURCES = extensions/shm.c extensions/shm.h
+libxcb_sync_la_LDFLAGS = -version-info 0:0:0
+libxcb_sync_la_LIBADD = $(XCB_LIBS)
+libxcb_sync_la_SOURCES = sync.c sync.h
 
-libXCBsync_la_LDFLAGS = -version-info 0:0:0
-libXCBsync_la_LIBADD = $(XCB_LIBS)
-libXCBsync_la_SOURCES = extensions/sync.c extensions/sync.h
+libxcb_xevie_la_LDFLAGS = -version-info 0:0:0
+libxcb_xevie_la_LIBADD = $(XCB_LIBS)
+libxcb_xevie_la_SOURCES = xevie.c xevie.h
 
-libXCBxevie_la_LDFLAGS = -version-info 0:0:0
-libXCBxevie_la_LIBADD = $(XCB_LIBS)
-libXCBxevie_la_SOURCES = extensions/xevie.c extensions/xevie.h
+libxcb_xf86dri_la_LDFLAGS = -version-info 0:0:0
+libxcb_xf86dri_la_LIBADD = $(XCB_LIBS)
+libxcb_xf86dri_la_SOURCES = xf86dri.c xf86dri.h
 
-libXCBxf86dri_la_LDFLAGS = -version-info 0:0:0
-libXCBxf86dri_la_LIBADD = $(XCB_LIBS)
-libXCBxf86dri_la_SOURCES = extensions/xf86dri.c extensions/xf86dri.h
+libxcb_xfixes_la_LDFLAGS = -version-info 0:0:0
+libxcb_xfixes_la_LIBADD = $(XCB_LIBS)
+libxcb_xfixes_la_SOURCES = xfixes.c xfixes.h
 
-libXCBxfixes_la_LDFLAGS = -version-info 0:0:0
-libXCBxfixes_la_LIBADD = $(XCB_LIBS)
-libXCBxfixes_la_SOURCES = extensions/xfixes.c extensions/xfixes.h
+libxcb_xprint_la_LDFLAGS = -version-info 0:0:0
+libxcb_xprint_la_LIBADD = $(XCB_LIBS)
+libxcb_xprint_la_SOURCES = xprint.c xprint.h
 
-libXCBxprint_la_LDFLAGS = -version-info 0:0:0
-libXCBxprint_la_LIBADD = $(XCB_LIBS)
-libXCBxprint_la_SOURCES = extensions/xprint.c extensions/xprint.h
+libxcb_xtest_la_LDFLAGS = -version-info 0:0:0
+libxcb_xtest_la_LIBADD = $(XCB_LIBS)
+libxcb_xtest_la_SOURCES = xtest.c xtest.h
 
-libXCBxtest_la_LDFLAGS = -version-info 0:0:0
-libXCBxtest_la_LIBADD = $(XCB_LIBS)
-libXCBxtest_la_SOURCES = extensions/xtest.c extensions/xtest.h
+libxcb_xv_la_LDFLAGS = -version-info 0:0:0
+libxcb_xv_la_LIBADD = $(XCB_LIBS)
+libxcb_xv_la_SOURCES = xv.c xv.h
 
-libXCBxv_la_LDFLAGS = -version-info 0:0:0
-libXCBxv_la_LIBADD = $(XCB_LIBS)
-libXCBxv_la_SOURCES = extensions/xv.c extensions/xv.h
+libxcb_xvmc_la_LDFLAGS = -version-info 0:0:0
+libxcb_xvmc_la_LIBADD = $(XCB_LIBS)
+libxcb_xvmc_la_SOURCES = xvmc.c xvmc.h
 
-libXCBxvmc_la_LDFLAGS = -version-info 0:0:0
-libXCBxvmc_la_LIBADD = $(XCB_LIBS)
-libXCBxvmc_la_SOURCES = extensions/xvmc.c extensions/xvmc.h
+libxcb_xinerama_la_LDFLAGS = -version-info 0:0:0
+libxcb_xinerama_la_LIBADD = $(XCB_LIBS)
+libxcb_xinerama_la_SOURCES = xinerama.c xinerama.h
 
-vpath %.xml $(XCBPROTO_XCBINCLUDEDIR) $(XCBPROTO_XCBINCLUDEDIR)/extensions
+$(EXTHEADERS) $(EXTSOURCES): c-client.xsl
 
-%.h: %.xml c-client.xsl
+SUFFIXES = .xml
+
+.xml.h:
        @n=`dirname $*`; test -d $$n || (echo mkdir $$n; mkdir $$n)
        $(XSLTPROC) --stringparam mode header \
                    --stringparam base-path $(XCBPROTO_XCBINCLUDEDIR)/ \
-                   --stringparam extension-path \
-                                 $(XCBPROTO_XCBINCLUDEDIR)/extensions/ \
+                   --stringparam extension-path $(XCBPROTO_XCBINCLUDEDIR)/ \
                    -o $@ $(srcdir)/c-client.xsl $< 
 
-%.c: %.xml c-client.xsl
+.xml.c:
        @n=`dirname $*`; test -d $$n || (echo mkdir $$n; mkdir $$n)
        $(XSLTPROC) --stringparam mode source \
                    --stringparam base-path $(XCBPROTO_XCBINCLUDEDIR)/ \
-                   --stringparam extension-path \
-                                 $(XCBPROTO_XCBINCLUDEDIR)/extensions/ \
+                   --stringparam extension-path $(XCBPROTO_XCBINCLUDEDIR)/ \
                    -o $@ $(srcdir)/c-client.xsl $< 
+
+$(EXTENSION_XML):
+       $(LN_S) -f $(XCBPROTO_XCBINCLUDEDIR)/$@ $@