diff --git a/configure.ac b/configure.ac index a3aaa5d58..537665f27 100644 --- a/configure.ac +++ b/configure.ac @@ -543,6 +543,7 @@ AC_ARG_ENABLE(dmx, AS_HELP_STRING([--enable-dmx], [Build DMX server (d AC_ARG_ENABLE(xvfb, AS_HELP_STRING([--enable-xvfb], [Build Xvfb server (default: yes)]), [XVFB=$enableval], [XVFB=yes]) AC_ARG_ENABLE(xnest, AS_HELP_STRING([--enable-xnest], [Build Xnest server (default: auto)]), [XNEST=$enableval], [XNEST=auto]) AC_ARG_ENABLE(xquartz, AS_HELP_STRING([--enable-xquartz], [Build Xquartz server for OS-X (default: auto)]), [XQUARTZ=$enableval], [XQUARTZ=auto]) +AC_ARG_ENABLE(integrated-xpbproxy, AS_HELP_STRING([--enable-integrated-xpbproxy], [Build xpbproxy into Xquartz as a separate thread (default: no)]), [INTEGRATED_XPBPROXY=$enableval], [INTEGRATED_XPBPROXY=no]) AC_ARG_ENABLE(xwin, AS_HELP_STRING([--enable-xwin], [Build XWin server (default: auto)]), [XWIN=$enableval], [XWIN=auto]) AC_ARG_ENABLE(xprint, AS_HELP_STRING([--enable-xprint], [Build Xprint extension and server (default: no)]), [XPRINT=$enableval], [XPRINT=no]) AC_ARG_ENABLE(xgl, AS_HELP_STRING([--enable-xgl], [Build Xgl server (default: no)]), [XGL=$enableval], [XGL=no]) @@ -1767,6 +1768,10 @@ if test "x$XQUARTZ" = xyes; then CFLAGS="${CFLAGS} -DROOTLESS_WORKAROUND -DROOTLESS_SAFEALPHA -DNO_ALLOCA" PKG_CHECK_MODULES(APPLEWM, [applewmproto >= 1.1.0]) + + if test "x$INTEGRATED_XPBPROXY" = xyes ; then + AC_DEFINE(INTEGRATED_XPBPROXY,1,[Build xpbproxy into the server rather than as a standalone app]) + fi fi # Support for objc in autotools is minimal and not documented. @@ -1783,6 +1788,7 @@ _AM_DEPENDENCIES([OBJC]) AM_CONDITIONAL(HAVE_XPLUGIN, [test "x$ac_cv_lib_Xplugin_xp_init" = xyes]) AM_CONDITIONAL(HAVE_AGL_FRAMEWORK, [test "x$xorg_cv_AGL_framework" = xyes]) AM_CONDITIONAL(XQUARTZ, [test "x$XQUARTZ" = xyes]) +AM_CONDITIONAL(INTEGRATED_XPBPROXY, [test "x$INTEGRATED_XPBPROXY" = xyes]) dnl kdrive DDX diff --git a/hw/xquartz/mach-startup/Makefile.am b/hw/xquartz/mach-startup/Makefile.am index 9b2619dd9..97539e18f 100644 --- a/hw/xquartz/mach-startup/Makefile.am +++ b/hw/xquartz/mach-startup/Makefile.am @@ -21,6 +21,10 @@ X11_LDADD = \ $(top_builddir)/miext/rootless/librootless.la \ $(DARWIN_LIBS) $(XSERVER_LIBS) $(XSERVER_SYS_LIBS) -lXplugin -lX11 +if INTEGRATED_XPBPROXY +X11_LDADD += $(top_builddir)/hw/xquartz/pbproxy/libxpbproxy.la +endif + X11_LDFLAGS = \ -XCClinker -Objc \ -Wl,-u,_miDCInitialize \ @@ -59,4 +63,3 @@ EXTRA_DIST = \ launchd_fd.h \ mach_startup.defs \ mach_startup_types.h - diff --git a/hw/xquartz/pbproxy/Makefile.am b/hw/xquartz/pbproxy/Makefile.am index f3fcba03c..b316b8741 100644 --- a/hw/xquartz/pbproxy/Makefile.am +++ b/hw/xquartz/pbproxy/Makefile.am @@ -1,15 +1,22 @@ AM_CPPFLAGS=-F/System/Library/Frameworks/ApplicationServices.framework/Frameworks AM_LDFLAGS=-L/usr/X11/lib -lX11 -lAppleWM -framework AppKit -framework Foundation -framework ApplicationServices -noinst_PROGRAMS = pbproxy - -pbproxy_SOURCES = \ +SOURCE_FILES = \ trick_autotools.c \ - main.m \ x-input.m \ x-selection.m +noinst_LTLIBRARIES = libxpbproxy.la +libxpbproxy_la_SOURCES = $(SOURCE_FILES) + +if !INTEGRATED_XPBPROXY + +bin_PROGRAMS = xpbproxy +xpbproxy_SOURCES = main.m +xpbproxy_LDADD = $(top_builddir)/hw/xquartz/pbproxy/libxpbproxy.la + +endif + EXTRA_DIST = \ pbproxy.h \ x-selection.h - diff --git a/include/dix-config.h.in b/include/dix-config.h.in index e224b5ac8..da5968780 100644 --- a/include/dix-config.h.in +++ b/include/dix-config.h.in @@ -145,6 +145,9 @@ /* Have Quartz */ #undef XQUARTZ +/* Build xpbproxy into Xquartz rather than a separate app */ +#undef INTEGRATED_XPBPROXY + /* Define to 1 if you have the `m' library (-lm). */ #undef HAVE_LIBM