diff --git a/ChangeLog b/ChangeLog index 9d9477936..0ab6874c4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +Mon Aug 15 14:56:57 2005 Søren Sandmann + + * hw/xfree86/dixmods/Makefile.am (libdixmods_la_SOURCES): Remove + the xkb* files. + + * hw/xfree86/Makefile.am (Xorg_LDADD): Add xkbVT.o and friends as + the last things on the link line so they will override the symbols + in libxkb.a. Add a comment on how this situation might not be + considered ideal. + Mon Aug 8 13:36:23 2005 Søren Sandmann * include/xorg-config.h.in: #undef PIXPRIV here. diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am index cd0df4da6..f379b8e23 100644 --- a/hw/xfree86/Makefile.am +++ b/hw/xfree86/Makefile.am @@ -12,6 +12,9 @@ DIST_SUBDIRS = common ddc dummylib i2c x86emu int10 fbdevhw os-support \ bin_PROGRAMS = Xorg +AM_CFLAGS = @XORG_CFLAGS@ +INCLUDES = @XORG_INCS@ + Xorg_SOURCES = xorg.c DISTCLEANFILES = xorg.c @@ -41,11 +44,32 @@ XORG_LIBS = \ parser/libparser.a \ $(OS_LIBS) \ dummylib/libdummy.a \ - dixmods/libdixmods.la \ + 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. +# + +xkb%.c: + echo "#define XF86DDXACTIONS" > $@ + echo "#include \"$(top_srcdir)/xkb/ddx$*.c\"" >> $@ + Xorg_LDADD = $(XORG_LIBS) \ @XSERVER_LIBS@ \ + xkbVT.o \ + xkbKillSrv.o \ + xkbPrivate.o \ -ldl Xorg_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) diff --git a/hw/xfree86/dixmods/Makefile.am b/hw/xfree86/dixmods/Makefile.am index bf7463acd..7283e2bcc 100644 --- a/hw/xfree86/dixmods/Makefile.am +++ b/hw/xfree86/dixmods/Makefile.am @@ -88,13 +88,4 @@ libshadow_la_LDFLAGS = -avoid-version libshadow_la_LIBADD = $(top_builddir)/miext/shadow/libshadow.la libshadow_la_SOURCES = shmodule.c -libdixmods_la_SOURCES = xkbKillSrv.c \ - xkbPrivate.c \ - xkbVT.c \ - $(top_srcdir)/mi/miinitext.c - -xkb%.c: - echo "#define XF86DDXACTIONS" > $@ - echo "#include \"$(top_srcdir)/xkb/ddx$*.c\"" >> $@ - -DISTCLEANFILES = xkbKillSrv.c xkbPrivate.c xkbVT.c +libdixmods_la_SOURCES = $(top_srcdir)/mi/miinitext.c