diff options
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 146 |
1 files changed, 146 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..5e33526 --- /dev/null +++ b/configure.ac @@ -0,0 +1,146 @@ +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. +# +# Compile with debug symbols: +# CFLAGS="-ggdb -pedandic -O0" ./configure +# CFLAGS="-ggdb -Wall -Wextra -pedantic -O0" ./configure +# +# Use libtool (glibtool on OSX) to debug: +# +# libtool --mode=execute gdb examples/tc1 +# +# Run valgrind like this, but note +# http://invisible-island.net/ncurses/ncurses.faq.html#config_leaks. +# +# libtool --mode=execute valgrind --leak-check=full examples/tc1 +# +# A valgrind suppressions file for ncurses is available at +# http://www.opensource.apple.com/source/ncurses/ncurses-27/ncurses/misc/ncurses.supp +# +# libtool --mode=execute valgrind --suppressions=ncurses.supp.txt --leak-check=full examples/tc1 +# +# Verbose output can be enabled with +# "./configure --disable-silent-rules" or "make V=1" +# + +AC_INIT(libedit, [EL_RELEASE],, libedit-[EL_TIMESTAMP]) +AC_CONFIG_MACRO_DIR([m4]) +AC_CONFIG_SRCDIR([src/strlcat.c]) +AC_CONFIG_HEADER([config.h]) + +# features of Posix that are extensions to C (define _GNU_SOURCE) +AC_USE_SYSTEM_EXTENSIONS + +AM_INIT_AUTOMAKE +AC_PROG_LIBTOOL + +# libtool -version-info +AC_SUBST(LT_VERSION, [0:47:0]) + +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + +# Checks for programs. +AC_PROG_CC_C99 +#AC_PROG_CC +AC_PROG_LN_S +AC_PROG_AWK +EL_MANTYPE + + +AC_CHECK_LIB(tinfo, tgetent,, + [AC_CHECK_LIB(terminfo, tgetent,, + [AC_CHECK_LIB(termcap, tgetent,, + [AC_CHECK_LIB(termlib, tgetent,, + [AC_CHECK_LIB(curses, tgetent,, + [AC_CHECK_LIB(ncurses, tgetent,, + [AC_MSG_ERROR([libcurses or libncurses are required!])] + )] + )] + )] + )] + )] +) + + +### use option --enable-widec to turn on use of wide-character support +EL_ENABLE_WIDEC + +# Checks for header files. +AC_HEADER_DIRENT +AC_HEADER_STDC +AC_HEADER_SYS_WAIT +AC_CHECK_HEADERS([fcntl.h limits.h malloc.h stdlib.h string.h sys/ioctl.h sys/param.h unistd.h curses.h ncurses.h sys/cdefs.h termcap.h]) + +AC_CHECK_HEADER([termios.h], [], [AC_MSG_ERROR([termios.h is required!])],[]) + +## include curses.h to prevent "Present But Cannot Be Compiled" +AC_CHECK_HEADERS([term.h],,, +[[#if HAVE_CURSES_H +# include <curses.h> +#elif HAVE_NCURSES_H +# include <ncurses.h> +#endif +]]) + +# Check for dirent.d_namlen field explicitly +# (This is a bit more straightforward than, if not quite as portable as, +# the recipe given by the autoconf maintainers.) +AC_CHECK_MEMBER(struct dirent.d_namlen, +AC_DEFINE([HAVE_STRUCT_DIRENT_D_NAMLEN],[1], +[Define to 1 if struct dirent has member d_namlen]),, +[#if HAVE_DIRENT_H +#include <dirent.h> +#endif +]) + +# Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST +AC_TYPE_PID_T +AC_TYPE_SIZE_T +AC_CHECK_TYPES([u_int32_t]) + +# Checks for library functions. +AC_FUNC_CLOSEDIR_VOID +AC_FUNC_FORK +AC_PROG_GCC_TRADITIONAL +## _AIX is offended by rpl_malloc and rpl_realloc +#AC_FUNC_MALLOC +#AC_FUNC_REALLOC +AC_TYPE_SIGNAL +AC_FUNC_STAT +AC_CHECK_FUNCS([endpwent isascii memchr memset re_comp regcomp strcasecmp strchr strcspn strdup strerror strrchr strstr strtol issetugid wcsdup strlcpy strlcat fgetln vis strvis strunvis __secure_getenv secure_getenv]) + +# strlcpy +AC_CHECK_FUNC(strlcpy, found_strlcpy=yes, found_strlcpy=no) +AM_CONDITIONAL(HAVE_STRLCPY, [test "x$found_strlcpy" = xyes]) + +# strlcat +AC_CHECK_FUNC(strlcat, found_strlcat=yes, found_strlcat=no) +AM_CONDITIONAL(HAVE_STRLCAT, [test "x$found_strlcat" = xyes]) + +# vis +AC_CHECK_FUNC(vis, found_vis=yes, found_vis=no) +AM_CONDITIONAL(HAVE_VIS, [test "x$found_vis" = xyes]) + +# unvis +AC_CHECK_FUNC(unvis, found_unvis=yes, found_unvis=no) +AM_CONDITIONAL(HAVE_UNVIS, [test "x$found_unvis" = xyes]) + + +EL_GETPW_R_POSIX +EL_GETPW_R_DRAFT + + +AH_BOTTOM([ +#include "sys.h" +#define SCCSID +#undef LIBC_SCCS +#define lint +]) + +AC_CONFIG_FILES([Makefile + libedit.pc + src/Makefile + doc/Makefile + examples/Makefile]) +AC_OUTPUT |