Fix and marginally simplify the SHA1 handling. First, we allow people
to override it. Secondly, we try for libmd. Then, we try for OpenSSL
with pkg-config. In a last, desperate move, we try libcrypto on its
own. This allows the server to, y'know, _link_ when using OpenSSL,
instead of failing because we only have -lcrypto, and not -lssl.
Previously, the code was using PKG_CHECK_EXISTS before PKG_CHECK_MODULES,
(to cater to OpenBSD systems that include openssl by default but without
a .pc file). But this meant that systems that didn't have openssl installed
at all would not get any error message at configure time.
Now, if the SHA1_Init function is found in -lcrypto without any additional
flags, then that's used. Otherwise, pkg-config is used to find the right
flags to link against libcrypto. And if that fails, a nice error message
is now generated.
Some reasons to embed fonts by default:
1. X server doesn't pick a good default font path so it's easiest just
to built in the core fonts and let new X hackers more happy. Developers
and distro guys are wise enough to just set --disable-builtin-fonts
when they want.
2. Seems that this is by far the most popular FAQ
(http://www.x.org/wiki/FAQErrorMessages).
3. No one gave a good argument to not do this:
http://lists.freedesktop.org/archives/xorg/2008-May/035479.html
This code hasn't been updated with anything even resembling what anyone is
shipping in nearly thirty months. It hasn't built out of the box since
7.1. Most of its features over AIGLX are accomplished with DRI2 and
friends.
This copies over the files generated from mesa/src/mesa/glapi. There's
a corresponding mesa commit that makes it easy to generate the glapi files
straight into the xserver tree when the XML definitions change.
The only few files that are copied from mesa but aren't generated are
glapi.[ch] and glthread.[ch]. Everything in there is technically DRI
driver API and the whole setup is still a bit fragile, but it's not a new
problem.
The --with-mesa-source configure option is still around since other
parts of the server (XGL and DMX - grep for MESA_SOURCE) need that,
but for common case of building with GLX and AIGLX support, that
option is no longer needed.
Conflicts:
Xext/xprint.c (removed in master)
config/hal.c
dix/main.c
hw/kdrive/ati/ati_cursor.c (removed in master)
hw/kdrive/i810/i810_cursor.c (removed in master)
hw/xprint/ddxInit.c (removed in master)
xkb/ddxLoad.c
Most of these drivers didn't work. ati was the only one that even came
close. The igs, ipaq, itsy, pcmcia, savage, sis530, trident, trio, ts300,
and vxworks directories have never built since modularisation, so clearly
no one can miss them.
Use dummy config functions to replace those from config/config.c, and
therefore do not link Xprt with $CONFIG_LIB.
Works around an endlessly spinning loop in dix/dispatch.c::Dispatch()
(WaitForSomething() not waiting) when built with dbus, which was
causing Xprt to use 95% cpu.
glcore gets linked with -ldl, -lpthread for s3tc and glapi
xserver needs
DLOPEN_LIBS - to dlopen the glcore dso
LD_EXPORT_SYMBOLS_FLAG - to export symbols for glcore to use
the ld flag is added to kdrive only when GLX is enabled, the net overhead for
Xephyr is ~155KB, could be reduced with --dynamic-list.