This change makes it easier to use different compiler and linker flags for libX11 and libX11-xcb. Also libX11-xcb doesn't depend on libX11 anymore, because it's not using any of its symbols.
Signed-off-by: Rami Ylimäki <[email protected]> --- configure.ac | 1 + src/Makefile.am | 9 +++------ src/Xxcbint.h | 46 ---------------------------------------------- src/x11_xcb.c | 15 --------------- src/xcb/Makefile.am | 26 ++++++++++++++++++++++++++ src/xcb/Xxcbint.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++ src/xcb/x11_xcb.c | 15 +++++++++++++++ 7 files changed, 91 insertions(+), 67 deletions(-) delete mode 100644 src/Xxcbint.h delete mode 100644 src/x11_xcb.c create mode 100644 src/xcb/Makefile.am create mode 100644 src/xcb/Xxcbint.h create mode 100644 src/xcb/x11_xcb.c diff --git a/configure.ac b/configure.ac index 40d032d..a69735b 100644 --- a/configure.ac +++ b/configure.ac @@ -448,6 +448,7 @@ AC_OUTPUT([Makefile man/xkb/Makefile src/Makefile src/util/Makefile + src/xcb/Makefile src/xcms/Makefile src/xlibi18n/Makefile modules/Makefile diff --git a/src/Makefile.am b/src/Makefile.am index 8b0953c..05c7663 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,9 +1,9 @@ if XKB XKB_SUBDIRS = xkb endif -SUBDIRS = util xcms xlibi18n $(XKB_SUBDIRS) +SUBDIRS = util xcms xlibi18n $(XKB_SUBDIRS) . xcb -lib_LTLIBRARIES = libX11.la libX11-xcb.la +lib_LTLIBRARIES = libX11.la BUILT_SOURCES=ks_tables.h CLEANFILES=ks_tables.h ks_tables_h @@ -13,6 +13,7 @@ AM_CPPFLAGS= \ -I$(top_srcdir)/include/X11 \ -I$(top_builddir)/include \ -I$(top_builddir)/include/X11 \ + -I$(top_srcdir)/src/xcb \ -I$(top_srcdir)/src/xcms \ -I$(top_srcdir)/src/xkb \ -I$(top_srcdir)/src/xlibi18n \ @@ -349,10 +350,6 @@ EXTRA_DIST = \ udcInf.c \ UIThrStubs.c -libX11_xcb_la_SOURCES = x11_xcb.c Xxcbint.h -libX11_xcb_la_LDFLAGS = -version-number 1:0:0 -no-undefined -libX11_xcb_la_LIBADD = libX11.la - # # Figure out which sub-libraries to link into Xlib # diff --git a/src/Xxcbint.h b/src/Xxcbint.h deleted file mode 100644 index 1fa1a4d..0000000 --- a/src/Xxcbint.h +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright (C) 2003-2006 Jamey Sharp, Josh Triplett - * This file is licensed under the MIT license. See the file COPYING. */ - -#ifndef XXCBINT_H -#define XXCBINT_H - -#include <assert.h> -#include <stdint.h> -#include <X11/Xlibint.h> -#include <X11/Xlib-xcb.h> -#include "locking.h" - -#define XLIB_SEQUENCE_COMPARE(a,op,b) (((long) (a) - (long) (b)) op 0) - -typedef struct PendingRequest PendingRequest; -struct PendingRequest { - PendingRequest *next; - unsigned long sequence; - unsigned reply_waiter; -}; - -typedef struct _X11XCBPrivate { - xcb_connection_t *connection; - PendingRequest *pending_requests; - PendingRequest *pending_requests_tail; - xcb_generic_event_t *next_event; - char *real_bufmax; - char *reply_data; - int reply_length; - int reply_consumed; - uint64_t last_flushed; - enum XEventQueueOwner event_owner; - XID next_xid; - - /* handle simultaneous threads waiting for responses */ - xcondition_t event_notify; - int event_waiter; - xcondition_t reply_notify; -} _X11XCBPrivate; - -/* xcb_disp.c */ - -int _XConnectXCB(Display *dpy, _Xconst char *display, int *screenp); -void _XFreeX11XCBStructure(Display *dpy); - -#endif /* XXCBINT_H */ diff --git a/src/x11_xcb.c b/src/x11_xcb.c deleted file mode 100644 index 3ddf403..0000000 --- a/src/x11_xcb.c +++ /dev/null @@ -1,15 +0,0 @@ -/* Copyright (C) 2003,2006 Jamey Sharp, Josh Triplett - * This file is licensed under the MIT license. See the file COPYING. */ - -#include "Xlibint.h" -#include "Xxcbint.h" - -xcb_connection_t *XGetXCBConnection(Display *dpy) -{ - return dpy->xcb->connection; -} - -void XSetEventQueueOwner(Display *dpy, enum XEventQueueOwner owner) -{ - dpy->xcb->event_owner = owner; -} diff --git a/src/xcb/Makefile.am b/src/xcb/Makefile.am new file mode 100644 index 0000000..5c68639 --- /dev/null +++ b/src/xcb/Makefile.am @@ -0,0 +1,26 @@ +AM_CPPFLAGS= \ + -I$(top_srcdir)/include/X11 \ + -I$(top_builddir)/include/X11 \ + -I$(top_srcdir)/src \ + -D_BSD_SOURCE + +AM_CFLAGS= \ + $(X11_CFLAGS) \ + $(XMALLOC_ZERO_CFLAGS) \ + $(CWARNFLAGS) + +lib_LTLIBRARIES = libX11-xcb.la + +libX11_xcb_la_SOURCES = x11_xcb.c Xxcbint.h +libX11_xcb_la_LDFLAGS = -version-number 1:0:0 -no-undefined + +if LINT +# Check source code with tools like lint & sparse + +ALL_LINT_FLAGS=$(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) + +lint: + $(LINT) $(ALL_LINT_FLAGS) $(libX11_xcb_la_SOURCES) + +endif LINT diff --git a/src/xcb/Xxcbint.h b/src/xcb/Xxcbint.h new file mode 100644 index 0000000..1fa1a4d --- /dev/null +++ b/src/xcb/Xxcbint.h @@ -0,0 +1,46 @@ +/* Copyright (C) 2003-2006 Jamey Sharp, Josh Triplett + * This file is licensed under the MIT license. See the file COPYING. */ + +#ifndef XXCBINT_H +#define XXCBINT_H + +#include <assert.h> +#include <stdint.h> +#include <X11/Xlibint.h> +#include <X11/Xlib-xcb.h> +#include "locking.h" + +#define XLIB_SEQUENCE_COMPARE(a,op,b) (((long) (a) - (long) (b)) op 0) + +typedef struct PendingRequest PendingRequest; +struct PendingRequest { + PendingRequest *next; + unsigned long sequence; + unsigned reply_waiter; +}; + +typedef struct _X11XCBPrivate { + xcb_connection_t *connection; + PendingRequest *pending_requests; + PendingRequest *pending_requests_tail; + xcb_generic_event_t *next_event; + char *real_bufmax; + char *reply_data; + int reply_length; + int reply_consumed; + uint64_t last_flushed; + enum XEventQueueOwner event_owner; + XID next_xid; + + /* handle simultaneous threads waiting for responses */ + xcondition_t event_notify; + int event_waiter; + xcondition_t reply_notify; +} _X11XCBPrivate; + +/* xcb_disp.c */ + +int _XConnectXCB(Display *dpy, _Xconst char *display, int *screenp); +void _XFreeX11XCBStructure(Display *dpy); + +#endif /* XXCBINT_H */ diff --git a/src/xcb/x11_xcb.c b/src/xcb/x11_xcb.c new file mode 100644 index 0000000..3ddf403 --- /dev/null +++ b/src/xcb/x11_xcb.c @@ -0,0 +1,15 @@ +/* Copyright (C) 2003,2006 Jamey Sharp, Josh Triplett + * This file is licensed under the MIT license. See the file COPYING. */ + +#include "Xlibint.h" +#include "Xxcbint.h" + +xcb_connection_t *XGetXCBConnection(Display *dpy) +{ + return dpy->xcb->connection; +} + +void XSetEventQueueOwner(Display *dpy, enum XEventQueueOwner owner) +{ + dpy->xcb->event_owner = owner; +} -- 1.6.3.3 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
