--- a/source3/wscript
+++ b/source3/wscript
@@ -907,7 +907,7 @@ msg.msg_accrightslen = sizeof(fd);
         if conf.env.with_iconv:
             conf.DEFINE('HAVE_ICONV', 1)
 
-    if Options.options.with_pam:
+    if Options.options.with_pam != False:
         use_pam=True
         conf.CHECK_HEADERS('security/pam_appl.h pam/pam_appl.h')
         if not conf.CONFIG_SET('HAVE_SECURITY_PAM_APPL_H') and not conf.CONFIG_SET('HAVE_PAM_PAM_APPL_H'):
@@ -984,6 +984,17 @@ int i; i = PAM_RADIO_TYPE;
                        "or headers not found. Use --without-pam to disable "
                        "PAM support.");
 
+    else:
+        Logs.warn("PAM disabled")
+        use_pam=False
+        conf.undefine('WITH_PAM')
+        conf.undefine('WITH_PAM_MODULES')
+        conf.undefine('HAVE_SECURITY_PAM_APPL_H')
+        conf.undefine('PAM_RHOST')
+        conf.undefine('PAM_TTY')
+        conf.undefine('HAVE_PAM_PAM_APPL_H')
+
+
     seteuid = False
 
 #
