summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac9
-rw-r--r--login-utils/Makefile.am28
2 files changed, 21 insertions, 16 deletions
diff --git a/configure.ac b/configure.ac
index 03832a254..ad10cfd19 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1054,6 +1054,15 @@ UL_BUILD_INIT([sulogin])
AM_CONDITIONAL(BUILD_SULOGIN, test "x$build_sulogin" = xyes)
+AC_ARG_ENABLE([su],
+ AS_HELP_STRING([--disable-su], [do not build su]),
+ [], enable_su=yes
+)
+UL_BUILD_INIT([su])
+UL_REQUIRES_HAVE([su], [security_pam_misc_h], [PAM header file])
+AM_CONDITIONAL(BUILD_SU, test "x$build_su" = xyes)
+
+
AC_ARG_ENABLE([schedutils],
AS_HELP_STRING([--disable-schedutils], [do not build chrt, ionice, teskset]),
[], enable_schedutils=yes
diff --git a/login-utils/Makefile.am b/login-utils/Makefile.am
index 0e441b4d7..d02a282c4 100644
--- a/login-utils/Makefile.am
+++ b/login-utils/Makefile.am
@@ -77,8 +77,19 @@ chsh_LDADD = $(chfn_chsh_ldadd)
endif # BUILD_CHFN_CHSH
-if BUILD_LOGIN_UTILS
+if BUILD_SU
bin_PROGRAMS += su
+su_SOURCES = \
+ su.c \
+ logindefs.c \
+ logindefs.h
+su_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
+su_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
+su_LDADD = -lpam -lpam_misc
+endif
+
+
+if BUILD_LOGIN_UTILS
usrbin_exec_PROGRAMS += \
newgrp
usrsbin_exec_PROGRAMS += \
@@ -88,38 +99,23 @@ dist_man_MANS += \
vigr.8 \
vipw.8
-# su
-login_ldadd_common =
-
vipw_SOURCES = \
vipw.c \
setpwnam.h \
$(top_srcdir)/lib/fileutils.c
-su_SOURCES = \
- su.c \
- logindefs.c \
- logindefs.h
-su_LDADD = $(login_ldadd_common)
newgrp_LDADD =
vipw_LDADD =
newgrp_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
-su_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
-
newgrp_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
-su_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
-
-login_ldadd_common += -lpam -lpam_misc
if HAVE_LIBCRYPT
newgrp_LDADD += -lcrypt
endif
-
if HAVE_SELINUX
vipw_LDADD += -lselinux
-login_ldadd_common += -lselinux
endif