efa5269f23
Currently there is a single file, xorg.conf, for configuring the server. This works fine most of the time, but it becomes a problem when packages or system services need to adjust the configuration. Instead, allow multiple configuration files to live in a directory. Typically this will be /etc/X11/xorg.conf.d. Files with a suffix of .conf will be read and added to the server configuration after xorg.conf. The server won't fall back to using the auto configuration unless there is no config file and there are no files in the config directory. Right now this uses a simpler search template than the config file search path by not using the command line or environment variable parameters. The matching code was refactored a bit to make this more coherent. Any DDX wanting to read the config files will need to call xf86initConfigFiles before opening/reading them. This is to allow xf86openConfigFile without xf86openConfigDirFiles and vice-versa. Signed-off-by: Dan Nicholson <dbn.lists@gmail.com> Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
50 lines
1.9 KiB
Makefile
50 lines
1.9 KiB
Makefile
# -*- Makefile -*-
|
|
# Rules for generating files using the C pre-processor
|
|
# (Replaces CppFileTarget from Imake)
|
|
|
|
SED = sed
|
|
|
|
SUFFIXES = .pre .man .man.pre
|
|
|
|
# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM
|
|
# to cpp, because that trick does not work on all ANSI C preprocessors.
|
|
# Delete line numbers from the cpp output (-P is not portable, I guess).
|
|
# Allow XCOMM to be preceded by whitespace and provide a means of generating
|
|
# output lines with trailing backslashes.
|
|
# Allow XHASH to always be substituted, even in cases where XCOMM isn't.
|
|
|
|
CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \
|
|
-e '/^\#line *[0-9][0-9]* *.*$$/d' \
|
|
-e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \
|
|
-e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \
|
|
-e '/^[ ]*XHASH/s/XHASH/\#/' \
|
|
-e '/\@\@$$/s/\@\@$$/\\/'
|
|
|
|
# Strings to replace in man pages
|
|
XORGRELSTRING = @PACKAGE_STRING@
|
|
XORGMANNAME = X Version 11
|
|
XSERVERNAME = Xorg
|
|
|
|
MANDEFS = \
|
|
-D__vendorversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \
|
|
-D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \
|
|
-D__appmansuffix__=$(APP_MAN_SUFFIX) \
|
|
-D__filemansuffix__=$(FILE_MAN_SUFFIX) \
|
|
-D__libmansuffix__=$(LIB_MAN_SUFFIX) \
|
|
-D__miscmansuffix__=$(MISC_MAN_SUFFIX) \
|
|
-D__drivermansuffix__=$(DRIVER_MAN_SUFFIX) \
|
|
-D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \
|
|
-D__mandir__=$(mandir) \
|
|
-D__projectroot__=$(prefix) \
|
|
-D__xconfigfile__=$(__XCONFIGFILE__) \
|
|
-D__xconfigdir__=$(__XCONFIGDIR__) \
|
|
-D__xkbdir__=$(XKB_BASE_DIRECTORY) \
|
|
-D__modulepath__="$(DEFAULT_MODULE_PATH)" \
|
|
-D__xlogfile__=$(XLOGFILE) -D__xservername__=$(XSERVERNAME)
|
|
|
|
.pre:
|
|
$(AM_V_GEN)$(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@
|
|
|
|
.man.pre.man:
|
|
$(AM_V_GEN)$(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@
|