diff options
author | Alan Coopersmith <Alan.Coopersmith@sun.com> | 2005-10-16 22:18:22 +0000 |
---|---|---|
committer | Alan Coopersmith <Alan.Coopersmith@sun.com> | 2005-10-16 22:18:22 +0000 |
commit | 0c48fdb05b2538c94c809e25c8690a7094900e07 (patch) | |
tree | 864988082c895b3bbccccd8ac63ea7d1218a37c1 | |
parent | 9c8787d2ce69e55b9ba362a92f01592d8ee0a3a3 (diff) |
Use cpp to substitute variables in man pages
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | Makefile.am | 49 | ||||
-rw-r--r-- | configure.ac | 5 |
3 files changed, 51 insertions, 9 deletions
@@ -1,3 +1,9 @@ +2005-10-16 Alan Coopersmith <alan.coopersmith@sun.com> + + * configure.ac: + * Makefile.am: + Use cpp to substitute variables in man pages + 2005-10-10 Alan Coopersmith <alan.coopersmith@sun.com> * configure.ac: diff --git a/Makefile.am b/Makefile.am index 46e1a5f..b16dd56 100644 --- a/Makefile.am +++ b/Makefile.am @@ -30,21 +30,58 @@ xinit_LDADD = $(XINIT_LIBS) xinit_SOURCES = \ xinit.c -dist_man1_MANS = \ - startx.man \ +appmandir = $(mandir)/man$(APP_MAN_SUFFIX) + +appman_SOURCES = \ + startx.man \ xinit.man +appman_DATA = $(appman_SOURCES:man=$(APP_MAN_SUFFIX)) + +# 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 + +MANDEFS = \ + -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__XSERVERNAME__=Xorg -D__XCONFIGFILE__=xorg.conf \ + -D__xinitdir__=$(XINITDIR) + +SUFFIXES = .$(APP_MAN_SUFFIX) .man + +.man.$(APP_MAN_SUFFIX): + $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ + xinitrcdir = $(XINITDIR) xinitrc: xinitrc.cpp - $(SED) s/XINITDIR/`echo $(XINITDIR) | sed -e s/\\\\//\\\\\\\\\\\\\//g`/ < $(srcdir)/xinitrc.cpp | $(SED) s/XCOMM/\#/ > $@ + $(RAWCPP) -DXINITDIR=$(XINITDIR) < $(srcdir)/xinitrc.cpp | $(CPP_SED_MAGIC) > $@ startx: startx.cpp Makefile - $(RAWCPP) -DXINITDIR=$(XINITDIR) -DBINDIR=$(bindir) $(STARTX_COOKIE_FLAGS) $(srcdir)/startx.cpp | $(SED) -e /^\#/d | $(SED) -e s/XCOMM/\#/ | $(SED) -e 's/@@/\\/' > $@ + $(RAWCPP) -DXINITDIR=$(XINITDIR) -DBINDIR=$(bindir) $(STARTX_COOKIE_FLAGS) $(srcdir)/startx.cpp | $(CPP_SED_MAGIC) > $@ xinitrc_DATA = xinitrc -CLEANFILES = xinitrc startx +CLEANFILES = xinitrc startx $(appman_DATA) -EXTRA_DIST = xinitrc.cpp startx.cpp \ +EXTRA_DIST = xinitrc.cpp startx.cpp $(appman_SOURCES) \ startx.cmd xinitrc.cmd xinit.def + diff --git a/configure.ac b/configure.ac index 5b17f71..54e3996 100644 --- a/configure.ac +++ b/configure.ac @@ -29,9 +29,7 @@ AM_MAINTAINER_MODE AM_CONFIG_HEADER(config.h) AC_PROG_CC -AC_PROG_CPP -AC_PATH_PROGS(RAWCPP, [cpp], [$(CPP)], - [$PATH:/bin:/usr/bin:/usr/lib:/usr/libexec:/usr/ccs/lib:/usr/ccs/lbin:/lib]) +XORG_PROG_RAWCPP AC_PROG_INSTALL AC_PATH_PROG(SED,sed) AC_CANONICAL_HOST @@ -58,6 +56,7 @@ if test x$MCOOKIE != x ; then fi AC_SUBST(STARTX_COOKIE_FLAGS) +XORG_MANPAGE_SECTIONS XORG_RELEASE_VERSION AC_OUTPUT([Makefile]) |