diff options
Diffstat (limited to 'app/xman')
-rw-r--r-- | app/xman/ChangeLog | 116 | ||||
-rw-r--r-- | app/xman/Makefile.am | 17 | ||||
-rw-r--r-- | app/xman/Makefile.in | 236 | ||||
-rw-r--r-- | app/xman/ScrollByL.c | 4 | ||||
-rw-r--r-- | app/xman/aclocal.m4 | 424 | ||||
-rw-r--r-- | app/xman/buttons.c | 7 | ||||
-rw-r--r-- | app/xman/configure | 401 | ||||
-rw-r--r-- | app/xman/configure.ac | 22 | ||||
-rw-r--r-- | app/xman/handler.c | 30 | ||||
-rw-r--r-- | app/xman/main.c | 6 | ||||
-rw-r--r-- | app/xman/man.h | 2 | ||||
-rw-r--r-- | app/xman/man/Makefile.am | 12 | ||||
-rw-r--r-- | app/xman/man/Makefile.in | 361 | ||||
-rw-r--r-- | app/xman/man/xman.man (renamed from app/xman/xman.man) | 60 | ||||
-rw-r--r-- | app/xman/misc.c | 69 | ||||
-rw-r--r-- | app/xman/vendor.c | 8 |
16 files changed, 1360 insertions, 415 deletions
diff --git a/app/xman/ChangeLog b/app/xman/ChangeLog index 71330ddba..06e5d8aef 100644 --- a/app/xman/ChangeLog +++ b/app/xman/ChangeLog @@ -1,3 +1,119 @@ +commit 0824a8ce82e053723b661bf1c2864e52eebac917 +Author: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Wed Jun 29 20:53:53 2011 -0700 + + xman 1.1.2 + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + +commit b8e4ebb00593d8b58815921cf5eb2d1e8a3738a7 +Author: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Fri Mar 4 18:16:48 2011 -0800 + + Remove xmu dependency by inlining AssignMax macro + + No calls from libXmu were used, just one instance of one simple macro + that made the code harder to understand, so stop requiring it and + linking directly to it. (Of course, libXaw still depends on it, so + it will still be loaded indirectly.) + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + Reviewed-by: Matt Turner <mattst88@gmail.com> + +commit ca7ff690136a35b8dad90271db5966cc9614b1c1 +Author: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Fri Jan 28 23:10:22 2011 -0800 + + Use snprintf to PATH_MAX sized buffers to construct filenames + + Simpler than trying to calculate the size to malloc. + + Could have used XtAsprintf() but didn't seem worth the dependency + for two simple calls with a standard, well-known maximum size. + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + Reviewed-by: Dirk Wallenstein <halsmit@t-online.de> + +commit 48709d1ed5002255fa322cb3f0c4b8d5a5a7f3de +Author: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Fri Jan 28 22:38:08 2011 -0800 + + Convert more sprintf calls to snprintf + + Previous conversion seems to have missed many calls right next to ones + that were converted to snprintf already + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + Reviewed-by: Dirk Wallenstein <halsmit@t-online.de> + +commit 35265840bba5aa4098b2f12522ef4c80b17c604a +Author: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Fri Jan 28 22:35:35 2011 -0800 + + Don't need to copy static strings to a buffer before calling PopupWarning + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + Reviewed-by: Dirk Wallenstein <halsmit@t-online.de> + +commit 72817de248a160ae84532662268b380b701908e8 +Author: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Fri Jan 28 22:24:47 2011 -0800 + + Mark string argument to PopupWarning as a const char * + + PopupWarning just copies the string into the message it displays, + via snprintf, and never writes to it. + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + Reviewed-by: Dirk Wallenstein <halsmit@t-online.de> + +commit 382d261e50ac976001376c3a660fba0a55faad6d +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Thu Jan 13 14:18:09 2011 -0500 + + config: move man pages into their own directory + + Use services provided by XORG_MANPAGE_SECTIONS. + Use standard Makefile for man pages. + + Signed-off-by: Gaetan Nadon <memsize@videotron.ca> + +commit 461b7068c522a9a3a92cd64ac1b664d079803807 +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Thu Jan 13 14:12:46 2011 -0500 + + man: replace hard coded man page section with substitution strings + + Signed-off-by: Gaetan Nadon <memsize@videotron.ca> + +commit d7cb024227f8df08840937335ddf3f6f1bc95bef +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Thu Jan 13 11:15:47 2011 -0500 + + man: remove trailing spaces and tabs + + Using s/[ \t]*$// + + Signed-off-by: Gaetan Nadon <memsize@videotron.ca> + +commit a2b1b62a8603e21f4944ed55951d8682964f11b7 +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Wed Jan 12 16:28:02 2011 -0500 + + config: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERS + + This silences an Autoconf warning + +commit e62b0d9d0515221b5b82e5dbf63f10be8e2b2f1d +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Wed Jan 12 15:29:50 2011 -0500 + + config: replace deprecated AC_HELP_STRING with AS_HELP_STRING + + This silences an Automake warning. + + Signed-off-by: Gaetan Nadon <memsize@videotron.ca> + commit bee5d67ab054decda85e2ba2fc70cf8a53b74fcd Author: Alan Coopersmith <alan.coopersmith@oracle.com> Date: Sat Oct 30 17:31:47 2010 -0700 diff --git a/app/xman/Makefile.am b/app/xman/Makefile.am index 40ff08c5e..1c6efc8dd 100644 --- a/app/xman/Makefile.am +++ b/app/xman/Makefile.am @@ -19,6 +19,7 @@ # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. +SUBDIRS = man bin_PROGRAMS = xman helpdir=@HELPDIR@ @@ -50,9 +51,6 @@ xman_SOURCES = \ vendor.c \ vendor.h -appman_PRE = \ - xman.man - # App default files DISTCHECK_CONFIGURE_FLAGS = --with-appdefaultdir=\$${datadir}/X11/app-defaults @@ -61,20 +59,7 @@ appdefaultdir = @appdefaultdir@ dist_appdefault_DATA = app-defaults/Xman -appmandir = $(APP_MAN_DIR) - -appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@) - -EXTRA_DIST = $(appman_PRE) MAINTAINERCLEANFILES = ChangeLog INSTALL -CLEANFILES = $(appman_DATA) - -SUFFIXES = .$(APP_MAN_SUFFIX) .man - -# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure -.man.$(APP_MAN_SUFFIX): - $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ - .PHONY: ChangeLog INSTALL diff --git a/app/xman/Makefile.in b/app/xman/Makefile.in index 4821d148a..0c357abbc 100644 --- a/app/xman/Makefile.in +++ b/app/xman/Makefile.in @@ -45,9 +45,9 @@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = . am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c +install_sh_DATA = ${SHELL} $(install_sh) -c -m 644 +install_sh_PROGRAM = ${SHELL} $(install_sh) -c +install_sh_SCRIPT = ${SHELL} $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : @@ -74,8 +74,8 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ mkinstalldirs = $(SHELL) $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appmandir)" \ - "$(DESTDIR)$(appdefaultdir)" "$(DESTDIR)$(helpdir)" +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appdefaultdir)" \ + "$(DESTDIR)$(helpdir)" binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(bin_PROGRAMS) am_xman_OBJECTS = buttons.$(OBJEXT) globals.$(OBJEXT) \ @@ -94,18 +94,24 @@ CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(xman_SOURCES) DIST_SOURCES = $(xman_SOURCES) +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -appmanDATA_INSTALL = $(INSTALL_DATA) dist_appdefaultDATA_INSTALL = $(INSTALL_DATA) dist_helpDATA_INSTALL = $(INSTALL_DATA) -DATA = $(appman_DATA) $(dist_appdefault_DATA) $(dist_help_DATA) +DATA = $(dist_appdefault_DATA) $(dist_help_DATA) ETAGS = etags CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) @@ -183,6 +189,7 @@ PKG_CONFIG = @PKG_CONFIG@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ VERSION = @VERSION@ XMAN_CFLAGS = @XMAN_CFLAGS@ @@ -232,6 +239,7 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +SUBDIRS = man helpdir = @HELPDIR@ dist_help_DATA = xman.help AM_CFLAGS = $(CWARNFLAGS) $(XMAN_CFLAGS) \ @@ -260,24 +268,16 @@ xman_SOURCES = \ vendor.c \ vendor.h -appman_PRE = \ - xman.man - # App default files DISTCHECK_CONFIGURE_FLAGS = --with-appdefaultdir=\$${datadir}/X11/app-defaults dist_appdefault_DATA = app-defaults/Xman -appmandir = $(APP_MAN_DIR) -appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@) -EXTRA_DIST = $(appman_PRE) MAINTAINERCLEANFILES = ChangeLog INSTALL -CLEANFILES = $(appman_DATA) -SUFFIXES = .$(APP_MAN_SUFFIX) .man all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-am + $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: -.SUFFIXES: .$(APP_MAN_SUFFIX) .man .c .o .obj +.SUFFIXES: .c .o .obj am--refresh: @: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @@ -387,23 +387,6 @@ distclean-compile: @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` uninstall-info-am: -install-appmanDATA: $(appman_DATA) - @$(NORMAL_INSTALL) - test -z "$(appmandir)" || $(mkdir_p) "$(DESTDIR)$(appmandir)" - @list='$(appman_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(appmanDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(appmandir)/$$f'"; \ - $(appmanDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(appmandir)/$$f"; \ - done - -uninstall-appmanDATA: - @$(NORMAL_UNINSTALL) - @list='$(appman_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(appmandir)/$$f'"; \ - rm -f "$(DESTDIR)$(appmandir)/$$f"; \ - done install-dist_appdefaultDATA: $(dist_appdefault_DATA) @$(NORMAL_INSTALL) test -z "$(appdefaultdir)" || $(mkdir_p) "$(DESTDIR)$(appdefaultdir)" @@ -439,6 +422,77 @@ uninstall-dist_helpDATA: rm -f "$(DESTDIR)$(helpdir)/$$f"; \ done +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -449,10 +503,23 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) mkid -fID $$unique tags: TAGS -TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ +TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ @@ -465,7 +532,7 @@ TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $$tags $$unique; \ fi ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ @@ -517,6 +584,21 @@ distdir: $(DISTFILES) || exit 1; \ fi; \ done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(mkdir_p) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook @@ -618,21 +700,22 @@ distcleancheck: distclean $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am -check: check-am +check: check-recursive all-am: Makefile $(PROGRAMS) $(DATA) config.h -installdirs: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appmandir)" "$(DESTDIR)$(appdefaultdir)" "$(DESTDIR)$(helpdir)"; do \ +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appdefaultdir)" "$(DESTDIR)$(helpdir)"; do \ test -z "$$dir" || $(mkdir_p) "$$dir"; \ done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -installcheck: installcheck-am +installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ @@ -641,7 +724,6 @@ install-strip: mostlyclean-generic: clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) @@ -650,82 +732,80 @@ maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -clean: clean-am +clean: clean-recursive clean-am: clean-binPROGRAMS clean-generic mostlyclean-am -distclean: distclean-am +distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-tags -dvi: dvi-am +dvi: dvi-recursive dvi-am: -html: html-am +html: html-recursive -info: info-am +info: info-recursive info-am: -install-data-am: install-appmanDATA install-dist_appdefaultDATA \ - install-dist_helpDATA +install-data-am: install-dist_appdefaultDATA install-dist_helpDATA install-exec-am: install-binPROGRAMS -install-info: install-info-am +install-info: install-info-recursive install-man: installcheck-am: -maintainer-clean: maintainer-clean-am +maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic -mostlyclean: mostlyclean-am +mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic -pdf: pdf-am +pdf: pdf-recursive pdf-am: -ps: ps-am +ps: ps-recursive ps-am: -uninstall-am: uninstall-appmanDATA uninstall-binPROGRAMS \ - uninstall-dist_appdefaultDATA uninstall-dist_helpDATA \ - uninstall-info-am - -.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ - clean-binPROGRAMS clean-generic ctags dist dist-all dist-bzip2 \ - dist-gzip dist-hook dist-shar dist-tarZ dist-zip distcheck \ - distclean distclean-compile distclean-generic distclean-hdr \ - distclean-tags distcleancheck distdir distuninstallcheck dvi \ - dvi-am html html-am info info-am install install-am \ - install-appmanDATA install-binPROGRAMS install-data \ +uninstall-am: uninstall-binPROGRAMS uninstall-dist_appdefaultDATA \ + uninstall-dist_helpDATA uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-binPROGRAMS clean-generic clean-recursive \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-hook dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-compile distclean-generic distclean-hdr \ + distclean-recursive distclean-tags distcleancheck distdir \ + distuninstallcheck dvi dvi-am html html-am info info-am \ + install install-am install-binPROGRAMS install-data \ install-data-am install-dist_appdefaultDATA \ install-dist_helpDATA install-exec install-exec-am \ install-info install-info-am install-man install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ - uninstall-am uninstall-appmanDATA uninstall-binPROGRAMS \ - uninstall-dist_appdefaultDATA uninstall-dist_helpDATA \ - uninstall-info-am - + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic \ + maintainer-clean-recursive mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am \ + uninstall-binPROGRAMS uninstall-dist_appdefaultDATA \ + uninstall-dist_helpDATA uninstall-info-am -# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure -.man.$(APP_MAN_SUFFIX): - $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ .PHONY: ChangeLog INSTALL diff --git a/app/xman/ScrollByL.c b/app/xman/ScrollByL.c index 911f49456..26d196fe0 100644 --- a/app/xman/ScrollByL.c +++ b/app/xman/ScrollByL.c @@ -40,7 +40,6 @@ from the X Consortium. #include <X11/StringDefs.h> #include <X11/Xaw/Scrollbar.h> -#include <X11/Xmu/Misc.h> #include "ScrollByLP.h" @@ -401,7 +400,8 @@ Boolean force_redisp) } else { max_lines = sblw->scroll.lines - (int)w->core.height / sblw->scroll.font_height; - AssignMax(max_lines, 0); + if (max_lines < 0) + max_lines = 0; if ( new_line > max_lines ) { new_line = max_lines; diff --git a/app/xman/aclocal.m4 b/app/xman/aclocal.m4 index 3f71a4321..cdf4062b0 100644 --- a/app/xman/aclocal.m4 +++ b/app/xman/aclocal.m4 @@ -498,18 +498,6 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 8 - -# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. -AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) - # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 @@ -1034,7 +1022,7 @@ dnl DEALINGS IN THE SOFTWARE. # See the "minimum version" comment for each macro you use to see what # version you require. m4_defun([XORG_MACROS_VERSION],[ -m4_define([vers_have], [1.11.0]) +m4_define([vers_have], [1.15.0]) m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.]))) m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.]))) m4_if(m4_cmp(maj_have, maj_needed), 0,, @@ -1061,7 +1049,7 @@ AC_PATH_PROGS(RAWCPP, [cpp], [${CPP}], # which is not the best choice for supporting other OS'es, but covers most # of the ones we need for now. AC_MSG_CHECKING([if $RAWCPP requires -undef]) -AC_LANG_CONFTEST([Does cpp redefine unix ?]) +AC_LANG_CONFTEST([AC_LANG_SOURCE([[Does cpp redefine unix ?]])]) if test `${RAWCPP} < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then AC_MSG_RESULT([no]) else @@ -1079,7 +1067,7 @@ fi rm -f conftest.$ac_ext AC_MSG_CHECKING([if $RAWCPP requires -traditional]) -AC_LANG_CONFTEST([Does cpp preserve "whitespace"?]) +AC_LANG_CONFTEST([AC_LANG_SOURCE([[Does cpp preserve "whitespace"?]])]) if test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then AC_MSG_RESULT([no]) else @@ -1429,6 +1417,123 @@ AM_CONDITIONAL([HAVE_XMLTO_TEXT], [test $have_xmlto_text = yes]) AM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes]) ]) # XORG_WITH_XMLTO +# XORG_WITH_XSLTPROC([MIN-VERSION], [DEFAULT]) +# -------------------------------------------- +# Minimum version: 1.12.0 +# Minimum version for optional DEFAULT argument: 1.12.0 +# +# XSLT (Extensible Stylesheet Language Transformations) is a declarative, +# XML-based language used for the transformation of XML documents. +# The xsltproc command line tool is for applying XSLT stylesheets to XML documents. +# It is used under the cover by xmlto to generate html files from DocBook/XML. +# The XSLT processor is often used as a standalone tool for transformations. +# It should not be assumed that this tool is used only to work with documnetation. +# When DEFAULT is not specified, --with-xsltproc assumes 'auto'. +# +# Interface to module: +# HAVE_XSLTPROC: used in makefiles to conditionally generate documentation +# XSLTPROC: returns the path of the xsltproc program found +# returns the path set by the user in the environment +# --with-xsltproc: 'yes' user instructs the module to use xsltproc +# 'no' user instructs the module not to use xsltproc +# have_xsltproc: returns yes if xsltproc found in PATH or no +# +# If the user sets the value of XSLTPROC, AC_PATH_PROG skips testing the path. +# +AC_DEFUN([XORG_WITH_XSLTPROC],[ +AC_ARG_VAR([XSLTPROC], [Path to xsltproc command]) +# Preserves the interface, should it be implemented later +m4_ifval([$1], [m4_warn([syntax], [Checking for xsltproc MIN-VERSION is not implemented])]) +m4_define([_defopt], m4_default([$2], [auto])) +AC_ARG_WITH(xsltproc, + AS_HELP_STRING([--with-xsltproc], + [Use xsltproc for the transformation of XML documents (default: ]_defopt[)]), + [use_xsltproc=$withval], [use_xsltproc=]_defopt) +m4_undefine([_defopt]) + +if test "x$use_xsltproc" = x"auto"; then + AC_PATH_PROG([XSLTPROC], [xsltproc]) + if test "x$XSLTPROC" = "x"; then + AC_MSG_WARN([xsltproc not found - cannot transform XML documents]) + have_xsltproc=no + else + have_xsltproc=yes + fi +elif test "x$use_xsltproc" = x"yes" ; then + AC_PATH_PROG([XSLTPROC], [xsltproc]) + if test "x$XSLTPROC" = "x"; then + AC_MSG_ERROR([--with-xsltproc=yes specified but xsltproc not found in PATH]) + fi + have_xsltproc=yes +elif test "x$use_xsltproc" = x"no" ; then + if test "x$XSLTPROC" != "x"; then + AC_MSG_WARN([ignoring XSLTPROC environment variable since --with-xsltproc=no was specified]) + fi + have_xsltproc=no +else + AC_MSG_ERROR([--with-xsltproc expects 'yes' or 'no']) +fi + +AM_CONDITIONAL([HAVE_XSLTPROC], [test "$have_xsltproc" = yes]) +]) # XORG_WITH_XSLTPROC + +# XORG_WITH_PERL([MIN-VERSION], [DEFAULT]) +# ---------------------------------------- +# Minimum version: 1.15.0 +# +# PERL (Practical Extraction and Report Language) is a language optimized for +# scanning arbitrary text files, extracting information from those text files, +# and printing reports based on that information. +# +# When DEFAULT is not specified, --with-perl assumes 'auto'. +# +# Interface to module: +# HAVE_PERL: used in makefiles to conditionally scan text files +# PERL: returns the path of the perl program found +# returns the path set by the user in the environment +# --with-perl: 'yes' user instructs the module to use perl +# 'no' user instructs the module not to use perl +# have_perl: returns yes if perl found in PATH or no +# +# If the user sets the value of PERL, AC_PATH_PROG skips testing the path. +# +AC_DEFUN([XORG_WITH_PERL],[ +AC_ARG_VAR([PERL], [Path to perl command]) +# Preserves the interface, should it be implemented later +m4_ifval([$1], [m4_warn([syntax], [Checking for perl MIN-VERSION is not implemented])]) +m4_define([_defopt], m4_default([$2], [auto])) +AC_ARG_WITH(perl, + AS_HELP_STRING([--with-perl], + [Use perl for extracting information from files (default: ]_defopt[)]), + [use_perl=$withval], [use_perl=]_defopt) +m4_undefine([_defopt]) + +if test "x$use_perl" = x"auto"; then + AC_PATH_PROG([PERL], [perl]) + if test "x$PERL" = "x"; then + AC_MSG_WARN([perl not found - cannot extract information and report]) + have_perl=no + else + have_perl=yes + fi +elif test "x$use_perl" = x"yes" ; then + AC_PATH_PROG([PERL], [perl]) + if test "x$PERL" = "x"; then + AC_MSG_ERROR([--with-perl=yes specified but perl not found in PATH]) + fi + have_perl=yes +elif test "x$use_perl" = x"no" ; then + if test "x$PERL" != "x"; then + AC_MSG_WARN([ignoring PERL environment variable since --with-perl=no was specified]) + fi + have_perl=no +else + AC_MSG_ERROR([--with-perl expects 'yes' or 'no']) +fi + +AM_CONDITIONAL([HAVE_PERL], [test "$have_perl" = yes]) +]) # XORG_WITH_PERL + # XORG_WITH_ASCIIDOC([MIN-VERSION], [DEFAULT]) # ---------------- # Minimum version: 1.5.0 @@ -1674,10 +1779,11 @@ AM_CONDITIONAL([HAVE_GROFF_MM], [test "$groff_mm_works" = yes]) AM_CONDITIONAL([HAVE_GROFF_HTML], [test "$have_groff_html" = yes]) ]) # XORG_WITH_GROFF -# XORG_WITH_FOP([DEFAULT]) -# ---------------- +# XORG_WITH_FOP([MIN-VERSION], [DEFAULT]) +# --------------------------------------- # Minimum version: 1.6.0 # Minimum version for optional DEFAULT argument: 1.11.0 +# Minimum version for optional MIN-VERSION argument: 1.15.0 # # Documentation tools are not always available on all platforms and sometimes # not at the appropriate level. This macro enables a module to test for the @@ -1697,7 +1803,7 @@ AM_CONDITIONAL([HAVE_GROFF_HTML], [test "$have_groff_html" = yes]) # AC_DEFUN([XORG_WITH_FOP],[ AC_ARG_VAR([FOP], [Path to fop command]) -m4_define([_defopt], m4_default([$1], [auto])) +m4_define([_defopt], m4_default([$2], [auto])) AC_ARG_WITH(fop, AS_HELP_STRING([--with-fop], [Use fop to regenerate documentation (default: ]_defopt[)]), @@ -1726,6 +1832,22 @@ elif test "x$use_fop" = x"no" ; then else AC_MSG_ERROR([--with-fop expects 'yes' or 'no']) fi + +# Test for a minimum version of fop, if provided. +m4_ifval([$1], +[if test "$have_fop" = yes; then + # scrape the fop version + AC_MSG_CHECKING([for fop minimum version]) + fop_version=`$FOP -version 2>/dev/null | cut -d' ' -f3` + AC_MSG_RESULT([$fop_version]) + AS_VERSION_COMPARE([$fop_version], [$1], + [if test "x$use_fop" = xauto; then + AC_MSG_WARN([fop version $fop_version found, but $1 needed]) + have_fop=no + else + AC_MSG_ERROR([fop version $fop_version found, but $1 needed]) + fi]) +fi]) AM_CONDITIONAL([HAVE_FOP], [test "$have_fop" = yes]) ]) # XORG_WITH_FOP @@ -1808,12 +1930,12 @@ AM_CONDITIONAL([HAVE_PS2PDF], [test "$have_ps2pdf" = yes]) # parm1: specify the default value, yes or no. # AC_DEFUN([XORG_ENABLE_DOCS],[ -m4_define([default], m4_default([$1], [yes])) +m4_define([docs_default], m4_default([$1], [yes])) AC_ARG_ENABLE(docs, AS_HELP_STRING([--enable-docs], - [Enable building the documentation (default: ]default[)]), - [build_docs=$enableval], [build_docs=]default) -m4_undefine([default]) + [Enable building the documentation (default: ]docs_default[)]), + [build_docs=$enableval], [build_docs=]docs_default) +m4_undefine([docs_default]) AM_CONDITIONAL(ENABLE_DOCS, [test x$build_docs = xyes]) AC_MSG_CHECKING([whether to build documentation]) AC_MSG_RESULT([$build_docs]) @@ -1885,6 +2007,194 @@ AC_MSG_CHECKING([whether to build functional specifications]) AC_MSG_RESULT([$build_specs]) ]) # XORG_ENABLE_SPECS +# XORG_ENABLE_UNIT_TESTS (enable_unit_tests=auto) +# ---------------------------------------------- +# Minimum version: 1.13.0 +# +# This macro enables a builder to enable/disable unit testing +# It makes no assumption about the test cases implementation +# Test cases may or may not use Automake "Support for test suites" +# They may or may not use the software utility library GLib +# +# When used in conjunction with XORG_WITH_GLIB, use both AM_CONDITIONAL +# ENABLE_UNIT_TESTS and HAVE_GLIB. Not all unit tests may use glib. +# The variable enable_unit_tests is used by other macros in this file. +# +# Interface to module: +# ENABLE_UNIT_TESTS: used in makefiles to conditionally build tests +# enable_unit_tests: used in configure.ac for additional configuration +# --enable-unit-tests: 'yes' user instructs the module to build tests +# 'no' user instructs the module not to build tests +# parm1: specify the default value, yes or no. +# +AC_DEFUN([XORG_ENABLE_UNIT_TESTS],[ +AC_BEFORE([$0], [XORG_WITH_GLIB]) +AC_BEFORE([$0], [XORG_LD_WRAP]) +m4_define([_defopt], m4_default([$1], [auto])) +AC_ARG_ENABLE(unit-tests, AS_HELP_STRING([--enable-unit-tests], + [Enable building unit test cases (default: ]_defopt[)]), + [enable_unit_tests=$enableval], [enable_unit_tests=]_defopt) +m4_undefine([_defopt]) +AM_CONDITIONAL(ENABLE_UNIT_TESTS, [test "x$enable_unit_tests" != xno]) +AC_MSG_CHECKING([whether to build unit test cases]) +AC_MSG_RESULT([$enable_unit_tests]) +]) # XORG_ENABLE_UNIT_TESTS + +# XORG_WITH_GLIB([MIN-VERSION], [DEFAULT]) +# ---------------------------------------- +# Minimum version: 1.13.0 +# +# GLib is a library which provides advanced data structures and functions. +# This macro enables a module to test for the presence of Glib. +# +# When used with ENABLE_UNIT_TESTS, it is assumed GLib is used for unit testing. +# Otherwise the value of $enable_unit_tests is blank. +# +# Interface to module: +# HAVE_GLIB: used in makefiles to conditionally build targets +# with_glib: used in configure.ac to know if GLib has been found +# --with-glib: 'yes' user instructs the module to use glib +# 'no' user instructs the module not to use glib +# +AC_DEFUN([XORG_WITH_GLIB],[ +AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +m4_define([_defopt], m4_default([$2], [auto])) +AC_ARG_WITH(glib, AS_HELP_STRING([--with-glib], + [Use GLib library for unit testing (default: ]_defopt[)]), + [with_glib=$withval], [with_glib=]_defopt) +m4_undefine([_defopt]) + +have_glib=no +# Do not probe GLib if user explicitly disabled unit testing +if test "x$enable_unit_tests" != x"no"; then + # Do not probe GLib if user explicitly disabled it + if test "x$with_glib" != x"no"; then + m4_ifval( + [$1], + [PKG_CHECK_MODULES([GLIB], [glib-2.0 >= $1], [have_glib=yes], [have_glib=no])], + [PKG_CHECK_MODULES([GLIB], [glib-2.0], [have_glib=yes], [have_glib=no])] + ) + fi +fi + +# Not having GLib when unit testing has been explicitly requested is an error +if test "x$enable_unit_tests" = x"yes"; then + if test "x$have_glib" = x"no"; then + AC_MSG_ERROR([--enable-unit-tests=yes specified but glib-2.0 not found]) + fi +fi + +# Having unit testing disabled when GLib has been explicitly requested is an error +if test "x$enable_unit_tests" = x"no"; then + if test "x$with_glib" = x"yes"; then + AC_MSG_ERROR([--enable-unit-tests=yes specified but glib-2.0 not found]) + fi +fi + +# Not having GLib when it has been explicitly requested is an error +if test "x$with_glib" = x"yes"; then + if test "x$have_glib" = x"no"; then + AC_MSG_ERROR([--with-glib=yes specified but glib-2.0 not found]) + fi +fi + +AM_CONDITIONAL([HAVE_GLIB], [test "$have_glib" = yes]) +]) # XORG_WITH_GLIB + +# XORG_LD_WRAP +# ------------ +# Minimum version: 1.13.0 +# +# Check if linker supports -wrap, passed via compiler flags +# +# When used with ENABLE_UNIT_TESTS, it is assumed -wrap is used for unit testing. +# Otherwise the value of $enable_unit_tests is blank. +# +AC_DEFUN([XORG_LD_WRAP],[ +XORG_CHECK_LINKER_FLAGS([-Wl,-wrap,exit],[have_ld_wrap=yes],[have_ld_wrap=no]) +# Not having ld wrap when unit testing has been explicitly requested is an error +if test "x$enable_unit_tests" = x"yes"; then + if test "x$have_ld_wrap" = x"no"; then + AC_MSG_ERROR([--enable-unit-tests=yes specified but ld -wrap support is not available]) + fi +fi +AM_CONDITIONAL([HAVE_LD_WRAP], [test "$have_ld_wrap" = yes]) +# +]) # XORG_LD_WRAP + +# XORG_CHECK_LINKER_FLAGS +# ----------------------- +# SYNOPSIS +# +# XORG_CHECK_LINKER_FLAGS(FLAGS, [ACTION-SUCCESS], [ACTION-FAILURE]) +# +# DESCRIPTION +# +# Check whether the given linker FLAGS work with the current language's +# linker, or whether they give an error. +# +# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on +# success/failure. +# +# NOTE: Based on AX_CHECK_COMPILER_FLAGS. +# +# LICENSE +# +# Copyright (c) 2009 Mike Frysinger <vapier@gentoo.org> +# Copyright (c) 2009 Steven G. Johnson <stevenj@alum.mit.edu> +# Copyright (c) 2009 Matteo Frigo +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see <http://www.gnu.org/licenses/>. +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well.# +AC_DEFUN([XORG_CHECK_LINKER_FLAGS], +[AC_MSG_CHECKING([whether the linker accepts $1]) +dnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname: +AS_LITERAL_IF([$1], + [AC_CACHE_VAL(AS_TR_SH(xorg_cv_linker_flags_[$1]), [ + ax_save_FLAGS=$LDFLAGS + LDFLAGS="$1" + AC_LINK_IFELSE([AC_LANG_PROGRAM()], + AS_TR_SH(xorg_cv_linker_flags_[$1])=yes, + AS_TR_SH(xorg_cv_linker_flags_[$1])=no) + LDFLAGS=$ax_save_FLAGS])], + [ax_save_FLAGS=$LDFLAGS + LDFLAGS="$1" + AC_LINK_IFELSE([AC_LANG_PROGRAM()], + eval AS_TR_SH(xorg_cv_linker_flags_[$1])=yes, + eval AS_TR_SH(xorg_cv_linker_flags_[$1])=no) + LDFLAGS=$ax_save_FLAGS]) +eval xorg_check_linker_flags=$AS_TR_SH(xorg_cv_linker_flags_[$1]) +AC_MSG_RESULT($xorg_check_linker_flags) +if test "x$xorg_check_linker_flags" = xyes; then + m4_default([$2], :) +else + m4_default([$3], :) +fi +]) # XORG_CHECK_LINKER_FLAGS + # XORG_CHECK_MALLOC_ZERO # ---------------------- # Minimum version: 1.0.0 @@ -1901,18 +2211,16 @@ AC_ARG_ENABLE(malloc0returnsnull, AC_MSG_CHECKING([whether malloc(0) returns NULL]) if test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then - AC_RUN_IFELSE([ -char *malloc(); -char *realloc(); -char *calloc(); -main() { + AC_RUN_IFELSE([AC_LANG_PROGRAM([ +#include <stdlib.h> +],[ char *m0, *r0, *c0, *p; m0 = malloc(0); p = malloc(10); r0 = realloc(p,0); - c0 = calloc(0); - exit(m0 == 0 || r0 == 0 || c0 == 0 ? 0 : 1); -}], + c0 = calloc(0,10); + exit((m0 == 0 || r0 == 0 || c0 == 0) ? 0 : 1); +])], [MALLOC_ZERO_RETURNS_NULL=yes], [MALLOC_ZERO_RETURNS_NULL=no], [MALLOC_ZERO_RETURNS_NULL=yes]) @@ -2038,6 +2346,23 @@ AM_CONDITIONAL(MAKE_LINT_LIB, [test x$make_lint_lib != xno]) ]) # XORG_LINT_LIBRARY +# XORG_COMPILER_BRAND +# ------------------- +# Minimum version: 1.14.0 +# +# Checks for various brands of compilers and sets flags as appropriate: +# GNU gcc - relies on AC_PROG_CC (via AC_PROG_CC_C99) to set GCC to "yes" +# clang compiler - sets CLANGCC to "yes" +# Intel compiler - sets INTELCC to "yes" +# Sun/Oracle Solaris Studio cc - sets SUNCC to "yes" +# +AC_DEFUN([XORG_COMPILER_BRAND], [ +AC_REQUIRE([AC_PROG_CC_C99]) +AC_CHECK_DECL([__clang__], [CLANGCC="yes"], [CLANGCC="no"]) +AC_CHECK_DECL([__INTEL_COMPILER], [INTELCC="yes"], [INTELCC="no"]) +AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"]) +]) # XORG_COMPILER_BRAND + # XORG_CWARNFLAGS # --------------- # Minimum version: 1.2.0 @@ -2046,6 +2371,7 @@ AM_CONDITIONAL(MAKE_LINT_LIB, [test x$make_lint_lib != xno]) # AC_DEFUN([XORG_CWARNFLAGS], [ AC_REQUIRE([AC_PROG_CC_C99]) +AC_REQUIRE([XORG_COMPILER_BRAND]) if test "x$GCC" = xyes ; then CWARNFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \ -Wmissing-declarations -Wnested-externs -fno-strict-aliasing \ @@ -2056,7 +2382,6 @@ if test "x$GCC" = xyes ; then ;; esac else - AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"]) if test "x$SUNCC" = "xyes"; then CWARNFLAGS="-v" fi @@ -2068,28 +2393,43 @@ AC_SUBST(CWARNFLAGS) # ----------------------- # Minimum version: 1.3.0 # -# Add configure option to enable strict compilation +# Add configure option to enable strict compilation flags, such as treating +# warnings as fatal errors. +# If --enable-strict-compilation is passed to configure, adds strict flags to +# $CWARNFLAGS. +# +# Starting in 1.14.0 also exports $STRICT_CFLAGS for use in other tests or +# when strict compilation is unconditionally desired. AC_DEFUN([XORG_STRICT_OPTION], [ # If the module's configure.ac calls AC_PROG_CC later on, CC gets set to C89 AC_REQUIRE([AC_PROG_CC_C99]) +AC_REQUIRE([XORG_COMPILER_BRAND]) AC_REQUIRE([XORG_CWARNFLAGS]) AC_ARG_ENABLE(strict-compilation, AS_HELP_STRING([--enable-strict-compilation], [Enable all warnings from compiler and make them errors (default: disabled)]), [STRICT_COMPILE=$enableval], [STRICT_COMPILE=no]) +if test "x$GCC" = xyes ; then + STRICT_CFLAGS="-pedantic -Werror" + # Add -Werror=attributes if supported (gcc 4.2 & later) + AC_MSG_CHECKING([if $CC supports -Werror=attributes]) + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $STRICT_CFLAGS -Werror=attributes" + AC_COMPILE_IFELSE([AC_LANG_SOURCE([return 0;])], + [STRICT_CFLAGS="$STRICT_CFLAGS -Werror=attributes" + AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no])]) + CFLAGS="$save_CFLAGS" +elif test "x$SUNCC" = "xyes"; then + STRICT_CFLAGS="-errwarn" +elif test "x$INTELCC" = "xyes"; then + STRICT_CFLAGS="-Werror" +fi if test "x$STRICT_COMPILE" = "xyes"; then - AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"]) - AC_CHECK_DECL([__INTEL_COMPILER], [INTELCC="yes"], [INTELCC="no"]) - if test "x$GCC" = xyes ; then - STRICT_CFLAGS="-pedantic -Werror" - elif test "x$SUNCC" = "xyes"; then - STRICT_CFLAGS="-errwarn" - elif test "x$INTELCC" = "xyes"; then - STRICT_CFLAGS="-Werror" - fi + CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS" fi -CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS" +AC_SUBST([STRICT_CFLAGS]) AC_SUBST([CWARNFLAGS]) ]) # XORG_STRICT_OPTION diff --git a/app/xman/buttons.c b/app/xman/buttons.c index ee251d34d..9233346ef 100644 --- a/app/xman/buttons.c +++ b/app/xman/buttons.c @@ -522,7 +522,7 @@ CreateSectionMenu(ManpageGlobals * man_globals, Widget parent) for (i = 0 ; i < sections ; i ++) { num_args = 0; XtSetArg(args[num_args], XtNlabel, manual[i].blabel); num_args++; - sprintf(entry_name, "section%d", i); + snprintf(entry_name, sizeof(entry_name), "section%d", i); entry = XtCreateManagedWidget(entry_name, smeBSBObjectClass, menu, args, num_args); @@ -579,7 +579,7 @@ MakeDirectoryBox(ManpageGlobals *man_globals, Widget parent, Widget *dir_disp, i return; name = manual[section].blabel; /* Set the section name */ - sprintf(label_name,"Directory of: %s",name); + snprintf(label_name, sizeof(label_name), "Directory of: %s", name); man_globals->section_name[section] = StrAlloc(label_name); num_args = 0; @@ -745,7 +745,8 @@ ConvertNamesToWidgets(Widget parent, char ** names) if (*temp_ids == NULL) { char error_buf[BUFSIZ]; - sprintf(error_buf, "Could not find widget named '%s'", *names); + snprintf(error_buf, sizeof(error_buf), + "Could not find widget named '%s'", *names); PrintError(error_buf); XtFree((char *)ids); return(NULL); diff --git a/app/xman/configure b/app/xman/configure index 4e8103f4d..f82d0e4c5 100644 --- a/app/xman/configure +++ b/app/xman/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.62 for xman 1.1.1. +# Generated by GNU Autoconf 2.62 for xman 1.1.2. # # Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>. # @@ -596,8 +596,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='xman' PACKAGE_TARNAME='xman' -PACKAGE_VERSION='1.1.1' -PACKAGE_STRING='xman 1.1.1' +PACKAGE_VERSION='1.1.2' +PACKAGE_STRING='xman 1.1.2' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg' # Factoring default headers for most tests. @@ -717,6 +717,7 @@ CPP GREP EGREP CWARNFLAGS +STRICT_CFLAGS CHANGELOG_CMD PKG_CONFIG INSTALL_CMD @@ -1330,7 +1331,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures xman 1.1.1 to adapt to many kinds of systems. +\`configure' configures xman 1.1.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1400,7 +1401,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of xman 1.1.1:";; + short | recursive ) echo "Configuration of xman 1.1.2:";; esac cat <<\_ACEOF @@ -1514,7 +1515,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -xman configure 1.1.1 +xman configure 1.1.2 generated by GNU Autoconf 2.62 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1528,7 +1529,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by xman $as_me 1.1.1, which was +It was created by xman $as_me 1.1.2, which was generated by GNU Autoconf 2.62. Invocation command line was $ $0 $@ @@ -2177,7 +2178,7 @@ fi # Define the identity of the package. PACKAGE='xman' - VERSION='1.1.1' + VERSION='1.1.2' cat >>confdefs.h <<_ACEOF @@ -4289,6 +4290,186 @@ done +{ $as_echo "$as_me:$LINENO: checking whether __clang__ is declared" >&5 +$as_echo_n "checking whether __clang__ is declared... " >&6; } +if test "${ac_cv_have_decl___clang__+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef __clang__ + (void) __clang__; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl___clang__=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_have_decl___clang__=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl___clang__" >&5 +$as_echo "$ac_cv_have_decl___clang__" >&6; } +if test $ac_cv_have_decl___clang__ = yes; then + CLANGCC="yes" +else + CLANGCC="no" +fi + +{ $as_echo "$as_me:$LINENO: checking whether __INTEL_COMPILER is declared" >&5 +$as_echo_n "checking whether __INTEL_COMPILER is declared... " >&6; } +if test "${ac_cv_have_decl___INTEL_COMPILER+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef __INTEL_COMPILER + (void) __INTEL_COMPILER; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl___INTEL_COMPILER=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_have_decl___INTEL_COMPILER=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl___INTEL_COMPILER" >&5 +$as_echo "$ac_cv_have_decl___INTEL_COMPILER" >&6; } +if test $ac_cv_have_decl___INTEL_COMPILER = yes; then + INTELCC="yes" +else + INTELCC="no" +fi + +{ $as_echo "$as_me:$LINENO: checking whether __SUNPRO_C is declared" >&5 +$as_echo_n "checking whether __SUNPRO_C is declared... " >&6; } +if test "${ac_cv_have_decl___SUNPRO_C+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef __SUNPRO_C + (void) __SUNPRO_C; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_have_decl___SUNPRO_C=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_have_decl___SUNPRO_C=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl___SUNPRO_C" >&5 +$as_echo "$ac_cv_have_decl___SUNPRO_C" >&6; } +if test $ac_cv_have_decl___SUNPRO_C = yes; then + SUNCC="yes" +else + SUNCC="no" +fi + + + + if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. @@ -4565,6 +4746,7 @@ $as_echo "$ac_cv_path_SED" >&6; } + if test "x$GCC" = xyes ; then CWARNFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \ -Wmissing-declarations -Wnested-externs -fno-strict-aliasing \ @@ -4575,65 +4757,6 @@ if test "x$GCC" = xyes ; then ;; esac else - { $as_echo "$as_me:$LINENO: checking whether __SUNPRO_C is declared" >&5 -$as_echo_n "checking whether __SUNPRO_C is declared... " >&6; } -if test "${ac_cv_have_decl___SUNPRO_C+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef __SUNPRO_C - (void) __SUNPRO_C; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl___SUNPRO_C=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl___SUNPRO_C=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl___SUNPRO_C" >&5 -$as_echo "$ac_cv_have_decl___SUNPRO_C" >&6; } -if test $ac_cv_have_decl___SUNPRO_C = yes; then - SUNCC="yes" -else - SUNCC="no" -fi - if test "x$SUNCC" = "xyes"; then CWARNFLAGS="-v" fi @@ -4645,6 +4768,7 @@ fi + # Check whether --enable-strict-compilation was given. if test "${enable_strict_compilation+set}" = set; then enableval=$enable_strict_compilation; STRICT_COMPILE=$enableval @@ -4652,88 +4776,20 @@ else STRICT_COMPILE=no fi -if test "x$STRICT_COMPILE" = "xyes"; then - { $as_echo "$as_me:$LINENO: checking whether __SUNPRO_C is declared" >&5 -$as_echo_n "checking whether __SUNPRO_C is declared... " >&6; } -if test "${ac_cv_have_decl___SUNPRO_C+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF +if test "x$GCC" = xyes ; then + STRICT_CFLAGS="-pedantic -Werror" + # Add -Werror=attributes if supported (gcc 4.2 & later) + { $as_echo "$as_me:$LINENO: checking if $CC supports -Werror=attributes" >&5 +$as_echo_n "checking if $CC supports -Werror=attributes... " >&6; } + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $STRICT_CFLAGS -Werror=attributes" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef __SUNPRO_C - (void) __SUNPRO_C; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl___SUNPRO_C=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl___SUNPRO_C=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl___SUNPRO_C" >&5 -$as_echo "$ac_cv_have_decl___SUNPRO_C" >&6; } -if test $ac_cv_have_decl___SUNPRO_C = yes; then - SUNCC="yes" -else - SUNCC="no" -fi - - { $as_echo "$as_me:$LINENO: checking whether __INTEL_COMPILER is declared" >&5 -$as_echo_n "checking whether __INTEL_COMPILER is declared... " >&6; } -if test "${ac_cv_have_decl___INTEL_COMPILER+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef __INTEL_COMPILER - (void) __INTEL_COMPILER; -#endif - - ; - return 0; -} +return 0; _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" @@ -4753,33 +4809,28 @@ $as_echo "$ac_try_echo") >&5 test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then - ac_cv_have_decl___INTEL_COMPILER=yes + STRICT_CFLAGS="$STRICT_CFLAGS -Werror=attributes" + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_have_decl___INTEL_COMPILER=no + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$save_CFLAGS" +elif test "x$SUNCC" = "xyes"; then + STRICT_CFLAGS="-errwarn" +elif test "x$INTELCC" = "xyes"; then + STRICT_CFLAGS="-Werror" fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl___INTEL_COMPILER" >&5 -$as_echo "$ac_cv_have_decl___INTEL_COMPILER" >&6; } -if test $ac_cv_have_decl___INTEL_COMPILER = yes; then - INTELCC="yes" -else - INTELCC="no" +if test "x$STRICT_COMPILE" = "xyes"; then + CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS" fi - if test "x$GCC" = xyes ; then - STRICT_CFLAGS="-pedantic -Werror" - elif test "x$SUNCC" = "xyes"; then - STRICT_CFLAGS="-errwarn" - elif test "x$INTELCC" = "xyes"; then - STRICT_CFLAGS="-Werror" - fi -fi -CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS" @@ -5101,12 +5152,12 @@ if test -n "$PKG_CONFIG"; then pkg_cv_XMAN_CFLAGS="$XMAN_CFLAGS" else if test -n "$PKG_CONFIG" && \ - { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xproto xaw7 xmu xt\"") >&5 - ($PKG_CONFIG --exists --print-errors "xproto xaw7 xmu xt") 2>&5 + { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xproto xaw7 xt\"") >&5 + ($PKG_CONFIG --exists --print-errors "xproto xaw7 xt") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then - pkg_cv_XMAN_CFLAGS=`$PKG_CONFIG --cflags "xproto xaw7 xmu xt" 2>/dev/null` + pkg_cv_XMAN_CFLAGS=`$PKG_CONFIG --cflags "xproto xaw7 xt" 2>/dev/null` else pkg_failed=yes fi @@ -5119,12 +5170,12 @@ if test -n "$PKG_CONFIG"; then pkg_cv_XMAN_LIBS="$XMAN_LIBS" else if test -n "$PKG_CONFIG" && \ - { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xproto xaw7 xmu xt\"") >&5 - ($PKG_CONFIG --exists --print-errors "xproto xaw7 xmu xt") 2>&5 + { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xproto xaw7 xt\"") >&5 + ($PKG_CONFIG --exists --print-errors "xproto xaw7 xt") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then - pkg_cv_XMAN_LIBS=`$PKG_CONFIG --libs "xproto xaw7 xmu xt" 2>/dev/null` + pkg_cv_XMAN_LIBS=`$PKG_CONFIG --libs "xproto xaw7 xt" 2>/dev/null` else pkg_failed=yes fi @@ -5143,14 +5194,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - XMAN_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xproto xaw7 xmu xt"` + XMAN_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xproto xaw7 xt"` else - XMAN_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xproto xaw7 xmu xt"` + XMAN_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xproto xaw7 xt"` fi # Put the nasty error message in config.log where it belongs echo "$XMAN_PKG_ERRORS" >&5 - { { $as_echo "$as_me:$LINENO: error: Package requirements (xproto xaw7 xmu xt) were not met: + { { $as_echo "$as_me:$LINENO: error: Package requirements (xproto xaw7 xt) were not met: $XMAN_PKG_ERRORS @@ -5161,7 +5212,7 @@ Alternatively, you may set the environment variables XMAN_CFLAGS and XMAN_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. " >&5 -$as_echo "$as_me: error: Package requirements (xproto xaw7 xmu xt) were not met: +$as_echo "$as_me: error: Package requirements (xproto xaw7 xt) were not met: $XMAN_PKG_ERRORS @@ -5497,7 +5548,8 @@ cat >>confdefs.h <<_ACEOF _ACEOF fi -ac_config_files="$ac_config_files Makefile" + +ac_config_files="$ac_config_files Makefile man/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -5939,7 +5991,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by xman $as_me 1.1.1, which was +This file was extended by xman $as_me 1.1.2, which was generated by GNU Autoconf 2.62. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -5992,7 +6044,7 @@ Report bugs to <bug-autoconf@gnu.org>." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -xman config.status 1.1.1 +xman config.status 1.1.2 configured by $0, generated by GNU Autoconf 2.62, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" @@ -6117,6 +6169,7 @@ do "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;; *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 $as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} diff --git a/app/xman/configure.ac b/app/xman/configure.ac index ddaac9a10..77bf1f9f2 100644 --- a/app/xman/configure.ac +++ b/app/xman/configure.ac @@ -22,7 +22,7 @@ dnl dnl Process this file with autoconf to create configure. AC_PREREQ([2.60]) -AC_INIT([xman], [1.1.1], +AC_INIT([xman], [1.1.2], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xman]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE @@ -33,7 +33,7 @@ m4_ifndef([XORG_MACROS_VERSION], XORG_MACROS_VERSION(1.8) XORG_DEFAULT_OPTIONS -AM_CONFIG_HEADER(config.h) +AC_CONFIG_HEADERS([config.h]) AC_CANONICAL_HOST @@ -41,14 +41,14 @@ AC_CHECK_FUNC([mkstemp], AC_DEFINE(HAS_MKSTEMP,1,[Define to 1 if you have the "mkstemp" function.])) AC_ARG_WITH(helpdir, - AC_HELP_STRING([--with-helpdir=<path>], + AS_HELP_STRING([--with-helpdir=<path>], [Set default directory for xman.help (default: ${datadir}/X11)]), [HELPDIR="$withval"], [HELPDIR=${datadir}/X11]) AC_SUBST([HELPDIR]) AC_ARG_WITH(sysmanpath, - AC_HELP_STRING([--with-sysmanpath=<path>], + AS_HELP_STRING([--with-sysmanpath=<path>], [Set default system man page search path]), [SYSMANPATH="$withval"], []) if test x$SYSMANPATH != x; then @@ -57,7 +57,7 @@ if test x$SYSMANPATH != x; then fi AC_ARG_WITH(localmanpath, - AC_HELP_STRING([--with-localmanpath=<path>], + AS_HELP_STRING([--with-localmanpath=<path>], [Set default local man page search path]), [LOCALMANPATH="$withval"], []) if test x$LOCALMANPATH != x; then @@ -66,10 +66,10 @@ if test x$LOCALMANPATH != x; then fi # Obtain compiler/linker options from depedencies -PKG_CHECK_MODULES(XMAN, xproto xaw7 xmu xt) +PKG_CHECK_MODULES(XMAN, xproto xaw7 xt) AC_ARG_WITH(manconfig, - AC_HELP_STRING([--with-manconfig=<filename>], + AS_HELP_STRING([--with-manconfig=<filename>], [Set default system man configuration file]), [MANCONF="$withval"], []) if test x$MANCONF = x; then @@ -132,7 +132,7 @@ fi PKG_CHECK_MODULES(APPDEFS, xt) xt_appdefaultdir=`$PKG_CONFIG --variable=appdefaultdir xt` AC_ARG_WITH(appdefaultdir, - AC_HELP_STRING([--with-appdefaultdir=<pathname>], + AS_HELP_STRING([--with-appdefaultdir=<pathname>], [specify directory for app-defaults files (default is autodetected)]), [appdefaultdir="$withval"], [appdefaultdir="${xt_appdefaultdir}"]) AC_SUBST(appdefaultdir) @@ -141,4 +141,8 @@ if test "x$RELEASE_VERSION" != "x"; then AC_DEFINE_UNQUOTED([RELEASE_VERSION], "$RELEASE_VERSION", [Release version string if set]) fi -AC_OUTPUT([Makefile]) + +AC_CONFIG_FILES([ + Makefile + man/Makefile]) +AC_OUTPUT diff --git a/app/xman/handler.c b/app/xman/handler.c index cf2d83a74..4fe291f04 100644 --- a/app/xman/handler.c +++ b/app/xman/handler.c @@ -330,30 +330,30 @@ SaveFormattedPage(Widget w, XEvent * event, String * params, Cardinal * num_para if (!man_globals->compress) #endif - sprintf(cmdbuf, "%s %s %s", COPY, man_globals->tempfile, - man_globals->save_file); + snprintf(cmdbuf, sizeof(cmdbuf), "%s %s %s", COPY, + man_globals->tempfile, man_globals->save_file); #ifndef NO_COMPRESS else if (man_globals->gzip) - sprintf(cmdbuf, "%s < %s > %s", GZIP_COMPRESS, man_globals->tempfile, - man_globals->save_file); + snprintf(cmdbuf, sizeof(cmdbuf), "%s < %s > %s", GZIP_COMPRESS, + man_globals->tempfile, man_globals->save_file); else - sprintf(cmdbuf, "%s < %s > %s", COMPRESS, man_globals->tempfile, - man_globals->save_file); + snprintf(cmdbuf, sizeof(cmdbuf), "%s < %s > %s", COMPRESS, + man_globals->tempfile, man_globals->save_file); #endif if(! system(cmdbuf)) { /* make sure the formatted man page is fully accessible by the world */ if (chmod(man_globals->save_file, CHMOD_MODE) != 0) { - sprintf(error_buf, + snprintf(error_buf, sizeof(error_buf), "Couldn't set permissions on formatted man page '%s'.\n", man_globals->save_file); PopupWarning( man_globals, error_buf); } } else { - sprintf(error_buf, "Error while executing the command '%s'.\n", - cmdbuf); + snprintf(error_buf, sizeof(error_buf), + "Error while executing the command '%s'.\n", cmdbuf); PopupWarning( man_globals, error_buf); } break; @@ -361,9 +361,8 @@ SaveFormattedPage(Widget w, XEvent * event, String * params, Cardinal * num_para case 'c': break; default: - sprintf(error_buf,"%s %s", "Xman - SaveFormattedPagee:", - "Unknown argument must be either 'Save' or 'Cancel'."); - PopupWarning(man_globals, error_buf); + PopupWarning(man_globals, "Xman - SaveFormattedPage: " + "Unknown argument must be either 'Save' or 'Cancel'."); return; } @@ -392,7 +391,6 @@ void GotoPage(Widget w, XEvent * event, String * params, Cardinal * num_params) { ManpageGlobals * man_globals; - char error_buf[BUFSIZ]; Arg arglist[1]; Boolean sensitive; @@ -431,9 +429,9 @@ GotoPage(Widget w, XEvent * event, String * params, Cardinal * num_params) man_globals->dir_shown = TRUE; break; default: - sprintf(error_buf,"%s %s", "Xman - GotoPage: Unknown argument must be", - "either Manpage or Directory."); - XtAppWarning(XtWidgetToApplicationContext(w), error_buf); + XtAppWarning(XtWidgetToApplicationContext(w), + "Xman - GotoPage: Unknown argument must be " + "either Manpage or Directory."); return; } } diff --git a/app/xman/main.c b/app/xman/main.c index c709d5e53..1b6f8e94e 100644 --- a/app/xman/main.c +++ b/app/xman/main.c @@ -285,12 +285,12 @@ AdjustDefResources(void) for (i = 0; i < sizeof(my_resources)/sizeof(XtResource); i++) { if (!strcmp(my_resources[i].resource_name, "helpFile")) { - if (!(my_resources[i].default_addr = - malloc(strlen(xwinhome) + sizeof("/lib/X11/xman.help")))) { + char filename[PATH_MAX]; + snprintf(filename, sizeof(filename), "%s/lib/X11/xman.help", xwinhome); + if (!(my_resources[i].default_addr = strdup(filename))) { fprintf(stderr, "malloc failure\n"); exit(EXIT_FAILURE); } - sprintf(my_resources[i].default_addr, "%s/lib/X11/xman.help", xwinhome); } } } diff --git a/app/xman/man.h b/app/xman/man.h index 73b17bb64..d1d104c26 100644 --- a/app/xman/man.h +++ b/app/xman/man.h @@ -262,7 +262,7 @@ ManpageGlobals * GetGlobals(Widget w); void AddCursor(Widget w, Cursor cursor); void ChangeLabel(Widget w, char * str); void OpenFile(ManpageGlobals * man_globals, FILE * file); -void PopupWarning(ManpageGlobals * man_globals, char * string); +void PopupWarning(ManpageGlobals * man_globals, const char * string); void PositionCenter(Widget widget, int x, int y, int above, int left, int v_space, int h_space); void PrintError(char * string); void RemoveGlobals(Widget w); diff --git a/app/xman/man/Makefile.am b/app/xman/man/Makefile.am new file mode 100644 index 000000000..64f81dfc5 --- /dev/null +++ b/app/xman/man/Makefile.am @@ -0,0 +1,12 @@ + +appmandir = $(APP_MAN_DIR) +appman_PRE = xman.man +appman_DATA = $(appman_PRE:man=$(APP_MAN_SUFFIX)) + +EXTRA_DIST = $(appman_PRE) +CLEANFILES = $(appman_DATA) +SUFFIXES = .$(APP_MAN_SUFFIX) .man + +# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure +.man.$(APP_MAN_SUFFIX): + $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ diff --git a/app/xman/man/Makefile.in b/app/xman/man/Makefile.in new file mode 100644 index 000000000..07bced922 --- /dev/null +++ b/app/xman/man/Makefile.in @@ -0,0 +1,361 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = ${SHELL} $(install_sh) -c -m 644 +install_sh_PROGRAM = ${SHELL} $(install_sh) -c +install_sh_SCRIPT = ${SHELL} $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = man +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(appmandir)" +appmanDATA_INSTALL = $(INSTALL_DATA) +DATA = $(appman_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ +ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +APPDEFS_CFLAGS = @APPDEFS_CFLAGS@ +APPDEFS_LIBS = @APPDEFS_LIBS@ +APP_MAN_DIR = @APP_MAN_DIR@ +APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CHANGELOG_CMD = @CHANGELOG_CMD@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CWARNFLAGS = @CWARNFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ +DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FILE_MAN_DIR = @FILE_MAN_DIR@ +FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ +GREP = @GREP@ +HELPDIR = @HELPDIR@ +INSTALL_CMD = @INSTALL_CMD@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIB_MAN_DIR = @LIB_MAN_DIR@ +LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +MAN_SUBSTS = @MAN_SUBSTS@ +MISC_MAN_DIR = @MISC_MAN_DIR@ +MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRICT_CFLAGS = @STRICT_CFLAGS@ +STRIP = @STRIP@ +VERSION = @VERSION@ +XMAN_CFLAGS = @XMAN_CFLAGS@ +XMAN_LIBS = @XMAN_LIBS@ +XORG_MAN_PAGE = @XORG_MAN_PAGE@ +ac_ct_CC = @ac_ct_CC@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +appdefaultdir = @appdefaultdir@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +appmandir = $(APP_MAN_DIR) +appman_PRE = xman.man +appman_DATA = $(appman_PRE:man=$(APP_MAN_SUFFIX)) +EXTRA_DIST = $(appman_PRE) +CLEANFILES = $(appman_DATA) +SUFFIXES = .$(APP_MAN_SUFFIX) .man +all: all-am + +.SUFFIXES: +.SUFFIXES: .$(APP_MAN_SUFFIX) .man +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign man/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +uninstall-info-am: +install-appmanDATA: $(appman_DATA) + @$(NORMAL_INSTALL) + test -z "$(appmandir)" || $(mkdir_p) "$(DESTDIR)$(appmandir)" + @list='$(appman_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(appmanDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(appmandir)/$$f'"; \ + $(appmanDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(appmandir)/$$f"; \ + done + +uninstall-appmanDATA: + @$(NORMAL_UNINSTALL) + @list='$(appman_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(appmandir)/$$f'"; \ + rm -f "$(DESTDIR)$(appmandir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(appmandir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-appmanDATA + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-appmanDATA uninstall-info-am + +.PHONY: all all-am check check-am clean clean-generic distclean \ + distclean-generic distdir dvi dvi-am html html-am info info-am \ + install install-am install-appmanDATA install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ + pdf-am ps ps-am uninstall uninstall-am uninstall-appmanDATA \ + uninstall-info-am + + +# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure +.man.$(APP_MAN_SUFFIX): + $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/app/xman/xman.man b/app/xman/man/xman.man index 4aaabc0a3..f7a4c6c2f 100644 --- a/app/xman/xman.man +++ b/app/xman/man/xman.man @@ -29,7 +29,7 @@ customization of \fIxman\fP. .SH "OPTIONS" .PP Xman supports all standard Toolkit command line arguments (see -\fIX\fP(1)). The following additional arguments are supported. +\fIX\fP(__miscmansuffix__)). The following additional arguments are supported. .sp .IP "\fB\-helpfile\fP \fIfilename\fP" Specifies a helpfile to use other than the default. @@ -59,9 +59,9 @@ setenv MANPATH /mit/kit/man:/usr/man .PP By default, .I xman -will search each of the following directories (in each of the directories +will search each of the following directories (in each of the directories specified in the users MANPATH) for manual pages. If manual pages exist -in that directory then they are added to list of manual pages for +in that directory then they are added to list of manual pages for the corresponding menu item. A menu item is only displayed for those sections that actually contain manual pages. @@ -75,46 +75,46 @@ man2 (2) System Calls man3 (3) Subroutines man4 (4) Devices man5 (5) File Formats -man6 (6) Games +man6 (6) Games man7 (7) Miscellaneous man8 (8) Sys. Administration manl (l) Local mann (n) New mano (o) Old -.fi +.fi For instance, a user has three directories in her manual path and each contain a directory called \fIman3\fP. All these manual pages will appear alphabetically sorted when the user selects the menu item called -\fI(3) Subroutines\fP. If there is no directory called \fImano\fP in -any of the directories in her MANPATH, or there are no manual pages -in any of the directories called \fImano\fP then no menu item will be +\fI(__libmansuffix__) Subroutines\fP. If there is no directory called +\fImano\fP in any of the directories in her MANPATH, or there are no manual +pages in any of the directories called \fImano\fP then no menu item will be displayed for the section called \fI(o) Old\fP. -.SH "BSD AND LINUX SYSTEMS" +.SH "BSD AND LINUX SYSTEMS" .PP In newer BSD and Linux systems, \fIXman\fP will search for a file named \fI/etc/man.conf\fP which will contain the list of directories containing -manual pages. See \fIman.conf\fP(5) for a complete description of the file +manual pages. See \fIman.conf\fP(__filemansuffix__) for a complete description of the file format. -.SH "THE MANDESC FILE" +.SH "THE MANDESC FILE" .PP -By using the \fImandesc\fP file a user or system manager is able to +By using the \fImandesc\fP file a user or system manager is able to more closely control which manual pages will appear in each of the sections -represented by menu items in the \fISections\fP menu. This +represented by menu items in the \fISections\fP menu. This functionality is only available on a section by section basis, and individual manual pages may not be handled in this manner. -(Although generous use of -symbolic links \(em see \fIln\fP(1) \(em will allow +(Although generous use of +symbolic links \(em see \fIln\fP(__appmansuffix__) \(em will allow almost any configuration you can imagine.) .PP The format of the mandesc file is a character followed by a label. The character determines which of the sections will be added under this label. -For instance suppose that you would like to create an extra menu item that +For instance suppose that you would like to create an extra menu item that contains all programmer subroutines. This label should contain all manual pages in both sections two and three. The \fImandesc\fP file would look like this: -.nf - +.nf + 2Programmer Subroutines 3Programmer Subroutines @@ -156,8 +156,8 @@ o(o) Old .fi Xman will read any section that is of the from \fIman<character>\fP, where <character> is an upper or lower case letter (they are treated distinctly) or -a numeral (0-9). Be warned, however, that man(1) and catman(8) will -not search directories that are non-standard. +a numeral (0-9). Be warned, however, that man(__appmansuffix__) and +catman(__adminmansuffix__) will not search directories that are non-standard. .SH WIDGETS In order to specify resources, it is useful to know the hierarchy of the widgets which compose \fIxman\fR. In the notation below, @@ -189,10 +189,10 @@ Xman xman \fI(This widget is never used)\fP MenuButton sections Label manualBrowser Viewport directory - List directory - List directory + List directory + List directory . - . (one for each section, + . (one for each section, . created on the fly) . ScrollByLine manualPage @@ -285,7 +285,7 @@ The cursor to use in the search entry text widget. \fBpointerColor\fP (Class \fBForeground\fP) This is the color of all the cursors (pointers) specified above. The name was chosen to be compatible with xterm. -.TP 18 +.TP 18 \fBhelpFile\fP (Class \fBFile\fP) Use this rather than the system default helpfile. .TP 18 @@ -295,14 +295,14 @@ the help, quit and manual page buttons) or a manual page is put on the screen at start-up. The default is true. .TP 18 \fBverticalList\fP (Class \fBBoolean\fP) -Either `true' or `false,' determines whether the directory listing is +Either `true' or `false,' determines whether the directory listing is vertically or horizontally organized. The default is horizontal (false). .SH "GLOBAL ACTIONS" \fIXman\fP defines all user interaction through global actions. This allows the user to modify the translation table of any widget, and bind any event to the new user action. The list of actions supported by \fIxman\fP are: .TP 1.5i -.B GotoPage(\fIpage\fB) +.B GotoPage(\fIpage\fB) When used in a manual page display window this will allow the user to move between a directory and manual page display. The \fIpage\fP argument can be either \fBDirectory\fP or \fBManualPage\fP. @@ -338,7 +338,7 @@ associated with it. .TP 1.5i .B SaveFormattedPage(\fIaction\fP) This action can only be used in the \fBlikeToSave\fP popup widget, and -tells xman whether to \fBSave\fP or \fBCancel\fP a save of the +tells xman whether to \fBSave\fP or \fBCancel\fP a save of the manual page that has just been formatted. .TP 1.5i .B ShowVersion() @@ -357,13 +357,13 @@ creates temporary files in /tmp for all unformatted man pages and all apropos searches. .SH "SEE ALSO" .IR X (__miscmansuffix__), -.IR man (1), -.IR apropos (1), +.IR man (__appmansuffix__), +.IR apropos (__appmansuffix__), .IR catman (8), .I "Athena Widget Set" .SH ENVIRONMENT .TP 1.5i -.B DISPLAY +.B DISPLAY the default host and display to use. .TP 1.5i .B MANPATH diff --git a/app/xman/misc.c b/app/xman/misc.c index b5b9f0708..8818aa8ef 100644 --- a/app/xman/misc.c +++ b/app/xman/misc.c @@ -90,7 +90,7 @@ PopdownWarning(Widget w, XtPointer client, XtPointer call) } void -PopupWarning(ManpageGlobals * man_globals, char * string) +PopupWarning(ManpageGlobals * man_globals, const char * string) { int n; Arg wargs[3]; @@ -263,7 +263,7 @@ FindManualFile(ManpageGlobals * man_globals, int section_num, int entry_num) return(file); #endif { - sprintf(filename, "%s/%s%s/%s.%s", path, CAT, + snprintf(filename, sizeof(filename), "%s/%s%s/%s.%s", path, CAT, section + len_cat, page, BZIP2_EXTENSION); if ( (file = Uncompress(man_globals, filename)) != NULL) return(file); @@ -271,7 +271,7 @@ FindManualFile(ManpageGlobals * man_globals, int section_num, int entry_num) #endif #ifdef LZMA_EXTENSION { - sprintf(filename, "%s/%s%s/%s.%s", path, CAT, + snprintf(filename, sizeof(filename), "%s/%s%s/%s.%s", path, CAT, section + len_cat, page, LZMA_EXTENSION); if ( (file = Uncompress(man_globals, filename)) != NULL) return(file); @@ -320,7 +320,7 @@ FindManualFile(ManpageGlobals * man_globals, int section_num, int entry_num) static FILE * Uncompress(ManpageGlobals * man_globals, char * filename) { - char tmp_file[BUFSIZ], error_buf[BUFSIZ]; + char tmp_file[BUFSIZ]; FILE * file; #ifndef HAS_MKSTEMP @@ -328,15 +328,13 @@ Uncompress(ManpageGlobals * man_globals, char * filename) return(NULL); else if ((file = fopen(tmp_file, "r")) == NULL) { - sprintf(error_buf, "Something went wrong in retrieving the %s", - "uncompressed manual page try cleaning up /tmp."); - PopupWarning(man_globals, error_buf); + PopupWarning(man_globals, "Something went wrong in retrieving the " + "uncompressed manual page try cleaning up /tmp."); } #else if (!UncompressNamed(man_globals, filename, tmp_file, &file)) { - sprintf(error_buf, "Something went wrong in retrieving the %s", - "uncompressed manual page try cleaning up /tmp."); - PopupWarning(man_globals, error_buf); + PopupWarning(man_globals, "Something went wrong in retrieving the " + "uncompressed manual page try cleaning up /tmp."); return(NULL); } #endif @@ -406,13 +404,13 @@ UncompressNamed(ManpageGlobals * man_globals, char * filename, char * output, #ifdef BZIP2_EXTENSION if (streq(filename + strlen(filename) - strlen(BZIP2_EXTENSION), BZIP2_EXTENSION)) - sprintf(cmdbuf, BUNZIP2_FORMAT, filename, output); + snprintf(cmdbuf, sizeof(cmdbuf), BUNZIP2_FORMAT, filename, output); else #endif #ifdef LZMA_EXTENSION if (streq(filename + strlen(filename) - strlen(LZMA_EXTENSION), LZMA_EXTENSION)) - sprintf(cmdbuf, UNLZMA_FORMAT, filename, output); + snprintf(cmdbuf, sizeof(cmdbuf), UNLZMA_FORMAT, filename, output); else #endif snprintf(cmdbuf, sizeof(cmdbuf), UNCOMPRESS_FORMAT, filename, output); @@ -583,8 +581,7 @@ Format(ManpageGlobals * man_globals, char * entry) #else /* Handle more flexible way of specifying the formatting pipeline */ if (! ConstructCommand(cmdbuf, path, filename, man_globals->tempfile)) { - sprintf(error_buf, "Constructed command was too long!"); - PopupWarning(man_globals, error_buf); + PopupWarning(man_globals, "Constructed command was too long!"); file = NULL; } else @@ -599,9 +596,8 @@ Format(ManpageGlobals * man_globals, char * entry) else { #ifndef HAS_MKSTEMP if ((file = fopen(man_globals->tempfile,"r")) == NULL) { - sprintf(error_buf, "Something went wrong in retrieving the %s", - "temp file, try cleaning up /tmp"); - PopupWarning(man_globals, error_buf); + PopupWarning(man_globals, "Something went wrong in retrieving the " + "temp file, try cleaning up /tmp"); } else { #endif @@ -697,7 +693,7 @@ ConstructCommand(cmdbuf, path, filename, tempfile) FILE *file; char fmtbuf[128]; int gotfmt = 0; /* set to 1 if we got a directive from source */ - char *fname = NULL; + char fname[PATH_MAX]; #ifdef __UNIXOS2__ int i; #endif @@ -712,12 +708,9 @@ ConstructCommand(cmdbuf, path, filename, tempfile) * use system to get the thing to a known absoute filename. */ if (filename[0] == '/') { - fname = filename; + snprintf(fname, sizeof(fname), "%s", filename); } else { - fname = malloc(strlen(path) + 1 + strlen(filename) + 1); - if (!fname) - return FALSE; - sprintf(fname, "%s/%s", path, filename); + snprintf(fname, sizeof(fname), "%s/%s", path, filename); } if ((file = fopen(fname, "r")) && (fgets(fmtbuf, sizeof(fmtbuf), file)) && @@ -731,8 +724,6 @@ ConstructCommand(cmdbuf, path, filename, tempfile) gotfmt++; } } - if (fname && fname != filename) - free(fname); if (!gotfmt) /* not there or some error */ { fmt = getenv("MANROFFSEQ"); @@ -896,7 +887,7 @@ UncompressUnformatted(ManpageGlobals * man_globals, char * entry, #ifdef BZIP2_EXTENSION { - sprintf(input, "%s.%s", filename, BZIP2_EXTENSION); + snprintf(input, sizeof(input), "%s.%s", filename, BZIP2_EXTENSION); #ifndef HAS_MKSTEMP if ( UncompressNamed(man_globals, input, filename) ) { #else @@ -905,8 +896,9 @@ UncompressUnformatted(ManpageGlobals * man_globals, char * entry, man_globals->compress = TRUE; man_globals->gzip = FALSE; man_globals->bzip2 = TRUE; - sprintf(man_globals->save_file, "%s/%s%s/%s.%s", path, - CAT, section + len_cat, page, BZIP2_EXTENSION); + snprintf(man_globals->save_file, sizeof(man_globals->save_file), + "%s/%s%s/%s.%s", path, CAT, section + len_cat, page, + BZIP2_EXTENSION); return(TRUE); } } @@ -914,7 +906,7 @@ UncompressUnformatted(ManpageGlobals * man_globals, char * entry, #ifdef LZMA_EXTENSION { - sprintf(input, "%s.%s", filename, LZMA_EXTENSION); + snprintf(input, sizeof(input), "%s.%s", filename, LZMA_EXTENSION); #ifndef HAS_MKSTEMP if ( UncompressNamed(man_globals, input, filename) ) { #else @@ -923,8 +915,9 @@ UncompressUnformatted(ManpageGlobals * man_globals, char * entry, man_globals->compress = TRUE; man_globals->gzip = FALSE; man_globals->lzma = TRUE; - sprintf(man_globals->save_file, "%s/%s%s/%s.%s", path, - CAT, section + len_cat, page, LZMA_EXTENSION); + snprintf(man_globals->save_file, sizeof(man_globals->save_file), + "%s/%s%s/%s.%s", path, CAT, section + len_cat, page, + LZMA_EXTENSION); return(TRUE); } } @@ -1002,7 +995,7 @@ UncompressUnformatted(ManpageGlobals * man_globals, char * entry, #ifdef BZIP2_EXTENSION { - sprintf(input, "%s.%s", filename, BZIP2_EXTENSION); + snprintf(input, sizeof(input), "%s.%s", filename, BZIP2_EXTENSION); #ifndef HAS_MKSTEMP if ( UncompressNamed(man_globals, input, filename) ) { #else @@ -1010,8 +1003,9 @@ UncompressUnformatted(ManpageGlobals * man_globals, char * entry, #endif man_globals->compress = TRUE; man_globals->gzip = TRUE; - sprintf(man_globals->save_file, "%s/%s%s/%s.%s", path, - CAT, section + len_cat, page, BZIP2_EXTENSION); + snprintf(man_globals->save_file, sizeof(man_globals->save_file), + "%s/%s%s/%s.%s", path, CAT, section + len_cat, page, + BZIP2_EXTENSION); return(TRUE); } } @@ -1019,7 +1013,7 @@ UncompressUnformatted(ManpageGlobals * man_globals, char * entry, #ifdef LZMA_EXTENSION { - sprintf(input, "%s.%s", filename, LZMA_EXTENSION); + snprintf(input, sizeof(input), "%s.%s", filename, LZMA_EXTENSION); #ifndef HAS_MKSTEMP if ( UncompressNamed(man_globals, input, filename) ) { #else @@ -1027,8 +1021,9 @@ UncompressUnformatted(ManpageGlobals * man_globals, char * entry, #endif man_globals->compress = TRUE; man_globals->lzma = TRUE; - sprintf(man_globals->save_file, "%s/%s%s/%s.%s", path, - CAT, section + len_cat, page, LZMA_EXTENSION); + snprintf(man_globals->save_file, sizeof(man_globals->save_file), + "%s/%s%s/%s.%s", path, CAT, section + len_cat, page, + LZMA_EXTENSION); return(TRUE); } } diff --git a/app/xman/vendor.c b/app/xman/vendor.c index 56257b3bd..79cc8bb7a 100644 --- a/app/xman/vendor.c +++ b/app/xman/vendor.c @@ -40,7 +40,7 @@ typedef struct sectionName { char * suffix; } SectionNameRec; -#if defined(SYSV) || defined(__osf__) || defined(SVR4) && !defined(sun) +#if (defined(SYSV) || defined(__osf__) || defined(SVR4)) && !defined(sun) static SectionNameRec SectionNames[] = { {"(1) User Commands", "1"}, @@ -187,10 +187,10 @@ char * path) int numSections = sizeof(SectionNames) / sizeof(SectionNames[0]); for (i=0; i < numSections; i++) { - sprintf(file, "%s%s", SEARCHDIR, SectionNames[i].suffix); + snprintf(file, sizeof(file), "%s%s", SEARCHDIR, SectionNames[i].suffix); AddNewSection(list, path, file, SectionNames[i].name, TRUE); #ifdef SEARCHOTHER - sprintf(file, "%s%s", SEARCHOTHER, SectionNames[i].suffix); + snprintf(file, sizeof(file), "%s%s", SEARCHOTHER, SectionNames[i].suffix); AddNewSection(list, path, file, SectionNames[i].name, TRUE); #endif } @@ -251,7 +251,7 @@ char *path) char *message = *p++; int flags = (int) *p++; while (*p != NULL) { - sprintf(file, "%s%s", SEARCHDIR, *p++); + snprintf(file, sizeof(file), "%s%s", SEARCHDIR, *p++); AddNewSection(list, path, file, message, flags); } p++; |