6.15. Readline-8.0

Readline 패키지는 명령줄 편집 및 기록 기능을 제공하는 라이브러리 모음이다.

예상 빌드 시간: 0.1 SBU
필요 디스크 공간: 15 MB

6.15.1. Readline 설치

Readline을 재설치하면 이전 라이브러리가 <libraryname>.old로 변경된다. 일반적으로는 문제가 되지 않지만, 경우에 따라 ldconfig의 링크 버그를 유발할 수 있다. 이는 다음 두 개의 sed 명령을 실행해서 방지할 수 있다:

sed -i '/MV.*old/d' Makefile.in
sed -i '/{OLDSUFF}/c:' support/shlib-install

Readline 컴파일을 준비한다:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/readline-8.0

패키지를 컴파일한다:

make SHLIB_LIBS="-L/tools/lib -lncursesw"

Make 옵션의 의미:

SHLIB_LIBS="-L/tools/lib -lncursesw"

Readline을 libncursesw 라이브러리에 강제로 링크한다.

이 패키지는 테스트 스위트가 포함되어있지 않다.

패키지를 설치한다:

make SHLIB_LIBS="-L/tools/lib -lncursesw" install

이제 동적 라이브러리를 보다 적절한 위치로 이동하고 권한 및 심볼릭 링크를 수정하라:

mv -v /usr/lib/lib{readline,history}.so.* /lib
chmod -v u+w /lib/lib{readline,history}.so.*
ln -sfv ../../lib/$(readlink /usr/lib/libreadline.so) /usr/lib/libreadline.so
ln -sfv ../../lib/$(readlink /usr/lib/libhistory.so ) /usr/lib/libhistory.so

원한다면 문서를 설치하라:

install -v -m644 doc/*.{ps,pdf,html,dvi} /usr/share/doc/readline-8.0

6.15.2. Readline의 내용

설치된 라이브러리들: libhistory.so와 libreadline.so
설치된 디렉토리들: /usr/include/readline과 /usr/share/doc/readline-8.0

요약

libhistory

history의 기록을 불러오기 위한 일관된 유저 인터페이스 제공

libreadline

프로그램의 대화형 세션에 입력된 텍스트를 조작하기 위한 명령어 세트를 제공