File Name
README.md
XForms Version 1.0.92

This is the Free Software distribution of the XForms Library, a
graphical user interface toolkit for X Window Systems.

It should work under X11 R4, R5 & R6. XForms is free software. It is
licensed under the GNU LGPL (Lesser General Public License) version 2.1.
See the file COPYING.LIB for the gory details.


What's new?
-----------

Since XForms is under constant developed the latest stable (i.e.,
hopefully suitable for use with producion code) version can al-
ways be downloaded via `xforms.latest_stable.tar.gz'. All versions
considered to be "production-ready" have - since version 1.2.0 -
an even release number, "development versions an odd one (e.g.,
1.3 marks a development version in preparation for a "stable"
1.4 release).

The supplied documentation (in PDF and HTML format) and other
files are, unless when specifically marked with a version number,
for the latest stable release.

For information about changes between different releases
please see the file ChangeLog in the source code.


Getting XForms
--------------

The XForms homepage is accessible at

http://xforms-toolkit.org/

The sources can be downloaded from the project page at

https://savannah.nongnu.org/projects/xforms/

See the `Download Area' on that page. On this page you should
normally select the file named 'xforms.latest_stable.tar.gz'
(which points to the latest stable release) to download the
sources - unless you specifically need a certain older
version (or a development version for testing purposes).

Note that (pre-compiled) versions of the XForms library
coming as packages with different distributions typically
have a name starting with `libforms' (e.g., `libforms' for
the library itself, `libforms-dev' for header files and
development tools and `libforms-doc' for the documentation).


Keeping in touch
----------------

There is a mailing list for XForms. To subscribe (or unsubscribe)
go to

http://lists.nongnu.org/mailman/listinfo/xforms-development

or send an email to

[email protected]

with a subject line consisting of just 'subscribe' or 'unsubscribe'.

To use the mailing list, send your message to

[email protected]

Remember your message will be sent to many people. Please DO NOT send
subscribe/unsubscribe messages to the list, send it to
[email protected]

The archive of the mailing list can be found at

http://lists.gnu.org/archive/html/xforms-development/

Messages sent to the mailing list before August 2009 are at

http://xforms-toolkit.org/old-archive/


Compiling XForms
----------------

You should be able to compile XForms on any 'reasonable' flavour of
unix.

XForms relies on several other libraries, namely

* libXpm, version 4.7 or newer.
* libjpeg, 6.0b or newer.
* libGL (optional)

Note that if you use packages for these from your distribution
you have to install the development versions of these packages.

You will find generic installation instructions common to all
autoconf-based packages in the file INSTALL. In general, all it
takes to compile and install XForms is

./configure
make
make install

There are some features that you may want to control via
passing additional options to `./configure':

o --disable-gl makes sure that gl support is not built even if
you have proper GL libraries installed.

o --enable-demos adds "demos/" to the list of directories to
build. It contains various program demonstrating the use of the
XForms library (note that these programs won't get installed,
they remain in the source tree and can be used without in-
stalling the libraries).

o --enable-docs enables the creation of the documentation for
the libraries. This requires additional tools to be installed
and is thus not the default setting.

For more complicated cases, `./configure' takes the following specific
flags:

o --with-extra-lib=DIRECTORY that specifies the path where XForms will
find extra libraries (Xpm, jpeg...) it needs. Defaults to NONE
(i.e. search in standard places). You can specify several
directories, separated by colons.

o --with-extra-inc=DIRECTORY that gives the place where XForms will find
headers. Defaults to NONE (i.e. search in standard places).
You can specify several directories, separated by colons.

o --with-extra-prefix[=DIRECTORY] that is equivalent to
--with-extra-lib=DIRECTORY/lib --with-extra-inc=DIRECTORY/include
If DIRECTORY is not specified, the current prefix is used.

o --enable-optimization=VALUE enables you to set optimization to a
higher level as the default (-O), for example --enable-optimization=-O3.

o --disable-optimization - you can use this to disable compiler
optimization of LyX. The compile may be much quicker with some
compilers, but XForms applications will run more slowly.

o --enable-debug will add debug information to your binary. This
requires a lot more disk space, but is a must if you want to try to
debug problems in XForms. The default is to have debug information
for development versions and prereleases only.

o --enable-bwc-bs-hack enables some workarounds for incompatibilities
that may keep very old programs using XForms from working correctly.
Please only use as a last resort.

Moreover, the following generic configure flags may be useful:

o --prefix=DIRECTORY specifies the root directory to use for
installation. [defaults to /usr/local]

o --enable-maintainer-mode enables some code that automatically
rebuilds the configure script, makefiles templates and other useful
files when needed. This is off by default, to avoid surprises.

Note that the --with-extra-* commands are not really robust when it
comes to use of relative paths. If you really want to use a relative path
here, you can prepend it with "`pwd`/".

If you do not like the default compile flags used (-g -O on gcc), you can
set CFLAGS variable to other values as follows:

./configure CFLAGS='-O2' <other-options>

Similarly, if you want to force the use of some specific compiler, you can
give a value to the CC variable.

The following option might be useful in desperate cases:

o --enable-warnings that make the compiler output more warnings during
the compilation. Opposite is --disable-warnings.

The full list of options `./configure' accepts is printed out when
you start it with the `--help' option.