mirror of
https://github.com/tmux/tmux.git
synced 2024-11-17 18:08:51 +00:00
dfbc6b1888
Squashed commit of the following: commit 6ebc3feb4671d9b25b3db99d3c16b2323b8e3d02 Author: topcat001 <anindya49@hotmail.com> Date: Sun Aug 20 16:09:51 2023 -0700 Remove redundant {}. commit 6f013fce39602c259a5be2d690d548c73e51cccc Author: topcat001 <anindya49@hotmail.com> Date: Sun Aug 20 16:02:15 2023 -0700 Revert "Do not defer redraw if it is just the status line (will need to do more here I" This reverts commit0a15bbf3f1
. commit e6322b4196d73c975ba2e73633e6de9c46779059 Author: topcat001 <anindya49@hotmail.com> Date: Sun Aug 20 15:46:59 2023 -0700 Fix placeholder label and clean up. commit 5896ac52a1f72056a75480b3e1ada328f239df9b Merge: ad982330e3a8b843
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Fri Aug 18 17:00:03 2023 +0100 Merge branch 'master' into sixel commit ad98233066b72547aee7fa0c87838847ee7f1ece Author: topcat001 <anindya49@hotmail.com> Date: Tue Aug 15 13:57:08 2023 -0700 Better text placeholder. commit 312d83252c27fc4d09d09d121bf7573336e3cdca Merge: 14b8b5243d93b0c5
Author: topcat001 <anindya49@hotmail.com> Date: Tue Aug 15 13:39:22 2023 -0700 Merge remote-tracking branch 'origin/master' into sixel commit 14b8b524523a7d5a4e42f7dfa346905c604c91e2 Merge: 4baf7642fda39377
Author: topcat001 <anindya49@hotmail.com> Date: Sat Jul 22 17:29:10 2023 -0700 Merge branch 'master' into sixel commit 4baf76422fadb216bf27b47645b52da3379e7dea Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Wed Jun 21 07:43:53 2023 +0100 Both files can go on one line. commit4c92acf6ff
Author: topcat001 <anindya49@hotmail.com> Date: Sat Jun 17 17:53:01 2023 -0700 Merge topcat001/tmux/sixel. commit6794facc82
Merge: 7b85f5adf41c536f
Author: topcat001 <anindya49@hotmail.com> Date: Sat Jun 17 17:21:02 2023 -0700 Merge remote-tracking branch 'origin/master' into sixel commit 7b85f5adf9a5094db580ca98e4d2231d8d5b5a4f Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Jun 8 12:55:03 2023 +0100 Do not require passthrough for SIXEL. commit a6ee55e0925cac35d011c188db2da0421fc09be1 Merge: 6da391f4fe385b18
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Jun 8 12:19:55 2023 +0100 Merge branch 'master' into sixel commit 6da391f460414ed3dde23e5ab6ca3fe8e988ce51 Merge: 0d71e5850eb5d254
Author: topcat001 <anindya49@hotmail.com> Date: Sat May 20 17:05:55 2023 -0700 Merge branch 'master' into sixel commit 0d71e5853ffe797f90b815ac3af25ac0ad92ab07 Merge:64368a1a
fbe6fe7f
Author: topcat001 <anindya49@hotmail.com> Date: Sat Apr 29 17:32:07 2023 -0700 Merge branch 'master' into sixel commit64368a1a63
Merge:c630a56a
22eb0334
Author: topcat001 <anindya49@hotmail.com> Date: Thu Mar 30 14:21:09 2023 -0700 Merge branch 'master' into sixel commitc630a56a62
Merge:34c96c4c
aaa043a2
Author: topcat001 <anindya49@hotmail.com> Date: Thu Nov 10 18:53:01 2022 -0800 Merge branch 'master' into sixel commit34c96c4c4a
Merge:2a1e16a2
50f4e0fa
Author: topcat001 <anindya49@hotmail.com> Date: Sat Nov 5 18:05:36 2022 -0700 Merge branch 'master' into sixel commit2a1e16a24d
Merge:a82f14c7
d001a94d
Author: topcat001 <anindya49@hotmail.com> Date: Thu Oct 27 16:01:35 2022 -0700 Merge branch 'master' into sixel commita82f14c7b2
Merge:742c0634
f7b30ed3
Author: topcat001 <anindya49@hotmail.com> Date: Sun Aug 28 13:43:07 2022 -0700 Merge branch 'master' into sixel commit742c063473
Merge:906c92a5
87b248f3
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Fri Apr 1 10:14:15 2022 +0100 Merge branch 'master' into sixel commit906c92a5f4
Merge:6680a024
138ffc7c
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Wed Dec 8 10:37:33 2021 +0000 Merge branch 'master' into sixel commit6680a024be
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Oct 7 13:59:08 2021 +0100 Fix build. commitebd2c58593
Merge:90dc0519
fed7b29c
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Oct 7 13:19:48 2021 +0100 Merge branch 'master' into sixel commit90dc05191c
Merge:a282439f
4694afbe
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Feb 20 20:37:32 2020 +0000 Merge branch 'master' into sixel commita282439fcb
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Jan 30 09:12:53 2020 +0000 Add missing declarations. commit3a741aacd1
Merge:40ad0107
339832b9
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Jan 30 09:11:01 2020 +0000 Merge branch 'sixel-passthrough' into sixel commit339832b92c
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Jan 30 09:04:51 2020 +0000 Bad merge. commit92ed9fc0b2
Merge:5bb07548
32be954b
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Jan 30 09:03:38 2020 +0000 Merge branch 'master' into sixel-passthrough commit40ad01073d
Merge:dd3c72f1
61b075a2
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Sun Jan 12 20:03:41 2020 +0000 Merge branch 'master' into sixel commit5bb075487f
Merge:7c033a74
54efe337
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Wed Dec 18 20:24:42 2019 +0000 Merge branch 'master' into sixel-passthrough commitdd3c72f132
Merge:1a0e5fe9
54efe337
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Wed Dec 18 20:24:26 2019 +0000 Merge branch 'master' into sixel commit1a0e5fe933
Merge:cf071ffe
15d7e564
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Tue Dec 10 16:34:11 2019 +0000 Merge branch 'master' into sixel commitcf071ffecd
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Mon Dec 9 15:41:56 2019 +0000 Remove images when reflow happens. commit2006b7a563
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Dec 5 09:27:15 2019 +0000 More invalidation of images. commitb642eac450
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Dec 5 09:11:24 2019 +0000 Redraw and scroll images and part of invalidating them. commit7566e37a46
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Dec 5 08:51:24 2019 +0000 Call sixel_scale with the right number of arguments. commit62c0280b23
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Dec 5 08:48:58 2019 +0000 Correctly remove when not visible. commit86c5098a88
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Dec 5 08:32:25 2019 +0000 Add helpers to scroll image up and a flag to copy the colours. commit49f2f0a8f1
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Dec 5 00:02:55 2019 +0000 Store images, currently at most 10. commit3aebcc6709
Merge:146ee3f6
92ecd611
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Wed Dec 4 19:27:16 2019 +0000 Merge branch 'master' into sixel commit7c033a74e2
Merge:0a15bbf3
92ecd611
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Wed Dec 4 12:41:09 2019 +0000 Merge branch 'master' into sixel-passthrough commit146ee3f6f8
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Sat Nov 30 09:47:53 2019 +0000 Don't write image as text yet. commit0a15bbf3f1
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Sat Nov 30 09:15:35 2019 +0000 Do not defer redraw if it is just the status line (will need to do more here I think). commita5b1e20941
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Nov 28 14:20:22 2019 +0000 Add a flag to disable blocking while sending a SIXEL image (turned off when the buffer hits 0 size). commit968382aa6a
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Nov 28 12:35:18 2019 +0000 Pass through SIXEL DCS sequences (treat similarly to the passthrough escape sequence) if it appears the terminal outside supports them. commitb1904c9b8d
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Sat Nov 30 09:17:18 2019 +0000 Store SIXELs as a box for the moment. commit5d8dbcdf3d
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Sat Nov 30 09:15:35 2019 +0000 Do not defer redraw if it is just the status line (will need to do more here I think). commit0c999a402e
Merge:28961dd5
866b053f
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Fri Nov 29 18:54:09 2019 +0000 Merge branch 'master' into sixel commit28961dd5a3
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Nov 28 14:24:57 2019 +0000 Add an image. commitd2e3f3c1cc
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Nov 28 14:20:22 2019 +0000 Add a flag to disable blocking while sending a SIXEL image (turned off when the buffer hits 0 size). commite01df67ca1
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Nov 28 13:21:40 2019 +0000 Crop and scale images as needed when drawing them. commite24acc0b5c
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Nov 28 12:38:02 2019 +0000 Simple SIXEL parse and modify API. commitb34111b3da
Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Nov 28 12:35:18 2019 +0000 Pass through SIXEL DCS sequences (treat similarly to the passthrough escape sequence) if it appears the terminal outside supports them.
987 lines
21 KiB
Plaintext
987 lines
21 KiB
Plaintext
# configure.ac
|
|
|
|
AC_INIT([tmux], next-3.4)
|
|
AC_PREREQ([2.60])
|
|
|
|
AC_CONFIG_AUX_DIR(etc)
|
|
AC_CONFIG_LIBOBJ_DIR(compat)
|
|
AM_INIT_AUTOMAKE([foreign subdir-objects])
|
|
|
|
AC_CANONICAL_HOST
|
|
|
|
# When CFLAGS isn't set at this stage and gcc is detected by the macro below,
|
|
# autoconf will automatically use CFLAGS="-O2 -g". Prevent that by using an
|
|
# empty default.
|
|
: ${CFLAGS=""}
|
|
|
|
# Save user CPPFLAGS, CFLAGS and LDFLAGS. We need to change them because
|
|
# AC_CHECK_HEADER doesn't give us any other way to update the include
|
|
# paths. But for Makefile.am we want to use AM_CPPFLAGS and friends.
|
|
SAVED_CFLAGS="$CFLAGS"
|
|
SAVED_CPPFLAGS="$CPPFLAGS"
|
|
SAVED_LDFLAGS="$LDFLAGS"
|
|
|
|
# Is this oss-fuzz build?
|
|
AC_ARG_ENABLE(
|
|
fuzzing,
|
|
AS_HELP_STRING(--enable-fuzzing, build fuzzers)
|
|
)
|
|
AC_ARG_VAR(
|
|
FUZZING_LIBS,
|
|
AS_HELP_STRING(libraries to link fuzzing targets with)
|
|
)
|
|
|
|
# Set up convenient fuzzing defaults before initializing compiler.
|
|
if test "x$enable_fuzzing" = xyes; then
|
|
AC_DEFINE(NEED_FUZZING)
|
|
test "x$CC" = x && CC=clang
|
|
test "x$FUZZING_LIBS" = x && \
|
|
FUZZING_LIBS="-fsanitize=fuzzer"
|
|
test "x$SAVED_CFLAGS" = x && \
|
|
AM_CFLAGS="-g -fsanitize=fuzzer-no-link,address"
|
|
fi
|
|
|
|
# Set up the compiler in two different ways and say yes we may want to install.
|
|
AC_PROG_CC
|
|
AM_PROG_CC_C_O
|
|
AC_PROG_CC_C99
|
|
AC_PROG_CPP
|
|
AC_PROG_EGREP
|
|
AC_PROG_INSTALL
|
|
AC_PROG_YACC
|
|
PKG_PROG_PKG_CONFIG
|
|
AC_USE_SYSTEM_EXTENSIONS
|
|
|
|
# Default tmux.conf goes in /etc not ${prefix}/etc.
|
|
test "$sysconfdir" = '${prefix}/etc' && sysconfdir=/etc
|
|
|
|
# Is this --enable-debug?
|
|
case "x$VERSION" in xnext*) enable_debug=yes;; esac
|
|
AC_ARG_ENABLE(
|
|
debug,
|
|
AS_HELP_STRING(--enable-debug, enable debug build flags),
|
|
)
|
|
AM_CONDITIONAL(IS_DEBUG, test "x$enable_debug" = xyes)
|
|
|
|
# Is this a static build?
|
|
AC_ARG_ENABLE(
|
|
static,
|
|
AS_HELP_STRING(--enable-static, create a static build)
|
|
)
|
|
if test "x$enable_static" = xyes; then
|
|
case "$host_os" in
|
|
*darwin*)
|
|
AC_MSG_ERROR([static linking is not supported on macOS])
|
|
;;
|
|
esac
|
|
test "x$PKG_CONFIG" != x && PKG_CONFIG="$PKG_CONFIG --static"
|
|
AM_LDFLAGS="-static $AM_LDFLAGS"
|
|
LDFLAGS="$AM_LDFLAGS $SAVED_LDFLAGS"
|
|
fi
|
|
|
|
# Allow default TERM to be set.
|
|
AC_ARG_WITH(
|
|
TERM,
|
|
AS_HELP_STRING(--with-TERM, set default TERM),
|
|
[DEFAULT_TERM=$withval],
|
|
[DEFAULT_TERM=]
|
|
)
|
|
case "x$DEFAULT_TERM" in
|
|
xscreen*|xtmux*|x)
|
|
;;
|
|
*)
|
|
AC_MSG_ERROR("unsuitable TERM (must be screen* or tmux*)")
|
|
;;
|
|
esac
|
|
|
|
# Do we need fuzzers?
|
|
AM_CONDITIONAL(NEED_FUZZING, test "x$enable_fuzzing" = xyes)
|
|
|
|
# Is this gcc?
|
|
AM_CONDITIONAL(IS_GCC, test "x$GCC" = xyes -a "x$enable_fuzzing" != xyes)
|
|
|
|
# Is this Sun CC?
|
|
AC_EGREP_CPP(
|
|
yes,
|
|
[
|
|
#ifdef __SUNPRO_C
|
|
yes
|
|
#endif
|
|
],
|
|
found_suncc=yes,
|
|
found_suncc=no
|
|
)
|
|
AM_CONDITIONAL(IS_SUNCC, test "x$found_suncc" = xyes)
|
|
|
|
# Check for various headers. Alternatives included from compat.h.
|
|
AC_CHECK_HEADERS([ \
|
|
bitstring.h \
|
|
dirent.h \
|
|
fcntl.h \
|
|
inttypes.h \
|
|
libproc.h \
|
|
libutil.h \
|
|
ndir.h \
|
|
paths.h \
|
|
pty.h \
|
|
stdint.h \
|
|
sys/dir.h \
|
|
sys/ndir.h \
|
|
sys/tree.h \
|
|
ucred.h \
|
|
util.h \
|
|
])
|
|
|
|
# Look for sys_signame.
|
|
AC_SEARCH_LIBS(sys_signame, , AC_DEFINE(HAVE_SYS_SIGNAME))
|
|
|
|
# Look for fmod.
|
|
AC_CHECK_LIB(m, fmod)
|
|
|
|
# Look for library needed for flock.
|
|
AC_SEARCH_LIBS(flock, bsd)
|
|
|
|
# Check for functions that are replaced or omitted.
|
|
AC_CHECK_FUNCS([ \
|
|
dirfd \
|
|
flock \
|
|
prctl \
|
|
proc_pidinfo \
|
|
getpeerucred \
|
|
sysconf \
|
|
])
|
|
|
|
# Check for functions with a compatibility implementation.
|
|
AC_REPLACE_FUNCS([ \
|
|
asprintf \
|
|
cfmakeraw \
|
|
clock_gettime \
|
|
closefrom \
|
|
explicit_bzero \
|
|
fgetln \
|
|
freezero \
|
|
getdtablecount \
|
|
getdtablesize \
|
|
getpeereid \
|
|
getline \
|
|
getprogname \
|
|
memmem \
|
|
setenv \
|
|
setproctitle \
|
|
strcasestr \
|
|
strlcat \
|
|
strlcpy \
|
|
strndup \
|
|
strsep \
|
|
])
|
|
AC_FUNC_STRNLEN
|
|
|
|
# Check if strtonum works.
|
|
AC_MSG_CHECKING([for working strtonum])
|
|
AC_RUN_IFELSE([AC_LANG_PROGRAM(
|
|
[#include <stdlib.h>],
|
|
[return (strtonum("0", 0, 1, NULL) == 0 ? 0 : 1);]
|
|
)],
|
|
[AC_DEFINE(HAVE_STRTONUM) AC_MSG_RESULT(yes)],
|
|
[AC_LIBOBJ(strtonum) AC_MSG_RESULT(no)],
|
|
[AC_LIBOBJ(strtonum) AC_MSG_RESULT(no)]
|
|
)
|
|
|
|
# Clang sanitizers wrap reallocarray even if it isn't available on the target
|
|
# system. When compiled it always returns NULL and crashes the program. To
|
|
# detect this we need a more complicated test.
|
|
AC_MSG_CHECKING([for working reallocarray])
|
|
AC_RUN_IFELSE([AC_LANG_PROGRAM(
|
|
[#include <stdlib.h>],
|
|
[return (reallocarray(NULL, 1, 1) == NULL);]
|
|
)],
|
|
AC_MSG_RESULT(yes),
|
|
[AC_LIBOBJ(reallocarray) AC_MSG_RESULT([no])],
|
|
[AC_LIBOBJ(reallocarray) AC_MSG_RESULT([no])]
|
|
)
|
|
AC_MSG_CHECKING([for working recallocarray])
|
|
AC_RUN_IFELSE([AC_LANG_PROGRAM(
|
|
[#include <stdlib.h>],
|
|
[return (recallocarray(NULL, 1, 1, 1) == NULL);]
|
|
)],
|
|
AC_MSG_RESULT(yes),
|
|
[AC_LIBOBJ(recallocarray) AC_MSG_RESULT([no])],
|
|
[AC_LIBOBJ(recallocarray) AC_MSG_RESULT([no])]
|
|
)
|
|
|
|
# Look for clock_gettime. Must come before event_init.
|
|
AC_SEARCH_LIBS(clock_gettime, rt)
|
|
|
|
# Always use our getopt because 1) glibc's doesn't enforce argument order 2)
|
|
# musl does not set optarg to NULL for flags without arguments (although it is
|
|
# not required to, but it is helpful) 3) there are probably other weird
|
|
# implementations.
|
|
AC_LIBOBJ(getopt)
|
|
|
|
# Look for libevent. Try libevent_core or libevent with pkg-config first then
|
|
# look for the library.
|
|
PKG_CHECK_MODULES(
|
|
LIBEVENT_CORE,
|
|
[libevent_core >= 2],
|
|
[
|
|
AM_CPPFLAGS="$LIBEVENT_CORE_CFLAGS $AM_CPPFLAGS"
|
|
CPPFLAGS="$AM_CPPFLAGS $SAVED_CPPFLAGS"
|
|
LIBS="$LIBEVENT_CORE_LIBS $LIBS"
|
|
found_libevent=yes
|
|
],
|
|
found_libevent=no
|
|
)
|
|
if test x$found_libevent = xno; then
|
|
PKG_CHECK_MODULES(
|
|
LIBEVENT,
|
|
[libevent >= 2],
|
|
[
|
|
AM_CPPFLAGS="$LIBEVENT_CFLAGS $AM_CPPFLAGS"
|
|
CPPFLAGS="$AM_CPPFLAGS $SAVED_CPPFLAGS"
|
|
LIBS="$LIBEVENT_LIBS $LIBS"
|
|
found_libevent=yes
|
|
],
|
|
found_libevent=no
|
|
)
|
|
fi
|
|
if test x$found_libevent = xno; then
|
|
AC_SEARCH_LIBS(
|
|
event_init,
|
|
[event_core event event-1.4],
|
|
found_libevent=yes,
|
|
found_libevent=no
|
|
)
|
|
fi
|
|
AC_CHECK_HEADER(
|
|
event2/event.h,
|
|
AC_DEFINE(HAVE_EVENT2_EVENT_H),
|
|
[
|
|
AC_CHECK_HEADER(
|
|
event.h,
|
|
AC_DEFINE(HAVE_EVENT_H),
|
|
found_libevent=no
|
|
)
|
|
]
|
|
)
|
|
if test "x$found_libevent" = xno; then
|
|
AC_MSG_ERROR("libevent not found")
|
|
fi
|
|
|
|
# Look for yacc.
|
|
AC_CHECK_PROG(found_yacc, $YACC, yes, no)
|
|
if test "x$found_yacc" = xno; then
|
|
AC_MSG_ERROR("yacc not found")
|
|
fi
|
|
|
|
# Look for ncurses or curses. Try pkg-config first then directly for the
|
|
# library.
|
|
PKG_CHECK_MODULES(
|
|
LIBTINFO,
|
|
tinfo,
|
|
[
|
|
AM_CPPFLAGS="$LIBTINFO_CFLAGS $AM_CPPFLAGS"
|
|
CPPFLAGS="$LIBTINFO_CFLAGS $SAVED_CPPFLAGS"
|
|
LIBS="$LIBTINFO_LIBS $LIBS"
|
|
found_ncurses=yes
|
|
],
|
|
found_ncurses=no
|
|
)
|
|
if test "x$found_ncurses" = xno; then
|
|
PKG_CHECK_MODULES(
|
|
LIBNCURSES,
|
|
ncurses,
|
|
[
|
|
AM_CPPFLAGS="$LIBNCURSES_CFLAGS $AM_CPPFLAGS"
|
|
CPPFLAGS="$LIBNCURSES_CFLAGS $SAVED_CPPFLAGS"
|
|
LIBS="$LIBNCURSES_LIBS $LIBS"
|
|
found_ncurses=yes
|
|
],
|
|
found_ncurses=no
|
|
)
|
|
fi
|
|
if test "x$found_ncurses" = xno; then
|
|
PKG_CHECK_MODULES(
|
|
LIBNCURSESW,
|
|
ncursesw,
|
|
[
|
|
AM_CPPFLAGS="$LIBNCURSESW_CFLAGS $AM_CPPFLAGS"
|
|
CPPFLAGS="$LIBNCURSESW_CFLAGS $SAVED_CPPFLAGS"
|
|
LIBS="$LIBNCURSESW_LIBS $LIBS"
|
|
found_ncurses=yes
|
|
],
|
|
found_ncurses=no
|
|
)
|
|
fi
|
|
if test "x$found_ncurses" = xno; then
|
|
AC_SEARCH_LIBS(
|
|
setupterm,
|
|
[tinfo terminfo ncurses ncursesw],
|
|
found_ncurses=yes,
|
|
found_ncurses=no
|
|
)
|
|
if test "x$found_ncurses" = xyes; then
|
|
AC_CHECK_HEADER(
|
|
ncurses.h,
|
|
LIBS="$LIBS -lncurses",
|
|
found_ncurses=no
|
|
)
|
|
fi
|
|
fi
|
|
if test "x$found_ncurses" = xyes; then
|
|
CPPFLAGS="$CPPFLAGS -DHAVE_NCURSES_H"
|
|
AC_DEFINE(HAVE_NCURSES_H)
|
|
else
|
|
AC_CHECK_LIB(
|
|
curses,
|
|
setupterm,
|
|
found_curses=yes,
|
|
found_curses=no
|
|
)
|
|
AC_CHECK_HEADER(
|
|
curses.h,
|
|
,
|
|
found_curses=no
|
|
)
|
|
if test "x$found_curses" = xyes; then
|
|
LIBS="$LIBS -lcurses"
|
|
CPPFLAGS="$CPPFLAGS -DHAVE_CURSES_H"
|
|
AC_DEFINE(HAVE_CURSES_H)
|
|
else
|
|
AC_MSG_ERROR("curses not found")
|
|
fi
|
|
fi
|
|
AC_CHECK_FUNCS([ \
|
|
tiparm \
|
|
tiparm_s \
|
|
])
|
|
|
|
# Look for utempter.
|
|
AC_ARG_ENABLE(
|
|
utempter,
|
|
AS_HELP_STRING(--enable-utempter, use utempter if it is installed)
|
|
)
|
|
if test "x$enable_utempter" = xyes; then
|
|
AC_CHECK_HEADER(utempter.h, enable_utempter=yes, enable_utempter=no)
|
|
if test "x$enable_utempter" = xyes; then
|
|
AC_SEARCH_LIBS(
|
|
utempter_add_record,
|
|
utempter,
|
|
enable_utempter=yes,
|
|
enable_utempter=no
|
|
)
|
|
fi
|
|
if test "x$enable_utempter" = xyes; then
|
|
AC_DEFINE(HAVE_UTEMPTER)
|
|
else
|
|
AC_MSG_ERROR("utempter not found")
|
|
fi
|
|
fi
|
|
|
|
# Look for utf8proc.
|
|
AC_ARG_ENABLE(
|
|
utf8proc,
|
|
AS_HELP_STRING(--enable-utf8proc, use utf8proc if it is installed)
|
|
)
|
|
if test "x$enable_utf8proc" = xyes; then
|
|
PKG_CHECK_MODULES(
|
|
LIBUTF8PROC,
|
|
libutf8proc,
|
|
[
|
|
AM_CPPFLAGS="$LIBUTF8PROC_CFLAGS $AM_CPPFLAGS"
|
|
CPPFLAGS="$LIBUTF8PROC_CFLAGS $SAVED_CPPFLAGS"
|
|
LIBS="$LIBUTF8PROC_LIBS $LIBS"
|
|
]
|
|
)
|
|
AC_CHECK_HEADER(utf8proc.h, enable_utf8proc=yes, enable_utf8proc=no)
|
|
if test "x$enable_utf8proc" = xyes; then
|
|
AC_SEARCH_LIBS(
|
|
utf8proc_charwidth,
|
|
utf8proc,
|
|
enable_utf8proc=yes,
|
|
enable_utf8proc=no
|
|
)
|
|
fi
|
|
if test "x$enable_utf8proc" = xyes; then
|
|
AC_DEFINE(HAVE_UTF8PROC)
|
|
else
|
|
AC_MSG_ERROR("utf8proc not found")
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(HAVE_UTF8PROC, [test "x$enable_utf8proc" = xyes])
|
|
|
|
# Check for systemd support.
|
|
AC_ARG_ENABLE(
|
|
systemd,
|
|
AS_HELP_STRING(--enable-systemd, enable systemd integration)
|
|
)
|
|
if test x"$enable_systemd" = xyes; then
|
|
PKG_CHECK_MODULES(
|
|
SYSTEMD,
|
|
libsystemd,
|
|
[
|
|
AM_CPPFLAGS="$SYSTEMD_CFLAGS $AM_CPPFLAGS"
|
|
CPPFLAGS="$AM_CPPFLAGS $SAVED_CPPFLAGS"
|
|
LIBS="$SYSTEMD_LIBS $LIBS"
|
|
found_systemd=yes
|
|
],
|
|
found_systemd=no
|
|
)
|
|
if test "x$found_systemd" = xyes; then
|
|
AC_DEFINE(HAVE_SYSTEMD)
|
|
else
|
|
AC_MSG_ERROR("systemd not found")
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(HAVE_SYSTEMD, [test "x$found_systemd" = xyes])
|
|
AC_ARG_ENABLE(
|
|
cgroups,
|
|
AS_HELP_STRING(--disable-cgroups, disable adding panes to new cgroups with systemd)
|
|
)
|
|
if test "x$enable_cgroups" = x; then
|
|
# Default to the same as $enable_systemd.
|
|
enable_cgroups=$enable_systemd
|
|
fi
|
|
if test "x$enable_cgroups" = xyes; then
|
|
if test "x$found_systemd" = xyes; then
|
|
AC_DEFINE(ENABLE_CGROUPS)
|
|
else
|
|
AC_MSG_ERROR("cgroups requires systemd to be enabled")
|
|
fi
|
|
fi
|
|
|
|
# Enable sixel support.
|
|
AC_ARG_ENABLE(
|
|
sixel,
|
|
AS_HELP_STRING(--enable-sixel, enable sixel images)
|
|
)
|
|
if test "x$enable_sixel" = xyes; then
|
|
AC_DEFINE(ENABLE_SIXEL)
|
|
fi
|
|
AM_CONDITIONAL(ENABLE_SIXEL, [test "x$enable_sixel" = xyes])
|
|
|
|
# Check for b64_ntop. If we have b64_ntop, we assume b64_pton as well.
|
|
AC_MSG_CHECKING(for b64_ntop)
|
|
AC_LINK_IFELSE([AC_LANG_PROGRAM(
|
|
[
|
|
#include <sys/types.h>
|
|
#include <netinet/in.h>
|
|
#include <resolv.h>
|
|
],
|
|
[
|
|
b64_ntop(NULL, 0, NULL, 0);
|
|
])],
|
|
found_b64_ntop=yes,
|
|
found_b64_ntop=no
|
|
)
|
|
AC_MSG_RESULT($found_b64_ntop)
|
|
OLD_LIBS="$LIBS"
|
|
if test "x$found_b64_ntop" = xno; then
|
|
AC_MSG_CHECKING(for b64_ntop with -lresolv)
|
|
LIBS="$OLD_LIBS -lresolv"
|
|
AC_LINK_IFELSE([AC_LANG_PROGRAM(
|
|
[
|
|
#include <sys/types.h>
|
|
#include <netinet/in.h>
|
|
#include <resolv.h>
|
|
],
|
|
[
|
|
b64_ntop(NULL, 0, NULL, 0);
|
|
])],
|
|
found_b64_ntop=yes,
|
|
found_b64_ntop=no
|
|
)
|
|
AC_MSG_RESULT($found_b64_ntop)
|
|
fi
|
|
if test "x$found_b64_ntop" = xno; then
|
|
AC_MSG_CHECKING(for b64_ntop with -lnetwork)
|
|
LIBS="$OLD_LIBS -lnetwork"
|
|
AC_LINK_IFELSE([AC_LANG_PROGRAM(
|
|
[
|
|
#include <sys/types.h>
|
|
#include <netinet/in.h>
|
|
#include <resolv.h>
|
|
],
|
|
[
|
|
b64_ntop(NULL, 0, NULL, 0);
|
|
])],
|
|
found_b64_ntop=yes,
|
|
found_b64_ntop=no
|
|
)
|
|
AC_MSG_RESULT($found_b64_ntop)
|
|
fi
|
|
if test "x$found_b64_ntop" = xyes; then
|
|
AC_DEFINE(HAVE_B64_NTOP)
|
|
else
|
|
LIBS="$OLD_LIBS"
|
|
AC_LIBOBJ(base64)
|
|
fi
|
|
|
|
# Look for networking libraries.
|
|
AC_SEARCH_LIBS(inet_ntoa, nsl)
|
|
AC_SEARCH_LIBS(socket, socket)
|
|
AC_CHECK_LIB(xnet, socket)
|
|
|
|
# Check if using glibc and have malloc_trim(3). The glibc free(3) is pretty bad
|
|
# about returning memory to the kernel unless the application tells it when to
|
|
# with malloc_trim(3).
|
|
AC_MSG_CHECKING(if free doesn't work very well)
|
|
AC_LINK_IFELSE([AC_LANG_SOURCE(
|
|
[
|
|
#include <stdlib.h>
|
|
#ifdef __GLIBC__
|
|
#include <malloc.h>
|
|
int main(void) {
|
|
malloc_trim (0);
|
|
exit(0);
|
|
}
|
|
#else
|
|
no
|
|
#endif
|
|
])],
|
|
found_malloc_trim=yes,
|
|
found_malloc_trim=no
|
|
)
|
|
AC_MSG_RESULT($found_malloc_trim)
|
|
if test "x$found_malloc_trim" = xyes; then
|
|
AC_DEFINE(HAVE_MALLOC_TRIM)
|
|
fi
|
|
|
|
# Check for CMSG_DATA. On some platforms like HP-UX this requires UNIX 95
|
|
# (_XOPEN_SOURCE and _XOPEN_SOURCE_EXTENDED) (see xopen_networking(7)). On
|
|
# others, UNIX 03 (_XOPEN_SOURCE 600, see standards(7) on Solaris).
|
|
XOPEN_DEFINES=
|
|
AC_MSG_CHECKING(for CMSG_DATA)
|
|
AC_EGREP_CPP(
|
|
yes,
|
|
[
|
|
#include <sys/socket.h>
|
|
#ifdef CMSG_DATA
|
|
yes
|
|
#endif
|
|
],
|
|
found_cmsg_data=yes,
|
|
found_cmsg_data=no
|
|
)
|
|
AC_MSG_RESULT($found_cmsg_data)
|
|
if test "x$found_cmsg_data" = xno; then
|
|
AC_MSG_CHECKING(if CMSG_DATA needs _XOPEN_SOURCE_EXTENDED)
|
|
AC_EGREP_CPP(
|
|
yes,
|
|
[
|
|
#define _XOPEN_SOURCE 1
|
|
#define _XOPEN_SOURCE_EXTENDED 1
|
|
#include <sys/socket.h>
|
|
#ifdef CMSG_DATA
|
|
yes
|
|
#endif
|
|
],
|
|
found_cmsg_data=yes,
|
|
found_cmsg_data=no
|
|
)
|
|
AC_MSG_RESULT($found_cmsg_data)
|
|
if test "x$found_cmsg_data" = xyes; then
|
|
XOPEN_DEFINES="-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED"
|
|
fi
|
|
fi
|
|
if test "x$found_cmsg_data" = xno; then
|
|
AC_MSG_CHECKING(if CMSG_DATA needs _XOPEN_SOURCE 600)
|
|
AC_EGREP_CPP(
|
|
yes,
|
|
[
|
|
#define _XOPEN_SOURCE 600
|
|
#include <sys/socket.h>
|
|
#ifdef CMSG_DATA
|
|
yes
|
|
#endif
|
|
],
|
|
found_cmsg_data=yes,
|
|
found_cmsg_data=no
|
|
)
|
|
AC_MSG_RESULT($found_cmsg_data)
|
|
if test "x$found_cmsg_data" = xyes; then
|
|
XOPEN_DEFINES="-D_XOPEN_SOURCE=600"
|
|
else
|
|
AC_MSG_ERROR("CMSG_DATA not found")
|
|
fi
|
|
fi
|
|
AC_SUBST(XOPEN_DEFINES)
|
|
|
|
# Look for err and friends in err.h.
|
|
AC_CHECK_FUNC(err, found_err_h=yes, found_err_h=no)
|
|
AC_CHECK_FUNC(errx, , found_err_h=no)
|
|
AC_CHECK_FUNC(warn, , found_err_h=no)
|
|
AC_CHECK_FUNC(warnx, , found_err_h=no)
|
|
if test "x$found_err_h" = xyes; then
|
|
AC_CHECK_HEADER(err.h, , found_err_h=no)
|
|
else
|
|
AC_LIBOBJ(err)
|
|
fi
|
|
|
|
# Look for imsg_init in libutil.
|
|
AC_SEARCH_LIBS(imsg_init, util, found_imsg_init=yes, found_imsg_init=no)
|
|
if test "x$found_imsg_init" = xyes; then
|
|
AC_DEFINE(HAVE_IMSG)
|
|
else
|
|
AC_LIBOBJ(imsg)
|
|
AC_LIBOBJ(imsg-buffer)
|
|
fi
|
|
|
|
# Look for daemon, compat/daemon.c used if missing. Solaris 10 has it in
|
|
# libresolv, but no declaration anywhere, so check for declaration as well as
|
|
# function.
|
|
AC_CHECK_FUNC(daemon, found_daemon=yes, found_daemon=no)
|
|
AC_CHECK_DECL(
|
|
daemon,
|
|
,
|
|
found_daemon=no,
|
|
[
|
|
#include <stdlib.h>
|
|
#include <unistd.h>
|
|
]
|
|
)
|
|
if test "x$found_daemon" = xyes; then
|
|
AC_DEFINE(HAVE_DAEMON)
|
|
else
|
|
AC_LIBOBJ(daemon)
|
|
fi
|
|
|
|
# Look for stravis, compat/{vis,unvis}.c used if missing.
|
|
AC_CHECK_FUNC(stravis, found_stravis=yes, found_stravis=no)
|
|
if test "x$found_stravis" = xyes; then
|
|
AC_MSG_CHECKING(if strnvis is broken)
|
|
AC_EGREP_HEADER([strnvis\(char \*, const char \*, size_t, int\)],
|
|
vis.h,
|
|
AC_MSG_RESULT(no),
|
|
[found_stravis=no])
|
|
if test "x$found_stravis" = xno; then
|
|
AC_MSG_RESULT(yes)
|
|
fi
|
|
fi
|
|
if test "x$found_stravis" = xyes; then
|
|
AC_CHECK_DECL(
|
|
VIS_DQ,
|
|
,
|
|
found_stravis=no,
|
|
[
|
|
#include <stdlib.h>
|
|
#include <vis.h>
|
|
]
|
|
)
|
|
fi
|
|
if test "x$found_stravis" = xyes; then
|
|
AC_DEFINE(HAVE_VIS)
|
|
else
|
|
AC_LIBOBJ(vis)
|
|
AC_LIBOBJ(unvis)
|
|
fi
|
|
|
|
# Look for fdforkpty and forkpty in libutil.
|
|
AC_SEARCH_LIBS(fdforkpty, util, found_fdforkpty=yes, found_fdforkpty=no)
|
|
if test "x$found_fdforkpty" = xyes; then
|
|
AC_DEFINE(HAVE_FDFORKPTY)
|
|
else
|
|
AC_LIBOBJ(fdforkpty)
|
|
fi
|
|
AC_SEARCH_LIBS(forkpty, util, found_forkpty=yes, found_forkpty=no)
|
|
if test "x$found_forkpty" = xyes; then
|
|
AC_DEFINE(HAVE_FORKPTY)
|
|
fi
|
|
AM_CONDITIONAL(NEED_FORKPTY, test "x$found_forkpty" = xno)
|
|
|
|
# Look for kinfo_getfile in libutil.
|
|
AC_SEARCH_LIBS(kinfo_getfile, [util util-freebsd])
|
|
|
|
# Look for a suitable queue.h.
|
|
AC_CHECK_DECL(
|
|
TAILQ_CONCAT,
|
|
found_queue_h=yes,
|
|
found_queue_h=no,
|
|
[#include <sys/queue.h>]
|
|
)
|
|
AC_CHECK_DECL(
|
|
TAILQ_PREV,
|
|
,
|
|
found_queue_h=no,
|
|
[#include <sys/queue.h>]
|
|
)
|
|
AC_CHECK_DECL(
|
|
TAILQ_REPLACE,
|
|
,
|
|
found_queue_h=no,
|
|
[#include <sys/queue.h>]
|
|
)
|
|
if test "x$found_queue_h" = xyes; then
|
|
AC_DEFINE(HAVE_QUEUE_H)
|
|
fi
|
|
|
|
# Look for __progname.
|
|
AC_MSG_CHECKING(for __progname)
|
|
AC_LINK_IFELSE([AC_LANG_SOURCE(
|
|
[
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
extern char *__progname;
|
|
int main(void) {
|
|
const char *cp = __progname;
|
|
printf("%s\n", cp);
|
|
exit(0);
|
|
}
|
|
])],
|
|
[AC_DEFINE(HAVE___PROGNAME) AC_MSG_RESULT(yes)],
|
|
AC_MSG_RESULT(no)
|
|
)
|
|
|
|
# Look for program_invocation_short_name.
|
|
AC_MSG_CHECKING(for program_invocation_short_name)
|
|
AC_LINK_IFELSE([AC_LANG_SOURCE(
|
|
[
|
|
#include <errno.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
int main(void) {
|
|
const char *cp = program_invocation_short_name;
|
|
printf("%s\n", cp);
|
|
exit(0);
|
|
}
|
|
])],
|
|
[AC_DEFINE(HAVE_PROGRAM_INVOCATION_SHORT_NAME) AC_MSG_RESULT(yes)],
|
|
AC_MSG_RESULT(no)
|
|
)
|
|
|
|
# Look for prctl(PR_SET_NAME).
|
|
AC_CHECK_DECL(
|
|
PR_SET_NAME,
|
|
AC_DEFINE(HAVE_PR_SET_NAME),
|
|
,
|
|
[#include <sys/prctl.h>]
|
|
)
|
|
|
|
# Look for setsockopt(SO_PEERCRED).
|
|
AC_CHECK_DECL(
|
|
SO_PEERCRED,
|
|
AC_DEFINE(HAVE_SO_PEERCRED),
|
|
,
|
|
[#include <sys/socket.h>]
|
|
)
|
|
|
|
# Look for fcntl(F_CLOSEM).
|
|
AC_CHECK_DECL(
|
|
F_CLOSEM,
|
|
AC_DEFINE(HAVE_FCNTL_CLOSEM),
|
|
,
|
|
[#include <fcntl.h>]
|
|
)
|
|
|
|
# Look for /proc/$$.
|
|
AC_MSG_CHECKING(for /proc/\$\$)
|
|
if test -d /proc/$$; then
|
|
AC_DEFINE(HAVE_PROC_PID)
|
|
AC_MSG_RESULT(yes)
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
|
|
# Try to figure out what the best value for TERM might be.
|
|
if test "x$DEFAULT_TERM" = x; then
|
|
DEFAULT_TERM=screen
|
|
AC_MSG_CHECKING(TERM)
|
|
AC_RUN_IFELSE([AC_LANG_SOURCE(
|
|
[
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#if defined(HAVE_CURSES_H)
|
|
#include <curses.h>
|
|
#elif defined(HAVE_NCURSES_H)
|
|
#include <ncurses.h>
|
|
#endif
|
|
#include <term.h>
|
|
int main(void) {
|
|
if (setupterm("screen-256color", -1, NULL) != OK)
|
|
exit(1);
|
|
exit(0);
|
|
}
|
|
])],
|
|
[DEFAULT_TERM=screen-256color],
|
|
,
|
|
[DEFAULT_TERM=screen]
|
|
)
|
|
AC_RUN_IFELSE([AC_LANG_SOURCE(
|
|
[
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#if defined(HAVE_CURSES_H)
|
|
#include <curses.h>
|
|
#elif defined(HAVE_NCURSES_H)
|
|
#include <ncurses.h>
|
|
#endif
|
|
#include <term.h>
|
|
int main(void) {
|
|
if (setupterm("tmux", -1, NULL) != OK)
|
|
exit(1);
|
|
exit(0);
|
|
}
|
|
])],
|
|
[DEFAULT_TERM=tmux],
|
|
,
|
|
[DEFAULT_TERM=screen]
|
|
)
|
|
AC_RUN_IFELSE([AC_LANG_SOURCE(
|
|
[
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#if defined(HAVE_CURSES_H)
|
|
#include <curses.h>
|
|
#elif defined(HAVE_NCURSES_H)
|
|
#include <ncurses.h>
|
|
#endif
|
|
#include <term.h>
|
|
int main(void) {
|
|
if (setupterm("tmux-256color", -1, NULL) != OK)
|
|
exit(1);
|
|
exit(0);
|
|
}
|
|
])],
|
|
[DEFAULT_TERM=tmux-256color],
|
|
,
|
|
[DEFAULT_TERM=screen]
|
|
)
|
|
AC_MSG_RESULT($DEFAULT_TERM)
|
|
fi
|
|
AC_SUBST(DEFAULT_TERM)
|
|
|
|
# Man page defaults to mdoc.
|
|
MANFORMAT=mdoc
|
|
AC_SUBST(MANFORMAT)
|
|
|
|
# Figure out the platform.
|
|
AC_MSG_CHECKING(platform)
|
|
case "$host_os" in
|
|
*aix*)
|
|
AC_MSG_RESULT(aix)
|
|
PLATFORM=aix
|
|
;;
|
|
*darwin*)
|
|
AC_MSG_RESULT(darwin)
|
|
PLATFORM=darwin
|
|
#
|
|
# macOS uses __dead2 instead of __dead, like FreeBSD. But it defines
|
|
# __dead away so it needs to be removed before we can replace it.
|
|
#
|
|
AC_DEFINE(BROKEN___DEAD)
|
|
#
|
|
# macOS CMSG_FIRSTHDR is broken, so redefine it with a working one.
|
|
# daemon works but has some stupid side effects, so use our internal
|
|
# version which has a workaround.
|
|
#
|
|
AC_DEFINE(BROKEN_CMSG_FIRSTHDR)
|
|
AC_LIBOBJ(daemon)
|
|
AC_LIBOBJ(daemon-darwin)
|
|
#
|
|
# macOS wcwidth(3) is bad, so complain and suggest using utf8proc
|
|
# instead.
|
|
#
|
|
if test "x$enable_utf8proc" = x; then
|
|
AC_MSG_NOTICE([])
|
|
AC_MSG_NOTICE([ macOS library support for Unicode is very poor,])
|
|
AC_MSG_NOTICE([ particularly for complex codepoints like emojis;])
|
|
AC_MSG_NOTICE([ to use these correctly, configuring with])
|
|
AC_MSG_NOTICE([ --enable-utf8proc is recommended. To build])
|
|
AC_MSG_NOTICE([ without anyway, use --disable-utf8proc])
|
|
AC_MSG_NOTICE([])
|
|
AC_MSG_ERROR([must give --enable-utf8proc or --disable-utf8proc])
|
|
fi
|
|
;;
|
|
*dragonfly*)
|
|
AC_MSG_RESULT(dragonfly)
|
|
PLATFORM=dragonfly
|
|
;;
|
|
*linux*)
|
|
AC_MSG_RESULT(linux)
|
|
PLATFORM=linux
|
|
;;
|
|
*freebsd*)
|
|
AC_MSG_RESULT(freebsd)
|
|
PLATFORM=freebsd
|
|
;;
|
|
*netbsd*)
|
|
AC_MSG_RESULT(netbsd)
|
|
PLATFORM=netbsd
|
|
;;
|
|
*openbsd*)
|
|
AC_MSG_RESULT(openbsd)
|
|
PLATFORM=openbsd
|
|
;;
|
|
*sunos*)
|
|
AC_MSG_RESULT(sunos)
|
|
PLATFORM=sunos
|
|
;;
|
|
*solaris*)
|
|
AC_MSG_RESULT(sunos)
|
|
PLATFORM=sunos
|
|
case `/usr/bin/nroff --version 2>&1` in
|
|
*GNU*)
|
|
# Solaris 11.4 and later use GNU groff.
|
|
MANFORMAT=mdoc
|
|
;;
|
|
*)
|
|
# Solaris 2.0 to 11.3 use AT&T nroff.
|
|
MANFORMAT=man
|
|
;;
|
|
esac
|
|
;;
|
|
*hpux*)
|
|
AC_MSG_RESULT(hpux)
|
|
PLATFORM=hpux
|
|
;;
|
|
*cygwin*|*msys*)
|
|
AC_MSG_RESULT(cygwin)
|
|
PLATFORM=cygwin
|
|
;;
|
|
*haiku*)
|
|
AC_MSG_RESULT(haiku)
|
|
PLATFORM=haiku
|
|
;;
|
|
*)
|
|
AC_MSG_RESULT(unknown)
|
|
PLATFORM=unknown
|
|
;;
|
|
esac
|
|
AC_SUBST(PLATFORM)
|
|
AM_CONDITIONAL(IS_AIX, test "x$PLATFORM" = xaix)
|
|
AM_CONDITIONAL(IS_DARWIN, test "x$PLATFORM" = xdarwin)
|
|
AM_CONDITIONAL(IS_DRAGONFLY, test "x$PLATFORM" = xdragonfly)
|
|
AM_CONDITIONAL(IS_LINUX, test "x$PLATFORM" = xlinux)
|
|
AM_CONDITIONAL(IS_FREEBSD, test "x$PLATFORM" = xfreebsd)
|
|
AM_CONDITIONAL(IS_NETBSD, test "x$PLATFORM" = xnetbsd)
|
|
AM_CONDITIONAL(IS_OPENBSD, test "x$PLATFORM" = xopenbsd)
|
|
AM_CONDITIONAL(IS_SUNOS, test "x$PLATFORM" = xsunos)
|
|
AM_CONDITIONAL(IS_HPUX, test "x$PLATFORM" = xhpux)
|
|
AM_CONDITIONAL(IS_HAIKU, test "x$PLATFORM" = xhaiku)
|
|
AM_CONDITIONAL(IS_UNKNOWN, test "x$PLATFORM" = xunknown)
|
|
|
|
# Set the default lock command
|
|
DEFAULT_LOCK_CMD="lock -np"
|
|
AC_MSG_CHECKING(lock-command)
|
|
if test "x$PLATFORM" = xlinux; then
|
|
AC_CHECK_PROG(found_vlock, vlock, yes, no)
|
|
if test "x$found_vlock" = xyes; then
|
|
DEFAULT_LOCK_CMD="vlock"
|
|
fi
|
|
fi
|
|
AC_MSG_RESULT($DEFAULT_LOCK_CMD)
|
|
AC_SUBST(DEFAULT_LOCK_CMD)
|
|
|
|
|
|
# Save our CFLAGS/CPPFLAGS/LDFLAGS for the Makefile and restore the old user
|
|
# variables.
|
|
AC_SUBST(AM_CPPFLAGS)
|
|
CPPFLAGS="$SAVED_CPPFLAGS"
|
|
AC_SUBST(AM_CFLAGS)
|
|
CFLAGS="$SAVED_CFLAGS"
|
|
AC_SUBST(AM_LDFLAGS)
|
|
LDFLAGS="$SAVED_LDFLAGS"
|
|
|
|
# autoconf should create a Makefile.
|
|
AC_CONFIG_FILES(Makefile)
|
|
AC_OUTPUT
|