This is the mail archive of the cygwin-announce@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Updated: readline-4.2-3


Readline is a library that provides user-input functions complete with 
history functions and line-editing capabilities.  Since the API has 
changed between readline-4.1 and readline-4.2, see the "Port notes" at 
the end of /usr/doc/Cygwin/readline-4.2.README if your favorite app no 
longer compiles properly with this version of readline.

readline-4.2-3 depends on ncurses-5.2-5.

WARNING: Chet Ramey, the maintainer of the GNU readline package, has 
changed the readline API between version 4.1 and 4.2.  Some functions 
and variables were added, but more problematic, other functions and 
variables were removed.  Most of these changes were due to function 
renaming so that the function names followed a more sensible scheme. 
However, this breaks backwards compatibility.

Therefore, the DLL version in this package is "5" instead of "4".  That 
way, binaries that depend on the old dll (like postgresql) can coexist 
with the new package.  The dll numbering sequence (cygreadline4.dll, 
cygreadline5.dll) is completely arbitrary and doesn't have anything to 
do with the 4.0, 4.1, 4.2 package numbering sequence.

HOWEVER, since setup will *uninstall* the old dll when upgrading 
readline, this package contains both the old dll's and the new dll's. 
New programs will link with the new dll's, but the old executables that 
are already linked to the old dll's will continue to work properly.

Currently, the only *official* packages that depend on and are affected 
by this are postgresql (psql.exe) and python.  Eventually, I hope the 
postgresql maintainer will recompile that package to use the new 
cygreadline5.dll.

CHANGES FROM readline-4.1-2

* API changes in the base package from GNU

* readline now honors the "ALL_STATIC" flag for static linking, in 
addition to the "READLINE_STATIC" flag. (See below)

* includes the old dll's as well as the new ones

INSTALLATION:

To update your installation, click on the "Install Cygwin now" link on
the http://sources.redhat.com/cygwin web page.  This downloads setup.exe 
to your system.

Run setup and answer all of the questions.  Note that you must choose
a mirror site.  The following sites should have the updated package soon:

ftp://mirrors.rcn.net/pub/sourceware/cygwin/ (US)
ftp://linux.sarang.net/mirror/development/compiler/cygwin/ (Korea)
ftp://ftp.mirror.ac.uk/sites/sourceware.cygnus.com/pub/cygwin (UK)

The setup.exe program will figure out what needs to be updated on your 
system and should install the less package automatically.

If you have questions or comments, please send them to the Cygwin 
mailing list at:  cygwin@sources.redhat.com .  I would appreciate if you 
would use this mailing list rather than emailing me directly. This 
includes ideas and comments about the setup utility or Cygwin general.

If you want to make a point or ask a question the Cygwin mailing list is 
the appropriate place.

               *** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO ***

If you want to unsubscribe to the cygwin-announce mailing list, look at
the "List-Unsubscribe: " tag in the email header of this message. Send
email to the address specified there.  It will be in the format:

cygwin-announce-unsubscribe-you=yourdomain.com@sources.redhat.com

NOTES:

o Building the package from source requires gcc-2.95.2-5 and
binutils-20001029-2 or later

o depends on ncurses-5.2-5 or later.

o The package includes several test and conversion utilities which are 
useful for evaluating readline.  Both dynamically-linked and 
statically-linked versions are installed.

o Abides by the cygwin package system standard:
   - import-lib      /usr/lib/libreadline.dll.a
   - import-lib      /usr/lib/libhistory.dll.a
   - static-lib      /usr/lib/libreadline.a
   - static-lib      /usr/lib/libhistory.a
   - stripped dll    /usr/bin/cygreadline5.dll
   - stripped dll    /usr/bin/cyghistory5.dll
   - cygwin-specific docs in /usr/doc/Cygwin/readline-4.2.README
   - generic docs in /usr/doc/readline-4.2/*

o A cygwin-specific README and PATCH are stored in the source archive,
under <top>/CYGWIN-PATCHES/* (although that patch has already been
applied to the archive itself). The cygwin-specific README is also
installed by the binary distribution as described above.

o After installing, please read /usr/doc/Cygwin/readline-4.2.README

o Should run the following commands after installing
   install-info --dir-file=/usr/info/dir \
      --info-file=/usr/info/readline.info
   install-info --dir-file=/usr/info/dir \
      --info-file=/usr/info/history.info

o If you are building a package that depends on readline (or solely on 
history), and you wish to link *statically*, define -DREADLINE_STATIC 
(and -DNCURSES_STATIC because of dependency issues) to get the 'correct' 
#define's in readline.h (or history.h) when compiling the .o files in 
your package. Also, use 'gcc -static' when linking your package.

o You can also use -DALL_STATIC as a synonym for both -DREADLINE_STATIC 
and -DNCURSES_STATIC.  Eventually, many of the cygwin packages on 
sources.redhat.com that provide both dll's and static libs will honor 
the ALL_STATIC flag.  That way, you won't have to type "-DZLIB_STATIC 
-DPNG_STATIC -DJPEG_STATIC -DTIFF_STATIC ....".  Currently, only the 
following packages honor the ALL_STATIC flag:
   ncurses readline zlib libpng xpm-nox jpeg tiff gettext
The following do not (yet)
   jbig gdbm

o No special -Ddefine options or link options are needed when building a 
package that depends on readline (or history) and you want to link 
dynamically (recommended).

--Chuck Wilson


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]