| # $Id$ |
| dnl Process this file with autoconf to produce a configure script. |
| AC_INIT(nano.c) |
| AM_INIT_AUTOMAKE(nano, 0.9.23-cvs) |
| AM_CONFIG_HEADER(config.h:config.h.in) |
| ALL_LINGUAS="es de fr it id fi" |
| |
| dnl Checks for programs. |
| AC_PROG_CC |
| AC_ISC_POSIX |
| |
| dnl Checks for header files. |
| AC_HEADER_STDC |
| AC_CHECK_HEADERS(fcntl.h unistd.h malloc.h termios.h termio.h limits.h getopt.h regex.h) |
| |
| dnl options |
| AC_ARG_ENABLE(tiny, |
| [ --enable-tiny Disables features for the sake of size |
| (currently disables detailed help and i18n)], |
| [if test x$enableval = xyes; then |
| AC_DEFINE(NANO_SMALL) tiny_support=yes |
| fi]) |
| |
| AC_ARG_ENABLE(extra, |
| [ --enable-extra Enable extra (optional) functions, including easter eggs], |
| [if test x$enableval = xyes; then |
| AC_DEFINE(NANO_EXTRA) extra_support=yes |
| fi]) |
| |
| AC_ARG_ENABLE(tabcomp, |
| [ --disable-tabcomp Disables tab completion code for a smaller binary], |
| [if test x$enableval != xyes; then |
| AC_DEFINE(DISABLE_TABCOMP) |
| fi]) |
| |
| AC_ARG_ENABLE(justify, |
| [ --disable-justify Disable justify/unjustify function], |
| [if test x$enableval != xyes; then |
| AC_DEFINE(DISABLE_JUSTIFY) |
| fi]) |
| |
| AC_ARG_ENABLE(speller, |
| [ --disable-speller Disables spell checker function], |
| [if test x$enableval != xyes; then |
| AC_DEFINE(DISABLE_SPELLER) |
| fi]) |
| |
| AC_MSG_CHECKING(whether to use slang) |
| CURSES_LIB_NAME="" |
| AC_ARG_WITH(slang, |
| [ --with-slang[=DIR] Use the slang library instead of curses], |
| [ case "$with_slang" in |
| no) |
| AC_MSG_RESULT(no) |
| ;; |
| *) |
| AC_MSG_RESULT(yes) |
| |
| if test "$with_slang" != "yes"; then |
| # Add additional search path |
| LDFLAGS="-L$with_slang/lib $LDFLAGS" |
| CPPFLAGS="-I$with_slang/include $CPPFLAGS" |
| fi |
| |
| AC_CHECK_HEADER(slcurses.h, |
| AC_MSG_CHECKING(for SLtt_initialize in -lslang) |
| _libs=$LIBS |
| LIBS="$LIBS -lslang" |
| AC_TRY_RUN([ |
| #include <stdio.h> |
| #include <slcurses.h> |
| int main () { SLtt_initialize (NULL); return 0; }], |
| [AC_MSG_RESULT(yes) |
| AC_DEFINE(USE_SLANG) |
| slang_support=yes |
| if test "$with_slang" != "yes"; then |
| CURSES_LIB="-L${with_slang}/lib -lslang" |
| else |
| CURSES_LIB="-lslang" |
| fi |
| CURSES_LIB_NAME=slang], [ |
| AC_MSG_RESULT(no) |
| # We might need the term library |
| for termlib in ncurses curses termcap terminfo termlib; do |
| AC_CHECK_LIB(${termlib}, tputs, [tcap="-l$termlib"]) |
| test -n "$tcap" && break |
| done |
| |
| AC_MSG_CHECKING(for SLtt_initialize in -lslang $tcap) |
| LIBS="$LIBS $tcap" |
| AC_TRY_RUN([ |
| #include <stdio.h> |
| #include <slcurses.h> |
| int main () { SLtt_initialize (NULL); return 0; }], |
| [AC_MSG_RESULT(yes) |
| AC_DEFINE(USE_SLANG) |
| slang_support=yes |
| if test "$with_slang" != "yes"; then |
| CURSES_LIB="-L${with_slang}/lib -lslang $tcap" |
| else |
| CURSES_LIB="-lslang $tcap" |
| fi |
| CURSES_LIB_NAME=slang], [ |
| AC_MSG_RESULT(no) |
| # We might need the math library |
| AC_MSG_CHECKING(for SLtt_initialize in -lslang $tcap -lm) |
| LIBS="$LIBS -lm" |
| AC_TRY_RUN([ |
| #include <stdio.h> |
| #include <slcurses.h> |
| int main () { SLtt_initialize (NULL); return 0; }], |
| [AC_MSG_RESULT(yes) |
| AC_DEFINE(USE_SLANG) |
| slang_support=yes |
| if test "$with_slang" != "yes"; then |
| CURSES_LIB="-L${with_slang}/lib -lslang $tcap -lm" |
| else |
| CURSES_LIB="-lslang $tcap -lm" |
| fi |
| CURSES_LIB_NAME=slang], |
| [AC_MSG_RESULT(no)], |
| AC_MSG_WARN([*** Can not use slang when cross-compiling]))], |
| AC_MSG_WARN([*** Can not use slang when cross-compiling]))], |
| AC_MSG_WARN([*** Can not use slang when cross-compiling])), |
| AC_MSG_ERROR([ |
| *** The header file slcurses.h was not found. If you wish to use |
| *** slang support this header file is required. Please either |
| *** install a version of slang that includes the slcurses.h file or |
| *** do not call the configure script with --with-slang |
| ])) |
| |
| test "${_libs+set}" = "set" && LIBS=$_libs |
| |
| if test "$with_slang" != "yes"; then |
| LDFLAGS=${_ldflags} |
| fi |
| ;; |
| esac], AC_MSG_RESULT(no)) |
| |
| dnl Checks for functions |
| AC_CHECK_FUNCS(snprintf vsnprintf) |
| if test "x$ac_cv_func_snprintf" = "xno" -o "xac_cv_func_vsnprintf" = "xno" |
| then |
| AM_PATH_GLIB(1.2.4,, |
| AC_MSG_ERROR([ |
| *** snprintf() and/or vsnprintf() not found. GLIB not found either. |
| *** You need both snprintf() and vsnprintf(). Alternatively you can |
| *** install the GLIB library which can be found at ftp://ftp.gtk.org/.]), |
| glib) |
| glib_cflags=`$GLIB_CONFIG --cflags glib` |
| glib_libs=`$GLIB_CONFIG --libs glib` |
| fi |
| |
| dnl Checks for typedefs, structures, and compiler characteristics. |
| |
| dnl Checks for library functions. |
| AC_TYPE_SIGNAL |
| AC_FUNC_VPRINTF |
| AC_CHECK_FUNCS(getopt_long) |
| |
| dnl Checks for libraries. |
| |
| |
| if eval "test x$CURSES_LIB_NAME = x" |
| then |
| AC_CHECK_HEADERS(curses.h ncurses.h) |
| AC_CHECK_LIB(ncurses, tgetent,CURSES_LIB="-lncurses" CURSES_LIB_NAME=ncurses) |
| fi |
| |
| if eval "test x$CURSES_LIB_NAME = x" |
| then |
| AC_CHECK_LIB(curses, tgetent, CURSES_LIB="-lcurses" CURSES_LIB_NAME=curses) |
| fi |
| |
| # Fallback for PDCurses and less useful curses libs... |
| if eval "test x$CURSES_LIB_NAME = x" |
| then |
| AC_CHECK_LIB(curses, initscr, CURSES_LIB="-lcurses" CURSES_LIB_NAME=curses) |
| fi |
| |
| if eval "test x$CURSES_LIB_NAME = x" |
| then |
| AC_CHECK_LIB(termcap, tgetent, CURSES_LIB="-ltermcap" CURSES_LIB_NAME=termcap) |
| fi |
| |
| if eval "test x$CURSES_LIB_NAME = x" |
| then |
| AC_MSG_WARN([ |
| *** No termcap lib available, consider getting the official ncurses |
| *** distribution from ftp://ftp.gnu.org/pub/gnu/ncurses if you get |
| *** errors compiling nano.]) |
| else |
| AC_MSG_RESULT("Using $CURSES_LIB_NAME as the termcap library") |
| fi |
| |
| |
| AC_CHECK_LIB($CURSES_LIB_NAME, wresize, AC_DEFINE(HAVE_WRESIZE)) |
| |
| dnl Parse any configure options |
| |
| LIBS="$LIBS $CURSES_LIB" |
| |
| AC_ARG_ENABLE(debug, [ --enable-debug Enable debugging (def disabled)],) |
| |
| AC_SUBST(CURSES_LIB) |
| |
| if test "x$glib_cflags" != "x" |
| then |
| CFLAGS="$CFLAGS $glib_cflags" |
| fi |
| if test "x$glib_libs" != "x" |
| then |
| LDFLAGS="$LDFLAGS $glib_libs" |
| fi |
| |
| dnl i18n stuff - pretty incomplete for now |
| AM_GNU_GETTEXT |
| |
| AC_OUTPUT([Makefile intl/Makefile po/Makefile.in]) |