diff options
author | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2006-11-25 20:52:24 +0000 |
---|---|---|
committer | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2006-11-25 20:52:24 +0000 |
commit | cf87db164aa2401ec33a041d3969d6ccb1ef49d9 (patch) | |
tree | 9b65838d7e1aee39d37defb896a5fd6a3922d5ba /app/xphelloworld/xpsimplehelloworld | |
parent | 2387c426e6dfc2b0a2d0aa5585dbeb580f5ea91e (diff) |
Importing from X.Org 7.2RC2
Diffstat (limited to 'app/xphelloworld/xpsimplehelloworld')
-rw-r--r-- | app/xphelloworld/xpsimplehelloworld/Makefile.am | 33 | ||||
-rw-r--r-- | app/xphelloworld/xpsimplehelloworld/Makefile.in | 504 | ||||
-rw-r--r-- | app/xphelloworld/xpsimplehelloworld/xpsimplehelloworld.c | 405 | ||||
-rw-r--r-- | app/xphelloworld/xpsimplehelloworld/xpsimplehelloworld.man | 43 | ||||
-rw-r--r-- | app/xphelloworld/xpsimplehelloworld/xpsimplehelloworld.sgml | 140 |
5 files changed, 1125 insertions, 0 deletions
diff --git a/app/xphelloworld/xpsimplehelloworld/Makefile.am b/app/xphelloworld/xpsimplehelloworld/Makefile.am new file mode 100644 index 000000000..b62f14f96 --- /dev/null +++ b/app/xphelloworld/xpsimplehelloworld/Makefile.am @@ -0,0 +1,33 @@ +# +# Copyright 2005 Red Hat, Inc. +# +# Permission to use, copy, modify, distribute, and sell this software and its +# documentation for any purpose is hereby granted without fee, provided that +# the above copyright notice appear in all copies and that both that +# copyright notice and this permission notice appear in supporting +# documentation, and that the name of Red Hat not be used in +# advertising or publicity pertaining to distribution of the software without +# specific, written prior permission. Red Hat makes no +# representations about the suitability of this software for any purpose. It +# is provided "as is" without express or implied warranty. +# +# RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +# EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR +# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +bin_PROGRAMS = xpsimplehelloworld + +xpsimplehelloworld_CFLAGS = $(XPSIMPLEHELLOWORLD_CFLAGS) +xpsimplehelloworld_LDADD = $(XPSIMPLEHELLOWORLD_LIBS) + +xpsimplehelloworld_SOURCES = \ + xpsimplehelloworld.c + +dist_man1_MANS = \ + xpsimplehelloworld.man + +EXTRA_DIST = xpsimplehelloworld.sgml diff --git a/app/xphelloworld/xpsimplehelloworld/Makefile.in b/app/xphelloworld/xpsimplehelloworld/Makefile.in new file mode 100644 index 000000000..a74de85d1 --- /dev/null +++ b/app/xphelloworld/xpsimplehelloworld/Makefile.in @@ -0,0 +1,504 @@ +# Makefile.in generated by automake 1.7.9 from Makefile.am. +# @configure_input@ + +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# 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@ + +# +# Copyright 2005 Red Hat, Inc. +# +# Permission to use, copy, modify, distribute, and sell this software and its +# documentation for any purpose is hereby granted without fee, provided that +# the above copyright notice appear in all copies and that both that +# copyright notice and this permission notice appear in supporting +# documentation, and that the name of Red Hat not be used in +# advertising or publicity pertaining to distribution of the software without +# specific, written prior permission. Red Hat makes no +# representations about the suitability of this software for any purpose. It +# is provided "as is" without express or implied warranty. +# +# RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +# EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR +# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +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 = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BUILD_MOTIFAPPS_FALSE = @BUILD_MOTIFAPPS_FALSE@ +BUILD_MOTIFAPPS_TRUE = @BUILD_MOTIFAPPS_TRUE@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EXEEXT = @EXEEXT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +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@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +X11_CFLAGS = @X11_CFLAGS@ +X11_LIBS = @X11_LIBS@ +XPAWHELLOWORLD_CFLAGS = @XPAWHELLOWORLD_CFLAGS@ +XPAWHELLOWORLD_LIBS = @XPAWHELLOWORLD_LIBS@ +XPHELLOWORLD_CFLAGS = @XPHELLOWORLD_CFLAGS@ +XPHELLOWORLD_LIBS = @XPHELLOWORLD_LIBS@ +XPSIMPLEHELLOWORLD_CFLAGS = @XPSIMPLEHELLOWORLD_CFLAGS@ +XPSIMPLEHELLOWORLD_LIBS = @XPSIMPLEHELLOWORLD_LIBS@ +XPXMHELLOWORLD_CFLAGS = @XPXMHELLOWORLD_CFLAGS@ +XPXMHELLOWORLD_LIBS = @XPXMHELLOWORLD_LIBS@ +XPXTHELLOWORLD_CFLAGS = @XPXTHELLOWORLD_CFLAGS@ +XPXTHELLOWORLD_LIBS = @XPXTHELLOWORLD_LIBS@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_STRIP = @ac_ct_STRIP@ +ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@ +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@ +bindir = @bindir@ +build_alias = @build_alias@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ + +bin_PROGRAMS = xpsimplehelloworld + +xpsimplehelloworld_CFLAGS = $(XPSIMPLEHELLOWORLD_CFLAGS) +xpsimplehelloworld_LDADD = $(XPSIMPLEHELLOWORLD_LIBS) + +xpsimplehelloworld_SOURCES = \ + xpsimplehelloworld.c + + +dist_man1_MANS = \ + xpsimplehelloworld.man + + +EXTRA_DIST = xpsimplehelloworld.sgml +subdir = xpsimplehelloworld +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +bin_PROGRAMS = xpsimplehelloworld$(EXEEXT) +PROGRAMS = $(bin_PROGRAMS) + +am_xpsimplehelloworld_OBJECTS = \ + xpsimplehelloworld-xpsimplehelloworld.$(OBJEXT) +xpsimplehelloworld_OBJECTS = $(am_xpsimplehelloworld_OBJECTS) +xpsimplehelloworld_DEPENDENCIES = +xpsimplehelloworld_LDFLAGS = + +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +@AMDEP_TRUE@DEP_FILES = \ +@AMDEP_TRUE@ ./$(DEPDIR)/xpsimplehelloworld-xpsimplehelloworld.Po +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +DIST_SOURCES = $(xpsimplehelloworld_SOURCES) + +NROFF = nroff +MANS = $(dist_man1_MANS) +DIST_COMMON = $(dist_man1_MANS) $(srcdir)/Makefile.in Makefile.am +SOURCES = $(xpsimplehelloworld_SOURCES) + +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu xpsimplehelloworld/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(bindir) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \ + $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ + rm -f $(DESTDIR)$(bindir)/$$f; \ + done + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) +xpsimplehelloworld$(EXEEXT): $(xpsimplehelloworld_OBJECTS) $(xpsimplehelloworld_DEPENDENCIES) + @rm -f xpsimplehelloworld$(EXEEXT) + $(LINK) $(xpsimplehelloworld_LDFLAGS) $(xpsimplehelloworld_OBJECTS) $(xpsimplehelloworld_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) core *.core + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpsimplehelloworld-xpsimplehelloworld.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ +@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ +@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ +@am__fastdepCC_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$< + +.c.obj: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ +@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ +@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ +@am__fastdepCC_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` + +xpsimplehelloworld-xpsimplehelloworld.o: xpsimplehelloworld.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xpsimplehelloworld_CFLAGS) $(CFLAGS) -MT xpsimplehelloworld-xpsimplehelloworld.o -MD -MP -MF "$(DEPDIR)/xpsimplehelloworld-xpsimplehelloworld.Tpo" \ +@am__fastdepCC_TRUE@ -c -o xpsimplehelloworld-xpsimplehelloworld.o `test -f 'xpsimplehelloworld.c' || echo '$(srcdir)/'`xpsimplehelloworld.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xpsimplehelloworld-xpsimplehelloworld.Tpo" "$(DEPDIR)/xpsimplehelloworld-xpsimplehelloworld.Po"; \ +@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/xpsimplehelloworld-xpsimplehelloworld.Tpo"; exit 1; \ +@am__fastdepCC_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xpsimplehelloworld.c' object='xpsimplehelloworld-xpsimplehelloworld.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/xpsimplehelloworld-xpsimplehelloworld.Po' tmpdepfile='$(DEPDIR)/xpsimplehelloworld-xpsimplehelloworld.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xpsimplehelloworld_CFLAGS) $(CFLAGS) -c -o xpsimplehelloworld-xpsimplehelloworld.o `test -f 'xpsimplehelloworld.c' || echo '$(srcdir)/'`xpsimplehelloworld.c + +xpsimplehelloworld-xpsimplehelloworld.obj: xpsimplehelloworld.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xpsimplehelloworld_CFLAGS) $(CFLAGS) -MT xpsimplehelloworld-xpsimplehelloworld.obj -MD -MP -MF "$(DEPDIR)/xpsimplehelloworld-xpsimplehelloworld.Tpo" \ +@am__fastdepCC_TRUE@ -c -o xpsimplehelloworld-xpsimplehelloworld.obj `if test -f 'xpsimplehelloworld.c'; then $(CYGPATH_W) 'xpsimplehelloworld.c'; else $(CYGPATH_W) '$(srcdir)/xpsimplehelloworld.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xpsimplehelloworld-xpsimplehelloworld.Tpo" "$(DEPDIR)/xpsimplehelloworld-xpsimplehelloworld.Po"; \ +@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/xpsimplehelloworld-xpsimplehelloworld.Tpo"; exit 1; \ +@am__fastdepCC_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xpsimplehelloworld.c' object='xpsimplehelloworld-xpsimplehelloworld.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/xpsimplehelloworld-xpsimplehelloworld.Po' tmpdepfile='$(DEPDIR)/xpsimplehelloworld-xpsimplehelloworld.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xpsimplehelloworld_CFLAGS) $(CFLAGS) -c -o xpsimplehelloworld-xpsimplehelloworld.obj `if test -f 'xpsimplehelloworld.c'; then $(CYGPATH_W) 'xpsimplehelloworld.c'; else $(CYGPATH_W) '$(srcdir)/xpsimplehelloworld.c'; fi` +uninstall-info-am: + +man1dir = $(mandir)/man1 +install-man1: $(man1_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(man1dir) + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \ + $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \ + done +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \ + rm -f $(DESTDIR)$(man1dir)/$$inst; \ + done + +ETAGS = etags +ETAGSFLAGS = + +CTAGS = ctags +CTAGSFLAGS = + +tags: TAGS + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)$$tags$$unique" \ + || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique + +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + +top_distdir = .. +distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) + +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"; \ + $(mkinstalldirs) "$(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 $(PROGRAMS) $(MANS) + +installdirs: + $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir) +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: + +distclean-generic: + -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-binPROGRAMS clean-generic mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +info: info-am + +info-am: + +install-data-am: install-man + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: install-man1 + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am uninstall-man + +uninstall-man: uninstall-man1 + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am info \ + info-am install install-am install-binPROGRAMS install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-man1 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-binPROGRAMS uninstall-info-am \ + uninstall-man uninstall-man1 + +# 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/xphelloworld/xpsimplehelloworld/xpsimplehelloworld.c b/app/xphelloworld/xpsimplehelloworld/xpsimplehelloworld.c new file mode 100644 index 000000000..3fd05e8c5 --- /dev/null +++ b/app/xphelloworld/xpsimplehelloworld/xpsimplehelloworld.c @@ -0,0 +1,405 @@ +/* + * $Xorg: xphelloworld.c,v 1.2 2002/05/10 06:54:^1 gisburn Exp $ + * + * xphelloworld - Xprint version of hello world + * + * +Copyright 2002-2004 Roland Mainz <roland.mainz@nrubsig.org> + +All Rights Reserved. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + * + * Author: Roland Mainz <roland.mainz@nrubsig.org> + */ + +#include <X11/Xlib.h> +#include <X11/Xutil.h> +#include <X11/XprintUtil/xprintutil.h> + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> +#include <ctype.h> + +/* Turn a NULL pointer string into an empty string */ +#define NULLSTR(x) (((x)!=NULL)?(x):("")) + +#define Log(x) { if(verbose) printf x; } +#define Msg(x) { if(!quiet) printf x; } + +static const char *ProgramName; /* program name (from argv[0]) */ +static Bool verbose = False; /* verbose output what the program is doing */ +Bool quiet = False; /* be quiet (no output except errors) */ + +static +void usage(void) +{ + fprintf (stderr, "usage: %s [options]\n", ProgramName); + fprintf (stderr, "-printer printernname\tprinter to use\n"); + fprintf (stderr, "-printfile file\tprint to file instead of printer\n"); + fprintf (stderr, "-embedpsl2data string\tPostScript level 2 fragment to embed\n" + "\t\t(use 'xppsembeddemo1' to embed demo data)\n"); + fprintf (stderr, "-v\tverbose output\n"); + fprintf (stderr, "-q\tbe quiet (no output except errors)\n"); + fprintf (stderr, "\n"); + exit(EXIT_FAILURE); +} + +/* strstr(), case-insensitive */ +static +char *str_case_str(const char *s, const char *find) +{ + size_t len; + char c, + sc; + + if ((c = tolower(*find++)) != '\0') + { + len = strlen(find); + do + { + do + { + if ((sc = tolower(*s++)) == '\0') + return NULL; + } while (sc != c); + } while (strncasecmp(s, find, len) != 0); + s--; + } + return ((char *)s); +} + +static +int do_hello_world(const char *printername, const char *printerfile, const char *psembeddata ) +{ + Display *pdpy; /* X connection */ + XPContext pcontext; /* Xprint context */ + void *printtofile_handle; /* "context" when printing to file */ + int xp_event_base, /* XpExtension even base */ + xp_error_base; /* XpExtension error base */ + long dpi_x = 0L, + dpi_y = 0L; + Screen *pscreen; + int pscreennumber; + Window pwin; + XGCValues gcvalues; + GC pgc; + unsigned short dummy; + XRectangle winrect; + char fontname[256]; /* BUG: is this really big enougth ? */ + XFontStruct *font; + char *scr; + + if( XpuGetPrinter(printername, &pdpy, &pcontext) != 1 ) + { + fprintf(stderr, "Cannot open printer '%s'\n", printername); + return(EXIT_FAILURE); + } + + if( XpQueryExtension(pdpy, &xp_event_base, &xp_error_base) == False ) + { + fprintf(stderr, "XpQueryExtension() failed.\n"); + XpuClosePrinterDisplay(pdpy, pcontext); + return(EXIT_FAILURE); + } + + /* Listen to XP(Start|End)(Job|Doc|Page)Notify events). + * This is mantatory as Xp(Start|End)(Job|Doc|Page) functions are _not_ + * syncronous !! + * Not waiting for such events may cause that subsequent data may be + * destroyed/corrupted!! + */ + XpSelectInput(pdpy, pcontext, XPPrintMask); + + /* Set job title */ + XpuSetJobTitle(pdpy, pcontext, "Hello world for Xprint"); + + /* Set print context + * Note that this modifies the available fonts, including builtin printer prints. + * All XListFonts()/XLoadFont() stuff should be done _after_ setting the print + * context to obtain the proper fonts. + */ + XpSetContext(pdpy, pcontext); + + /* Get default printer reolution */ + if( XpuGetResolution(pdpy, pcontext, &dpi_x, &dpi_y) != 1 ) + { + fprintf(stderr, "No default resolution for printer '%s'.\n", printername); + XpuClosePrinterDisplay(pdpy, pcontext); + return(EXIT_FAILURE); + } + + if( printerfile ) + { + Log(("starting job (to file '%s').\n", printerfile)); + printtofile_handle = XpuStartJobToFile(pdpy, pcontext, printerfile); + if( !printtofile_handle ) + { + fprintf(stderr, "%s: Error: %s while trying to print to file.\n", + ProgramName, strerror(errno)); + XpuClosePrinterDisplay(pdpy, pcontext); + return(EXIT_FAILURE); + } + + XpuWaitForPrintNotify(pdpy, xp_event_base, XPStartJobNotify); + } + else + { + Log(("starting job.\n")); + XpuStartJobToSpooler(pdpy); + XpuWaitForPrintNotify(pdpy, xp_event_base, XPStartJobNotify); + } + +#ifdef MULTIPLE_DOCUMENTS_IN_ONE_JOB + /* Start document (one job can contain any number of "documents") + * XpStartDoc() isn't mandatory if job only contains one document - first + * XpStartPage() will generate a "synthetic" XpStartDoc() if one had not + * already been done. + */ + XpStartDoc(pdpy, XPDocNormal); + XpuWaitForPrintNotify(pdpy, xp_event_base, XPStartDocNotify); +#endif /* MULTIPLE_DOCUMENTS_IN_ONE_JOB */ + + pscreen = XpGetScreenOfContext(pdpy, pcontext); + pscreennumber = XScreenNumberOfScreen(pscreen); + + /* Obtain some info about page geometry */ + XpGetPageDimensions(pdpy, pcontext, &dummy, &dummy, &winrect); + + pwin = XCreateSimpleWindow(pdpy, XRootWindowOfScreen(pscreen), + winrect.x, winrect.y, winrect.width, winrect.height, + 10, + XBlackPixel(pdpy, pscreennumber), + XWhitePixel(pdpy, pscreennumber)); + + gcvalues.background = XWhitePixel(pdpy, pscreennumber); + gcvalues.foreground = XBlackPixel(pdpy, pscreennumber); + + pgc = XCreateGC(pdpy, pwin, GCBackground|GCForeground, &gcvalues); + + Log(("start page.\n")); + XpStartPage(pdpy, pwin); + XpuWaitForPrintNotify(pdpy, xp_event_base, XPStartPageNotify); + + /* Mapping the window inside XpStartPage()/XpEndPage() + * Set XCreateWindow/border_width to 0 or move XMapWindow in front of + * XpStartPage() to get rid of the surrounding black border lines. + * (This is usually done before XpStartPage() in real applications) + */ + XMapWindow(pdpy, pwin); + + /* usual rendering stuff..... */ + + sprintf(fontname, "-*-*-*-*-*-*-*-180-%ld-%ld-*-*-iso8859-1", dpi_x, dpi_y); + font = XLoadQueryFont(pdpy, fontname); + XSetFont(pdpy, pgc, font->fid); + XDrawString(pdpy, pwin, pgc, 100, 100, "hello world from X11 print system", 33); + +#define DO_EMBED_TEST 1 + +#ifdef DO_EMBED_TEST + if( psembeddata ) + { + char *embedded_formats_supported; + + embedded_formats_supported = XpGetOneAttribute(pdpy, pcontext, XPPrinterAttr, "xp-embedded-formats-supported"); + + Log(("psembed: xp-embedded-formats-supported='%s'\n", NULLSTR(embedded_formats_supported))); + + /* MAX(XExtendedMaxRequestSize(pdpy), XMaxRequestSize(pdpy)) defines the + * maximum length of emebdded PostScript data which can be send in one + * step using XpPutDocumentData() */ + Log(("psembed: XExtendedMaxRequestSize=%ld\n", (long)XExtendedMaxRequestSize(pdpy))); + Log(("psembed: XMaxRequestSize=%ld\n", (long)XMaxRequestSize(pdpy))); + + /* Should we embed the demo ? */ + if( !strcmp(psembeddata, "xppsembeddemo1") ) + { + Log(("psembed: Using PS embedding demo 1\n")); + psembeddata = "newpath\n270 360 moveto\n 0 72 rlineto\n" + "72 0 rlineto\n 0 -72 rlineto\n closepath\n fill\n"; + } + else + { + Log(("psembed: Using user PS embedding data = '%s'\n", psembeddata)); + } + + /* Check whether "PostScript Level 2" is supported as embedding format + * (The content of the "xp-embedded-formats-supported" attribute needs + * to be searched in a case-insensitive way since the model-configs + * may use the same word with multiple variants of case + * (e.g. "PostScript" vs. "Postscript" or "PCL" vs. "Pcl" etc.") + * To avoid problems we simply use |str_case_str()| (case-insensitive + * strstr()) instead of |strstr()| here...) + */ + if( embedded_formats_supported && + (str_case_str(embedded_formats_supported, "PostScript 2") != NULL) ) + { + /* Note that the emebdded PostScript code uses the same resolution and + * coordinate space as currently be used by the DDX (if you don not + * want that simply reset it yourself :) */ + char *test = (char *)psembeddata; + int test_len = strlen(test); + char *type = "PostScript 2"; /* Format of embedded data + * (older PS DDX may be picky, fixed via + * http://xprint.mozdev.org/bugs/show_bug.cgi?id=4023) + */ + char *option = ""; /* PostScript DDX does not support any options yet + * (in general |BadValue| will be returned for not + * supported options/option values) */ + XpPutDocumentData(pdpy, pwin, test, test_len, type, option); + } + else + { + Log(("psembed: error: cannot embed data, 'PostScript 2' not supported as embedded data format for this printer\n")); + } + } +#endif /* DO_EMBED_TEST */ + + XpEndPage(pdpy); + XpuWaitForPrintNotify(pdpy, xp_event_base, XPEndPageNotify); + Log(("end page.\n")); + +#ifdef DO_SOME_MORE_RENDERING + XpStartPage(pdpy); + XpuWaitForPrintNotify(pdpy, xp_event_base, XPStartPageNotify); + + /* some more rendering..... */ + + XpEndPage(pdpy); + XpuWaitForPrintNotify(pdpy, xp_event_base, XPEndPageNotify); +#endif /* DO_SOME_MORE_RENDERING */ + +#ifdef MULTIPLE_DOCUMENTS_IN_ONE_JOB + /* End document. Do _not_ use it if you did not explicitly used + * XpStartDoc() above (e.g. if XpStartDoc() was triggered by first + * XpStartPage() - see comment about XpStartDoc() above... + */ + XpEndDoc(pdpy); + XpuWaitForPrintNotify(pdpy, xp_event_base, XPEndDocNotify); +#endif /* MULTIPLE_DOCUMENTS_IN_ONE_JOB */ + + /* End the print job - the final results are sent by the X print + * server to the spooler sub system. + */ + XpEndJob(pdpy); + XpuWaitForPrintNotify(pdpy, xp_event_base, XPEndJobNotify); + Log(("end job.\n")); + + if( printerfile ) + { + if( XpuWaitForPrintFileChild(printtofile_handle) != XPGetDocFinished ) + { + fprintf(stderr, "%s: Error while printing to file.\n", ProgramName); + XpuClosePrinterDisplay(pdpy, pcontext); + return(EXIT_FAILURE); + } + } + + /* End of spooled job - get spooler command results and print them */ + scr = XpGetOneAttribute(pdpy, pcontext, XPJobAttr, "xp-spooler-command-results"); + if( scr ) + { + if( strlen(scr) > 0 ) + { + const char *msg = XpuCompoundTextToXmb(pdpy, scr); + if( msg ) + { + Msg(("Spooler command returned '%s'.\n", msg)); + XpuFreeXmbString(msg); + } + else + { + Msg(("Spooler command returned '%s' (unconverted).\n", scr)); + } + } + + XFree((void *)scr); + } + + XpuClosePrinterDisplay(pdpy, pcontext); + return(EXIT_SUCCESS); +} + +int main (int argc, char *argv[]) +{ + const char *printername = NULL; /* printer to query */ + const char *toFile = NULL; /* output file (instead of printer) */ + const char *embedpsl2data = NULL; /* PS Level 2 code fragment for embedding in output */ + XPPrinterList plist; /* list of printers */ + int plist_count; /* number of entries in |plist|-array */ + int i; + int retval; + + ProgramName = argv[0]; + + for (i = 1; i < argc; i++) + { + char *arg = argv[i]; + int len = strlen(arg); + + if (!strncmp("-printer", arg, len)) + { + if (++i >= argc) + usage(); + printername = argv[i]; + } + else if (!strncmp("-printfile", arg, len)) + { + if (++i >= argc) + usage(); + toFile = argv[i]; + } + else if (!strncmp("-embedpsl2data", arg, len)) + { + if (++i >= argc) + usage(); + embedpsl2data = argv[i]; + } + else if (!strncmp("-v", arg, len)) + { + verbose = True; + quiet = False; + } + else if (!strncmp("-q", arg, len)) + { + verbose = False; + quiet = True; + } + else + { + usage(); + } + } + + plist = XpuGetPrinterList(printername, &plist_count); + + if (!plist) { + fprintf(stderr, "%s: no printers found for printer spec \"%s\".\n", + ProgramName, NULLSTR(printername)); + exit(EXIT_FAILURE); + } + + Log(("Using printer '%s'\n", plist[0].name)); + + retval = do_hello_world(plist[0].name, toFile, embedpsl2data); + + XpuFreePrinterList(plist); + + return(retval); +} + + diff --git a/app/xphelloworld/xpsimplehelloworld/xpsimplehelloworld.man b/app/xphelloworld/xpsimplehelloworld/xpsimplehelloworld.man new file mode 100644 index 000000000..0a2c9ea6e --- /dev/null +++ b/app/xphelloworld/xpsimplehelloworld/xpsimplehelloworld.man @@ -0,0 +1,43 @@ +.\" -*- coding: us-ascii -*- +.TH xpsimplehelloworld __appmansuffix__ "8 October 2004" +.SH NAME +xpsimplehelloworld \- "Hello World"-like Xprint sample utility based on plain X11 rendering calls +.SH SYNOPSIS +.ad l +\fBxpsimplehelloworld\fR \kx +.if (\nxu > (\n(.lu / 2)) .nr x (\n(.lu / 5) +'in \n(.iu+\nxu +[\fB\-printer \fBprinternname\fR\fR] [\fB\-v\fR] [\fB\-h\fR] +'in \n(.iu-\nxu +.ad b +.SH DESCRIPTION +xpsimplehelloworld is a sample utility for Xprint, the +printing system for the X Window system. It demonstrates how to send a test page to +the specified printer (or the default printer, if none is specified) using plain X11 +rendering instructions and without using special toolkit support (like one of +the special Xt print shell widget classes +(such as +\fBXmPrintShell\fR(__libmansuffix__) +or +\fBXawPrintShell\fR(__libmansuffix__))). +.SH OPTIONS +.TP +\fB\-printer \fIprinternname\fB\fR +printer to use +.TP +\fB\-v\fR +verbose output +.TP +\fB\-h\fR +print usage +.SH ENVIRONMENT +.TP +\fBXPSERVERLIST\fR +\fB${XPSERVERLIST}\fR must be set, +identifying the available Xprint servers. +See \fBXprint\fR(__miscmansuffix__) +for more details. +.SH "KNOWN BUGS" +A full list of bugs can be obtained from the Xprint.org bug database (http://xprint.mozdev.org/xprint_bugs.html). +.SH "SEE ALSO" +\fBXprint\fR(__miscmansuffix__), \fBX11\fR(__miscmansuffix__), \fBxplsprinters\fR(__appmansuffix__), \fBxphelloworld\fR(__appmansuffix__), \fBxpxmhelloworld\fR(__appmansuffix__), \fBxpawhelloworld\fR(__appmansuffix__), \fBxpxthelloworld\fR(__appmansuffix__), \fBXserver\fR(__appmansuffix__), \fBXprt\fR(__appmansuffix__), \fBlibXp\fR(__libmansuffix__), \fBlibXprintUtils\fR(__libmansuffix__), \fBlibXprintAppUtils\fR(__libmansuffix__), \fBXmPrintShell\fR(__libmansuffix__), \fBXawPrintShell\fR(__libmansuffix__), Xprint FAQ (http://xprint.mozdev.org/docs/Xprint_FAQ.html), Xprint main site (http://xprint.mozdev.org/) diff --git a/app/xphelloworld/xpsimplehelloworld/xpsimplehelloworld.sgml b/app/xphelloworld/xpsimplehelloworld/xpsimplehelloworld.sgml new file mode 100644 index 000000000..10312ccc2 --- /dev/null +++ b/app/xphelloworld/xpsimplehelloworld/xpsimplehelloworld.sgml @@ -0,0 +1,140 @@ +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.2//EN" 'http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd'> + +<!-- Process this file with DocBook tools to generate the output format +(such as manual pages or HTML documents). + +Note that strings like __appmansuffix__, __filemansuffix__, __libmansuffix__, +__miscmansuffix__ etc. have to be replaced first (in theory that's the +job of ENTITIES but some XML tools are highly allergic to such stuff... ;-(). +A quick way to do that is to filter this document via +/usr/bin/sed "s/__appmansuffix__/${MANSUFFIX}/g;s/__filemansuffix__/${FILEMANSUFFIX}/g;s/__libmansuffix__/${LIBMANSUFFIX}/g;s/__miscmansuffix__/${MISCMANSUFFIX}/g" +assuming that env vars like MANSUFFIX etc. have been set to the matching +manual volume numbers. + --> + +<refentry> + <refmeta> + <refentrytitle>xpsimplehelloworld</refentrytitle> + <manvolnum>__appmansuffix__</manvolnum> + </refmeta> + <refnamediv> + <refname>xpsimplehelloworld</refname> + + <refpurpose>"Hello World"-like Xprint sample utility based on plain X11 rendering calls</refpurpose> + </refnamediv> + <refsynopsisdiv> + <cmdsynopsis> + <command>xpsimplehelloworld</command> + + <arg><option>-printer <replaceable>printernname</replaceable></option></arg> + + <arg><option>-v</option></arg> + + <arg><option>-h</option></arg> + + </cmdsynopsis> + </refsynopsisdiv> + <refsect1> + <title>DESCRIPTION</title> + + <para><command>xpsimplehelloworld</command> is a sample utility for Xprint, the + printing system for the X Window system. It demonstrates how to send a test page to + the specified printer (or the default printer, if none is specified) using plain X11 + rendering instructions and without using special toolkit support (like one of + the special Xt print shell widget classes + (such as + <citerefentry><refentrytitle>XmPrintShell</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry> + or + <citerefentry><refentrytitle>XawPrintShell</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry>)). + </para> + + </refsect1> + + <refsect1> + <title>OPTIONS</title> + + <variablelist> + <varlistentry> + <term><option>-printer <replaceable>printernname</replaceable></option> + </term> + <listitem> + <para>printer to use</para> + </listitem> + </varlistentry> + <varlistentry> + <term><option>-v</option> + </term> + <listitem> + <para>verbose output</para> + </listitem> + </varlistentry> + <varlistentry> + <term><option>-h</option> + </term> + <listitem> + <para>print usage</para> + </listitem> + </varlistentry> + </variablelist> + </refsect1> + + <refsect1> + <title>ENVIRONMENT</title> + <variablelist> + <varlistentry> + <term><envar>XPSERVERLIST</envar> + </term> + <listitem> + <para> + <envar>${XPSERVERLIST}</envar> must be set, + identifying the available Xprint servers. + See <citerefentry><refentrytitle>Xprint</refentrytitle><manvolnum>__miscmansuffix__</manvolnum></citerefentry> + for more details. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsect1> + + <refsect1> + <title>KNOWN BUGS</title> + <para> + A full list of bugs can be obtained from the Xprint.org bug database (<ulink url="http://xprint.mozdev.org/xprint_bugs.html">http://xprint.mozdev.org/xprint_bugs.html</ulink>). + </para> + </refsect1> + + <refsect1> + <title>SEE ALSO</title> + <para> + <simplelist type="inline"> + <!-- specific references --> + <!-- none --> + + <!-- Xprint general references --> + <member><citerefentry><refentrytitle>Xprint</refentrytitle><manvolnum>__miscmansuffix__</manvolnum></citerefentry></member> + <member><citerefentry><refentrytitle>X11</refentrytitle><manvolnum>__miscmansuffix__</manvolnum></citerefentry></member> + <member><citerefentry><refentrytitle>xplsprinters</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> + <member><citerefentry><refentrytitle>xphelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> + <member><citerefentry><refentrytitle>xpxmhelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> + <member><citerefentry><refentrytitle>xpawhelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> + <member><citerefentry><refentrytitle>xpxthelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> +<!-- + <member><citerefentry><refentrytitle>xpsimplehelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> +--> + <member><citerefentry><refentrytitle>Xserver</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> + <member><citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member> + <!-- ToDO: Add manual pages for the single Xprint DDX implementations (PostScript/PDF/PCL/PCL-MONO/Raster/etc.) --> + <member><citerefentry><refentrytitle>libXp</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member> + <member><citerefentry><refentrytitle>libXprintUtils</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member> + <member><citerefentry><refentrytitle>libXprintAppUtils</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member> + <member><citerefentry><refentrytitle>XmPrintShell</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member> + <member><citerefentry><refentrytitle>XawPrintShell</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member> + <member>Xprint FAQ (<ulink url="http://xprint.mozdev.org/docs/Xprint_FAQ.html">http://xprint.mozdev.org/docs/Xprint_FAQ.html</ulink>)</member> + <member>Xprint main site (<ulink url="http://xprint.mozdev.org/">http://xprint.mozdev.org/</ulink>)</member> + </simplelist> + </para> + </refsect1> + +</refentry> + + |