Fixes for Heimdal (macOS) builds from Stefan.
[mech_eap.git] / configure.ac
index d5fa858..cc8653e 100644 (file)
@@ -1,91 +1,95 @@
-AC_INIT(radsecproxy, 1.4, radsecproxy@uninett.no)
-AC_CANONICAL_TARGET
+AC_PREREQ([2.61])
+AC_INIT([mech_eap], [1.0.1], [bugs@project-moonshot.org])
+AC_CONFIG_MACRO_DIR([m4])
+AC_CONFIG_AUX_DIR([build-aux])
+
+dnl AM_INIT_AUTOMAKE([silent-rules])
+AC_USE_SYSTEM_EXTENSIONS
 AM_INIT_AUTOMAKE
-AC_PROG_CC
 AM_PROG_CC_C_O
-udp=yes
-AC_ARG_ENABLE(udp,
-  [  --enable-udp whether to enable UDP transport: yes/no; default yes ],
-  [ if test "x$enableval" = "xyes" -o "x$enableval" = "xno" ; then
-      udp=$enableval
-    else
-      echo "--enable-udp argument must be yes or no"
-      exit -1
-    fi
-  ])
-tcp=yes
-AC_ARG_ENABLE(tcp,
-  [  --enable-tcp whether to enable TCP transport: yes/no; default yes ],
-  [ if test "x$enableval" = "xyes" -o "x$enableval" = "xno" ; then
-      tcp=$enableval
-    else
-      echo "--enable-tcp argument must be yes or no"
-      exit -1
-    fi
-  ])
-tls=yes
-AC_ARG_ENABLE(tls,
-  [  --enable-tls whether to enable TLS (RadSec) transport: yes/no; default yes ],
+AM_MAINTAINER_MODE()
+LT_PREREQ([2.2])
+LT_INIT([dlopen disable-static win32-dll])
+
+dnl AC_PROG_CC
+AC_PROG_CXX
+AC_CONFIG_HEADERS([config.h])
+AC_CHECK_HEADERS(stdarg.h stdio.h stdint.h sys/param.h stdlib.h)
+AC_REPLACE_FUNCS(vasprintf)
+AC_CHECK_FUNCS([ secure_getenv])
+
+dnl Check if we're on Solaris and set CFLAGS accordingly
+dnl AC_CANONICAL_TARGET
+dnl case "${target_os}" in
+dnl   solaris*)
+dnl     TARGET_CFLAGS="-DSYS_SOLARIS9 -D_POSIX_PTHREAD_SEMANTICS"
+dnl     if test "$GCC" != yes ; then
+dnl       TARGET_CFLAGS="$TARGET_CFLAGS -mt"
+dnl     else
+dnl       TARGET_CFLAGS="$TARGET_CFLAGS -pthreads"
+dnl     fi
+dnl     TARGET_LDFLAGS="-lpthread -lsocket -lnsl"
+dnl     ;;
+dnl   *)
+dnl     TARGET_CFLAGS="-Wall -pedantic -pthread"
+dnl     TARGET_LDFLAGS=""
+dnl   esac
+
+reauth=no
+AC_ARG_ENABLE(reauth,
+  [  --enable-reauth whether to enable fast reauthentication protocol: yes/no; default no ],
   [ if test "x$enableval" = "xyes" -o "x$enableval" = "xno" ; then
-      tls=$enableval
+      reauth=$enableval
     else
-      echo "--enable-tls argument must be yes or no"
+      echo "--enable-reauth argument must be yes or no"
       exit -1
     fi
   ])
-dtls=yes
-AC_ARG_ENABLE(dtls,
-  [  --enable-dtls whether to enable DTLS transport: yes/no; default yes ],
+
+if test "x$reauth" = "xyes" ; then
+  echo "Fast reauthentication protocol enabled"
+  TARGET_CFLAGS="$TARGET_CFLAGS -DGSSEAP_ENABLE_REAUTH"
+fi
+AM_CONDITIONAL(GSSEAP_ENABLE_REAUTH, test "x$reauth" != "xno")
+
+acceptor=yes
+AC_ARG_ENABLE(acceptor,
+  [  --enable-acceptor whether to enable acceptor codepaths: yes/no; default yes ],
   [ if test "x$enableval" = "xyes" -o "x$enableval" = "xno" ; then
-      dtls=$enableval
+      acceptor=$enableval
     else
-      echo "--enable-dtls argument must be yes or no"
+      echo "--enable-acceptor argument must be yes or no"
       exit -1
     fi
   ])
-dnl Check if we're on Solaris and set CFLAGS accordingly
-AC_CANONICAL_SYSTEM
-case "${target_os}" in
-  solaris*)
-    TARGET_CFLAGS="-DSYS_SOLARIS9 -D_POSIX_PTHREAD_SEMANTICS"
-    if test "$GCC" != yes ; then
-      TARGET_CFLAGS="$TARGET_CFLAGS -mt"
-    else
-      TARGET_CFLAGS="$TARGET_CFLAGS -pthreads"
-    fi
-    TARGET_LDFLAGS="-lpthread -lsocket -lnsl"
-    ;;
-  *)
-    TARGET_CFLAGS="-Wall -pedantic -pthread"
-    TARGET_LDFLAGS=""
-  esac
-dnl Adding enabled options
-if test "x$udp" = "xyes" ; then
-  echo "UDP transport enabled"
-  TARGET_CFLAGS="$TARGET_CFLAGS -DRADPROT_UDP"
-fi
-if test "x$tcp" = "xyes" ; then
-  echo "TCP transport enabled"
-  TARGET_CFLAGS="$TARGET_CFLAGS -DRADPROT_TCP"
-fi
-if test "x$tls" = "xyes" ; then
-  echo "TLS (RadSec) transport enabled"
-  TARGET_CFLAGS="$TARGET_CFLAGS -DRADPROT_TLS"
-fi
-if test "x$dtls" = "xyes" ; then
-  echo "DTLS transport enabled"
-  TARGET_CFLAGS="$TARGET_CFLAGS -DRADPROT_DTLS"
+
+if test "x$acceptor" = "xyes" ; then
+  echo "acceptor enabled"
+  TARGET_CFLAGS="$TARGET_CFLAGS -DGSSEAP_ENABLE_ACCEPTOR"
 fi
-AC_ARG_VAR([DOCBOOK2X_MAN], [docbook2x-man])
-AC_CHECK_PROG([DOCBOOK2X_MAN], [docbook2x-man], [yes])
-AM_CONDITIONAL(HAVE_DOCBOOK2X_MAN, test "$DOCBOOK2X_MAN" = "yes")
+AM_CONDITIONAL(GSSEAP_ENABLE_ACCEPTOR, test "x$acceptor" != "xno")
 
 AC_SUBST(TARGET_CFLAGS)
 AC_SUBST(TARGET_LDFLAGS)
-AX_CHECK_SSL
-AC_OUTPUT(Makefile)
+AX_CHECK_WINDOWS
+AX_CHECK_KRB5
+AX_CHECK_OPENSAML
+AM_CONDITIONAL(OPENSAML, test "x_$check_opensaml_dir" != "x_no")
+
+AX_CHECK_SHIBRESOLVER
+AM_CONDITIONAL(SHIBRESOLVER, test "x_$check_shibresolver_dir" != "x_no")
+if test x_$found_shibresolver = x_yes; then
+  AX_CHECK_SHIBSP
+fi
+
+AX_CHECK_OPENSSL
+
+if test "x$acceptor" = "xyes" ; then
+  AX_CHECK_RADSEC
+  AX_CHECK_JANSSON
+fi
+
+AX_CHECK_LIBMOONSHOT
+AC_CONFIG_FILES([Makefile libeap/Makefile mech_eap/Makefile
+                         mech_eap.spec])
+AC_OUTPUT