2013-09-14 21:50:39 +00:00
|
|
|
######################################################################
|
|
|
|
# s3fs - FUSE-based file system backed by Amazon S3
|
|
|
|
#
|
|
|
|
# Copyright 2007-2008 Randy Rizun <rrizun@gmail.com>
|
|
|
|
#
|
|
|
|
# This program is free software; you can redistribute it and/or
|
|
|
|
# modify it under the terms of the GNU General Public License
|
|
|
|
# as published by the Free Software Foundation; either version 2
|
|
|
|
# of the License, or (at your option) any later version.
|
|
|
|
#
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
|
# along with this program; if not, write to the Free Software
|
|
|
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
######################################################################
|
2010-11-13 23:59:23 +00:00
|
|
|
dnl Process this file with autoconf to produce a configure script.
|
|
|
|
|
2023-03-21 06:10:55 +00:00
|
|
|
AC_PREREQ([2.69])
|
2024-10-25 17:40:09 +00:00
|
|
|
AC_INIT([s3fs],[1.95])
|
2022-01-13 14:36:00 +00:00
|
|
|
AC_CONFIG_HEADER([config.h])
|
2010-11-13 23:59:23 +00:00
|
|
|
|
2023-03-21 06:10:55 +00:00
|
|
|
AC_CANONICAL_TARGET
|
2015-08-15 03:41:49 +00:00
|
|
|
AM_INIT_AUTOMAKE([foreign])
|
2010-11-13 23:59:23 +00:00
|
|
|
|
|
|
|
AC_PROG_CXX
|
2014-05-06 14:23:05 +00:00
|
|
|
AC_PROG_CC
|
2010-11-13 23:59:23 +00:00
|
|
|
|
2016-10-02 07:23:19 +00:00
|
|
|
AC_CHECK_HEADERS([sys/xattr.h])
|
|
|
|
AC_CHECK_HEADERS([attr/xattr.h])
|
|
|
|
AC_CHECK_HEADERS([sys/extattr.h])
|
2020-11-03 06:42:03 +00:00
|
|
|
AC_CHECK_FUNCS([fallocate])
|
2016-10-02 07:23:19 +00:00
|
|
|
|
2023-09-25 15:05:54 +00:00
|
|
|
CXXFLAGS="-Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=3 -std=c++11 $CXXFLAGS"
|
2011-01-20 22:40:59 +00:00
|
|
|
|
2015-08-21 16:19:31 +00:00
|
|
|
dnl ----------------------------------------------
|
2018-10-14 20:40:17 +00:00
|
|
|
dnl For macOS
|
2015-08-21 16:19:31 +00:00
|
|
|
dnl ----------------------------------------------
|
2015-04-26 00:13:20 +00:00
|
|
|
case "$target" in
|
2018-02-02 14:58:10 +00:00
|
|
|
*-cygwin* )
|
|
|
|
# Do something specific for windows using winfsp
|
|
|
|
CXXFLAGS="$CXXFLAGS -D_GNU_SOURCE=1"
|
|
|
|
min_fuse_version=2.8
|
|
|
|
;;
|
2015-04-26 00:13:20 +00:00
|
|
|
*-darwin* )
|
|
|
|
# Do something specific for mac
|
|
|
|
min_fuse_version=2.7.3
|
2023-06-21 13:32:59 +00:00
|
|
|
min_fuse_t_version=1.0.20
|
2015-04-26 00:13:20 +00:00
|
|
|
;;
|
|
|
|
*)
|
|
|
|
# Default Case
|
|
|
|
# assume other supported linux system
|
|
|
|
min_fuse_version=2.8.4
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2023-06-25 10:11:36 +00:00
|
|
|
dnl ----------------------------------------------
|
|
|
|
dnl Checking the FUSE library
|
|
|
|
dnl ----------------------------------------------
|
|
|
|
dnl Distinguish between Linux (libfuse) and macOS (FUSE-T).
|
|
|
|
dnl
|
|
|
|
found_fuse_t=no
|
2023-06-21 13:32:59 +00:00
|
|
|
PKG_CHECK_MODULES([FUSE_T], [fuse-t >= ${min_fuse_t_version}], [found_fuse_t=yes], [found_fuse_t=no])
|
|
|
|
|
2023-06-25 10:11:36 +00:00
|
|
|
AS_IF([test "$found_fuse_t" = "yes"],
|
|
|
|
[PKG_CHECK_MODULES([fuse_library_checking], [fuse-t >= ${min_fuse_t_version}])],
|
|
|
|
[PKG_CHECK_MODULES([fuse_library_checking], [fuse >= ${min_fuse_version}])])
|
2023-06-21 13:32:59 +00:00
|
|
|
|
2014-05-06 14:23:05 +00:00
|
|
|
dnl ----------------------------------------------
|
|
|
|
dnl Choice SSL library
|
|
|
|
dnl ----------------------------------------------
|
|
|
|
auth_lib=na
|
|
|
|
nettle_lib=no
|
2022-11-23 11:05:57 +00:00
|
|
|
use_openssl_30=no
|
2010-11-13 23:59:23 +00:00
|
|
|
|
2014-05-06 14:23:05 +00:00
|
|
|
dnl
|
|
|
|
dnl nettle library
|
|
|
|
dnl
|
|
|
|
AC_MSG_CHECKING([s3fs build with nettle(GnuTLS)])
|
2014-05-10 16:45:46 +00:00
|
|
|
AC_ARG_WITH(
|
|
|
|
nettle,
|
|
|
|
[AS_HELP_STRING([--with-nettle], [s3fs build with nettle in GnuTLS(default no)])],
|
2014-05-06 14:23:05 +00:00
|
|
|
[
|
2014-05-10 16:45:46 +00:00
|
|
|
case "${withval}" in
|
2014-05-06 14:23:05 +00:00
|
|
|
yes)
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
nettle_lib=yes
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
],
|
|
|
|
[
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
])
|
2013-09-14 21:50:39 +00:00
|
|
|
|
2014-05-06 14:23:05 +00:00
|
|
|
dnl
|
|
|
|
dnl use openssl library for ssl
|
|
|
|
dnl
|
|
|
|
AC_MSG_CHECKING([s3fs build with OpenSSL])
|
2014-05-10 16:45:46 +00:00
|
|
|
AC_ARG_WITH(
|
|
|
|
openssl,
|
|
|
|
[AS_HELP_STRING([--with-openssl], [s3fs build with OpenSSL(default is no)])],
|
2013-09-14 21:50:39 +00:00
|
|
|
[
|
2014-05-10 16:45:46 +00:00
|
|
|
case "${withval}" in
|
2014-05-06 14:23:05 +00:00
|
|
|
yes)
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
AS_IF(
|
|
|
|
[test $nettle_lib = no],
|
|
|
|
[auth_lib=openssl],
|
|
|
|
[AC_MSG_ERROR([could not set openssl with nettle, nettle is only for gnutls library])])
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
;;
|
|
|
|
esac
|
2013-09-14 21:50:39 +00:00
|
|
|
],
|
2014-05-06 14:23:05 +00:00
|
|
|
[
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
])
|
|
|
|
|
|
|
|
dnl
|
|
|
|
dnl use GnuTLS library for ssl
|
|
|
|
dnl
|
|
|
|
AC_MSG_CHECKING([s3fs build with GnuTLS])
|
2014-05-10 16:45:46 +00:00
|
|
|
AC_ARG_WITH(
|
|
|
|
gnutls,
|
|
|
|
[AS_HELP_STRING([--with-gnutls], [s3fs build with GnuTLS(default is no)])],
|
2013-09-14 21:50:39 +00:00
|
|
|
[
|
2014-05-10 16:45:46 +00:00
|
|
|
case "${withval}" in
|
2013-09-14 21:50:39 +00:00
|
|
|
yes)
|
|
|
|
AC_MSG_RESULT(yes)
|
2014-05-06 14:23:05 +00:00
|
|
|
AS_IF(
|
|
|
|
[test $auth_lib = na],
|
|
|
|
[
|
|
|
|
AS_IF(
|
|
|
|
[test $nettle_lib = no],
|
|
|
|
[auth_lib=gnutls],
|
|
|
|
[auth_lib=nettle])
|
|
|
|
],
|
|
|
|
[AC_MSG_ERROR([could not set gnutls because already set another ssl library])])
|
2013-09-14 21:50:39 +00:00
|
|
|
;;
|
|
|
|
*)
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
],
|
|
|
|
[
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
])
|
|
|
|
|
2014-05-06 14:23:05 +00:00
|
|
|
dnl
|
|
|
|
dnl use nss library for ssl
|
|
|
|
dnl
|
|
|
|
AC_MSG_CHECKING([s3fs build with NSS])
|
2014-05-10 16:45:46 +00:00
|
|
|
AC_ARG_WITH(
|
|
|
|
nss,
|
|
|
|
[AS_HELP_STRING([--with-nss], [s3fs build with NSS(default is no)])],
|
2014-05-06 14:23:05 +00:00
|
|
|
[
|
2014-05-10 16:45:46 +00:00
|
|
|
case "${withval}" in
|
2014-05-06 14:23:05 +00:00
|
|
|
yes)
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
AS_IF(
|
|
|
|
[test $auth_lib = na],
|
|
|
|
[
|
|
|
|
AS_IF(
|
|
|
|
[test $nettle_lib = no],
|
|
|
|
[auth_lib=nss],
|
|
|
|
[AC_MSG_ERROR([could not set openssl with nettle, nettle is only for gnutls library])])
|
|
|
|
],
|
|
|
|
[AC_MSG_ERROR([could not set nss because already set another ssl library])])
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
],
|
2013-09-14 21:50:39 +00:00
|
|
|
[
|
2014-05-06 14:23:05 +00:00
|
|
|
AC_MSG_RESULT(no)
|
2013-09-14 21:50:39 +00:00
|
|
|
])
|
|
|
|
|
2014-05-06 14:23:05 +00:00
|
|
|
AS_IF(
|
|
|
|
[test $auth_lib = na],
|
2014-05-10 16:45:46 +00:00
|
|
|
AS_IF(
|
|
|
|
[test $nettle_lib = no],
|
|
|
|
[auth_lib=openssl],
|
|
|
|
[AC_MSG_ERROR([could not set nettle without GnuTLS library])]
|
|
|
|
)
|
|
|
|
)
|
2014-05-06 14:23:05 +00:00
|
|
|
|
2014-09-07 13:53:20 +00:00
|
|
|
dnl
|
|
|
|
dnl For PKG_CONFIG before checking nss/gnutls.
|
|
|
|
dnl
|
|
|
|
|
2014-05-06 14:23:05 +00:00
|
|
|
AC_MSG_CHECKING([compile s3fs with])
|
|
|
|
case "${auth_lib}" in
|
|
|
|
openssl)
|
|
|
|
AC_MSG_RESULT(OpenSSL)
|
2023-06-25 10:11:36 +00:00
|
|
|
AS_IF([test "$found_fuse_t" = "yes"],
|
2023-06-21 13:32:59 +00:00
|
|
|
[PKG_CHECK_MODULES([DEPS], [fuse-t >= ${min_fuse_t_version} libcurl >= 7.0 libxml-2.0 >= 2.6 libcrypto >= 0.9 ])],
|
|
|
|
[PKG_CHECK_MODULES([DEPS], [fuse >= ${min_fuse_version} libcurl >= 7.0 libxml-2.0 >= 2.6 libcrypto >= 0.9 ])])
|
|
|
|
|
2022-11-23 11:05:57 +00:00
|
|
|
AC_MSG_CHECKING([openssl 3.0 or later])
|
|
|
|
AC_COMPILE_IFELSE(
|
|
|
|
[AC_LANG_PROGRAM([[#include <openssl/opensslv.h>
|
|
|
|
#if !defined(LIBRESSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x30000000L
|
|
|
|
#error "found openssl is 3.0 or later(so compiling is stopped with error)"
|
|
|
|
#endif]], [[]])],
|
|
|
|
[AC_MSG_RESULT(no)],
|
|
|
|
[AC_MSG_RESULT(yes); use_openssl_30=yes])
|
2014-05-06 14:23:05 +00:00
|
|
|
;;
|
|
|
|
gnutls)
|
|
|
|
AC_MSG_RESULT(GnuTLS-gcrypt)
|
|
|
|
gnutls_nettle=""
|
|
|
|
AC_CHECK_LIB(gnutls, gcry_control, [gnutls_nettle=0])
|
|
|
|
AS_IF([test "$gnutls_nettle" = ""], [AC_CHECK_LIB(gcrypt, gcry_control, [gnutls_nettle=0])])
|
|
|
|
AS_IF([test $gnutls_nettle = 0],
|
|
|
|
[
|
2023-06-25 10:11:36 +00:00
|
|
|
AS_IF([test "$found_fuse_t" = "yes"],
|
2023-06-21 13:32:59 +00:00
|
|
|
[PKG_CHECK_MODULES([DEPS], [fuse-t >= ${min_fuse_t_version} libcurl >= 7.0 libxml-2.0 >= 2.6 gnutls >= 2.12.0 ])],
|
|
|
|
[PKG_CHECK_MODULES([DEPS], [fuse >= ${min_fuse_version} libcurl >= 7.0 libxml-2.0 >= 2.6 gnutls >= 2.12.0 ])])
|
2014-05-06 14:23:05 +00:00
|
|
|
LIBS="-lgnutls -lgcrypt $LIBS"
|
|
|
|
AC_MSG_CHECKING([gnutls is build with])
|
|
|
|
AC_MSG_RESULT(gcrypt)
|
|
|
|
],
|
|
|
|
[AC_MSG_ERROR([GnuTLS found, but gcrypt not found])])
|
|
|
|
;;
|
|
|
|
nettle)
|
|
|
|
AC_MSG_RESULT(GnuTLS-nettle)
|
|
|
|
gnutls_nettle=""
|
|
|
|
AC_CHECK_LIB(gnutls, nettle_MD5Init, [gnutls_nettle=1])
|
|
|
|
AS_IF([test "$gnutls_nettle" = ""], [AC_CHECK_LIB(nettle, nettle_MD5Init, [gnutls_nettle=1])])
|
|
|
|
AS_IF([test $gnutls_nettle = 1],
|
|
|
|
[
|
2023-06-25 10:11:36 +00:00
|
|
|
AS_IF([test "$found_fuse_t" = "yes"],
|
2023-06-21 13:32:59 +00:00
|
|
|
[PKG_CHECK_MODULES([DEPS], [fuse-t >= ${min_fuse_t_version} libcurl >= 7.0 libxml-2.0 >= 2.6 nettle >= 2.7.1 ])],
|
|
|
|
[PKG_CHECK_MODULES([DEPS], [fuse >= ${min_fuse_version} libcurl >= 7.0 libxml-2.0 >= 2.6 nettle >= 2.7.1 ])])
|
2014-05-06 14:23:05 +00:00
|
|
|
LIBS="-lgnutls -lnettle $LIBS"
|
|
|
|
AC_MSG_CHECKING([gnutls is build with])
|
|
|
|
AC_MSG_RESULT(nettle)
|
|
|
|
],
|
|
|
|
[AC_MSG_ERROR([GnuTLS found, but nettle not found])])
|
|
|
|
;;
|
|
|
|
nss)
|
|
|
|
AC_MSG_RESULT(NSS)
|
2023-06-25 10:11:36 +00:00
|
|
|
AS_IF([test "$found_fuse_t" = "yes"],
|
2023-06-21 13:32:59 +00:00
|
|
|
[PKG_CHECK_MODULES([DEPS], [fuse-t >= ${min_fuse_t_version} libcurl >= 7.0 libxml-2.0 >= 2.6 nss >= 3.15.0 ])],
|
|
|
|
[PKG_CHECK_MODULES([DEPS], [fuse >= ${min_fuse_version} libcurl >= 7.0 libxml-2.0 >= 2.6 nss >= 3.15.0 ])])
|
2014-05-06 14:23:05 +00:00
|
|
|
;;
|
|
|
|
*)
|
|
|
|
AC_MSG_ERROR([unknown ssl library type.])
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
AM_CONDITIONAL([USE_SSL_OPENSSL], [test "$auth_lib" = openssl])
|
2022-11-23 11:05:57 +00:00
|
|
|
AM_CONDITIONAL([USE_SSL_OPENSSL_30], [test "$use_openssl_30" = yes])
|
2014-05-06 14:23:05 +00:00
|
|
|
AM_CONDITIONAL([USE_SSL_GNUTLS], [test "$auth_lib" = gnutls -o "$auth_lib" = nettle])
|
|
|
|
AM_CONDITIONAL([USE_GNUTLS_NETTLE], [test "$auth_lib" = nettle])
|
|
|
|
AM_CONDITIONAL([USE_SSL_NSS], [test "$auth_lib" = nss])
|
|
|
|
|
|
|
|
dnl ----------------------------------------------
|
2015-08-21 16:19:31 +00:00
|
|
|
dnl check functions
|
2014-05-06 14:23:05 +00:00
|
|
|
dnl ----------------------------------------------
|
|
|
|
dnl malloc_trim function
|
2015-08-21 16:19:31 +00:00
|
|
|
AC_CHECK_FUNCS([malloc_trim])
|
2013-09-14 21:50:39 +00:00
|
|
|
|
2018-10-14 20:40:17 +00:00
|
|
|
dnl clock_gettime function(macos)
|
2016-02-08 21:45:34 +00:00
|
|
|
AC_SEARCH_LIBS([clock_gettime],[rt posix4])
|
2016-02-07 07:40:55 +00:00
|
|
|
AC_CHECK_FUNCS([clock_gettime])
|
|
|
|
|
2015-12-03 07:47:17 +00:00
|
|
|
dnl ----------------------------------------------
|
|
|
|
dnl check symbols/macros/enums
|
|
|
|
dnl ----------------------------------------------
|
|
|
|
dnl PTHREAD_MUTEX_RECURSIVE
|
|
|
|
AC_MSG_CHECKING([pthread mutex recursive])
|
|
|
|
AC_COMPILE_IFELSE(
|
|
|
|
[AC_LANG_PROGRAM([[#include <pthread.h>]],
|
|
|
|
[[int i = PTHREAD_MUTEX_RECURSIVE;]])
|
|
|
|
],
|
|
|
|
[AC_DEFINE(S3FS_MUTEX_RECURSIVE, PTHREAD_MUTEX_RECURSIVE, [Define if you have PTHREAD_MUTEX_RECURSIVE])
|
|
|
|
AC_MSG_RESULT(PTHREAD_MUTEX_RECURSIVE)
|
|
|
|
],
|
|
|
|
[AC_COMPILE_IFELSE(
|
|
|
|
[AC_LANG_PROGRAM([[#include <pthread.h>]],
|
|
|
|
[[int i = PTHREAD_MUTEX_RECURSIVE_NP;]])
|
|
|
|
],
|
|
|
|
[AC_DEFINE(S3FS_MUTEX_RECURSIVE, PTHREAD_MUTEX_RECURSIVE_NP, [Define if you have PTHREAD_MUTEX_RECURSIVE_NP])
|
|
|
|
AC_MSG_RESULT(PTHREAD_MUTEX_RECURSIVE_NP)
|
|
|
|
],
|
|
|
|
[AC_MSG_ERROR([do not have PTHREAD_MUTEX_RECURSIVE symbol])])
|
|
|
|
]
|
|
|
|
)
|
|
|
|
|
2015-08-21 16:19:31 +00:00
|
|
|
dnl ----------------------------------------------
|
2019-03-22 10:47:42 +00:00
|
|
|
dnl check CURLoption
|
|
|
|
dnl ----------------------------------------------
|
|
|
|
dnl CURLOPT_TCP_KEEPALIVE (is supported by 7.25.0 and later)
|
|
|
|
AC_MSG_CHECKING([checking CURLOPT_TCP_KEEPALIVE])
|
|
|
|
AC_COMPILE_IFELSE(
|
|
|
|
[AC_LANG_PROGRAM([[#include <curl/curl.h>]],
|
|
|
|
[[CURLoption opt = CURLOPT_TCP_KEEPALIVE;]])
|
|
|
|
],
|
|
|
|
[AC_DEFINE(HAVE_CURLOPT_TCP_KEEPALIVE, 1, [Define to 1 if libcurl has CURLOPT_TCP_KEEPALIVE CURLoption])
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
],
|
|
|
|
[AC_DEFINE(HAVE_CURLOPT_TCP_KEEPALIVE, 0, [Define to 1 if libcurl has CURLOPT_TCP_KEEPALIVE CURLoption])
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
]
|
|
|
|
)
|
|
|
|
|
|
|
|
dnl CURLOPT_SSL_ENABLE_ALPN (is supported by 7.36.0 and later)
|
|
|
|
AC_MSG_CHECKING([checking CURLOPT_SSL_ENABLE_ALPN])
|
|
|
|
AC_COMPILE_IFELSE(
|
|
|
|
[AC_LANG_PROGRAM([[#include <curl/curl.h>]],
|
|
|
|
[[CURLoption opt = CURLOPT_SSL_ENABLE_ALPN;]])
|
|
|
|
],
|
|
|
|
[AC_DEFINE(HAVE_CURLOPT_SSL_ENABLE_ALPN, 1, [Define to 1 if libcurl has CURLOPT_SSL_ENABLE_ALPN CURLoption])
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
],
|
|
|
|
[AC_DEFINE(HAVE_CURLOPT_SSL_ENABLE_ALPN, 0, [Define to 1 if libcurl has CURLOPT_SSL_ENABLE_ALPN CURLoption])
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
]
|
|
|
|
)
|
|
|
|
|
|
|
|
dnl CURLOPT_KEEP_SENDING_ON_ERROR (is supported by 7.51.0 and later)
|
|
|
|
AC_MSG_CHECKING([checking CURLOPT_KEEP_SENDING_ON_ERROR])
|
|
|
|
AC_COMPILE_IFELSE(
|
|
|
|
[AC_LANG_PROGRAM([[#include <curl/curl.h>]],
|
|
|
|
[[CURLoption opt = CURLOPT_KEEP_SENDING_ON_ERROR;]])
|
|
|
|
],
|
|
|
|
[AC_DEFINE(HAVE_CURLOPT_KEEP_SENDING_ON_ERROR, 1, [Define to 1 if libcurl has CURLOPT_KEEP_SENDING_ON_ERROR CURLoption])
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
],
|
|
|
|
[AC_DEFINE(HAVE_CURLOPT_KEEP_SENDING_ON_ERROR, 0, [Define to 1 if libcurl has CURLOPT_KEEP_SENDING_ON_ERROR CURLoption])
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
]
|
|
|
|
)
|
|
|
|
|
2022-10-22 01:42:07 +00:00
|
|
|
dnl ----------------------------------------------
|
|
|
|
dnl dl library
|
|
|
|
dnl ----------------------------------------------
|
|
|
|
AC_CHECK_LIB([dl], [dlopen, dlclose, dlerror, dlsym], [], [AC_MSG_ERROR([Could not found dlopen, dlclose, dlerror and dlsym])])
|
|
|
|
|
2022-02-23 01:42:02 +00:00
|
|
|
dnl ----------------------------------------------
|
|
|
|
dnl build date
|
|
|
|
dnl ----------------------------------------------
|
2022-08-31 13:23:47 +00:00
|
|
|
AC_SUBST([MAN_PAGE_DATE], [$(date -r doc/man/s3fs.1.in +"%B %Y")])
|
2022-02-23 01:42:02 +00:00
|
|
|
|
2019-03-22 10:47:42 +00:00
|
|
|
dnl ----------------------------------------------
|
2015-08-21 16:19:31 +00:00
|
|
|
dnl output files
|
|
|
|
dnl ----------------------------------------------
|
2022-02-23 01:42:02 +00:00
|
|
|
AC_CONFIG_FILES(Makefile
|
|
|
|
src/Makefile
|
|
|
|
test/Makefile
|
|
|
|
doc/Makefile
|
|
|
|
doc/man/s3fs.1)
|
2015-08-21 16:19:31 +00:00
|
|
|
|
|
|
|
dnl ----------------------------------------------
|
|
|
|
dnl short commit hash
|
|
|
|
dnl ----------------------------------------------
|
2022-02-19 03:13:00 +00:00
|
|
|
AC_CHECK_PROG([GITCMD], [git --version], [yes], [no])
|
2019-03-22 05:22:23 +00:00
|
|
|
AS_IF([test -d .git], [DOTGITDIR=yes], [DOTGITDIR=no])
|
2015-08-21 16:19:31 +00:00
|
|
|
|
|
|
|
AC_MSG_CHECKING([github short commit hash])
|
2019-03-22 05:22:23 +00:00
|
|
|
if test "x${GITCMD}" = "xyes" -a "x${DOTGITDIR}" = "xyes"; then
|
2024-06-23 05:43:07 +00:00
|
|
|
TMP_GITCOMMITHASH=`git rev-parse --short HEAD`
|
|
|
|
UNTRACKED_FILES=`git status -s --untracked-files=no`
|
|
|
|
if test -n "${UNTRACKED_FILES}"; then
|
|
|
|
GITCOMMITHASH="(commit:${TMP_GITCOMMITHASH} +untracked files)"
|
|
|
|
else
|
|
|
|
GITCOMMITHASH="(commit:${TMP_GITCOMMITHASH})"
|
|
|
|
fi
|
2015-08-21 16:19:31 +00:00
|
|
|
elif test -f default_commit_hash; then
|
2024-06-23 05:43:07 +00:00
|
|
|
TMP_GITCOMMITHASH=`cat default_commit_hash`
|
|
|
|
if test -n "${TMP_GITCOMMITHASH}"; then
|
|
|
|
GITCOMMITHASH="(base commit:${TMP_GITCOMMITHASH})"
|
|
|
|
else
|
|
|
|
GITCOMMITHASH=""
|
|
|
|
fi
|
2015-08-21 16:19:31 +00:00
|
|
|
else
|
2024-06-23 05:43:07 +00:00
|
|
|
GITCOMMITHASH=""
|
2015-08-21 16:19:31 +00:00
|
|
|
fi
|
|
|
|
AC_MSG_RESULT([${GITCOMMITHASH}])
|
|
|
|
|
|
|
|
AC_DEFINE_UNQUOTED([COMMIT_HASH_VAL], ["${GITCOMMITHASH}"], [short commit hash value on github])
|
|
|
|
|
|
|
|
dnl ----------------------------------------------
|
|
|
|
dnl put
|
|
|
|
dnl ----------------------------------------------
|
2010-11-13 23:59:23 +00:00
|
|
|
AC_OUTPUT
|
|
|
|
|
2015-08-21 16:19:31 +00:00
|
|
|
dnl ----------------------------------------------
|
|
|
|
dnl end configuration
|
|
|
|
dnl ----------------------------------------------
|
|
|
|
|
2020-08-22 12:40:53 +00:00
|
|
|
#
|
|
|
|
# Local variables:
|
|
|
|
# tab-width: 4
|
|
|
|
# c-basic-offset: 4
|
|
|
|
# End:
|
2022-02-19 03:13:00 +00:00
|
|
|
# vim600: expandtab sw=4 ts=4 fdm=marker
|
2020-08-22 12:40:53 +00:00
|
|
|
# vim<600: expandtab sw=4 ts=4
|
|
|
|
#
|