config: declare xserver private dependencies in xorg-server.pc
Any module (drivers) depending on xserver also depends on some of the server private dependencies. Any driver including xf86.h depends on xext, kbproto, inputproto and randr. These dependencies are in separate packages, so anything can happen, removal, wrong version, etc... and the driver fails during compilation. Having the private dependencies declared will ensure all packages the server depends on are present and at the correct version. Currently each module attempts to check for server dependencies with various degrees of accuracy. With this patch, the driver will only need to check for its own explicit dependencies. Now that xproto is included in Requires.private it is removed from Requires. All the cflags from both Requires and Requires.private are returned to caller to pkg-config. Reviewed-by: Dan Nicholson <dbn.lists@gmail.com> Signed-off-by: Gaetan Nadon <memsize@videotron.ca> Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
37734ba79c
commit
32c706c4ff
|
@ -793,9 +793,13 @@ WINDOWSWMPROTO="windowswmproto"
|
|||
APPLEWMPROTO="applewmproto >= 1.4"
|
||||
|
||||
dnl Core modules for most extensions, et al.
|
||||
REQUIRED_MODULES="[randrproto >= 1.2.99.3] [renderproto >= 0.11] [fixesproto >= 4.1] [damageproto >= 1.1] [xcmiscproto >= 1.2.0] [xextproto >= 7.0.99.3] [xproto >= 7.0.17] [xtrans >= 1.2.2] [bigreqsproto >= 1.1.0] fontsproto [inputproto >= 1.9.99.902] [kbproto >= 1.0.3]"
|
||||
SDK_REQUIRED_MODULES="[xproto >= 7.0.17] [randrproto >= 1.2.99.3] [renderproto >= 0.11] [xextproto >= 7.0.99.3] [inputproto >= 1.9.99.902] [kbproto >= 1.0.3] fontsproto"
|
||||
REQUIRED_MODULES="[fixesproto >= 4.1] [damageproto >= 1.1] [xcmiscproto >= 1.2.0] [xtrans >= 1.2.2] [bigreqsproto >= 1.1.0] $SDK_REQUIRED_MODULES"
|
||||
REQUIRED_LIBS="xfont xau"
|
||||
|
||||
# Make SDK_REQUIRED_MODULES available for inclusion in xorg-server.pc
|
||||
AC_SUBST(SDK_REQUIRED_MODULES)
|
||||
|
||||
dnl List of libraries that require a specific version
|
||||
LIBAPPLEWM="applewm >= 1.4"
|
||||
LIBDMX="dmx >= 1.0.99.1"
|
||||
|
@ -947,6 +951,7 @@ if test "x$XV" = xyes; then
|
|||
AC_DEFINE(XV, 1, [Support Xv extension])
|
||||
AC_DEFINE(XvExtension, 1, [Build Xv extension])
|
||||
REQUIRED_MODULES="$REQUIRED_MODULES $VIDEOPROTO"
|
||||
SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $VIDEOPROTO"
|
||||
else
|
||||
XVMC=no
|
||||
fi
|
||||
|
@ -1036,6 +1041,7 @@ case "$DRI2,$HAVE_DRI2PROTO" in
|
|||
yes,yes | auto,yes)
|
||||
AC_DEFINE(DRI2, 1, [Build DRI2 extension])
|
||||
DRI2=yes
|
||||
SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $DRI2PROTO"
|
||||
;;
|
||||
esac
|
||||
AM_CONDITIONAL(DRI2, test "x$DRI2" = xyes)
|
||||
|
@ -1074,6 +1080,7 @@ if test "x$XINERAMA" = xyes; then
|
|||
AC_DEFINE(XINERAMA, 1, [Support Xinerama extension])
|
||||
AC_DEFINE(PANORAMIX, 1, [Internal define for Xinerama])
|
||||
REQUIRED_MODULES="$REQUIRED_MODULES $XINERAMAPROTO"
|
||||
SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $XINERAMAPROTO"
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(XACE, [test "x$XACE" = xyes])
|
||||
|
|
|
@ -15,6 +15,7 @@ abi_extension=@abi_extension@
|
|||
Name: xorg-server
|
||||
Description: Modular X.Org X Server
|
||||
Version: @PACKAGE_VERSION@
|
||||
Requires: pixman-1 pciaccess xproto >= 7.0.17
|
||||
Requires: pixman-1 pciaccess
|
||||
Requires.private: @SDK_REQUIRED_MODULES@
|
||||
Cflags: -I${sdkdir} @symbol_visibility@
|
||||
Libs: -L${libdir}
|
||||
|
|
Loading…
Reference in New Issue