123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277 |
- dnl
- dnl Process this file with autoconf to produce a configure script.
- dnl
- AC_INIT(Makefile.in)
- dnl If CFLAGS isn't defined and using gcc, set CFLAGS to something reasonable.
- dnl Otherwise, just prevent autoconf from molesting CFLAGS.
- CFLAGS=$CFLAGS
- AC_PROG_CC
- if test "x$CFLAGS" = "x" ; then
- no_CFLAGS="yes"
- fi
- if test "x$no_CFLAGS" = "xyes" -a "x$GCC" = "xyes" ; then
- CFLAGS="-Wall -pipe -g3"
- fi
- A_CFLAGS=""
- AC_SUBST(A_CFLAGS)
- S_CFLAGS="-fPIC -DPIC"
- AC_SUBST(S_CFLAGS)
- AC_PROG_CPP
- AC_PROG_AWK
- dnl Platform-specific settings. The ABI can probably be determined
- dnl programmatically, but doing so is error-prone, which makes it generally
- dnl not worth the trouble.
- AC_CANONICAL_HOST
- case "${host}" in
- *-*-darwin*)
- CFLAGS="$CFLAGS -fno-common -no-cpp-precomp"
- ABI="macho"
- ;;
- *-*-freebsd*)
- ABI="elf"
- ;;
- *-*-linux* | *cygwin*)
- if echo ${host} | grep -q cygwin ; then \
- echo "cygwin detected"; \
- S_CFLAGS=""; \
- echo "/* cygdef.h. Generated automatically by configure. */
- #ifndef _CYGDEF_H_
- #define _CYGDEF_H_ 1
- #include <sys/ioctl.h>
- #define __linux__ 1
- typedef void (*sig_t)(int);
- #endif /* _CYGDEF_H_ */" > cygdef.h; \
- echo "
- #define CYGWIN 1
- " > confdefs.h; \
- fi
- ABI="elf"
- ;;
- *-*-netbsd*)
- AC_MSG_CHECKING(ABI)
- AC_EGREP_CPP(yes,
- [#ifdef __ELF__
- yes
- #endif
- ],
- ABI="elf",
- ABI="aout")
- AC_MSG_RESULT($ABI)
- ;;
- *-*-solaris2*)
- ABI="elf"
- AC_DEFINE(SUNOS)
- ;;
- *)
- AC_MSG_RESULT(Unsupported operating system: ${host})
- ABI="elf"
- ;;
- esac
- AC_PROG_INSTALL
- AC_PROG_RANLIB
- AC_PATH_PROGS(AR, ar gar, , $PATH)
- dnl Search for termcap access routines in termcap, tinfo, curses, and ncurses.
- AC_CHECK_LIB(termcap, tgetent, , \
- AC_CHECK_LIB(tinfo, tgetent, , \
- AC_CHECK_LIB(curses, tgetent, , \
- AC_CHECK_LIB(ncurses, tgetent, , \
- AC_MSG_ERROR(termcap support not found)))))
- dnl Use termcap.h if it exists; otherwise we need both term.h and [n]curses.h.
- AC_CHECK_HEADERS(termcap.h, , \
- AC_CHECK_HEADERS(term.h, , \
- AC_MSG_RESULT(Need term.h since termcap.h is missing))
- AC_CHECK_HEADERS(curses.h, , \
- AC_CHECK_HEADERS(ncurses.h, , \
- AC_MSG_RESULT(Need curses.h or ncurses.h))))
- AC_CHECK_HEADERS(sys/cdefs.h vis.h)
- AC_CHECK_FUNCS(issetugid)
- AC_CHECK_FUNCS(fgetln, , CCSRCS="$CCSRCS np/fgetln.c")
- AC_CHECK_FUNCS(strvis, , CCSRCS="$CCSRCS np/vis.c")
- AC_CHECK_FUNCS(strunvis, , CCSRCS="$CCSRCS np/unvis.c")
- AC_CHECK_FUNCS(strlcpy, , CCSRCS="$CCSRCS np/strlcpy.c")
- AC_CHECK_FUNCS(strlcat, , CCSRCS="$CCSRCS np/strlcat.c")
- AC_EGREP_CPP(yes,
- [#include <sys/cdefs.h>
- #ifdef __RCSID
- yes
- #endif
- ], , [CPPFLAGS="$CPPFLAGS '-D__RCSID(x)='"])
- AC_EGREP_CPP(yes,
- [#include <sys/cdefs.h>
- #ifdef __COPYRIGHT
- yes
- #endif
- ], , [CPPFLAGS="$CPPFLAGS '-D__COPYRIGHT(x)='"])
- AC_EGREP_CPP(yes,
- [#include <sys/cdefs.h>
- #ifdef __RENAME
- yes
- #endif
- ], , [CPPFLAGS="$CPPFLAGS '-D__RENAME(x)='"])
- AC_EGREP_CPP(yes,
- [#include <sys/cdefs.h>
- #ifdef _DIAGASSERT
- yes
- #endif
- ], , [CPPFLAGS="$CPPFLAGS '-D_DIAGASSERT(x)='"])
- dnl Enable readline compatibility by default.
- AC_ARG_ENABLE(readline, [ --disable-readline Disable readline compatibility],
- if test "x$enable_readline" != "xyes" ; then
- enable_readline="no"
- fi
- ,
- enable_readline="yes"
- )
- dnl Optionally enable debugging.
- AC_ARG_ENABLE(debug, [ --enable-debug Enable debugging code],
- if test "x$enable_debug" != "xyes" ; then
- enable_debug="no"
- fi
- ,
- enable_debug="no"
- )
- if test "x$enable_debug" = "xyes" ; then
- CPPFLAGS="$CPPFLAGS -DDEBUG_TTY -DDEBUG_KEY -DDEBUG_READ -DDEBUG"
- CPPFLAGS="$CPPFLAGS -DDEBUG_REFRESH -DDEBUG_PASTE"
- else
- CFLAGS="$CFLAGS -O"
- fi
- dnl
- dnl File lists. This is done here instead of in the Makefile in order to avoid
- dnl the need for conditionals.
- dnl
- dnl .c files.
- ACSRCS="common.c emacs.c vi.c"
- BCSRCS="chared.c el.c hist.c key.c map.c parse.c prompt.c read.c refresh.c search.c sig.c term.c tty.c"
- CCSRCS="$CCSRCS history.c tokenizer.c"
- dnl Generated .c files.
- AGCSRCS="fcns.c help.c"
- BGCSRCS="editline.c"
- dnl .h files.
- HDRS="chared.h el.h hist.h key.h map.h parse.h prompt.h refresh.h search.h sig.h sys.h term.h tokenizer.h tty.h"
- dnl Installed .h files.
- IHDRS="histedit.h"
- dnl Installed headers for readline compatibility.
- IHDR_LINKS=
- dnl Generated .h files.
- AGHDRS="common.h emacs.h vi.h"
- BGHDRS="fcns.h help.h"
- dnl Header installation directories.
- HDR_DIRS="include"
- dnl Man pages.
- MAN3="editline.3"
- MAN5="editrc.5"
- MAN3_LINKS=
- for i in el_init.3 el_end.3 el_reset.3 el_gets.3 el_getc.3 el_push.3 \
- el_parse.3 el_set.3 el_get.3 el_source.3 el_resize.3 el_line.3 \
- el_insertstr.3 el_deletestr.3 history_init.3 history_end.3 \
- history.3 ; do
- MAN3_LINKS="$MAN3_LINKS editline.3 $i"
- done
- dnl Man page installation directories.
- MAN_DIRS="man/man3 man/man5"
- dnl Library settings.
- LIB_DIRS="lib"
- LIB_MAJOR="2"
- LIB_MINOR="6"
- LIB_A="libedit.a"
- LIB_A_LINKS=
- if test "x$ABI" = "xelf" ; then
- LIB_S="libedit.so.$LIB_MAJOR"
- LIB_S_LINK="libedit.so"
- LIB_S_LINKS="$LIB_S $LIB_S_LINK"
- S_LDFLAGS="-shared"
- elif test "x$ABI" = "xaout" ; then
- LIB_S="libedit.so.$LIB_MAJOR.$LIB_MINOR"
- LIB_S_LINKS=
- S_LDFLAGS="-shared"
- elif test "x$ABI" = "xmacho" ; then
- S_LDFLAGS="-shared"
- LIB_S="libedit.$LIB_MAJOR.dylib"
- LIB_S_LINK="libedit.dylib"
- LIB_S_LINKS="$LIB_S $LIB_S_LINK"
- if test "x$prefix" = "xNONE" ; then
- S_LDFLAGS="-undefined suppress -flat_namespace -dynamiclib -compatibility_version $LIB_MAJOR -current_version $LIB_MAJOR -install_name /usr/local/lib/$LIB_S"
- else
- S_LDFLAGS="-undefined suppress -flat_namespace -dynamiclib -compatibility_version $LIB_MAJOR -current_version $LIB_MAJOR -install_name $prefix/lib/$LIB_S"
- fi
- fi
- dnl Test program.
- TEST="TEST/test"
- TCSRCS="TEST/test.c"
- dnl Add files to the lists if readline compatibility is enabled.
- if test "x$enable_readline" = "xyes" ; then
- CCSRCS="$CCSRCS readline.c"
- IHDRS="$IHDRS readline.h"
- IHDR_LINKS="readline.h readline/history.h"
- HDR_DIRS="$HDR_DIRS include/readline"
- LIB_A_LINKS="$LIB_A_LINKS libedit.a libreadline.a"
- if test "x$ABI" = "xelf" ; then
- LIB_S_LINKS="$LIB_S_LINKS $LIB_S_LINK libreadline.so"
- elif test "x$ABI" = "xaout" ; then
- LIB_S_LINKS="$LIB_S_LINKS $LIB_S libreadline.so.$LIB_MAJOR.$LIB_MINOR"
- elif test "x$ABI" = "xmacho" ; then
- LIB_S_LINKS="$LIB_S_LINKS $LIB_S_LINK libreadline.dylib"
- fi
- fi
- AC_SUBST(ACSRCS)
- AC_SUBST(BCSRCS)
- AC_SUBST(CCSRCS)
- AC_SUBST(AGCSRCS)
- AC_SUBST(BGCSRCS)
- AC_SUBST(HDRS)
- AC_SUBST(IHDRS)
- AC_SUBST(IHDR_LINKS)
- AC_SUBST(AGHDRS)
- AC_SUBST(BGHDRS)
- AC_SUBST(HDR_DIRS)
- AC_SUBST(MAN3)
- AC_SUBST(MAN5)
- AC_SUBST(MAN3_LINKS)
- AC_SUBST(MAN_DIRS)
- AC_SUBST(LIB_DIRS)
- AC_SUBST(LIB_VER)
- AC_SUBST(LIB_A)
- AC_SUBST(LIB_A_LINKS)
- AC_SUBST(LIB_S)
- AC_SUBST(LIB_S_LINKS)
- AC_SUBST(S_LDFLAGS)
- AC_SUBST(TEST)
- AC_SUBST(TCSRCS)
- AC_CONFIG_HEADER(config.h)
- AC_OUTPUT([Makefile makelist])
|