mirror of
https://github.com/tmux/tmux.git
synced 2024-11-05 02:18:47 +00:00
278effd7ea
on code from Dagobert Michelsen.
293 lines
6.6 KiB
Bash
Executable File
293 lines
6.6 KiB
Bash
Executable File
#!/bin/sh
|
|
# $Id: configure,v 1.51 2010-05-19 21:31:38 nicm Exp $
|
|
#
|
|
# Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net>
|
|
#
|
|
# Permission to use, copy, modify, and distribute this software for any
|
|
# purpose with or without fee is hereby granted, provided that the above
|
|
# copyright notice and this permission notice appear in all copies.
|
|
#
|
|
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
# WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
|
|
# IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
|
|
# OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
#
|
|
|
|
TMUX_PLATFORM=${TMUX_PLATFORM:-`uname -s`}
|
|
|
|
CONFIG_H=config.h
|
|
rm -f $CONFIG_H
|
|
echo "/* $TMUX_PLATFORM */" >$CONFIG_H
|
|
|
|
CONFIG_MK=config.mk
|
|
rm -f $CONFIG_MK
|
|
echo "# $TMUX_PLATFORM" >$CONFIG_MK
|
|
|
|
cat <<EOF >>$CONFIG_H
|
|
#undef HAVE_ASPRINTF
|
|
#undef HAVE_BROKEN_CMSG_FIRSTHDR
|
|
#undef HAVE_BROKEN_CURSES_H
|
|
#undef HAVE_BROKEN_KQUEUE
|
|
#undef HAVE_BROKEN_POLL
|
|
#undef HAVE_BZERO
|
|
#undef HAVE_CRYPT_H
|
|
#undef HAVE_DAEMON
|
|
#undef HAVE_FGETLN
|
|
#undef HAVE_FORKPTY
|
|
#undef HAVE_GETOPT
|
|
#undef HAVE_IMSG
|
|
#undef HAVE_LIBUTIL_H
|
|
#undef HAVE_PATHS_H
|
|
#undef HAVE_PROGNAME
|
|
#undef HAVE_PTY_H
|
|
#undef HAVE_QUEUE_H
|
|
#undef HAVE_SETPROCTITLE
|
|
#undef HAVE_STRCASESTR
|
|
#undef HAVE_STRLCAT
|
|
#undef HAVE_STRLCPY
|
|
#undef HAVE_STRSEP
|
|
#undef HAVE_STRTONUM
|
|
#undef HAVE_TREE_H
|
|
#undef HAVE_UTIL_H
|
|
#undef HAVE_U_INT
|
|
#undef HAVE_VIS
|
|
EOF
|
|
|
|
case $TMUX_PLATFORM in
|
|
# ------------------------------------------------------------------------------
|
|
OpenBSD)
|
|
cat <<EOF >>$CONFIG_H
|
|
#define HAVE_ASPRINTF
|
|
#define HAVE_BITSTRING_H
|
|
#define HAVE_BZERO
|
|
#define HAVE_DAEMON
|
|
#define HAVE_FGETLN
|
|
#define HAVE_FORKPTY
|
|
#define HAVE_GETOPT
|
|
#define HAVE_PATHS_H
|
|
#define HAVE_PROGNAME
|
|
#define HAVE_QUEUE_H
|
|
#define HAVE_SETENV
|
|
#define HAVE_SETPROCTITLE
|
|
#define HAVE_STRCASESTR
|
|
#define HAVE_STRLCAT
|
|
#define HAVE_STRLCPY
|
|
#define HAVE_STRSEP
|
|
#define HAVE_STRTONUM
|
|
#define HAVE_TREE_H
|
|
#define HAVE_UTIL_H
|
|
#define HAVE_U_INT
|
|
#define HAVE_VIS
|
|
EOF
|
|
cat <<EOF >>$CONFIG_MK
|
|
LIBS+= -lcurses -lutil -levent
|
|
SRCS+= osdep-openbsd.c \
|
|
compat/imsg-buffer.c \
|
|
compat/imsg.c
|
|
EOF
|
|
;;
|
|
# ------------------------------------------------------------------------------
|
|
Linux)
|
|
cat <<EOF >>$CONFIG_H
|
|
#define HAVE_ASPRINTF
|
|
#define HAVE_BZERO
|
|
#define HAVE_DAEMON
|
|
#define HAVE_FORKPTY
|
|
#define HAVE_PATHS_H
|
|
#define HAVE_PROGNAME
|
|
#define HAVE_PTY_H
|
|
#define HAVE_SETENV
|
|
#define HAVE_STRCASESTR
|
|
#define HAVE_STRSEP
|
|
#define HAVE_U_INT
|
|
EOF
|
|
cat <<EOF >>$CONFIG_MK
|
|
CFLAGS+= -std=c99 -D_GNU_SOURCE -D_POSIX_SOURCE
|
|
LIBS+= -lncurses -lcrypt -lutil -levent -lrt
|
|
SRCS+= osdep-linux.c \
|
|
compat/fgetln.c \
|
|
compat/strlcat.c \
|
|
compat/strlcpy.c \
|
|
compat/strtonum.c \
|
|
compat/getopt.c \
|
|
compat/vis.c \
|
|
compat/unvis.c \
|
|
compat/imsg-buffer.c \
|
|
compat/imsg.c
|
|
EOF
|
|
;;
|
|
# ------------------------------------------------------------------------------
|
|
AIX)
|
|
cat <<EOF >>$CONFIG_H
|
|
#define HAVE_BZERO
|
|
#define HAVE_DAEMON
|
|
#define HAVE_SETENV
|
|
EOF
|
|
cat <<EOF >>$CONFIG_MK
|
|
LIBS+= -lcurses -levent
|
|
SRCS+= osdep-unknown.c \
|
|
compat/asprintf.c \
|
|
compat/daemon.c \
|
|
compat/forkpty-aix.c \
|
|
compat/strcasestr.c \
|
|
compat/strlcat.c \
|
|
compat/strlcpy.c \
|
|
compat/strsep.c \
|
|
compat/strtonum.c \
|
|
compat/fgetln.c \
|
|
compat/getopt.c \
|
|
compat/vis.c \
|
|
compat/unvis.c \
|
|
compat/imsg-buffer.c \
|
|
compat/imsg.c
|
|
EOF
|
|
;;
|
|
# ------------------------------------------------------------------------------
|
|
SunOS)
|
|
cat <<EOF >>$CONFIG_H
|
|
#define HAVE_CRYPT_H
|
|
#define HAVE_STRLCAT
|
|
#define HAVE_STRLCPY
|
|
EOF
|
|
cat <<EOF >>$CONFIG_MK
|
|
CFLAGS+= -D_XPG4_2 -D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS
|
|
LIBS+= -lcurses -lsocket -lnsl -levent
|
|
SRCS+= osdep-sunos.c \
|
|
compat/asprintf.c \
|
|
compat/daemon.c \
|
|
compat/fgetln.c \
|
|
compat/forkpty-sunos.c \
|
|
compat/getopt.c \
|
|
compat/setenv.c \
|
|
compat/strcasestr.c \
|
|
compat/strsep.c \
|
|
compat/strtonum.c \
|
|
compat/vis.c \
|
|
compat/unvis.c \
|
|
compat/imsg-buffer.c \
|
|
compat/imsg.c \
|
|
compat/setenv.c
|
|
EOF
|
|
;;
|
|
# ------------------------------------------------------------------------------
|
|
Darwin)
|
|
cat <<EOF >>$CONFIG_H
|
|
#define HAVE_ASPRINTF
|
|
#define HAVE_BROKEN_CMSG_FIRSTHDR
|
|
#define HAVE_BROKEN_KQUEUE
|
|
#define HAVE_BROKEN_POLL
|
|
#define HAVE_BZERO
|
|
#define HAVE_DAEMON
|
|
#define HAVE_FGETLN
|
|
#define HAVE_FORKPTY
|
|
#define HAVE_GETOPT
|
|
#define HAVE_PATHS_H
|
|
#define HAVE_PROGNAME
|
|
#define HAVE_SETENV
|
|
#define HAVE_STRCASESTR
|
|
#define HAVE_STRLCAT
|
|
#define HAVE_STRLCPY
|
|
#define HAVE_STRSEP
|
|
#define HAVE_UTIL_H
|
|
#define HAVE_U_INT
|
|
EOF
|
|
cat <<EOF >>$CONFIG_MK
|
|
CPPFLAGS+= -I/opt/local/include
|
|
LDFLAGS+= -L/opt/local/lib
|
|
LIBS+= -lcurses -levent
|
|
SRCS+= osdep-darwin.c \
|
|
compat/strtonum.c \
|
|
compat/vis.c \
|
|
compat/unvis.c \
|
|
compat/imsg-buffer.c \
|
|
compat/imsg.c
|
|
EOF
|
|
;;
|
|
# ------------------------------------------------------------------------------
|
|
FreeBSD|DragonFly)
|
|
cat <<EOF >>$CONFIG_H
|
|
#define HAVE_ASPRINTF
|
|
#define HAVE_BROKEN_KQUEUE
|
|
#define HAVE_BZERO
|
|
#define HAVE_DAEMON
|
|
#define HAVE_FGETLN
|
|
#define HAVE_FORKPTY
|
|
#define HAVE_GETOPT
|
|
#define HAVE_LIBUTIL_H
|
|
#define HAVE_PATHS_H
|
|
#define HAVE_PROGNAME
|
|
#define HAVE_SETENV
|
|
#define HAVE_SETPROCTITLE
|
|
#define HAVE_STRCASESTR
|
|
#define HAVE_STRLCAT
|
|
#define HAVE_STRLCPY
|
|
#define HAVE_STRTONUM
|
|
#define HAVE_STRSEP
|
|
#define HAVE_U_INT
|
|
EOF
|
|
cat <<EOF >>$CONFIG_MK
|
|
LIBS+= -lcurses -lcrypt -lutil -levent
|
|
SRCS+= osdep-freebsd.c \
|
|
compat/vis.c \
|
|
compat/unvis.c \
|
|
compat/imsg-buffer.c \
|
|
compat/imsg.c
|
|
EOF
|
|
;;
|
|
# ------------------------------------------------------------------------------
|
|
NetBSD)
|
|
cat <<EOF >>$CONFIG_H
|
|
#define HAVE_ASPRINTF
|
|
#define HAVE_BZERO
|
|
#define HAVE_DAEMON
|
|
#define HAVE_FGETLN
|
|
#define HAVE_FORKPTY
|
|
#define HAVE_GETOPT
|
|
#define HAVE_PATHS_H
|
|
#define HAVE_PROGNAME
|
|
#define HAVE_SETPROCTITLE
|
|
#define HAVE_SETENV
|
|
#define HAVE_STRCASESTR
|
|
#define HAVE_STRLCAT
|
|
#define HAVE_STRLCPY
|
|
#define HAVE_STRSEP
|
|
#define HAVE_UTIL_H
|
|
#define HAVE_U_INT
|
|
EOF
|
|
# NetBSD-6 has its own terminfo implementation
|
|
if test -f /lib/libterminfo.so; then
|
|
cat <<EOF >>$CONFIG_MK
|
|
LIBS+= -lterminfo
|
|
EOF
|
|
else
|
|
cat <<EOF >>$CONFIG_MK
|
|
CPPFLAGS+= -I/usr/pkg/include
|
|
LDFLAGS+= -L/usr/pkg/lib
|
|
LIBS+= -lncurses
|
|
EOF
|
|
cat <<EOF >>$CONFIG_H
|
|
#define HAVE_BROKEN_CURSES_H
|
|
EOF
|
|
fi
|
|
cat <<EOF >>$CONFIG_MK
|
|
LIBS+= -lcrypt -lutil -levent
|
|
SRCS+= osdep-netbsd.c \
|
|
compat/strtonum.c \
|
|
compat/vis.c \
|
|
compat/unvis.c \
|
|
compat/imsg-buffer.c \
|
|
compat/imsg.c
|
|
EOF
|
|
;;
|
|
# ------------------------------------------------------------------------------
|
|
*)
|
|
echo Unable to configure for $TMUX_PLATFORM
|
|
exit 1
|
|
esac
|
|
|
|
echo Configured for $TMUX_PLATFORM
|
|
exit 0
|