#!/bin/sh # $Id: configure,v 1.57 2010-11-11 20:37:53 nicm Exp $ # # Copyright (c) 2009 Nicholas Marriott # # 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 <>$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_CLOSEFROM #undef HAVE_DAEMON #undef HAVE_DIRFD #undef HAVE_FCNTL_CLOSEM #undef HAVE_FGETLN #undef HAVE_FORKPTY #undef HAVE_GETOPT #undef HAVE_IMSG #undef HAVE_LIBUTIL_H #undef HAVE_PATHS_H #undef HAVE_PROC_PID #undef HAVE_PROGNAME #undef HAVE_PTY_H #undef HAVE_QUEUE_H #undef HAVE_SETPROCTITLE #undef HAVE_STDINT_H #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 <>$CONFIG_H #define HAVE_ASPRINTF #define HAVE_BITSTRING_H #define HAVE_BZERO #define HAVE_CLOSEFROM #define HAVE_DAEMON #define HAVE_FGETLN #define HAVE_FORKPTY #define HAVE_GETOPT #define HAVE_IMSG #define HAVE_PATHS_H #define HAVE_PROGNAME #define HAVE_QUEUE_H #define HAVE_SETENV #define HAVE_SETPROCTITLE #define HAVE_STDINT_H #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 <>$CONFIG_MK LIBS+= -lcurses -lutil -levent SRCS+= osdep-openbsd.c EOF ;; # ------------------------------------------------------------------------------ Linux) cat <>$CONFIG_H #define HAVE_ASPRINTF #define HAVE_BZERO #define HAVE_DAEMON #define HAVE_DIRFD #define HAVE_FORKPTY #define HAVE_PATHS_H #define HAVE_PROC_PID #define HAVE_PROGNAME #define HAVE_PTY_H #define HAVE_SETENV #define HAVE_STDINT_H #define HAVE_STRCASESTR #define HAVE_STRSEP #define HAVE_U_INT EOF cat <>$CONFIG_MK CFLAGS+= -std=c99 -D_GNU_SOURCE -D_POSIX_SOURCE LIBS+= -lncurses -lutil -levent SRCS+= osdep-linux.c \ compat/closefrom.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 <>$CONFIG_H #define HAVE_BZERO #define HAVE_SETENV #define HAVE_STDINT_H EOF cat <>$CONFIG_MK LIBS+= -lcurses -levent SRCS+= osdep-unknown.c \ compat/asprintf.c \ compat/closefrom.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 <>$CONFIG_H #define HAVE_CLOSEFROM #define HAVE_STRLCAT #define HAVE_STRLCPY EOF cat <>$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 EOF ;; # ------------------------------------------------------------------------------ Darwin) cat <>$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_DIRFD #define HAVE_FGETLN #define HAVE_FORKPTY #define HAVE_GETOPT #define HAVE_PATHS_H #define HAVE_PROC_PID #define HAVE_PROGNAME #define HAVE_SETENV #define HAVE_STDINT_H #define HAVE_STRCASESTR #define HAVE_STRLCAT #define HAVE_STRLCPY #define HAVE_STRSEP #define HAVE_UTIL_H #define HAVE_U_INT EOF cat <>$CONFIG_MK CPPFLAGS+= -I/opt/local/include LDFLAGS+= -L/opt/local/lib LIBS+= -lcurses -levent SRCS+= osdep-darwin.c \ compat/closefrom.c \ compat/strtonum.c \ compat/vis.c \ compat/unvis.c \ compat/imsg-buffer.c \ compat/imsg.c EOF ;; # ------------------------------------------------------------------------------ FreeBSD|DragonFly) cat <>$CONFIG_H #define HAVE_ASPRINTF #define HAVE_BROKEN_KQUEUE #define HAVE_BZERO #define HAVE_CLOSEFROM #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_STDINT_H #define HAVE_STRCASESTR #define HAVE_STRLCAT #define HAVE_STRLCPY #define HAVE_STRSEP #define HAVE_STRTONUM #define HAVE_U_INT EOF cat <>$CONFIG_MK LIBS+= -lcurses -lutil -levent SRCS+= osdep-freebsd.c \ compat/vis.c \ compat/unvis.c \ compat/imsg-buffer.c \ compat/imsg.c EOF ;; # ------------------------------------------------------------------------------ NetBSD) cat <>$CONFIG_H #define HAVE_ASPRINTF #define HAVE_BZERO #define HAVE_CLOSEFROM #define HAVE_DAEMON #define HAVE_FGETLN #define HAVE_FORKPTY #define HAVE_GETOPT #define HAVE_PATHS_H #define HAVE_PROGNAME #define HAVE_SETENV #define HAVE_SETPROCTITLE #define HAVE_STDINT_H #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 <>$CONFIG_MK LIBS+= -lterminfo EOF else cat <>$CONFIG_MK CPPFLAGS+= -I/usr/pkg/include LDFLAGS+= -L/usr/pkg/lib LIBS+= -lncurses EOF cat <>$CONFIG_H #define HAVE_BROKEN_CURSES_H EOF fi cat <>$CONFIG_MK LIBS+= -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