mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:26:05 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			304 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			304 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
# $Id: configure,v 1.60 2010-12-30 20:41:07 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_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 -lrt
 | 
						|
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_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_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
 |