| #!/bin/sh |
| # $Id: configure,v 1.58 2010-11-11 20:45:49 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_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 <<EOF >>$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 <<EOF >>$CONFIG_MK |
| LIBS+= -lcurses -lutil -levent |
| SRCS+= osdep-openbsd.c |
| EOF |
| ;; |
| # ------------------------------------------------------------------------------ |
| Linux) |
| cat <<EOF >>$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 <<EOF >>$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 <<EOF >>$CONFIG_H |
| #define HAVE_SETENV |
| #define HAVE_STDINT_H |
| EOF |
| cat <<EOF >>$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 <<EOF >>$CONFIG_H |
| #define HAVE_CLOSEFROM |
| #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 |
| 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_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 <<EOF >>$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 <<EOF >>$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 <<EOF >>$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 <<EOF >>$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 <<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+= -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 |