diff options
author | Thomas White <taw@bitwiz.org.uk> | 2009-10-28 23:47:10 +0100 |
---|---|---|
committer | Thomas White <taw@bitwiz.org.uk> | 2009-10-28 23:47:10 +0100 |
commit | a4692ac2d639a4a2a32e979ed0c47cbeb0800ada (patch) | |
tree | f2fe6a10c0ac067154ed3e8e3c2031ecdf546672 /src | |
parent | 0a1c895dab15ef4dbd8f54adedb9be374b532040 (diff) |
Make compilation of KMS parts optional
Configure with --enable-kms to enable the KMS parts. With this option, the driver will
include both traditional (fbdev-based) and KMS drivers, and will choose between the two
at runtime depending on the kernel. Without this option, the driver will be exactly as
the traditional driver.
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile.am | 19 | ||||
-rw-r--r-- | src/glamo-driver.c | 8 |
2 files changed, 19 insertions, 8 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index a1e8d0a..59e88a9 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -25,7 +25,7 @@ # TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc. AM_CFLAGS = @XORG_CFLAGS@ @DRI_CFLAGS@ -pedantic -Wall -Werror -std=gnu99 glamo_drv_la_LTLIBRARIES = glamo_drv.la -glamo_drv_la_LDFLAGS = -module -avoid-version -ldrm -ldrm_glamo +glamo_drv_la_LDFLAGS = -module -avoid-version @LIBDRM_LIBS@ glamo_drv_ladir = @moduledir@/drivers glamo_drv_la_SOURCES = \ @@ -35,10 +35,13 @@ glamo_drv_la_SOURCES = \ glamo-draw.c \ glamo-display.c \ glamo-output.c \ - glamo-engine.c \ - glamo-kms-driver.c \ - glamo-kms-crtc.c \ - glamo-kms-output.c \ - glamo-dri2.c \ - glamo-kms-exa.c \ - glamo-drm.c + glamo-engine.c + +if ENABLE_KMS +glamo_drv_la_SOURCES += glamo-kms-driver.c \ + glamo-kms-crtc.c \ + glamo-kms-output.c \ + glamo-dri2.c \ + glamo-kms-exa.c \ + glamo-drm.c +endif diff --git a/src/glamo-driver.c b/src/glamo-driver.c index 17b661e..283825e 100644 --- a/src/glamo-driver.c +++ b/src/glamo-driver.c @@ -325,6 +325,8 @@ GlamoFbdevProbe(DriverPtr drv, GDevPtr *devSections, int numDevSections) return foundScreen; } +#ifdef ENABLE_KMS + static Bool GlamoKMSProbe(DriverPtr drv, GDevPtr *devSections, int numDevSections) { @@ -367,6 +369,8 @@ GlamoKMSProbe(DriverPtr drv, GDevPtr *devSections, int numDevSections) return foundScreen; } +#endif /* ENABLE_KMS */ + static Bool GlamoProbe(DriverPtr drv, int flags) { @@ -384,11 +388,15 @@ GlamoProbe(DriverPtr drv, int flags) if (numDevSections <= 0) return FALSE; /* Is today a good day to use KMS? */ +#ifdef ENABLE_KMS if ( GlamoKernelModesettingAvailable() ) { foundScreen = GlamoKMSProbe(drv, devSections, numDevSections); } else { foundScreen = GlamoFbdevProbe(drv, devSections, numDevSections); } +#else /* ENABLE_KMS */ + foundScreen = GlamoFbdevProbe(drv, devSections, numDevSections); +#endif /* ENABLE_KMS */ xfree(devSections); TRACE("probe done"); |