summaryrefslogtreecommitdiffstats
path: root/INSTALL
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--INSTALL368
-rw-r--r--INSTALL.html381
2 files changed, 749 insertions, 0 deletions
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..e82fd21
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,368 @@
+Installation Instructions
+*************************
+
+ Copyright (C) 1994-1996, 1999-2002, 2004-2017, 2020-2021 Free
+Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved. This file is offered as-is,
+without warranty of any kind.
+
+Basic Installation
+==================
+
+ Briefly, the shell command './configure && make && make install'
+should configure, build, and install this package. The following
+more-detailed instructions are generic; see the 'README' file for
+instructions specific to this package. Some packages provide this
+'INSTALL' file but do not implement all of the features documented
+below. The lack of an optional feature in a given package is not
+necessarily a bug. More recommendations for GNU packages can be found
+in *note Makefile Conventions: (standards)Makefile Conventions.
+
+ The 'configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation. It uses
+those values to create a 'Makefile' in each directory of the package.
+It may also create one or more '.h' files containing system-dependent
+definitions. Finally, it creates a shell script 'config.status' that
+you can run in the future to recreate the current configuration, and a
+file 'config.log' containing compiler output (useful mainly for
+debugging 'configure').
+
+ It can also use an optional file (typically called 'config.cache' and
+enabled with '--cache-file=config.cache' or simply '-C') that saves the
+results of its tests to speed up reconfiguring. Caching is disabled by
+default to prevent problems with accidental use of stale cache files.
+
+ If you need to do unusual things to compile the package, please try
+to figure out how 'configure' could check whether to do them, and mail
+diffs or instructions to the address given in the 'README' so they can
+be considered for the next release. If you are using the cache, and at
+some point 'config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+ The file 'configure.ac' (or 'configure.in') is used to create
+'configure' by a program called 'autoconf'. You need 'configure.ac' if
+you want to change it or regenerate 'configure' using a newer version of
+'autoconf'.
+
+ The simplest way to compile this package is:
+
+ 1. 'cd' to the directory containing the package's source code and type
+ './configure' to configure the package for your system.
+
+ Running 'configure' might take a while. While running, it prints
+ some messages telling which features it is checking for.
+
+ 2. Type 'make' to compile the package.
+
+ 3. Optionally, type 'make check' to run any self-tests that come with
+ the package, generally using the just-built uninstalled binaries.
+
+ 4. Type 'make install' to install the programs and any data files and
+ documentation. When installing into a prefix owned by root, it is
+ recommended that the package be configured and built as a regular
+ user, and only the 'make install' phase executed with root
+ privileges.
+
+ 5. Optionally, type 'make installcheck' to repeat any self-tests, but
+ this time using the binaries in their final installed location.
+ This target does not install anything. Running this target as a
+ regular user, particularly if the prior 'make install' required
+ root privileges, verifies that the installation completed
+ correctly.
+
+ 6. You can remove the program binaries and object files from the
+ source code directory by typing 'make clean'. To also remove the
+ files that 'configure' created (so you can compile the package for
+ a different kind of computer), type 'make distclean'. There is
+ also a 'make maintainer-clean' target, but that is intended mainly
+ for the package's developers. If you use it, you may have to get
+ all sorts of other programs in order to regenerate files that came
+ with the distribution.
+
+ 7. Often, you can also type 'make uninstall' to remove the installed
+ files again. In practice, not all packages have tested that
+ uninstallation works correctly, even though it is required by the
+ GNU Coding Standards.
+
+ 8. Some packages, particularly those that use Automake, provide 'make
+ distcheck', which can by used by developers to test that all other
+ targets like 'make install' and 'make uninstall' work correctly.
+ This target is generally not run by end users.
+
+Compilers and Options
+=====================
+
+ Some systems require unusual options for compilation or linking that
+the 'configure' script does not know about. Run './configure --help'
+for details on some of the pertinent environment variables.
+
+ You can give 'configure' initial values for configuration parameters
+by setting variables in the command line or in the environment. Here is
+an example:
+
+ ./configure CC=c99 CFLAGS=-g LIBS=-lposix
+
+ *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+ You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory. To do this, you can use GNU 'make'. 'cd' to the
+directory where you want the object files and executables to go and run
+the 'configure' script. 'configure' automatically checks for the source
+code in the directory that 'configure' is in and in '..'. This is known
+as a "VPATH" build.
+
+ With a non-GNU 'make', it is safer to compile the package for one
+architecture at a time in the source code directory. After you have
+installed the package for one architecture, use 'make distclean' before
+reconfiguring for another architecture.
+
+ On MacOS X 10.5 and later systems, you can create libraries and
+executables that work on multiple system types--known as "fat" or
+"universal" binaries--by specifying multiple '-arch' options to the
+compiler but only a single '-arch' option to the preprocessor. Like
+this:
+
+ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CPP="gcc -E" CXXCPP="g++ -E"
+
+ This is not guaranteed to produce working output in all cases, you
+may have to build one architecture at a time and combine the results
+using the 'lipo' tool if you have problems.
+
+Installation Names
+==================
+
+ By default, 'make install' installs the package's commands under
+'/usr/local/bin', include files under '/usr/local/include', etc. You
+can specify an installation prefix other than '/usr/local' by giving
+'configure' the option '--prefix=PREFIX', where PREFIX must be an
+absolute file name.
+
+ You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If you
+pass the option '--exec-prefix=PREFIX' to 'configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+ In addition, if you use an unusual directory layout you can give
+options like '--bindir=DIR' to specify different values for particular
+kinds of files. Run 'configure --help' for a list of the directories
+you can set and what kinds of files go in them. In general, the default
+for these options is expressed in terms of '${prefix}', so that
+specifying just '--prefix' will affect all of the other directory
+specifications that were not explicitly provided.
+
+ The most portable way to affect installation locations is to pass the
+correct locations to 'configure'; however, many packages provide one or
+both of the following shortcuts of passing variable assignments to the
+'make install' command line to change installation locations without
+having to reconfigure or recompile.
+
+ The first method involves providing an override variable for each
+affected directory. For example, 'make install
+prefix=/alternate/directory' will choose an alternate location for all
+directory configuration variables that were expressed in terms of
+'${prefix}'. Any directories that were specified during 'configure',
+but not in terms of '${prefix}', must each be overridden at install time
+for the entire installation to be relocated. The approach of makefile
+variable overrides for each directory variable is required by the GNU
+Coding Standards, and ideally causes no recompilation. However, some
+platforms have known limitations with the semantics of shared libraries
+that end up requiring recompilation when using this method, particularly
+noticeable in packages that use GNU Libtool.
+
+ The second method involves providing the 'DESTDIR' variable. For
+example, 'make install DESTDIR=/alternate/directory' will prepend
+'/alternate/directory' before all installation names. The approach of
+'DESTDIR' overrides is not required by the GNU Coding Standards, and
+does not work on platforms that have drive letters. On the other hand,
+it does better at avoiding recompilation issues, and works well even
+when some directory options were not specified in terms of '${prefix}'
+at 'configure' time.
+
+Optional Features
+=================
+
+ If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving 'configure' the
+option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'.
+
+ Some packages pay attention to '--enable-FEATURE' options to
+'configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to '--with-PACKAGE' options, where PACKAGE
+is something like 'gnu-as' or 'x' (for the X Window System). The
+'README' should mention any '--enable-' and '--with-' options that the
+package recognizes.
+
+ For packages that use the X Window System, 'configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the 'configure' options '--x-includes=DIR' and
+'--x-libraries=DIR' to specify their locations.
+
+ Some packages offer the ability to configure how verbose the
+execution of 'make' will be. For these packages, running './configure
+--enable-silent-rules' sets the default to minimal output, which can be
+overridden with 'make V=1'; while running './configure
+--disable-silent-rules' sets the default to verbose, which can be
+overridden with 'make V=0'.
+
+Particular systems
+==================
+
+ On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC
+is not installed, it is recommended to use the following options in
+order to use an ANSI C compiler:
+
+ ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
+
+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+
+ HP-UX 'make' updates targets which have the same timestamps as their
+prerequisites, which makes it generally unusable when shipped generated
+files such as 'configure' are involved. Use GNU 'make' instead.
+
+ On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
+parse its '<wchar.h>' header file. The option '-nodtk' can be used as a
+workaround. If GNU CC is not installed, it is therefore recommended to
+try
+
+ ./configure CC="cc"
+
+and if that doesn't work, try
+
+ ./configure CC="cc -nodtk"
+
+ On Solaris, don't put '/usr/ucb' early in your 'PATH'. This
+directory contains several dysfunctional programs; working variants of
+these programs are available in '/usr/bin'. So, if you need '/usr/ucb'
+in your 'PATH', put it _after_ '/usr/bin'.
+
+ On Haiku, software installed for all users goes in '/boot/common',
+not '/usr/local'. It is recommended to use the following options:
+
+ ./configure --prefix=/boot/common
+
+Specifying the System Type
+==========================
+
+ There may be some features 'configure' cannot figure out
+automatically, but needs to determine by the type of machine the package
+will run on. Usually, assuming the package is built to be run on the
+_same_ architectures, 'configure' can figure that out, but if it prints
+a message saying it cannot guess the machine type, give it the
+'--build=TYPE' option. TYPE can either be a short name for the system
+type, such as 'sun4', or a canonical name which has the form:
+
+ CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+ OS
+ KERNEL-OS
+
+ See the file 'config.sub' for the possible values of each field. If
+'config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+ If you are _building_ compiler tools for cross-compiling, you should
+use the option '--target=TYPE' to select the type of system they will
+produce code for.
+
+ If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with '--host=TYPE'.
+
+Sharing Defaults
+================
+
+ If you want to set default values for 'configure' scripts to share,
+you can create a site shell script called 'config.site' that gives
+default values for variables like 'CC', 'cache_file', and 'prefix'.
+'configure' looks for 'PREFIX/share/config.site' if it exists, then
+'PREFIX/etc/config.site' if it exists. Or, you can set the
+'CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all 'configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+ Variables not defined in a site shell script can be set in the
+environment passed to 'configure'. However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost. In order to avoid this problem, you should set
+them in the 'configure' command line, using 'VAR=value'. For example:
+
+ ./configure CC=/usr/local2/bin/gcc
+
+causes the specified 'gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).
+
+Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an
+Autoconf limitation. Until the limitation is lifted, you can use this
+workaround:
+
+ CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+'configure' Invocation
+======================
+
+ 'configure' recognizes the following options to control how it
+operates.
+
+'--help'
+'-h'
+ Print a summary of all of the options to 'configure', and exit.
+
+'--help=short'
+'--help=recursive'
+ Print a summary of the options unique to this package's
+ 'configure', and exit. The 'short' variant lists options used only
+ in the top level, while the 'recursive' variant lists options also
+ present in any nested packages.
+
+'--version'
+'-V'
+ Print the version of Autoconf used to generate the 'configure'
+ script, and exit.
+
+'--cache-file=FILE'
+ Enable the cache: use and save the results of the tests in FILE,
+ traditionally 'config.cache'. FILE defaults to '/dev/null' to
+ disable caching.
+
+'--config-cache'
+'-C'
+ Alias for '--cache-file=config.cache'.
+
+'--quiet'
+'--silent'
+'-q'
+ Do not print messages saying which checks are being made. To
+ suppress all normal output, redirect it to '/dev/null' (any error
+ messages will still be shown).
+
+'--srcdir=DIR'
+ Look for the package's source code in directory DIR. Usually
+ 'configure' can determine that directory automatically.
+
+'--prefix=DIR'
+ Use DIR as the installation prefix. *note Installation Names:: for
+ more details, including other options available for fine-tuning the
+ installation locations.
+
+'--no-create'
+'-n'
+ Run the configure checks, but stop before creating any output
+ files.
+
+'configure' also accepts some other, not widely useful, options. Run
+'configure --help' for more details.
diff --git a/INSTALL.html b/INSTALL.html
new file mode 100644
index 0000000..94b1142
--- /dev/null
+++ b/INSTALL.html
@@ -0,0 +1,381 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="https://www.w3.org/1999/xhtml">
+<head>
+ <title>Raptor RDF Syntax Library - Building and Installing from Source</title>
+</head>
+<body>
+
+<h1>Raptor RDF Syntax Library - Building and Installing from Source</h1>
+
+
+<h2>1. Getting the sources</h2>
+
+<p>There are several ways to get the sources. The most stable and
+tested versions are the sources shipped with each release and these
+are recommended as the first place to start. If you want to get a
+newer set, then there are nightly snapshots made of the development
+sources, which may not yet be committed to GIT. For the
+latest developent sources, anonymous GIT access is available
+but this may require some configuring of developer tools that are not
+needed for the snapshot releases.
+</p>
+
+<p>The source bundle and package files contain all the HTML files and
+documentation provided on the web site.
+</p>
+
+<h2>1.1 Getting the sources from releases</h2>
+
+<p><b>This is the recommended source to build and install raptor.</b> It
+ensures that a tested and working set of files are used.</p>
+
+<p>The released sources are available from
+<a href="https://download.librdf.org/source/">https://download.librdf.org/source/</a> (master site).
+Do not use GitHub tagged tarballs, they are not the same thing and
+are not supported.
+</p>
+
+
+<h2>1.2 Getting the sources from GIT</h2>
+
+<p><b>This is the recommended source for developers</b>. It provides
+the latest beta or unstable code. For a stable version, use a release
+as described above.</p>
+
+<pre>
+ git clone git://github.com/dajobe/raptor.git
+ cd raptor
+</pre>
+
+<p>At this stage, or after a <tt>git pull</tt> you will
+need to create the automake and autoconf derived files, as described
+below in <a href="#sec-create-configure">Create the configure program</a>
+by using the <code>autogen.sh</code> script.
+</p>
+
+<p>Building Raptor in this way requires some particular development
+tools not needed when building from snapshot releases - automake,
+autoconf, libtool, gtkdocize and their dependencies.
+The <code>autogen.sh</code> script looks for the newest versions of
+the auto* tools and checks that they meet the minimum versions.
+</p>
+
+<p>gtkdocize can be found in the <code>gtk-doc-tools</code> package
+on Debian-based systems such as Ubuntu, <code>gtk-doc</code> package
+on RPM based systems such as Redhat and Fedora and in the homebrew
+and macports package <code>gtk-doc</code> on OSX.</p>
+
+<h2>2. Configuring and building</h2>
+
+<p>Raptor uses the GNU automake and autoconf to handle system
+dependency checking. It is developed and built on x86 Linux
+and x86 OSX but is also tested on other systems occasionally.
+</p>
+
+<p>Raptor has several optional libraries:</p>
+<ul>
+ <li>The libxml2 XML library (2.6.8 or newer) for parsing XML syntaxes.</li>
+ <li>Libcurl, libxml2 or libfetch for retrieving URIs.</li>
+ <li>libxslt (requiring libxml2 also) to provide the XSLT functionality for the
+ GRDDL and microformats parser.</li>
+ <li><a href="https://lloyd.github.com/yajl/">YAJL</a> to provide JSON
+ parsers if it is available.</li>
+ <li><a href=https://icu.unicode.org">ICU</a> to provide
+ Unicode NFC checking only if enabled with
+ <code>--with-icu-config</code></li>
+</ul>
+
+<h3><a id="sec-create-configure" name="sec-create-configure"></a>2.1. Create <code>configure</code> program</h3>
+
+<p>If there is a <code>configure</code> program, skip to the next
+section.</p>
+
+<p>If there is no <tt>configure</tt> program, you can create it
+using the <tt>autogen.sh</tt> script, as long as you have the
+<a href="https://www.gnu.org/software/automake/automake.html">automake</a> and
+<a href="https://www.gnu.org/software/autoconf/autoconf.html">autoconf</a>
+tools. This is done by:
+</p>
+<pre>
+ ./autogen.sh
+</pre>
+<p>and you can also pass along arguments intended for configure (see
+below for what these are):
+</p>
+<pre>
+ ./autogen.sh --prefix=/usr/local/somewhere
+</pre>
+
+<blockquote>
+<p>On OSX you may have to explicitly set the <code>LIBTOOLIZE</code>
+variable for the <code>libtoolize</code> utility since on
+OSX <code>libtoolize</code> is a different program. The full
+path to the utility should be given:
+</p>
+<pre>
+ LIBTOOLIZE=/opt/local/bin/glibtoolize ./autogen.sh
+</pre>
+</blockquote>
+
+<p>Alternatively you can run them by hand with:
+</p>
+<pre>
+ aclocal; autoheader; automake --add-missing; autoconf
+</pre>
+
+<p>The automake and autoconf tools have many different versions and
+at present development is being done with automake 1.11.1 (minimum
+version 1.11), autoconf 2.65 (minimum version 2.62) and libtool 2.2.10
+(minimum version 2.2.0). These are only needed when compiling from
+GIT sources. autogen.sh enforces the requirements.
+</p>
+
+<p>Raptor also requires specific versions of
+<a href="https://github.com/westes/flex">flex</a> and
+<a href="https://www.gnu.org/software/bison/bison.html">GNU Bison</a>
+to build lexers and parsers. configure will warn or fail if they
+are missing or the installed versions are too old.
+These are <b>only</b> required when building from GIT.
+</p>
+
+
+<h3>2.2 Options for <tt>configure</tt></h3>
+
+<p>Raptor's configure supports the following options:
+</p>
+
+<dl>
+<dt><tt>--disable-nfc-check</tt><br /></dt>
+<dd><p>Disable Unicode Normal Form C (NFC) checking code.
+The code primarily consists of large tables plus some checking code
+which can be removed from the library with this option. All NFC
+checks will succeed when this is disabled.
+</p></dd>
+
+<dt><code>--enable-debug</code><br /></dt>
+<dd><p>Enable debug messages (default not enabled).
+Maintainer mode automatically enables this.
+</p>
+</dd>
+
+<dt><tt>--enable-parsers=PARSERS</tt><br /></dt>
+<dd><p>Pick the RDF parsers to build from the list:<br />
+<code>rdfxml ntriples turtle rss-tag-soup</code><br />
+The default when this option is omitted is to enable all parsers.
+<code>grddl</code> requires libxml2 and libxstl so may not always be
+available. If all parsers are not enabled, parts of the test suite
+will likely fail.
+</p>
+
+<p>The parsers that a built library supports can be found from the
+API level using functions such as
+<code>raptor_parsers_enumerate</code> and
+<code>raptor_syntaxes_enumerate</code> or from the
+<code>rapper</code> utility in the help message.
+</p></dd>
+
+<dt><tt>--enable-serializers=SERIALIZERS</tt><br /></dt>
+<dd><p>Pick the RDF serializers to build from the list:<br />
+<code>rdfxml ntriples rdfxml-abbrev</code><br />
+The default when this option is omitted is to enable all serializers.
+If all serializers are not enabled, parts of the test suite will
+likely fail.
+</p>
+
+<p>The serializers that a built library supports can be found from the
+API level using functions such as
+<code>raptor_serializers_enumerate</code> or from the
+<code>rapper</code> utility in the help message.
+</p></dd>
+
+<dt><tt>--with-memory-signing</tt><br /></dt>
+<dd><p>Enable signing of memory allocations so that when memory is
+allocated with malloc() and released free(), a check is made that the
+memory was allocated in the same library.
+</p></dd>
+
+<dt><tt>--with-www=NAME</tt><br /></dt>
+<dd><p>Pick a WWW library to use - either <tt>curl</tt>,
+<tt>xml</tt> (for libxml), <tt>libwww</tt> for W3C libwww or
+<tt>none</tt> to disable it.
+</p></dd>
+
+<dt><tt>--with-xml2-config=NAME</tt><br /></dt>
+<dd><p>Set the path to the libxml xml2-config program.
+The default is to look for this on the PATH.
+</p></dd>
+
+<dt><tt>--with-xslt-config=NAME</tt><br /></dt>
+<dd><p>Set the path to the libxslt xslt-config program.
+The default is to look for this on the PATH.
+</p></dd>
+
+<dt><tt>--with-curl-config=NAME</tt><br /></dt>
+<dd><p>Set the path to the <a
+href="https://curl.se/libcurl/">libcurl</a> curl-config program.
+The default is to look for this on the PATH.
+</p></dd>
+
+<dt><tt>--with-icu-config=NAME</tt><br /></dt>
+<dd><p>Set the path to the <a href=https://icu.unicode.org">ICU</a>
+icu-config program. This will NOT be searched for on the PATH.
+</p></dd>
+
+<dt><tt>--with-libwww-config=NAME</tt><br /></dt>
+<dd><p>Legacy option that used to support the libwww library.
+</p></dd>
+
+<dt><tt>--with-yajl=DIR|no</tt><br /></dt>
+<dd><p>Build against <a href="https://lloyd.github.com/yajl/">YAJL</a>
+installed into directory <em>DIR</em> or with 'no', disable looking
+for YAJL. The default is to search a set of common installation directories
+such /opt/local, /usr/local and /usr.
+</p></dd>
+
+</dl>
+
+<h3>2.3 Configuring</h3>
+
+<p>The default configuration will install into /usr/local:
+</p>
+<pre>
+ ./configure
+</pre>
+
+<p>To install into the standard Unix / Linux (and also Cygwin) system
+directory, use:
+</p>
+<pre>
+ ./configure --prefix=/usr
+</pre>
+
+
+<p>Append to the line any additional options you need like this:
+</p>
+<pre>
+ ./configure --prefix=/usr --enable-parsers=rdfxml
+</pre>
+
+
+<h3>2.4 Compiling</h3>
+
+<p>Compile the library and the <tt>rapper</tt> utility with:
+</p>
+<pre>
+ make
+</pre>
+<p>Note: GNU make is probably required which may be called
+gmake or gnumake if your system has a different make available too.
+</p>
+
+
+<h3>2.5 Testing</h3>
+
+<p>Raptor has a built-in test suite that can be invoked with:
+</p>
+<pre>
+ make check
+</pre>
+
+<p>which should emit lots of exciting test messages to the screen but
+conclude with something like:<br />
+ <tt>All </tt><em>n</em><tt> tests passed</tt><br />
+if everything works correctly. There will be some Unicode NFC
+checking tests that give ignored failures in 1.3.2 or later as NFC
+checking has been temporarily removed.
+</p>
+
+
+<h3>2.6 Installing</h3>
+
+<p>Install the library and the <tt>rapper</tt> utility into the area
+configure with <code>--prefix</code> (or /usr/local if not given)
+with:</p>
+<pre>
+ make install
+</pre>
+<p>Note: This may require root access if the destination area is
+a system directory such as /usr. In that case you may have to do
+<code>sudo make install</code>.
+</p>
+
+
+<h2>3. Using the library</h2>
+
+<p>Raptor includes a full tutorial and reference manual
+for the library. These are installed into
+<em>PREFIX</em><code>/share/gtk-doc/html/raptor</code>
+and are also available from the
+<a href="https://librdf.org/raptor/api/">Raptor web site</a>.
+</p>
+
+<p>In addition, the examples in the tutorial as well as some other
+example programs are available in the <code>examples</code>
+sub-directory. These can be compiled with:
+</p>
+<pre>
+ cd examples
+
+ # Raptor GUI - only if you have the GTK libraries
+ make grapper
+
+ # If you have all requirements
+ make examples
+</pre>
+
+
+<h3>3.2 rapper utility</h3>
+
+<p>Raptor provides an RDF syntax utility program called
+<em>rapper</em> which can do a variety of parsing and serializing operations.
+</p>
+
+<p>rapper can be run over RDF/XML content like this:
+</p>
+
+<pre>
+ rapper https://librdf.org/raptor/raptor.rdf
+</pre>
+
+<p>Raptor can also extract RDF content inside general XML when the
+<tt>-f scanForRDF</tt> feature is enabled. For example if some
+RDF/XML is embedded inside some SVG, it could be extracted with:
+</p>
+
+<pre>
+ rapper -f scanForRDF /path/to/test/pic.svg
+</pre>
+
+<p>You can also run it on other syntaxes such as
+<a href="https://www.w3.org/TR/rdf-testcases/#ntriples">N-Triples</a>
+files with the <code>-i</code> option like this:
+</p>
+
+<pre>
+ rapper -i ntriples test.nt
+</pre>
+
+<p>The default output is a simple statement dump format, but it can
+be changed to write
+<a href="https://www.w3.org/TR/rdf-testcases/#ntriples">N-Triples</a>
+by using the <code>-o</code> option, like this:
+</p>
+
+<pre>
+ rapper -o ntriples dc.rdf
+</pre>
+
+
+<p>See the rapper manual page for full details using 'man rapper'
+or read the HTML version in docs/rapper.html or on the
+<a href="https://librdf.org/raptor/rapper.html">Raptor website</a>.
+</p>
+
+
+<hr />
+
+<p>Copyright 2000-2023 <a href="https://www.dajobe.org/">Dave Beckett</a><br />Copyright 2000-2005 <a href="https://www.bristol.ac.uk/">University of Bristol</a></p>
+
+</body>
+</html>