xref: /aosp_15_r20/external/libevent/m4/libevent_openssl.m4 (revision 663afb9b963571284e0f0a60f257164ab54f64bf)
1*663afb9bSAndroid Build Coastguard Workerdnl ######################################################################
2*663afb9bSAndroid Build Coastguard Workerdnl OpenSSL support
3*663afb9bSAndroid Build Coastguard WorkerAC_DEFUN([LIBEVENT_OPENSSL], [
4*663afb9bSAndroid Build Coastguard WorkerAC_REQUIRE([NTP_PKG_CONFIG])dnl
5*663afb9bSAndroid Build Coastguard Worker
6*663afb9bSAndroid Build Coastguard Workercase "$enable_openssl" in
7*663afb9bSAndroid Build Coastguard Worker yes)
8*663afb9bSAndroid Build Coastguard Worker    have_openssl=no
9*663afb9bSAndroid Build Coastguard Worker    case "$PKG_CONFIG" in
10*663afb9bSAndroid Build Coastguard Worker     '')
11*663afb9bSAndroid Build Coastguard Worker	;;
12*663afb9bSAndroid Build Coastguard Worker     *)
13*663afb9bSAndroid Build Coastguard Worker	OPENSSL_LIBS=`$PKG_CONFIG --libs openssl 2>/dev/null`
14*663afb9bSAndroid Build Coastguard Worker	case "$OPENSSL_LIBS" in
15*663afb9bSAndroid Build Coastguard Worker	 '') ;;
16*663afb9bSAndroid Build Coastguard Worker	 *) OPENSSL_LIBS="$OPENSSL_LIBS $EV_LIB_GDI $EV_LIB_WS32 $OPENSSL_LIBADD"
17*663afb9bSAndroid Build Coastguard Worker	    have_openssl=yes
18*663afb9bSAndroid Build Coastguard Worker	    ;;
19*663afb9bSAndroid Build Coastguard Worker	esac
20*663afb9bSAndroid Build Coastguard Worker	OPENSSL_INCS=`$PKG_CONFIG --cflags openssl 2>/dev/null`
21*663afb9bSAndroid Build Coastguard Worker	;;
22*663afb9bSAndroid Build Coastguard Worker    esac
23*663afb9bSAndroid Build Coastguard Worker    case "$have_openssl" in
24*663afb9bSAndroid Build Coastguard Worker     yes) ;;
25*663afb9bSAndroid Build Coastguard Worker     *)
26*663afb9bSAndroid Build Coastguard Worker	save_LIBS="$LIBS"
27*663afb9bSAndroid Build Coastguard Worker	LIBS=""
28*663afb9bSAndroid Build Coastguard Worker	OPENSSL_LIBS=""
29*663afb9bSAndroid Build Coastguard Worker	for lib in crypto eay32; do
30*663afb9bSAndroid Build Coastguard Worker		# clear cache
31*663afb9bSAndroid Build Coastguard Worker		unset ac_cv_search_SSL_new
32*663afb9bSAndroid Build Coastguard Worker		AC_SEARCH_LIBS([SSL_new], [ssl ssl32],
33*663afb9bSAndroid Build Coastguard Worker		    [have_openssl=yes
34*663afb9bSAndroid Build Coastguard Worker		    OPENSSL_LIBS="$LIBS -l$lib $EV_LIB_GDI $EV_LIB_WS32 $OPENSSL_LIBADD"],
35*663afb9bSAndroid Build Coastguard Worker		    [have_openssl=no],
36*663afb9bSAndroid Build Coastguard Worker		    [-l$lib $EV_LIB_GDI $EV_LIB_WS32 $OPENSSL_LIBADD])
37*663afb9bSAndroid Build Coastguard Worker		LIBS="$save_LIBS"
38*663afb9bSAndroid Build Coastguard Worker		test "$have_openssl" = "yes" && break
39*663afb9bSAndroid Build Coastguard Worker	done
40*663afb9bSAndroid Build Coastguard Worker	;;
41*663afb9bSAndroid Build Coastguard Worker    esac
42*663afb9bSAndroid Build Coastguard Worker    CPPFLAGS_SAVE=$CPPFLAGS
43*663afb9bSAndroid Build Coastguard Worker    CPPFLAGS="$CPPFLAGS $OPENSSL_INCS"
44*663afb9bSAndroid Build Coastguard Worker    AC_CHECK_HEADERS([openssl/ssl.h], [], [have_openssl=no])
45*663afb9bSAndroid Build Coastguard Worker    CPPFLAGS=$CPPFLAGS_SAVE
46*663afb9bSAndroid Build Coastguard Worker    AC_SUBST(OPENSSL_INCS)
47*663afb9bSAndroid Build Coastguard Worker    AC_SUBST(OPENSSL_LIBS)
48*663afb9bSAndroid Build Coastguard Worker    case "$have_openssl" in
49*663afb9bSAndroid Build Coastguard Worker     yes)  AC_DEFINE(HAVE_OPENSSL, 1, [Define if the system has openssl]) ;;
50*663afb9bSAndroid Build Coastguard Worker     *) AC_MSG_ERROR([openssl is a must but can not be found. You should add the \
51*663afb9bSAndroid Build Coastguard Workerdirectory containing `openssl.pc' to the `PKG_CONFIG_PATH' environment variable, \
52*663afb9bSAndroid Build Coastguard Workeror set `CFLAGS' and `LDFLAGS' directly for openssl, or use `--disable-openssl' \
53*663afb9bSAndroid Build Coastguard Workerto disable support for openssl encryption])
54*663afb9bSAndroid Build Coastguard Worker	;;
55*663afb9bSAndroid Build Coastguard Worker    esac
56*663afb9bSAndroid Build Coastguard Worker    ;;
57*663afb9bSAndroid Build Coastguard Workeresac
58*663afb9bSAndroid Build Coastguard Worker
59*663afb9bSAndroid Build Coastguard Worker# check if we have and should use openssl
60*663afb9bSAndroid Build Coastguard WorkerAM_CONDITIONAL(OPENSSL, [test "$enable_openssl" != "no" && test "$have_openssl" = "yes"])
61*663afb9bSAndroid Build Coastguard Worker])
62