Commit Graph

19 Commits

Author SHA1 Message Date
Yaakov Selkowitz c7b1625558 xfree86: link modules against Xorg symbols on Cygwin
As a PE platform, all symbols in both EXEs and DLLs must be resolved
at link time.  As Xorg modules depend on symbols in the Xorg
executable, we must build Xorg before its modules, creating an implib
from the former which is used to link the latter.  This implib must
then be installed in order to build the drivers.

Currently only two drivers are supported on Cygwin: xf86-video-dummy
(to replace Xvfb/Xfake) and xf86-video-nested (to replace Xnest/Xephyr).

Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-04-05 21:57:07 -05:00
Jeremy Huddleston 41d903918a xorg-server.pc.in: Remove libpciaccess and pixman-1 from Requires
Every module building against xorg-server does not *Require* pixman nor
libpciaccess.  If such modules need pixman or pciaccess, they should be
depending on them directly rather than inheriting a dependency from
xorg-server.  To do this, they should use PKG_CHECK_MODULES in configure.ac
to check for pixman-1 or pciaccess and include the apporpriate _LIBS variable
to the appropriate _LDFLAGS variable in Makefile.am

This also moves pixman-1 to Requires.private, so CPPFLAGS is set right to
to satisfy include dependencies but avoid linking needlessly.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
2011-10-15 21:18:47 -07:00
Gaetan Nadon 32c706c4ff 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>
2010-06-22 11:34:47 -07:00
Alan Coopersmith c51534961e xorg-server.pc Requires: xproto >= 7.0.17
Since the headers we export in the SDK use the _X_NORETURN #define
introduced in xproto 7.0.17, drivers built with the SDK will also
need to have at least that version of xproto installed.

I considered exporting the version from configure.ac, but decided not
to since the minimum required to build the X server may not always
be the same as the minimum required to build drivers (for instance,
if the X server used a new #define in its .c files or internal headers,
but didn't export it in any of the SDK headers).

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-05-22 20:12:41 -07:00
Dan Nicholson 95f01bdfee xfree86: Search for a system xorg.conf.d
In addition to the conf files found in /etc/X11 or $sysconfdir/X11 used
for local administration, we also reserve a system directory for vendor
and package usage. The simple search path is:

	/usr/share/X11/xorg.conf.d
	$datadir/X11/xorg.conf.d

Files from these directories will have the lowest config priority. The
directory $datadir/X11/xorg.conf.d is exported from xorg-server.pc in
the variable "sysconfigdir". Packages should install their .conf files
to the directory specified by:

	`pkg-config --variable=sysconfigdir xorg-server`

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-04-08 15:21:01 +10:00
Adam Jackson 3c53f32413 Since font modules are dead, don't mention them in xorg-server.pc 2009-07-09 17:21:07 -04:00
Paulo Cesar Pereira de Andrade 45c8bd0fe5 Enable compiling the X Server and modules with hidden symbols by default.
Note that it checks if support for symbol visibility is available by
the compiler, not if it is functional. It may have problems on non x86
architectures.
  To disable the feature, just pass the option "--disable-visibility"
to the X Server configure script.
  Unless using an alternate build schema, drivers built from a git
checkout will use the same "visibility" related CFLAGS used to compile
the X Server.
2008-11-28 02:01:57 -02:00
Aaron Plattner e1e189f853 Include pciaccess in the xorg-server.pc Requires line.
This pulls in the include path for pciaccess.h, which is needed by, among other
things, xf86.h.
2008-04-15 14:51:51 -07:00
Adam Jackson 58332894c0 Export the server ABI versions from xorg-server.pc 2007-11-05 17:18:46 -05:00
Matthias Hopf 17ffc34ad5 Drivers include miscstruct.h which requires pixman.h. 2007-10-12 15:33:31 +02:00
Eric Anholt 205183a733 Fix driver build by including an appropriate Requires.private line on pixman.
We'd previously been substituting PIXMAN_CFLAGS, but we've got a better tool
now, plus I deleted the PIXMAN_CFLAGS substitution without noticing.
2007-09-04 16:19:22 -07:00
Eric Anholt fef4c7a6f1 Fix driver build after pixman changes. 2007-08-07 09:01:24 -07:00
Daniel Stone 84683f19b4 get rid of XFree86LOADER, XFree86Server, XFree86Module, and IN_MODULE
Get rid of almost all uses of these definitions.  They're still defined for
delinquent out-of-tree drivers, and also for the Mesa build.  As well as
for miinitext.c.  But largely gone.
2006-07-18 18:17:38 -04:00
Kevin E Martin 7c00afd0ec Define XFree86Server only where it is required. 2005-12-02 06:02:45 +00:00
Kevin E Martin da5d66f2ff Fix usage of XFree86LOADER/XFree86Module/IN_MODULE and update loadable
module builds to reflect this change.
2005-11-29 16:39:33 +00:00
Kevin E Martin 63aa96c08a Update pkgconfig files to separate library build-time dependencies from
application build-time dependencies, and update package deps to work
    with separate build roots.
2005-11-19 07:15:50 +00:00
Kristian Høgsberg fa6fbd018d Use the $(moduledir) makefile variable instead of @moduledir@ so it can be
overridden at make install time.
Remove driverdir and inputdir from pkg-config file. The directory layout of
    moduledir is fixed and well known by drivers.
2005-08-30 22:31:52 +00:00
Adam Jackson 955fe17133 add some convenience variables for the drivers 2005-07-10 21:45:55 +00:00
Daniel Stone ded56b1a74 Adding initial build system. 2005-07-01 20:29:53 +00:00