summaryrefslogtreecommitdiffstats
path: root/kdesu/configure.in.in
diff options
context:
space:
mode:
Diffstat (limited to 'kdesu/configure.in.in')
-rw-r--r--kdesu/configure.in.in93
1 files changed, 93 insertions, 0 deletions
diff --git a/kdesu/configure.in.in b/kdesu/configure.in.in
new file mode 100644
index 000000000..4b4c6b78f
--- /dev/null
+++ b/kdesu/configure.in.in
@@ -0,0 +1,93 @@
+dnl Check for su
+AC_PATH_PROG(path_su, "su", "no")
+if test "$path_su" = "no"; then
+ AC_MSG_WARN(su was not found)
+else
+ AC_DEFINE_UNQUOTED(__PATH_SU, "$path_su", [path to su])
+fi
+
+dnl Check for sudo
+AC_PATH_PROG(path_sudo, "sudo", "no")
+if test "$path_sudo" = "no"; then
+ AC_MSG_WARN(sudo was not found)
+else
+ AC_DEFINE_UNQUOTED(__PATH_SUDO, "$path_sudo", [path to sudo])
+fi
+
+AC_ARG_WITH(sudo-kdesu-backend,
+ AC_HELP_STRING([--with-sudo-kdesu-backend],
+ [use sudo as backend for kdesu (default is su)]),
+[
+ if test x$withval = xyes; then
+ use_kdesu_backend="sudo"
+ else
+ use_kdesu_backend="su"
+ fi
+],
+ use_kdesu_backend="su"
+)
+
+if test x$use_kdesu_backend = xsudo -a x$path_sudo = xno; then
+ AC_MSG_ERROR(sudo was chosen as kdesu backend, but was not found in path.)
+fi
+
+AC_DEFINE_UNQUOTED(DEFAULT_SUPER_USER_COMMAND, "$use_kdesu_backend", [Use su or sudo])
+
+dnl Check for POSIX.1b scheduling
+AC_MSG_CHECKING([POSIX.1b scheduling])
+AC_TRY_LINK([
+ #include <sched.h>
+],
+[
+ sched_getscheduler(0);
+],
+have_rtsched="yes", have_rtsched="no")
+if test "$have_rtsched" = "yes"; then
+ AC_DEFINE(POSIX1B_SCHEDULING, 1, [Define if you have POSIX.1b scheduling])
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_RESULT(no)
+fi
+
+dnl Check for initgroups()
+AC_CHECK_FUNCS(initgroups)
+
+dnl openpty stuff
+AC_CHECK_HEADERS(libutil.h util.h pty.h)
+AC_CHECK_LIB(util, openpty, [AC_DEFINE_UNQUOTED(HAVE_OPENPTY, 1, [Define if you have openpty in -lutil])])
+AC_CHECK_FUNCS(openpty initgroups setgroups getgroups grantpt setpriority getpt unlockpt ptsname)
+
+AH_VERBATIM(_OPENPTY,
+[
+/*
+ * Steven Schultz <sms at to.gd-es.com> tells us :
+ * BSD/OS 4.2 doesn't have a prototype for openpty in its system header files
+ */
+#ifdef __bsdi__
+__BEGIN_DECLS
+int openpty(int *, int *, char *, struct termios *, struct winsize *);
+__END_DECLS
+#endif
+])
+
+dnl irix pty stuff
+AC_CHECK_FUNCS(_getpty)
+
+AC_MSG_CHECKING([for struct ucred])
+AC_CACHE_VAL(kde_cv_have_struct_ucred,
+[
+ AC_TRY_COMPILE(
+ [
+ #include <sys/socket.h>
+ ],
+ [
+ struct ucred cred;
+ ], kde_cv_have_struct_ucred=yes,
+ kde_cv_have_struct_ucred=no)
+])
+
+AC_MSG_RESULT($kde_cv_have_struct_ucred)
+if test "$kde_cv_have_struct_ucred" = yes; then
+ AC_DEFINE(HAVE_STRUCT_UCRED,1, [Define if struct ucred is present from sys/socket.h])
+fi
+AC_CHECK_FUNCS(getpeereid)