aboutsummaryrefslogtreecommitdiff
path: root/readline/README
diff options
context:
space:
mode:
Diffstat (limited to 'readline/README')
-rw-r--r--readline/README111
1 files changed, 81 insertions, 30 deletions
diff --git a/readline/README b/readline/README
index f19f925..56565b2 100644
--- a/readline/README
+++ b/readline/README
@@ -1,7 +1,7 @@
Introduction
============
-This is the Gnu Readline library, version 2.2
+This is the Gnu Readline library, version 4.0.
The Readline library provides a set of functions for use by applications
that allow users to edit command lines as they are typed in. Both
@@ -34,8 +34,8 @@ may work:
Read the file INSTALL in this directory for more information about how
to customize and control the build process.
-The file rlconf.h contains defines that enable and disable certain
-Readline features.
+The file rlconf.h contains C preprocessor defines that enable and disable
+certain Readline features.
Examples
========
@@ -49,32 +49,83 @@ Shared Libraries
================
There is skeletal support for building shared versions of the
-Readline and History libraries.
-
-Typing `make shared' will cause shared versions of the Readline and
-History libraries to be built on SunOS 4.1.x. For versions of Unix
-other than SunOS, you will have to make some changes to Makefile.in.
-The relevant variables are:
-
-PICFLAG Options to give to the compiler to produce position-independent
- code. The value `-fpic' works for most versions of gcc.
-SHLIB_OPTS Options to give to the linker to produce a shared library.
- The value `-assert pure-text -ldl' works on SunOS 4.1.x.
- The value `-Bshareable' works for some versions of GNU ld.
-
-MAJOR The major version number of the shared library. You should
- not need to change this.
-MINOR The minor version number of the shared library. Some systems,
- such as SVR4 and its descendents (e.g., Solaris, Unixware),
- do not use minor version numbers. For those systems, this
- variable should be left unset.
-
-LD The linker. The value of `ld' is correct for SunOS 4.1.x.
- You may need to change it to `gcc'; make sure to change
- SHLIB_OPTS if you do so.
-
-Once you have edited Makefile.in, type `make Makefile' to rebuild the
-Makefile, then `make shared' to build the shared libraries.
+Readline and History libraries. The configure script creates
+a Makefile in the `shlib' subdirectory, and typing `make shared'
+will cause shared versions of the Readline and History libraries
+to be built on supported platforms.
+
+Configure calls the script support/shobj-conf to test whether or
+not shared library creation is supported and to generate the values
+of variables that are substituted into shlib/Makefile. If you
+try to build shared libraries on an unsupported platform, `make'
+will display a message asking you to update support/shobj-conf for
+your platform.
+
+If you need to update support/shobj-conf, you will need to create
+a `stanza' for your operating system and compiler. The script uses
+the value of host_os and ${CC} as determined by configure. For
+instance, FreeBSD 2.2.5 with any version of gcc is identified as
+`freebsd2.2.5-gcc*'.
+
+In the stanza for your operating system-compiler pair, you will need to
+define several variables. They are:
+
+SHOBJ_CC The C compiler used to compile source files into shareable
+ object files. This is normally set to the value of ${CC}
+ by configure, and should not need to be changed.
+
+SHOBJ_CFLAGS Flags to pass to the C compiler ($SHOBJ_CC) to create
+ position-independent code. If you are using gcc, this
+ should probably be set to `-fpic'.
+
+SHOBJ_LD The link editor to be used to create the shared library from
+ the object files created by $SHOBJ_CC. If you are using
+ gcc, a value of `gcc' will probably work.
+
+SHOBJ_LDFLAGS Flags to pass to SHOBJ_LD to enable shared object creation.
+ If you are using gcc, `-shared' may be all that is necessary.
+ These should be the flags needed for generic shared object
+ creation.
+
+SHLIB_XLDFLAGS Additional flags to pass to SHOBJ_LD for shared library
+ creation. Many systems use the -R option to the link
+ editor to embed a path within the library for run-time
+ library searches. A reasonable value for such systems would
+ be `-R$(libdir)'.
+
+SHLIB_LIBS Any additional libraries that shared libraries should be
+ linked against when they are created.
+
+SHLIB_LIBSUFF The suffix to add to `libreadline' and `libhistory' when
+ generating the filename of the shared library. Many systems
+ use `so'; HP-UX uses `sl'.
+
+SHLIB_LIBVERSION The string to append to the filename to indicate the version
+ of the shared library. It should begin with $(SHLIB_LIBSUFF),
+ and possibly include version information that allows the
+ run-time loader to load the version of the shared library
+ appropriate for a particular program. Systems using shared
+ libraries similar to SunOS 4.x use major and minor library
+ version numbers; for those systems a value of
+ `$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' is appropriate.
+ Systems based on System V Release 4 don't use minor version
+ numbers; use `$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' on those systems.
+ Other Unix versions use different schemes.
+
+SHLIB_STATUS Set this to `supported' when you have defined the other
+ necessary variables. Make uses this to determine whether
+ or not shared library creation should be attempted.
+
+You should look at the existing stanzas in support/shobj-conf for ideas.
+
+Once you have updated support/shobj-conf, re-run configure and type
+`make shared'. The shared libraries will be created in the shlib
+subdirectory.
+
+Since shared libraries are not created on all platforms, `make install'
+will not automatically install the shared libraries. To install them,
+change the current directory to shlib and type `make install'. Running
+`make install-shared' from the top-level build directory will also work.
Documentation
=============
@@ -93,7 +144,7 @@ Bug reports for Readline should be sent to:
When reporting a bug, please include the following information:
- * the version number and release status of Readline (e.g., 2.2-release)
+ * the version number and release status of Readline (e.g., 4.0-release)
* the machine and OS that it is running on
* a list of the compilation flags or the contents of `config.h', if
appropriate