1AC_PREREQ(2.61)
2dnl numbering example: 4.6.test1 4.6.test2 4.6.3 4.6.patch4 4.6.patch5
3AC_INIT([CLEX File Manager],[4.6.patch9],[clex@clex.sk],[clex])
4AC_SUBST([RPMRELEASE],1)
5
6AM_INIT_AUTOMAKE
7AC_CONFIG_SRCDIR([src/clex.h])
8AC_CONFIG_HEADER([config.h])
9
10# Checks for programs.
11AC_PROG_CC
12if test "$GCC" = "yes" ; then
13	CFLAGS="$CFLAGS -Wall -pedantic"
14	if gcc --help=warnings 2>&1 | grep -q 'Wstrict-overflow=' ; then
15		CFLAGS="$CFLAGS -Wstrict-overflow=0"
16	fi
17	if gcc --help=warnings 2>&1 | grep -q 'Wformat-overflow=' ; then
18		CFLAGS="$CFLAGS -Wformat-overflow=0"
19	fi
20fi
21
22# Checks for libraries.
23AC_SEARCH_LIBS([setupterm],[tinfo])
24AC_SEARCH_LIBS([addwstr],[ncursesw ncurses cursesw curses],[CURSESLIB="yes"],[CURSESLIB="no"])
25if test "$CURSESLIB" = "no" ; then
26	AC_MSG_ERROR([CLEX requires CURSES library with a wide character support])
27fi
28
29# Checks for header files.
30
31dnl  glibc 2.25 deprecates 'major' and 'minor' in <sys/types.h> and requires to
32dnl  include <sys/sysmacros.h>. However the logic in AC_HEADER_MAJOR has not yet
33dnl  been updated in Autoconf 2.69
34if test "$GCC" = "yes" ; then
35	saved_CFLAGS=$CFLAGS
36	CFLAGS="$CFLAGS -Werror"
37	AC_HEADER_MAJOR
38	CFLAGS=$saved_CFLAGS
39else
40	AC_HEADER_MAJOR
41fi
42
43AC_CHECK_HEADERS([fcntl.h langinfo.h limits.h locale.h stdlib.h string.h termios.h unistd.h wchar.h wctype.h])
44if echo "$LIBS" | grep -e "-lncurses" > /dev/null ; then
45	dnl ncurses header file for ncurses library
46	for dir in /usr/include /opt/include /usr/local/include /opt/local/include ; do
47		for subdir in ncursesw ncurses ; do
48			if test -d "$dir/$subdir" ; then
49				CPPFLAGS="$CPPFLAGS -I$dir/$subdir"
50			fi
51		done
52	done
53	AC_CHECK_HEADERS([ncursesw.h ncurses.h])
54else
55	dnl curses header file for curses library
56	for dir in /usr/include /opt/include /usr/local/include /opt/local/include ; do
57		for subdir in cursesw curses ; do
58			if test -d "$dir/$subdir" ; then
59				CPPFLAGS="$CPPFLAGS -I$dir/$subdir"
60			fi
61		done
62	done
63	AC_CHECK_HEADERS([cursesw.h curses.h])
64fi
65AC_CHECK_HEADERS([term.h])
66
67# Checks for typedefs, structures, and compiler characteristics.
68AC_TYPE_UID_T
69AC_TYPE_MODE_T
70AC_TYPE_OFF_T
71AC_TYPE_PID_T
72AC_TYPE_SIZE_T
73AC_TYPE_SSIZE_T
74AC_TYPE_SIGNAL
75AC_CHECK_MEMBERS([struct stat.st_rdev])
76AC_DECL_SYS_SIGLIST
77AC_FUNC_FNMATCH
78AC_FUNC_FORK
79AC_FUNC_STRCOLL
80
81# Checks for library functions.
82AC_DEFINE([_GNU_SOURCE],[1],[required for strsignal])
83AC_CHECK_FUNCS([alarm btowc dup2 endgrent endpwent getcwd iswprint memset nl_langinfo setenv setlocale strchr strerror strsignal uname wcwidth])
84
85# Checks for system services.
86AC_SYS_LARGEFILE
87
88AC_CONFIG_FILES([Makefile clex.spec src/Makefile])
89AC_OUTPUT
90