From bb1d99ee72cc560e95010ea1008d5e796177ae62 Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Sat, 20 Aug 2005 18:07:59 +0000 Subject: [PATCH] Build libxkbstubs.la to stub XKB DDX functions (e.g. VT switches), and build libxorggxkb.la from within the Xorg DDX to replace the previous xf86VT.o, et al, hacks. --- ChangeLog | 8 ++++++++ hw/xfree86/Makefile.am | 30 +----------------------------- hw/xfree86/dixmods/Makefile.am | 8 +++++++- xkb/Makefile.am | 10 ++++------ 4 files changed, 20 insertions(+), 36 deletions(-) diff --git a/ChangeLog b/ChangeLog index fa79bfeb0..16c16ead5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,14 @@ Remove requirement for XF86Rush protocol headers, which we don't even use in the core server. + * configure.ac: + * xkb/Makefile.am: + * hw/xfree86/Makefile.am: + * hw/xfree86/dixmods/Makefile.am: + Build libxkbstubs.la to stub XKB DDX functions (e.g. VT switches), and + build libxorggxkb.la from within the Xorg DDX to replace the previous + xf86VT.o, et al, hacks. + 2005-08-19 Søren Sandmann * fb/Makefile.am (libfbmmx_la_CFLAGS): Move fbmmx to a convenience diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am index 6924a6423..3dd5adceb 100644 --- a/hw/xfree86/Makefile.am +++ b/hw/xfree86/Makefile.am @@ -47,37 +47,9 @@ XORG_LIBS = \ dixmods/libdixmods.la \ @XORG_LIBS@ -# -# The xkbVT.c xkbKillSrv.c and xkbPrivate.c files used below are really -# the same files as ddxVT.c ddxKillSrv.c and ddxPrivate.c from -# $(top_srcdir)/xkb. However they are compiled with the flag -# XF86DDXACTIONS which means they'll do stuff like Ctrl-Alt-Fx etc. -# They have to be last on the link line so that their symbols will -# override the ones from libxkb.a. -# -# Unfortunately, those symbols can't be removed from libxkb because that -# causes other ddx'es to break. One possible fix would be to turn libxkb -# into shared a shared library and add API that would people linking to -# it to install callbacks for those actions. -# - -xkbVT.c: - echo "#define XF86DDXACTIONS" > $@ - echo "#include \"$(top_srcdir)/xkb/ddxVT.c\"" >> $@ - -xkbKillSrv.c: - echo "#define XF86DDXACTIONS" > $@ - echo "#include \"$(top_srcdir)/xkb/ddxKillSrv.c\"" >> $@ - -xkbPrivate.c: - echo "#define XF86DDXACTIONS" > $@ - echo "#include \"$(top_srcdir)/xkb/ddxPrivate.c\"" >> $@ - Xorg_LDADD = $(XORG_LIBS) \ @XSERVER_LIBS@ \ - xkbVT.o \ - xkbKillSrv.o \ - xkbPrivate.o \ + dixmods/libxorgxkb.la \ -ldl Xorg_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) diff --git a/hw/xfree86/dixmods/Makefile.am b/hw/xfree86/dixmods/Makefile.am index 3b1130020..7d745fde1 100644 --- a/hw/xfree86/dixmods/Makefile.am +++ b/hw/xfree86/dixmods/Makefile.am @@ -1,4 +1,4 @@ -noinst_LTLIBRARIES = libdixmods.la +noinst_LTLIBRARIES = libdixmods.la libxorgxkb.la SUBDIRS = extmod @@ -97,3 +97,9 @@ libtype1_la_LDFLAGS = -avoid-version libtype1_la_SOURCES = type1mod.c libdixmods_la_SOURCES = $(top_srcdir)/mi/miinitext.c + +libxorgxkb_la_SOURCES = xkbVT.c xkbPrivate.c xkbKillSrv.c + +xkb%.c: + echo "#define XF86DDXACTIONS" > $@ + echo "#include \"$(top_srcdir)/xkb/ddx$*.c\"" >> $@ diff --git a/xkb/Makefile.am b/xkb/Makefile.am index e0ecb6099..6ec34c97e 100644 --- a/xkb/Makefile.am +++ b/xkb/Makefile.am @@ -1,7 +1,7 @@ -noinst_LTLIBRARIES = libxkb.la +noinst_LTLIBRARIES = libxkb.la libxkbstubs.la AM_CFLAGS = $(DIX_CFLAGS) - + DDX_SRCS = \ ddxBeep.c \ ddxCtrls.c \ @@ -9,14 +9,11 @@ DDX_SRCS = \ ddxFakeMtn.c \ ddxInit.c \ ddxKeyClick.c \ - ddxKillSrv.c \ ddxLEDs.c \ - ddxVT.c \ ddxLoad.c \ ddxList.c \ ddxConfig.c \ - ddxDevBtn.c \ - ddxPrivate.c + ddxDevBtn.c DIX_SRCS = \ xkb.c \ @@ -49,5 +46,6 @@ XI_SRCS = xkbPrOtherEv.c libxkb_la_SOURCES = $(DDX_SRCS) $(DIX_SRCS) $(XI_SRCS) $(XKBFILE_SRCS) \ $(X11_SRCS) +libxkbstubs_la_SOURCES = ddxVT.c ddxPrivate.c ddxKillSrv.c EXTRA_DIST = xkb.h xkbDflts.h