Bug 4051 - server<->lib cross-pollination causes kitten death
Summary: server<->lib cross-pollination causes kitten death
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/Input/XKB (show other bugs)
Version: 7.0.0
Hardware: x86 (IA32) Linux (All)
: high normal
Assignee: Daniel Stone
QA Contact: Xorg Project Team
URL:
Whiteboard: 2011BRB_Reviewed
Keywords:
Depends on:
Blocks: xorg-xkb
  Show dependency treegraph
 
Reported: 2005-08-12 07:53 UTC by George -
Modified: 2012-08-08 18:43 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
symlink.sh: put xkb imported files to separate subdirs (761 bytes, patch)
2005-10-07 05:07 UTC, George -
no flags Details | Splinter Review
Makefiles for xkb and new subdirs (1.83 KB, patch)
2005-10-07 05:15 UTC, George -
no flags Details | Splinter Review

Description George - 2005-08-12 07:53:13 UTC
X11R7-RC0 requires libxkbfile, this is done in configure.ac:

AC_DEFINE(XKB,1,[Build XKB])
AC_DEFINE(XKB_IN_SERVER,1,[Build XKB server])
AC_DEFINE(XKB_DFLT_DISABLED,0,[Enable XKB per default])
REQUIRED_MODULES="$REQUIRED_MODULES xkbfile"

X11R7 should not require xkbfile since it builds its own copy
under xorg-server/xkb. The fix is to remove the following line:

REQUIRED_MODULES="$REQUIRED_MODULES xkbfile"

I tested this on linux. Xorg does not need to link agaist libxkbfile
and most importantly against libX11.

A little off-topic but relevant:
*    the files duplicated from xkbfile to xorg-server retain their
     names except from xkbmisc.c which is renamed to xkbfmisc.c,
     why is that ?

*    I think its a good idea to add an appendix to the "modular tree
     developer guide" with the files that have been duplicated for
     the needs of the modular tree. Here is a quick list from symlink.sh:

	app/xprop/dsimple.[hc]
	app/xwd/dsimple.[hc]
	app/xwininfo/dsimple.[hc]
	app/xedit/print*.[hc]

	xserver/xorg/xkb/XKB*.[hc]
	xserver/xorg/xkb/xkb[a-z]*.[hc]
Comment 1 George - 2005-08-12 08:32:56 UTC
Requires the xkbfile header files to be duplicated as well,
or leave the requirement for xkbfile (to get the header files)
but don't link against it or libX11.
Comment 2 Daniel Stone 2005-10-05 18:02:19 UTC
xkbmisc.c is renamed to xkbfmisc.c because we already have XKBMisc.c (from
libX11 sources), and need to avoid name collisions on case-agnostic systems.
Comment 3 George - 2005-10-06 04:02:24 UTC
(In reply to comment #2)
> xkbmisc.c is renamed to xkbfmisc.c because we already have XKBMisc.c (from
> libX11 sources), and need to avoid name collisions on case-agnostic systems.

better then put the imported files in separate subdirs (like libxkbfile, libX11)
to avoid clash with original xserver/xkb and between them
Comment 4 George - 2005-10-07 05:07:57 UTC
Created attachment 3504 [details] [review]
symlink.sh: put xkb imported files to separate subdirs

Putting imported files to separate subdirs makes it clear that these files are
imported code from the respective libs. It also avoids name clashes.

The patch also imports libxkbfile header files. I think this makes sense since
most of the src files of the library are also imported.

With this patch the xkbfile requirement to build xserver can be dropped from
configure.ac
Comment 5 George - 2005-10-07 05:15:02 UTC
Created attachment 3505 [details] [review]
Makefiles for xkb and new subdirs
Comment 6 Daniel Stone 2006-03-05 21:05:40 UTC
i'm fixing this particular pathological behaviour
Comment 7 Daniel Stone 2006-03-05 21:05:56 UTC
-
Comment 8 Daniel Stone 2006-04-01 04:36:02 UTC
a great deal of this is now gone.  all we have left is XkbRF_*, and the XKM
reading functions.
Comment 9 Daniel Stone 2006-05-31 12:08:24 UTC
this patch was against the script for the symlink.sh stuff, and is now thus
irrelevant
Comment 10 Daniel Stone 2007-02-27 01:27:37 UTC
Sorry about the phenomenal bug spam, guys.  Adding xorg-team@ to the QA contact so bugs don't get lost in future.
Comment 11 Jeremy Huddleston Sequoia 2011-10-17 16:21:09 UTC
Should this be closed as fixed?  My Xorg isn't linking against libxkbfile
Comment 12 Daniel Stone 2012-08-08 18:43:45 UTC
yep.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.