[PATCH 1/5] xfree86: Allow adding sysconfdir and datadir to config search paths

Dan Nicholson dbn.lists at gmail.com
Sat Apr 3 09:33:47 PDT 2010


We could just use $projectroot/etc and $projectroot/share, but the user
might have other plans for them.

Signed-off-by: Dan Nicholson <dbn.lists at gmail.com>
---
 hw/xfree86/parser/Makefile.am |    4 +++-
 hw/xfree86/parser/scan.c      |   14 ++++++++++++++
 2 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/hw/xfree86/parser/Makefile.am b/hw/xfree86/parser/Makefile.am
index 49c191f..caf7079 100644
--- a/hw/xfree86/parser/Makefile.am
+++ b/hw/xfree86/parser/Makefile.am
@@ -34,7 +34,9 @@ libxf86config_a_SOURCES = \
 	$(INTERNAL_SOURCES)
 libxf86config_a_CFLAGS = $(AM_CFLAGS)
 
-AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS)
+AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) \
+	-DSYSCONFDIR=\"$(sysconfdir)\" \
+	-DDATADIR=\"$(datadir)\"
 
 EXTRA_DIST = \
 	Configint.h \
diff --git a/hw/xfree86/parser/scan.c b/hw/xfree86/parser/scan.c
index cdca9ca..8aab0cf 100644
--- a/hw/xfree86/parser/scan.c
+++ b/hw/xfree86/parser/scan.c
@@ -599,6 +599,8 @@ xf86pathIsSafe(const char *path)
  *    %F    config file environment ($XORGCONFIG) as a relative path
  *    %G    config file environment ($XORGCONFIG) as a safe path
  *    %P    projroot
+ *    %C    sysconfdir
+ *    %D    datadir
  *    %M    major version number
  *    %%    %
  */
@@ -615,6 +617,12 @@ xf86pathIsSafe(const char *path)
 #ifndef PROJECTROOT
 #define PROJECTROOT	"/usr/X11R6"
 #endif
+#ifndef SYSCONFDIR
+#define SYSCONFDIR	PROJECTROOT "/etc"
+#endif
+#ifndef DATADIR
+#define DATADIR		PROJECTROOT "/share"
+#endif
 #ifndef XCONFENV
 #define XCONFENV	"XORGCONFIG"
 #endif
@@ -755,6 +763,12 @@ DoSubstitution(const char *template, const char *cmdline, const char *projroot,
 				else
 					BAIL_OUT;
 				break;
+			case 'C':
+				APPEND_STR(SYSCONFDIR);
+				break;
+			case 'D':
+				APPEND_STR(DATADIR);
+				break;
 			case 'M':
 				if (!majorvers[0]) {
 					if (XF86_VERSION_MAJOR < 0 || XF86_VERSION_MAJOR > 99) {
-- 
1.6.6.1



More information about the xorg-devel mailing list