The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
-*- Indented-text -*-
#	$Id: INSTALL 487 2015-05-23 08:00:11Z hayashi $

1. How to Install Term::ReadLine::Gnu

	You need the GNU Readline library installed.  Except for this,
	you can install this module by the standard method, i.e.

	% perl Makefile.PL; make install

1.1 Install GNU Readline library 2.1 or later and their header files.

	See the section `How to Install GNU Readline Library'.

1.2 Make and install

	% perl Makefile.PL [--prefix=...] [--includedir=...] [--libdir=...]
	% make
	% make test
	% make install

	If you have installed the GNU Readline Library
	(libreadline.{a,so} and readline/readline.h, etc.) on
	directories for which your perl is not configured to search
	(refer the value of ccflags and libpath in the output of `perl
	-V'), specify the paths as follows;

	% perl Makefile.PL --includedir=/mydir/include --libdir=/mydir/lib

	This example is equivalent to the following;

	% perl Makefile.PL --prefix=/mydir

	If you are not an administrator and cannot install Perl module
	in your system directory, try
		perldoc perlfaq8
	and see the section 'How do I keep my own module/library
	directory?' (This section is found in the Perl 5.6
	documentation).

1.3 Trouble Shooting

        If you have any trouble when using or installing this module
	or find a bug, please open a ticket on the bug tracker at
	rt.cpan.org;
	<http://rt.cpan.org/Dist/Display.html?Queue=Term-ReadLine-Gnu>

	It will help other people who have same problems.

	When you report your trouble, be sure to send me the following
	information;

	- output of
		% perl -V
		% perl Makefile.PL verbose
		% make test TEST_VERBOSE=1
		% perl -Mblib t/00checkver.t
		% echo $TERM
	- terminal emulator which you are using
	- compiler which is used to compile the GNU Readline Library
	  (libreadline.a) if you can know.

1.3.1 Segmentation fault by the pager command in Perl debugger

	If the pager command (| or ||) in Perl debugger causes
	segmentation fault, you need to fix perl5db.pl.  See
	<https://rt.perl.org/Public/Bug/Display.html?id=121456>
	for details.

2. How to Install GNU Readline Library

	Now this module supports only GNU Readline Library 2.1 and
	later.  But GNU Readline 2.2 has some bugs, so Use 2.2.1
	instead.  GNU Readline Library 4.2 is not supported.  Use 4.2a
	instead.

	If you have any reasons in which use must use one of the follows;
		GNU Readline Library 2.1
		libreadline.a in bash-2.0.tar.gz
		Cygwin b20.1
	see INSTALL file which is included in Term-ReadLine-Gnu-1.11.

	Executing `perl Makefile.PL` detects which version of
	the GNU Readline Library is already installed and warns you if
	you have the unsupported version.

	In the following example, the install prefix directory is
	`/usr/local/gnu'.
	
	You can specify any directory for the GNU Readline library and
	its header files, by editing `LIBS' and/or `INC' section in
	Makefile.PL.

2.1. Install from the GNU Readline Library Source

	1. get and extract readline-XX.tar.gz

	2. configure
		% ./configure --prefix=/usr/local/gnu
	3. make and install
		% make install

2.1.1. Install on Mac OS X

	/usr/bin/perl on Mac OS X 10.5 (Leopard) and later supports
	32bit/64bit universal binary.  Make Makefile as follows;

	# tested only on Mavericks
	ARCHFLAGS='-arch x86_64' perl Makefile.PL --prefix=/usr/local/gnu

	Or build 32bit/64bit-universal GNU Readline Library as
	follows.  (works on GNU Readline 6.3 and later)

	Enable the following lines in support/shobj-conf in GNU
        Readline 6.3 distribution;

	# for 32 and 64bit universal library
	#SHOBJ_ARCHFLAGS='-arch i386 -arch x86_64'
	#SHOBJ_CFLAGS=${SHOBJ_CFLAGS}' -arch i386 -arch x86_64'

	run configure script and do 'make install' and make Makefile simply;
	# tested only on Mavericks
	perl Makefile.PL --prefix=/usr/local/gnu

2.2. Using Package

2.2.1. RPM on Linux

	On Linux you need to install 'ncurses-devel' package in
	addition to 'readline-devel' package.  On distributions using
	RPM do follows;

	% sudo yum install ncurses-devel
	% sudo yum install readline-devel

2.2.2. homebrew on Mac OS X

       1. Install homebrew
	See http://brew.sh/.

       2. Use homebrew to install the GNU Readline Library:
       		% brew install readline

	Because the GNU Readline library conflicts with the the
	similarly-named-but-different library installed in the base
	OS, homebrew does not link readline into /usr/local (it is
	"keg-only").

	Makefile.PL uses `brew prefix readline' to find and use the
	"keg" directory so things work seamlessly.

	3. Build Term::ReadLine::Gnu as described above:
		% perl Makefile.PL
		% make
		% make test
		% make install

	`brew cleanup' will not remove keg-only formula, to avoid
	breaking things that have been linked against it.  However, if
	you force it, `brew cleanup --force', then it will remove the
	keg-only formula and Term::ReadLine::Gnu will cease to work.
	You'll need to rebuild Term::ReadLine::GNU so that it links
	against whichever newer version you have installed.

EOF