This commit was generated by cvs2svn to track changes on a CVS vendor
[deliverable/binutils-gdb.git] / readline / README
index f19f92560a57744e284161c55eab769aa6a61e7c..7aa939452fbc983a1f777478899066f7a8e8f7aa 100644 (file)
@@ -1,7 +1,7 @@
 Introduction
 ============
 
-This is the Gnu Readline library, version 2.2
+This is the Gnu Readline library, version 4.3.
 
 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
@@ -16,8 +16,8 @@ may be used without Readline in applications which desire its
 capabilities.
 
 The Readline library is free software, distributed under the terms of
-the GNU Public License, version 2.  For more information, see the file
-COPYING.
+the [GNU] General Public License, version 2.  For more information, see
+the file COPYING.
 
 To build the library, try typing `./configure', then `make'.  The
 configuration process is automated, so no further intervention should
@@ -34,8 +34,11 @@ 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.
+
+The special make target `everything' will build the static and shared
+libraries (if the target platform supports them) and the examples.
 
 Examples
 ========
@@ -49,40 +52,97 @@ 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.
+
+If `configure' is given the `--enable-shared' option, it will attempt
+to build the shared libraries by default 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 4.2 with any version of gcc is identified as
+`freebsd4.2-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.
+
+If shared libraries are created, `make install' will install them. 
+You may install only the shared libraries by running `make
+install-shared' from the top-level build directory.  Running `make
+install' in the shlib subdirectory will also work.  If you don't want
+to install any created shared libraries, run `make install-static'. 
 
 Documentation
 =============
 
-The documentation for the Readline and History libraries appears in the
-`doc' subdirectory.  There are two texinfo files and a Unix-style manual
-page describing the programming facilities available in the Readline
-library.  The texinfo files include both user and programmer's manuals.
+The documentation for the Readline and History libraries appears in
+the `doc' subdirectory.  There are three texinfo files and a
+Unix-style manual page describing the facilities available in the
+Readline library.  The texinfo files include both user and
+programmer's manuals.  HTML versions of the manuals appear in the
+`doc' subdirectory as well. 
 
 Reporting Bugs
 ==============
@@ -93,7 +153,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.2-release)
         * the machine and OS that it is running on
         * a list of the compilation flags or the contents of `config.h', if
           appropriate
This page took 0.024917 seconds and 4 git commands to generate.