There are two classes of extensions: those available in all DDX and those only supported by the Xorg DDX. Extensions supported by all DDX go into libXext.la. Additional extensions only available in Xorg go into libXext-Xorg.la.
Signed-off-by: Tomas Carnecky <[email protected]> --- Xext/Makefile.am | 57 +++++++++++++++++++++++++++-------------------------- configure.ac | 4 +- 2 files changed, 31 insertions(+), 30 deletions(-) diff --git a/Xext/Makefile.am b/Xext/Makefile.am index a4ac0c3..d916b45 100644 --- a/Xext/Makefile.am +++ b/Xext/Makefile.am @@ -1,14 +1,13 @@ -# libXext.la: includes all extensions and should be linked into Xvfb, -# Xnest, Xdmx and Xprt -# libXextbuiltin.la: includes those extensions that are built directly into -# Xorg by default +# libXext.la: extensions which should be linked into all DDX +# libXext-Xorg.la: additional extensions which should be linked into Xorg + if XORG -noinst_LTLIBRARIES = libXext.la libXextbuiltin.la +noinst_LTLIBRARIES = libXext.la libXext-Xorg.la else noinst_LTLIBRARIES = libXext.la endif -INCLUDES = -I$(top_srcdir)/hw/xfree86/dixmods/extmod @XORG_INCS@ +INCLUDES = @XORG_INCS@ AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) @@ -16,8 +15,10 @@ if XORG sdk_HEADERS = xvdix.h xvmcext.h geext.h geint.h shmint.h dgaproc.h endif -# Sources always included in libXextbuiltin.la & libXext.la -BUILTIN_SRCS = \ + +###### +# Sources included in libXext.la +XEXT_SRCS = \ bigreq.c \ geext.c \ shape.c \ @@ -27,38 +28,36 @@ BUILTIN_SRCS = \ syncsrv.h \ xcmisc.c \ xtest.c -BUILTIN_LIBS = - -# Optional sources included if extension enabled by configure.ac rules +XEXT_LIBS = # MIT Shared Memory extension MITSHM_SRCS = shm.c shmint.h if MITSHM -BUILTIN_SRCS += $(MITSHM_SRCS) +XEXT_SRCS += $(MITSHM_SRCS) endif # XVideo extension XV_SRCS = xvmain.c xvdisp.c xvmc.c xvdix.h xvmcext.h xvdisp.h if XV -BUILTIN_SRCS += $(XV_SRCS) +XEXT_SRCS += $(XV_SRCS) endif # XResource extension: lets clients get data about per-client resource usage RES_SRCS = xres.c if RES -BUILTIN_SRCS += $(RES_SRCS) +XEXT_SRCS += $(RES_SRCS) endif # MIT ScreenSaver extension SCREENSAVER_SRCS = saver.c if SCREENSAVER -BUILTIN_SRCS += $(SCREENSAVER_SRCS) +XEXT_SRCS += $(SCREENSAVER_SRCS) endif # Xinerama extension: making multiple video devices act as one virtual screen XINERAMA_SRCS = panoramiX.c panoramiX.h panoramiXh.h panoramiXsrv.h panoramiXprocs.c panoramiXSwap.c if XINERAMA -BUILTIN_SRCS += $(XINERAMA_SRCS) +XEXT_SRCS += $(XINERAMA_SRCS) if XORG sdk_HEADERS += panoramiXsrv.h panoramiX.h endif @@ -68,7 +67,7 @@ endif # like XC-Security, X-SELinux & XTSol XACE_SRCS = xace.c xace.h xacestr.h if XACE -BUILTIN_SRCS += $(XACE_SRCS) +XEXT_SRCS += $(XACE_SRCS) if XORG sdk_HEADERS += xace.h xacestr.h endif @@ -78,37 +77,38 @@ endif # requires X-ACE extension XSELINUX_SRCS = xselinux_ext.c xselinux_hooks.c xselinux_label.c xselinux.h xselinuxint.h if XSELINUX -BUILTIN_SRCS += $(XSELINUX_SRCS) -BUILTIN_LIBS += $(SELINUX_LIBS) +XEXT_SRCS += $(XSELINUX_SRCS) +XEXT_LIBS += $(SELINUX_LIBS) endif # Security extension: multi-level security to protect clients from each other XCSECURITY_SRCS = security.c securitysrv.h if XCSECURITY -BUILTIN_SRCS += $(XCSECURITY_SRCS) +XEXT_SRCS += $(XCSECURITY_SRCS) endif XCALIBRATE_SRCS = xcalibrate.c if XCALIBRATE -BUILTIN_SRCS += $(XCALIBRATE_SRCS) +XEXT_SRCS += $(XCALIBRATE_SRCS) # XCalibrate needs tslib endif # XF86 Big Font extension BIGFONT_SRCS = xf86bigfont.c xf86bigfontsrv.h if XF86BIGFONT -BUILTIN_SRCS += $(BIGFONT_SRCS) +XEXT_SRCS += $(BIGFONT_SRCS) endif # DPMS extension DPMS_SRCS = dpms.c dpmsproc.h if DPMSExtension -BUILTIN_SRCS += $(DPMS_SRCS) +XEXT_SRCS += $(DPMS_SRCS) endif + ###### -# Sources *only* included in libXextbuiltin.la. These are extensions requiring -# special support in the DDX, which at this point is only provided by Xorg +# Sources included in libXext-Xorg.la. These extensions require additional DDX +# support which is only present in Xorg XEXT_XORG_SRCS = # DGA extension @@ -124,13 +124,14 @@ XEXT_XORG_SRCS += $(XF86VMODE_SRCS) endif +###### # Now take all of the above, mix well, bake for 10 minutes and get libXext*.la -libXext_la_SOURCES = $(BUILTIN_SRCS) -libXext_la_LIBADD = $(BUILTIN_LIBS) +libXext_la_SOURCES = $(XEXT_SRCS) +libXext_la_LIBADD = $(XEXT_LIBS) if XORG -libXextbuiltin_la_SOURCES = $(XEXT_XORG_SRCS) $(BUILTIN_SRCS) +libXext_Xorg_la_SOURCES = $(XEXT_XORG_SRCS) endif EXTRA_DIST = \ diff --git a/configure.ac b/configure.ac index 102affb..13e45e0 100644 --- a/configure.ac +++ b/configure.ac @@ -773,7 +773,7 @@ dnl Extension section dnl --------------------------------------------------------------------------- XEXT_INC='-I$(top_srcdir)/Xext' XEXT_LIB='$(top_builddir)/Xext/libXext.la' -XEXTXORG_LIB='$(top_builddir)/Xext/libXextbuiltin.la' +XEXT_XORG_LIB='$(top_builddir)/Xext/libXext-Xorg.la' dnl Optional modules VIDEOPROTO="videoproto" @@ -1556,7 +1556,7 @@ if test "x$XORG" = xyes; then XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os' XORG_INCS="$XORG_DDXINCS $XORG_OSINCS" XORG_CFLAGS="$XORGSERVER_CFLAGS -DHAVE_XORG_CONFIG_H" - XORG_LIBS="$COMPOSITE_LIB $FIXES_LIB $XEXTXORG_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB" + XORG_LIBS="$COMPOSITE_LIB $FIXES_LIB $XEXT_LIB $XEXT_XORG_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB" dnl ================================================================== dnl symbol visibility -- 1.7.2.1.g43c6fa _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
