diff --git a/Makefile.in b/Makefile.in index e5808a3..cffb144 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,5 +1,5 @@ # -# "$Id: Makefile.in,v 1.5 2003/06/05 13:49:14 mike Exp $" +# "$Id: Makefile.in,v 1.6 2003/06/15 00:44:33 mike Exp $" # # Makefile for mini-XML, a small XML-like file parsing library. # @@ -23,9 +23,14 @@ AR = @AR@ ARFLAGS = @ARFLAGS@ CC = @CC@ -CFLAGS = @CFLAGS@ @CPPFLAGS@ -LDFLAGS = @LDFLAGS@ +CFLAGS = $(OPTIM) @CFLAGS@ @CPPFLAGS@ +CP = @CP@ +LDFLAGS = $(OPTIM) @LDFLAGS@ +MKDIR = @MKDIR@ +NROFF = @NROFF@ +OPTIM = @OPTIM@ RANLIB = @RANLIB@ +RM = @RM@ -f SHELL = /bin/sh @@ -35,26 +40,42 @@ SHELL = /bin/sh prefix = @prefix@ exec_prefix = @exec_prefix@ +bindir = @bindir@ includedir = @includedir@ libdir = @libdir@ +mandir = @mandir@ +docdir = @docdir@ +BUILDROOT = $(DSTROOT) + + +# +# Manpage extensions... +# + +CAT1EXT = @CAT1EXT@ +MAN1EXT = @MAN1EXT@ # # Rules... # -.SUFFIXES: .c .o +.SUFFIXES: .0 .1 .c .man .o .c.o: $(CC) $(CFLAGS) -c $< +.man.0 .man.1: + $(RM) $@ + $(NROFF) -man $< >$@ # # Targets... # +DOCFILES = index.html documentation.html README COPYING CHANGES LIBOBJS = mxml-attr.o mxml-file.o mxml-node.o mxml-search.o OBJS = mxmldoc.o testmxml.o $(LIBOBJS) -TARGETS = libmxml.a mxmldoc testmxml mxml.xml +TARGETS = libmxml.a mxmldoc mxmldoc.$(CAT1EXT) testmxml mxml.xml # @@ -69,10 +90,10 @@ all: Makefile configure $(TARGETS) # clean: - rm -f $(OBJS) $(TARGETS) - rm -f *.bck *.bak - rm -f config.cache config.log config.status - rm -rf autom4te*.cache + $(RM) $(OBJS) $(TARGETS) + $(RM) *.bck *.bak + $(RM) config.cache config.log config.status + $(RM) -r autom4te*.cache # @@ -80,10 +101,18 @@ clean: # install: $(TARGETS) - -mkdir -p $(libdir) - cp libmxml.a $(libdir) - -mkdir -p $(includedir) - cp mxml.h $(includedir) + -$(MKDIR) -p $(BUILDROOT)/$(bindir) + $(CP) mxmldoc $(BUILDROOT)/$(bindir) + -$(MKDIR) -p $(BUILDROOT)/$(docdir) + $(CP) $(DOCFILES) $(BUILDROOT)/$(docdir) + -$(MKDIR) -p $(BUILDROOT)/$(includedir) + $(CP) mxml.h $(BUILDROOT)/$(includedir) + -$(MKDIR) -p $(BUILDROOT)/$(libdir) + $(CP) libmxml.a $(BUILDROOT)/$(libdir) + -$(MKDIR) -p $(BUILDROOT)/$(mandir)/cat1 + $(CP) mxmldoc.$(CAT1EXT) $(BUILDROOT)/$(mandir)/cat1/mxmldoc.$(CAT1EXT) + -$(MKDIR) -p $(BUILDROOT)/$(mandir)/man1 + $(CP) mxmldoc.man $(BUILDROOT)/$(mandir)/man1/mxmldoc.$(MAN1EXT) # @@ -91,8 +120,12 @@ install: $(TARGETS) # uninstall: - rm -f $(libdir)/libmxml.a - rm -f $(includedir)/mxml.h + $(RM) $(BUILDROOT)/$(bindir)/mxmldoc + $(RM) -r $(BUILDROOT)/$(docdir) + $(RM) $(BUILDROOT)/$(includedir)/mxml.h + $(RM) $(BUILDROOT)/$(libdir)/libmxml.a + $(RM) $(BUILDROOT)/$(mandir)/cat1/mxmldoc.$(CAT1EXT) + $(RM) $(BUILDROOT)/$(mandir)/man1/mxmldoc.$(MAN1EXT) # @@ -122,7 +155,7 @@ configure: configure.in # libmxml.a: $(LIBOBJS) - rm -f $@ + $(RM) $@ $(AR) $(ARFLAGS) $@ $(LIBOBJS) $(RANLIB) $@ @@ -150,7 +183,7 @@ testmxml: libmxml.a testmxml.o @./testmxml temp1.xml >temp2.xml @if cmp temp1.xml temp2.xml; then \ echo Test passed!; \ - rm -f temp1.xml temp2.xml; \ + $(RM) temp1.xml temp2.xml; \ else \ echo Test failed!; \ fi @@ -163,7 +196,7 @@ testmxml.o: mxml.h # mxml.xml: mxmldoc mxml.h $(LIBOBJS:.o=.c) - rm -f mxml.xml + $(RM) mxml.xml ./mxmldoc mxml.xml mxml.h $(LIBOBJS:.o=.c) >documentation.html @@ -175,5 +208,5 @@ $(OBJS): Makefile # -# End of "$Id: Makefile.in,v 1.5 2003/06/05 13:49:14 mike Exp $". +# End of "$Id: Makefile.in,v 1.6 2003/06/15 00:44:33 mike Exp $". # diff --git a/README b/README index 1336ad2..683d428 100644 --- a/README +++ b/README @@ -1,11 +1,10 @@ -README - 06/05/2003 +README - 06/14/2003 ------------------- INTRODUCTION - This README file describes the Mini-XML library version - 0.93. + This README file describes the Mini-XML library version 1.0. Mini-XML is a small XML parsing library that you can use to read XML and XML-like data files in your application without diff --git a/configure b/configure index fcdc725..3bd119a 100755 --- a/configure +++ b/configure @@ -786,6 +786,16 @@ if test -n "$ac_init_help"; then cat <<\_ACEOF +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-debug turn on debugging default=no + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-docdir set directory for documentation + Some influential environment variables: CC C compiler command CFLAGS C compiler flags @@ -1144,46 +1154,35 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -#AC_PREFIX_DEFAULT(/usr) -# Extract the first word of "ar", so it can be a program name with args. -set dummy ar; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_AR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + +CFLAGS="${CFLAGS:=}" +CXXFLAGS="${CXXFLAGS:=}" +LDFLAGS="${LDFLAGS:=}" + +OPTIM="-O" + + +# Check whether --enable-debug or --disable-debug was given. +if test "${enable_debug+set}" = set; then + enableval="$enable_debug" + if eval "test x$enable_debug = xyes"; then + OPTIM="-g" else - case $AR in - [\\/]* | ?:[\\/]*) - ac_cv_path_AR="$AR" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_AR="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - ;; -esac + LDFLAGS="$LDFLAGS -s" fi -AR=$ac_cv_path_AR +fi; -if test -n "$AR"; then - echo "$as_me:$LINENO: result: $AR" >&5 -echo "${ECHO_T}$AR" >&6 + +# Check whether --with-docdir or --without-docdir was given. +if test "${with_docdir+set}" = set; then + withval="$with_docdir" + docdir="$withval" else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi + docdir="NONE" +fi; + + ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -2347,6 +2346,247 @@ else RANLIB="$ac_cv_prog_RANLIB" fi +# Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $AR in + [\\/]* | ?:[\\/]*) + ac_cv_path_AR="$AR" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_AR="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + ;; +esac +fi +AR=$ac_cv_path_AR + +if test -n "$AR"; then + echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +# Extract the first word of "cp", so it can be a program name with args. +set dummy cp; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_CP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $CP in + [\\/]* | ?:[\\/]*) + ac_cv_path_CP="$CP" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_CP="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + ;; +esac +fi +CP=$ac_cv_path_CP + +if test -n "$CP"; then + echo "$as_me:$LINENO: result: $CP" >&5 +echo "${ECHO_T}$CP" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +# Extract the first word of "mkdir", so it can be a program name with args. +set dummy mkdir; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_MKDIR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MKDIR in + [\\/]* | ?:[\\/]*) + ac_cv_path_MKDIR="$MKDIR" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_MKDIR="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + ;; +esac +fi +MKDIR=$ac_cv_path_MKDIR + +if test -n "$MKDIR"; then + echo "$as_me:$LINENO: result: $MKDIR" >&5 +echo "${ECHO_T}$MKDIR" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +# Extract the first word of "nroff", so it can be a program name with args. +set dummy nroff; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_NROFF+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $NROFF in + [\\/]* | ?:[\\/]*) + ac_cv_path_NROFF="$NROFF" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_NROFF="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + ;; +esac +fi +NROFF=$ac_cv_path_NROFF + +if test -n "$NROFF"; then + echo "$as_me:$LINENO: result: $NROFF" >&5 +echo "${ECHO_T}$NROFF" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +if test x$NROFF = x; then + # Extract the first word of "groff", so it can be a program name with args. +set dummy groff; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_GROFF+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $GROFF in + [\\/]* | ?:[\\/]*) + ac_cv_path_GROFF="$GROFF" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_GROFF="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + ;; +esac +fi +GROFF=$ac_cv_path_GROFF + +if test -n "$GROFF"; then + echo "$as_me:$LINENO: result: $GROFF" >&5 +echo "${ECHO_T}$GROFF" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + if test x$GROFF = x; then + NROFF="echo" + else + NROFF="$GROFF -T ascii" + fi +fi +# Extract the first word of "rm", so it can be a program name with args. +set dummy rm; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_RM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $RM in + [\\/]* | ?:[\\/]*) + ac_cv_path_RM="$RM" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_RM="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + ;; +esac +fi +RM=$ac_cv_path_RM + +if test -n "$RM"; then + echo "$as_me:$LINENO: result: $RM" >&5 +echo "${ECHO_T}$RM" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + case "`uname`" in Darwin* | *BSD*) @@ -2363,7 +2603,52 @@ if test -n "$GCC"; then CFLAGS="-Wall $CFLAGS" fi -ac_config_files="$ac_config_files Makefile" +if test "$prefix" = "NONE"; then + prefix="/usr/local" +fi + +if test "$exec_prefix" = "NONE"; then + exec_prefix="$prefix" +fi + +if test "$docdir" = "NONE"; then + docdir="$datadir/doc/mxml" +fi + +if test "$mandir" = "\${prefix}/man" -a "$prefix" = "/usr"; then + case "$uname" in + *BSD* | Darwin* | Linux*) + # BSD, Darwin (MacOS X), and Linux + mandir="/usr/share/man" + ;; + IRIX*) + # SGI IRIX + mandir="/usr/share/catman/u_man" + ;; + *) + # All others + mandir="/usr/man" + ;; + esac +fi + +case "$uname" in + *BSD* | Darwin*) + # *BSD + CAT1EXT="0" + MAN1EXT="1" + ;; + *) + # All others + CAT1EXT="1" + MAN1EXT="1" + ;; +esac + + + + +ac_config_files="$ac_config_files Makefile mxml.list" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure @@ -2861,6 +3146,7 @@ do case "$ac_config_target" in # Handling of arguments. "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "mxml.list" ) CONFIG_FILES="$CONFIG_FILES mxml.list" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; @@ -2941,10 +3227,11 @@ s,@ECHO_C@,$ECHO_C,;t t s,@ECHO_N@,$ECHO_N,;t t s,@ECHO_T@,$ECHO_T,;t t s,@LIBS@,$LIBS,;t t -s,@AR@,$AR,;t t +s,@LDFLAGS@,$LDFLAGS,;t t +s,@OPTIM@,$OPTIM,;t t +s,@docdir@,$docdir,;t t s,@CC@,$CC,;t t s,@CFLAGS@,$CFLAGS,;t t -s,@LDFLAGS@,$LDFLAGS,;t t s,@CPPFLAGS@,$CPPFLAGS,;t t s,@ac_ct_CC@,$ac_ct_CC,;t t s,@EXEEXT@,$EXEEXT,;t t @@ -2954,7 +3241,15 @@ s,@CXXFLAGS@,$CXXFLAGS,;t t s,@ac_ct_CXX@,$ac_ct_CXX,;t t s,@RANLIB@,$RANLIB,;t t s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t +s,@AR@,$AR,;t t +s,@CP@,$CP,;t t +s,@MKDIR@,$MKDIR,;t t +s,@NROFF@,$NROFF,;t t +s,@GROFF@,$GROFF,;t t +s,@RM@,$RM,;t t s,@ARFLAGS@,$ARFLAGS,;t t +s,@CAT1EXT@,$CAT1EXT,;t t +s,@MAN1EXT@,$MAN1EXT,;t t CEOF _ACEOF diff --git a/configure.in b/configure.in index 4498b86..25b2863 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,5 @@ dnl -dnl "$Id: configure.in,v 1.2 2003/06/04 00:30:04 mike Exp $" +dnl "$Id: configure.in,v 1.3 2003/06/15 00:44:33 mike Exp $" dnl dnl Configuration script for mini-XML, a small XML-like file parsing library. dnl @@ -17,13 +17,47 @@ dnl GNU General Public License for more details. dnl AC_INIT(mxml.h) -#AC_PREFIX_DEFAULT(/usr) + +dnl Clear default debugging options and set normal optimization by +dnl default unless the user asks for debugging specifically. + +CFLAGS="${CFLAGS:=}" +CXXFLAGS="${CXXFLAGS:=}" +LDFLAGS="${LDFLAGS:=}" +AC_SUBST(LDFLAGS) +OPTIM="-O" +AC_SUBST(OPTIM) + +AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]], +if eval "test x$enable_debug = xyes"; then + OPTIM="-g" +else + LDFLAGS="$LDFLAGS -s" +fi) + +AC_ARG_WITH(docdir, [ --with-docdir set directory for documentation], + docdir="$withval", + docdir="NONE") + +AC_SUBST(docdir) dnl Checks for programs... -AC_PATH_PROG(AR,ar) AC_PROG_CC AC_PROG_CXX AC_PROG_RANLIB +AC_PATH_PROG(AR,ar) +AC_PATH_PROG(CP,cp) +AC_PATH_PROG(MKDIR,mkdir) +AC_PATH_PROG(NROFF,nroff) +if test x$NROFF = x; then + AC_PATH_PROG(GROFF,groff) + if test x$GROFF = x; then + NROFF="echo" + else + NROFF="$GROFF -T ascii" + fi +fi +AC_PATH_PROG(RM,rm) dnl Flags for "ar" command... case "`uname`" in @@ -42,9 +76,59 @@ if test -n "$GCC"; then CFLAGS="-Wall $CFLAGS" fi -dnl Output the makefile... -AC_OUTPUT(Makefile) +dnl Fix "prefix" variable if it hasn't been specified... +if test "$prefix" = "NONE"; then + prefix="/usr/local" +fi + +dnl Fix "exec_prefix" variable if it hasn't been specified... +if test "$exec_prefix" = "NONE"; then + exec_prefix="$prefix" +fi + +dnl Fix "docdir" variable if it hasn't been specified... +if test "$docdir" = "NONE"; then + docdir="$datadir/doc/mxml" +fi + +dnl Fix "mandir" variable if it hasn't been specified... +if test "$mandir" = "\${prefix}/man" -a "$prefix" = "/usr"; then + case "$uname" in + *BSD* | Darwin* | Linux*) + # BSD, Darwin (MacOS X), and Linux + mandir="/usr/share/man" + ;; + IRIX*) + # SGI IRIX + mandir="/usr/share/catman/u_man" + ;; + *) + # All others + mandir="/usr/man" + ;; + esac +fi + +dnl More manpage stuff... +case "$uname" in + *BSD* | Darwin*) + # *BSD + CAT1EXT="0" + MAN1EXT="1" + ;; + *) + # All others + CAT1EXT="1" + MAN1EXT="1" + ;; +esac + +AC_SUBST(CAT1EXT) +AC_SUBST(MAN1EXT) + +dnl Output the makefile, etc... +AC_OUTPUT(Makefile mxml.list) dnl -dnl End of "$Id: configure.in,v 1.2 2003/06/04 00:30:04 mike Exp $". +dnl End of "$Id: configure.in,v 1.3 2003/06/15 00:44:33 mike Exp $". dnl diff --git a/index.html b/index.html index 0517aa8..0a8a2f0 100644 --- a/index.html +++ b/index.html @@ -16,8 +16,8 @@ href="../index.html">Back to Home Page ]
Current Release: v0.94 Current Release: v1.0
-[ Download Source (.tar.gz
+
+[ Download Source (.tar.gz
51k) | Change Log | Documentation | Rate/Make Comments ]
Nodes are defined by the mxml_node_t +href="documentation.html#mxml_node_t">mxml_node_t structure; the type member +href="documentation.html#mxml_type_t">type member defines the node type (element, integer, opaque, real, or text) which determines which value you want to look at in the value +href="documentation.html#mxml_value_t">value union. New nodes can be created using the mxmlNewElement(), +Vendor: Mike Sweet + +# Use buildroot so as not to disturb the version already installed +BuildRoot: /var/tmp/%{name}-root + +%description +Mini-XML is a small XML parsing library that you can use to read +XML and XML-like data files in your application without +requiring large non-standard libraries. Mini-XML provides the +following functionality: + + - Reading and writing of UTF-8 encoded XML files. + - Data is stored in a linked-list tree structure, preserving + the XML data hierarchy. + - Supports arbitrary element names, attributes, and + attribute values with no preset limits, just available + memory. + - Supports integer, real, opaque ("cdata"), and text data + types in "leaf" nodes. + - Functions for creating and managing trees of data. + - "Find" and "walk" functions for easily locating and + navigating trees of data. + +Mini-XML doesn't do validation or other types of processing on +the data based upon schema files or other sources of definition +information, nor does it support character entities other than +those required by the XML specification. Also, since Mini-XML +does not support the UTF-16 encoding, it is technically not a +conforming XML consumer/client. + +%prep +%setup + +%build +CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" LDFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=/usr + +# If we got this far, all prerequisite libraries must be here. +make + +%install +# Make sure the RPM_BUILD_ROOT directory exists. +rm -rf $RPM_BUILD_ROOT + +make BUILDROOT=$RPM_BUILD_ROOT install + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root) + +%dir /usr/bin +/usr/bin/* +%dir /usr/include +/usr/include/* +%dir /usr/lib +/usr/lib/* +%dir /usr/share/doc/mxml +/usr/share/doc/mxml/* +%dir /usr/share/man/cat1 +/usr/share/man/cat1/* +%dir /usr/share/man/man1 +/usr/share/man/man1/* + +# +# End of "$Id: mxml.spec,v 1.1 2003/06/15 00:44:34 mike Exp $". +# diff --git a/mxmldoc.man b/mxmldoc.man new file mode 100644 index 0000000..77e0f98 --- /dev/null +++ b/mxmldoc.man @@ -0,0 +1,48 @@ +.\" +.\" "$Id: mxmldoc.man,v 1.1 2003/06/15 00:44:34 mike Exp $" +.\" +.\" mxmldoc man page for mini-XML, a small XML-like file parsing library. +.\" +.\" Copyright 2003 by Michael Sweet. +.\" +.\" This program is free software; you can redistribute it and/or +.\" modify it under the terms of the GNU Library General Public +.\" License as published by the Free Software Foundation; either +.\" version 2, 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. +.\" +.TH mxmldoc 1 "mini-XML" "14 June 2003" "Michael Sweet" +.SH NAME +mxmldoc \- mini-xml documentation generator +.SH SYNOPSIS +.B mxmldoc +.I filename.xml +[ +.I source file(s) +] > +.I filename.html +.SH DESCRIPTION +\fImxmldoc\fR scans the specified C and C++ source files to +produce an XML representation of globally accessible classes, +constants, enumerations, functions, structures, typedefs, +unions, and variables. The XML file is updated as necessary and +a HTML representation of the XML file is written to the standard +output. If no source files are specified then the current XML +file is converted to HTML on the standard output. +.PP +In general, any C or C++ source code is handled by +\fImxmldoc\fR, however it was specifically written to handle +code with documentation that is formatted according to the CUPS +Configuration Management Plan which is available at +"http://www.cups.org/documentation.html". +.SH SEE ALSO +CUPS Configuration Management Plan. +.SH COPYRIGHT +Copyright 2003 by Michael Sweet. +.\" +.\" End of "$Id: mxmldoc.man,v 1.1 2003/06/15 00:44:34 mike Exp $". +.\"