summaryrefslogtreecommitdiffstats
path: root/Kbuild
AgeCommit message (Expand)Author
2011-11-09kbuild: Fix missing system calls check on mips.David Daney
2011-11-02Kbuild: append missing-syscalls to the default target listArnaud Lacombe
2010-10-28Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek...Linus Torvalds
2010-10-27Partially revert patch that encloses asm-offset.h numbers in bracketsDavid Howells
2010-10-22x86, asm: Fix ancient-GAS workaroundAlexander van Heukelum
2010-10-19x86, asm: Fix CFI macro invocations to deal with shortcomings in gasJan Beulich
2010-03-11kbuild: Really don't clean bounds.h and asm-offsets.hMichal Marek
2009-12-12kbuild: move asm-offsets.h to include/generatedSam Ravnborg
2009-12-12kbuild: move bounds.h to include/generatedSam Ravnborg
2008-07-25kbuild: asm symlink support for arch/$ARCH/includeSam Ravnborg
2008-05-19Don't clean bounds.h and asm-offsets.hJan Blunck
2008-04-28pageflags: standardize comment inclusion in asm-offsets.h and fix MIPSChristoph Lameter
2008-04-28kbuild: create a way to create preprocessor constants from C expressionsChristoph Lameter
2007-10-11i386/x86_64: move headers to include/asm-x86Thomas Gleixner
2007-10-11Kbuild: allow arch/xxx to use a different source pathThomas Gleixner
2007-07-16kbuild: asm-offsets.h is now cleaned with O=.. buildsSam Ravnborg
2007-05-02kbuild: complain about missing system callsSam Ravnborg
2006-09-25remove RPM_BUILD_ROOT from asm-offsets.hOlaf Hering
2006-04-05kbuild: mips: fix sed regexp to generate asm-offset.hAtsushi Nemoto
2006-01-08kbuild: clean up asm-offsets.h creationBrian Gerst
2005-09-10kbuild: fix generic asm-offsets.h supportSam Ravnborg
2005-09-09kbuild: mips use generic asm-offsets.h supportSam Ravnborg
2005-09-09kbuild: full dependency check on asm-offsets.hSam Ravnborg
/a> 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279
AC_INIT(ssh.c)

AC_CONFIG_HEADER(config.h)

dnl Checks for programs.
AC_PROG_CC
AC_PROG_CPP
AC_PROG_RANLIB
AC_PROG_INSTALL
AC_CHECK_PROG(AR, ar, ar)
if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -Wall"; fi

dnl Check for OpenSSL/SSLeay directories.
AC_MSG_CHECKING([for OpenSSL/SSLeay directory])
for ssldir in /usr /usr/local/openssl /usr/lib/openssl /usr/local/ssl /usr/lib/ssl /usr/local $prefix /usr/pkg ; do
	if test -f "$ssldir/include/openssl/crypto.h"; then
		AC_DEFINE(HAVE_OPENSSL)
		GOT_SSL="yes"
		break
	fi
	if test -f "$ssldir/include/ssl/crypto.h"; then
		AC_DEFINE(HAVE_SSL)
		GOT_SSL="yes"
		break
	fi
done
if test -z "$GOT_SSL" ; then
	AC_MSG_ERROR([Could not find SSLeay / OpenSSL libraries, please install])	
fi
AC_SUBST(ssldir)
AC_DEFINE_UNQUOTED(ssldir, "$ssldir")
if test "$ssldir" != "/usr"; then
	CFLAGS="$CFLAGS -I$ssldir/include"
	LIBS="$LIBS -L$ssldir/lib"
fi
LIBS="$LIBS -lssl -lcrypto"
AC_MSG_RESULT($ssldir)

dnl Check for RSAref library.
AC_MSG_CHECKING([for RSAref library])
saved_LIBS="$LIBS"
LIBS="$saved_LIBS -lRSAglue -lrsaref"
AC_TRY_LINK([], [],
[AC_MSG_RESULT(yes); ],
[AC_MSG_RESULT(no)]; LIBS="$saved_LIBS")

dnl Checks for libraries.
AC_CHECK_LIB(crypto, CRYPTO_lock, ,AC_MSG_ERROR([*** libcrypto missing - please install first ***]))
AC_CHECK_LIB(z, deflate, ,AC_MSG_ERROR([*** zlib missing - please install first ***]))
AC_CHECK_LIB(util, login, AC_DEFINE(HAVE_LIBUTIL_LOGIN) LIBS="$LIBS -lutil")
AC_CHECK_LIB(nsl, yp_match, , )
AC_CHECK_LIB(socket, main, , )

dnl libdl is needed by PAM on Redhat systems
AC_CHECK_LIB(dl, dlopen, , )
AC_CHECK_LIB(pam, pam_authenticate, , )

dnl Checks for header files.
AC_CHECK_HEADERS(endian.h lastlog.h login.h maillock.h netgroup.h paths.h pty.h shadow.h util.h utmp.h sys/select.h sys/time.h)

dnl Checks for library functions.
AC_CHECK_FUNCS(arc4random mkdtemp openpty setenv setlogin setproctitle snprintf strlcat strlcpy vsnprintf)

AC_CHECK_FUNC(login, 
	[AC_DEFINE(HAVE_LOGIN)],
	[AC_CHECK_LIB(bsd, login, [LIBS="$LIBS -lbsd"; AC_DEFINE(HAVE_LOGIN)])]
)

AC_CHECK_FUNC(daemon, 
	[AC_DEFINE(HAVE_DAEMON)],
	[AC_CHECK_LIB(bsd, daemon, [LIBS="$LIBS -lbsd"; AC_DEFINE(HAVE_DAEMON)])]
)

dnl Checks for data types
AC_CHECK_SIZEOF(short int, 2)
AC_CHECK_SIZEOF(int, 4)
AC_CHECK_SIZEOF(long int, 4)
AC_CHECK_SIZEOF(long long int, 8)

dnl More checks for data types
AC_MSG_CHECKING([for quad_t])
AC_TRY_COMPILE(
	[#include <sys/types.h>], 
	[quad_t a; a = 1235;], 
	[
		AC_DEFINE(HAVE_QUAD_T)
		AC_MSG_RESULT(yes)
	],
	[AC_MSG_RESULT(no)]
) 

AC_MSG_CHECKING([for intXX_t types])
AC_TRY_COMPILE(
	[#include <sys/types.h>], 
	[int16_t a; int32_t b; a = 1235; b = 1235;], 
	[
		AC_DEFINE(HAVE_INTXX_T)
		AC_MSG_RESULT(yes)
	],
	[AC_MSG_RESULT(no)]
) 

AC_MSG_CHECKING([for u_intXX_t types])
AC_TRY_COMPILE(
	[#include <sys/types.h>], 
	[u_int16_t c; u_int32_t d; c = 1235; d = 1235;], 
	[
		AC_DEFINE(HAVE_U_INTXX_T)
		AC_MSG_RESULT(yes)
	],
	[AC_MSG_RESULT(no)]
) 

AC_MSG_CHECKING([For uintXX_t types])
AC_TRY_COMPILE(
	[#include <sys/types.h>], 
	[uint16_t c; uint32_t d; c = 1235; d = 1235;], 
	[
		AC_DEFINE(HAVE_UINTXX_T)
		AC_MSG_RESULT(yes)
	],
	[AC_MSG_RESULT(no)]
) 

dnl Check PAM strerror arguments
AC_MSG_CHECKING([whether pam_strerror takes only one argument])
AC_TRY_COMPILE(
	[
		#include <stdlib.h>
		#include <security/pam_appl.h>
	], 
	[(void)pam_strerror((pam_handle_t *)NULL, -1);], 
	[AC_MSG_RESULT(no)],
	[
		AC_DEFINE(HAVE_OLD_PAM)
		AC_MSG_RESULT(yes)
	]
) 

AC_MSG_CHECKING([whether to build GNOME ssh-askpass])
dnl Check whether user wants GNOME ssh-askpass
AC_ARG_WITH(gnome-askpass,
	[  --with-gnome-askpass    Build the GNOME passphrase requester (default=no)],
	[
		if test x$withval = xno ; then
			GNOME_ASKPASS="";
		else
			GNOME_ASKPASS="gnome-ssh-askpass";
		fi
	])
AC_SUBST(GNOME_ASKPASS)

if test -z "$GNOME_ASKPASS" ; then
	AC_MSG_RESULT(no)
else
	AC_MSG_RESULT(yes)
fi

dnl Check for user-specified random device
AC_ARG_WITH(random,
	[  --with-random=FILE      read randomness from FILE (default=/dev/urandom)],
	[
		RANDOM_POOL="$withval";
		AC_DEFINE_UNQUOTED(RANDOM_POOL, "$RANDOM_POOL")
	],
	[
		dnl Check for random device
		AC_CHECK_FILE("/dev/urandom",
			[
				RANDOM_POOL="/dev/urandom"; 
				AC_SUBST(RANDOM_POOL)
				AC_DEFINE_UNQUOTED(RANDOM_POOL, "$RANDOM_POOL")
			]
		)
	]
)

dnl Check for EGD pool file
AC_ARG_WITH(egd-pool,
	[  --with-egd-pool=FILE    read randomness from EGD pool FILE (default none)],
	[
		RANDOM_POOL="$withval";
		AC_DEFINE(HAVE_EGD)
		AC_SUBST(RANDOM_POOL)
		AC_DEFINE_UNQUOTED(RANDOM_POOL, "$RANDOM_POOL")
	]
)

dnl Make sure we have random number support
if test -z "$RANDOM_POOL" -a -z "$EGD_POOL"; then
	AC_MSG_ERROR([No random device found, and no EGD random pool specified])
fi

dnl Check for ut_host field in utmp
AC_MSG_CHECKING([whether utmp.h has ut_host field])
AC_EGREP_HEADER(ut_host, utmp.h, 
	[AC_DEFINE(HAVE_HOST_IN_UTMP) AC_MSG_RESULT(yes); ], 
	[AC_MSG_RESULT(no)]
)

dnl Look for lastlog location
AC_MSG_CHECKING([location of lastlog file])
for lastlog in /var/log/lastlog /var/adm/lastlog /etc/security/lastlog ; do
	if test -f $lastlog ; then
		gotlastlog="file"
		break
	fi
	if test -d $lastlog ; then
		gotlastlog="dir"
		break
	fi
done
if test -z "$gotlastlog" ; then
	AC_MSG_ERROR([*** Cannot find lastlog ***])
else
	if test "x$gotlastlog" = "xdir" ; then
		AC_DEFINE(LASTLOG_IS_DIR)
		AC_MSG_ERROR([*** Directory-based lastlogs are not yet supported ***])
	fi
	AC_MSG_RESULT($lastlog)
	AC_DEFINE_UNQUOTED(LASTLOG_LOCATION, "$lastlog")
fi	

AC_MSG_CHECKING([whether libc defines __progname])
AC_TRY_LINK([], 
	[extern char *__progname; printf("%s", __progname);], 
	[
		AC_DEFINE(HAVE___PROGNAME)
		AC_MSG_RESULT(yes)
	], 
	[
		AC_MSG_RESULT(no)
	]
)

dnl Check whether user wants Kerberos support
AC_ARG_WITH(kerberos4,
	[  --with-kerberos4        Enable Kerberos 4 support],
	[
		AC_DEFINE(KRB4)
		LIBS="$LIBS -lkrb"
		CFLAGS="$CFLAGS -I/usr/include/kerberosIV"
	]
)

dnl Check whether user wants AFS support
AC_ARG_WITH(afs,
	[  --with-afs              Enable AFS support],
	[
		AC_DEFINE(AFS)
		LIBS="$LIBS -lkafs"
	]
)

dnl Check whether user wants S/Key support
AC_ARG_WITH(skey,
	[  --with-skey             Enable S/Key support],
	[
		AC_DEFINE(SKEY)
		LIBS="$LIBS -lskey"
	]
)

dnl Check whether user wants TCP wrappers support
AC_ARG_WITH(tcp-wrappers,
	[  --with-tcp-wrappers     Enable tcpwrappers support],
	[
		AC_DEFINE(LIBWRAP)
		LIBS="$LIBS -lwrap"
	]
)

dnl Check whether to enable MD5 passwords
AC_ARG_WITH(md5-passwords,
	[  --with-md5-passwords    Enable use of MD5 passwords],
	[AC_DEFINE(HAVE_MD5_PASSWORDS)]
)

AC_OUTPUT(Makefile)