summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac102
1 files changed, 90 insertions, 12 deletions
diff --git a/configure.ac b/configure.ac
index 43487b0..2f954a3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -17,10 +17,9 @@ dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dnl GNU General Public License for more details.
dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program (see the file COPYING included with this
-dnl distribution); if not, write to the Free Software Foundation, Inc.,
-dnl 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+dnl You should have received a copy of the GNU General Public License along
+dnl with this program; if not, write to the Free Software Foundation, Inc.,
+dnl 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
dnl Process this file with autoconf to produce a configure script.
@@ -301,13 +300,12 @@ AC_ARG_WITH(
[with_crypto_library="openssl"]
)
-AC_ARG_WITH(
- [plugindir],
- [AS_HELP_STRING([--with-plugindir], [plugin directory @<:@default=LIBDIR/openvpn@:>@])],
- ,
- [with_plugindir="\$(libdir)/openvpn/plugins"]
-)
-
+AC_ARG_VAR([PLUGINDIR], [Path of plug-in directory @<:@default=LIBDIR/openvpn/plugins@:>@])
+if test -n "${PLUGINDIR}"; then
+ plugindir="${PLUGINDIR}"
+else
+ plugindir="\${libdir}/openvpn/plugins"
+fi
AC_DEFINE_UNQUOTED([TARGET_ALIAS], ["${host}"], [A string representing our host])
case "$host" in
@@ -378,6 +376,8 @@ AC_ARG_VAR([NETSTAT], [path to netstat utility]) # tests
AC_ARG_VAR([MAN2HTML], [path to man2html utility])
AC_ARG_VAR([GIT], [path to git utility])
AC_ARG_VAR([SYSTEMD_ASK_PASSWORD], [path to systemd-ask-password utility])
+AC_ARG_VAR([SYSTEMD_UNIT_DIR], [Path of systemd unit directory @<:@default=LIBDIR/systemd/system@:>@])
+AC_ARG_VAR([TMPFILES_DIR], [Path of tmpfiles directory @<:@default=LIBDIR/tmpfiles.d@:>@])
AC_PATH_PROGS([IFCONFIG], [ifconfig],, [$PATH:/usr/local/sbin:/usr/sbin:/sbin])
AC_PATH_PROGS([ROUTE], [route],, [$PATH:/usr/local/sbin:/usr/sbin:/sbin])
AC_PATH_PROGS([IPROUTE], [ip],, [$PATH:/usr/local/sbin:/usr/sbin:/sbin])
@@ -582,6 +582,30 @@ AC_COMPILE_IFELSE(
[AC_MSG_RESULT([no])]
)
+saved_LDFLAGS="$LDFLAGS"
+LDFLAGS="$LDFLAGS -Wl,--wrap=exit"
+AC_MSG_CHECKING([linker supports --wrap])
+AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+ void exit(int);
+ void __real_exit(int);
+ void __wrap_exit(int i) {
+ __real_exit(i);
+ }
+ ]],
+ [[
+ exit(0);
+ ]]
+ )],
+ [
+ AC_MSG_RESULT([yes])
+ have_ld_wrap_support=yes
+ ],
+ [AC_MSG_RESULT([no])],
+)
+LDFLAGS="$saved_LDFLAGS"
+
dnl We emulate signals in Windows
AC_CHECK_DECLS(
[SIGHUP],
@@ -873,6 +897,44 @@ if test "${enable_crypto}" = "yes" -a "${with_crypto_library}" = "openssl"; then
[have_crypto_aead_modes="no"; break]
)
+ AC_CHECK_FUNCS(
+ [ \
+ EVP_CIPHER_CTX_new \
+ EVP_CIPHER_CTX_free \
+ HMAC_CTX_new \
+ HMAC_CTX_free \
+ HMAC_CTX_reset \
+ HMAC_CTX_init \
+ EVP_MD_CTX_new \
+ EVP_MD_CTX_free \
+ EVP_MD_CTX_reset \
+ SSL_CTX_get_default_passwd_cb \
+ SSL_CTX_get_default_passwd_cb_userdata \
+ X509_get0_pubkey \
+ X509_STORE_get0_objects \
+ X509_OBJECT_free \
+ X509_OBJECT_get_type \
+ EVP_PKEY_id \
+ EVP_PKEY_get0_RSA \
+ EVP_PKEY_get0_DSA \
+ RSA_set_flags \
+ RSA_bits \
+ RSA_get0_key \
+ RSA_set0_key \
+ DSA_get0_pqg \
+ DSA_bits \
+ RSA_meth_new \
+ RSA_meth_free \
+ RSA_meth_set_pub_enc \
+ RSA_meth_set_pub_dec \
+ RSA_meth_set_priv_enc \
+ RSA_meth_set_priv_dec \
+ RSA_meth_set_init \
+ RSA_meth_set_finish \
+ RSA_meth_set0_app_data \
+ ]
+ )
+
CFLAGS="${saved_CFLAGS}"
LIBS="${saved_LIBS}"
@@ -1075,6 +1137,18 @@ if test "$enable_systemd" = "yes" ; then
OPTIONAL_SYSTEMD_LIBS="${libsystemd_LIBS}"
AC_DEFINE(ENABLE_SYSTEMD, 1, [Enable systemd integration])
LIBS="${saved_LIBS}"
+
+ if test -n "${SYSTEMD_UNIT_DIR}"; then
+ systemdunitdir="${SYSTEMD_UNIT_DIR}"
+ else
+ systemdunitdir="\${libdir}/systemd/system"
+ fi
+
+ if test -n "${TMPFILES_DIR}"; then
+ tmpfilesdir="${TMPFILES_DIR}"
+ else
+ tmpfilesdir="\${libdir}/tmpfiles.d"
+ fi
fi
@@ -1244,12 +1318,15 @@ AM_CONDITIONAL([GIT_CHECKOUT], [test "${GIT_CHECKOUT}" = "yes"])
AM_CONDITIONAL([ENABLE_PLUGIN_AUTH_PAM], [test "${enable_plugin_auth_pam}" = "yes"])
AM_CONDITIONAL([ENABLE_PLUGIN_DOWN_ROOT], [test "${enable_plugin_down_root}" = "yes"])
AM_CONDITIONAL([ENABLE_CRYPTO], [test "${enable_crypto}" = "yes"])
+AM_CONDITIONAL([HAVE_LD_WRAP_SUPPORT], [test "${have_ld_wrap_support}" = "yes"])
-plugindir="${with_plugindir}"
sampledir="\$(docdir)/sample"
AC_SUBST([plugindir])
AC_SUBST([sampledir])
+AC_SUBST([systemdunitdir])
+AC_SUBST([tmpfilesdir])
+
VENDOR_SRC_ROOT="\$(abs_top_srcdir)/vendor/"
VENDOR_DIST_ROOT="\$(abs_top_builddir)/vendor/dist"
VENDOR_BUILD_ROOT="\$(abs_top_builddir)/vendor/.build"
@@ -1288,6 +1365,7 @@ AC_CONFIG_FILES([
distro/Makefile
distro/rpm/Makefile
distro/rpm/openvpn.spec
+ distro/systemd/Makefile
include/Makefile
src/Makefile
src/compat/Makefile