diff options
Diffstat (limited to 'readline/README')
-rw-r--r-- | readline/README | 111 |
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 |