configure sets variables that curl-config uses to display what features
authorDaniel Stenberg <daniel@haxx.se>
Wed, 18 Apr 2001 09:28:55 +0000 (09:28 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 18 Apr 2001 09:28:55 +0000 (09:28 +0000)
that have been built-in

configure.in
curl-config.in

index 12607fa..ee36ce3 100644 (file)
@@ -82,6 +82,9 @@ void main(void) {
 if test "$ac_cv_working_getaddrinfo" = "yes"; then
   AC_DEFINE(HAVE_GETADDRINFO, 1, [Define if getaddrinfo exists and works])
   AC_DEFINE(ENABLE_IPV6, 1, [Define if you want to enable IPv6 support])
+
+  IPV6_ENABLED=1
+  AC_SUBST(IPV6_ENABLED)
 fi
 ])
 
@@ -506,6 +509,10 @@ then
       dnl add define KRB4
       AC_DEFINE(KRB4)
 
+      dnl substitute it too!
+      KRB4_ENABLED=1
+      AC_SUBST(KRB4_ENABLED)
+
       dnl the krb4 stuff needs a strlcpy()
       AC_CHECK_FUNCS(strlcpy)
 
@@ -572,14 +579,45 @@ else
 
 
     dnl Check for SSLeay headers
-    AC_CHECK_HEADERS(openssl/x509.h openssl/rsa.h openssl/crypto.h openssl/pem.h openssl/ssl.h openssl/err.h)
+    AC_CHECK_HEADERS(openssl/x509.h openssl/rsa.h openssl/crypto.h \
+                     openssl/pem.h openssl/ssl.h openssl/err.h)
 
     if test $ac_cv_header_openssl_x509_h = no; then
       AC_CHECK_HEADERS(x509.h rsa.h crypto.h pem.h ssl.h err.h)
     fi
 
+    dnl
+    dnl If all heades are present, we have enabled SSL!
+    if test "$ac_cv_header_openssl_x509_h" = "yes" &&
+       test "$ac_cv_header_openssl_rsa_h" = "yes" &&
+       test "$ac_cv_header_openssl_crypto_h" = "yes" &&
+       test "$ac_cv_header_openssl_pem_h" = "yes" &&
+       test "$ac_cv_header_openssl_ssl_h" = "yes" &&
+       test "$ac_cv_header_openssl_err_h" = "yes"; then
+      OPENSSL_ENABLED="1";
+    fi
+
+    dnl
+    dnl Check the alternative headers too
+    if test "$ac_cv_header_x509_h" = "yes" &&
+       test "$ac_cv_header_rsa_h" = "yes" &&
+       test "$ac_cv_header_crypto_h" = "yes" &&
+       test "$ac_cv_header_pem_h" = "yes" &&
+       test "$ac_cv_header_ssl_h" = "yes" &&
+       test "$ac_cv_header_err_h" = "yes"; then
+      OPENSSL_ENABLED="1";
+    fi
+
+    AC_SUBST(OPENSSL_ENABLED)
+
   fi
 
+  if test X"$OPT_SSL" != Xoff &&
+     test "$OPENSSL_ENABLED" != "1"; then
+    AC_MSG_ERROR([OpenSSL libs and/or directories were not found where specified!])
+  fi
+
+
   dnl these can only exist if openssl exists
 
   AC_CHECK_FUNCS( RAND_status \
index 1f396fa..d2d9842 100644 (file)
@@ -14,13 +14,14 @@ usage()
     cat <<EOF
 Usage: curl-config [OPTION]
 
-Available values for OPTION are:
+Available values for OPTION include:
 
-  --prefix             curl install prefix
-  --libs               library linking information
-  --cflags             pre-processor and compiler flags
-  --help               display this help and exit
-  --version            output version information
+  --cflags    pre-processor and compiler flags
+  --feature   newline separated list of enabled features
+  --help      display this help and exit
+  --libs      library linking information
+  --prefix    curl install prefix
+  --version   output version information
 EOF
 
     exit $1
@@ -44,6 +45,18 @@ while test $# -gt 0; do
        echo $prefix
        ;;
 
+    --feature)
+       if test "@OPENSSL_ENABLED@" = "1"; then
+          echo "SSL"
+        fi
+       if test "@KRB4_ENABLED@" = "1"; then
+          echo "KRB4"
+        fi
+       if test "@IPV6_ENABLED@" = "1"; then
+          echo "IPv6"
+        fi
+       ;;
+
     --version)
        echo libcurl @VERSION@
        exit 0
@@ -54,7 +67,7 @@ while test $# -gt 0; do
        ;;
 
     --cflags)
-               echo @CPPFLAGS@ @CFLAGS@
+               echo @CPPFLAGS@
                ;;
 
     --libs)