mirror of
				https://git.proxmox.com/git/mirror_zfs
				synced 2025-11-04 07:10:11 +00:00 
			
		
		
		
	@LIBFETCH_SONAME@ is no longer quoted. The C define still is.
Ref: 153f7c9f72
Ref: https://github.com/openzfs/zfs/pull/12835#discussion_r776833743
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Damian Szuberski <szuberskidamian@gmail.com>
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Closes #12922
		
	
			
		
			
				
	
	
		
			72 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
dnl #
 | 
						||
dnl # Check for a libfetch - either fetch(3) or libcurl.
 | 
						||
dnl #
 | 
						||
dnl # There are two configuration dimensions:
 | 
						||
dnl #   * fetch(3) vs libcurl
 | 
						||
dnl #   * static vs dynamic
 | 
						||
dnl #
 | 
						||
dnl # fetch(3) is only dynamic.
 | 
						||
dnl # We use sover 6, which first appeared in FreeBSD 8.0-RELEASE.
 | 
						||
dnl #
 | 
						||
dnl # libcurl development packages include curl-config(1) – we want:
 | 
						||
dnl #   * HTTPS support
 | 
						||
dnl #   * version at least 7.16 (October 2006), for sover 4
 | 
						||
dnl #   * to decide if it's static or not
 | 
						||
dnl #
 | 
						||
AC_DEFUN([ZFS_AC_CONFIG_USER_LIBFETCH], [
 | 
						||
	AC_MSG_CHECKING([for libfetch])
 | 
						||
	LIBFETCH_LIBS=
 | 
						||
	LIBFETCH_IS_FETCH=0
 | 
						||
	LIBFETCH_IS_LIBCURL=0
 | 
						||
	LIBFETCH_DYNAMIC=0
 | 
						||
	LIBFETCH_SONAME=
 | 
						||
	have_libfetch=
 | 
						||
 | 
						||
	saved_libs="$LIBS"
 | 
						||
	LIBS="$LIBS -lfetch"
 | 
						||
	AC_LINK_IFELSE([AC_LANG_PROGRAM([[
 | 
						||
		#include <sys/param.h>
 | 
						||
		#include <stdio.h>
 | 
						||
		#include <fetch.h>
 | 
						||
	]], [fetchGetURL("", "");])], [
 | 
						||
		have_libfetch=1
 | 
						||
		LIBFETCH_IS_FETCH=1
 | 
						||
		LIBFETCH_DYNAMIC=1
 | 
						||
		LIBFETCH_SONAME="libfetch.so.6"
 | 
						||
		LIBFETCH_LIBS="-ldl"
 | 
						||
		AC_MSG_RESULT([fetch(3)])
 | 
						||
	], [])
 | 
						||
	LIBS="$saved_libs"
 | 
						||
 | 
						||
	if test -z "$have_libfetch"; then
 | 
						||
		if curl-config --protocols 2>/dev/null | grep -q HTTPS &&
 | 
						||
		    test "$(printf "%u" "0x$(curl-config --vernum)")" -ge "$(printf "%u" "0x071000")"; then
 | 
						||
			have_libfetch=1
 | 
						||
			LIBFETCH_IS_LIBCURL=1
 | 
						||
			if test "$(curl-config --built-shared)" = "yes"; then
 | 
						||
				LIBFETCH_DYNAMIC=1
 | 
						||
				LIBFETCH_SONAME="libcurl.so.4"
 | 
						||
				LIBFETCH_LIBS="-ldl"
 | 
						||
				AC_MSG_RESULT([libcurl])
 | 
						||
			else
 | 
						||
				LIBFETCH_LIBS="$(curl-config --libs)"
 | 
						||
				AC_MSG_RESULT([libcurl (static)])
 | 
						||
			fi
 | 
						||
 | 
						||
			CCFLAGS="$CCFLAGS $(curl-config --cflags)"
 | 
						||
		fi
 | 
						||
	fi
 | 
						||
 | 
						||
	if test -z "$have_libfetch"; then
 | 
						||
		AC_MSG_RESULT([none])
 | 
						||
	fi
 | 
						||
 | 
						||
	AC_SUBST([LIBFETCH_LIBS])
 | 
						||
	AC_SUBST([LIBFETCH_DYNAMIC])
 | 
						||
	AC_SUBST([LIBFETCH_SONAME])
 | 
						||
	AC_DEFINE_UNQUOTED([LIBFETCH_IS_FETCH], [$LIBFETCH_IS_FETCH], [libfetch is fetch(3)])
 | 
						||
	AC_DEFINE_UNQUOTED([LIBFETCH_IS_LIBCURL], [$LIBFETCH_IS_LIBCURL], [libfetch is libcurl])
 | 
						||
	AC_DEFINE_UNQUOTED([LIBFETCH_DYNAMIC], [$LIBFETCH_DYNAMIC], [whether the chosen libfetch is to be loaded at run-time])
 | 
						||
	AC_DEFINE_UNQUOTED([LIBFETCH_SONAME], ["$LIBFETCH_SONAME"], [soname of chosen libfetch])
 | 
						||
])
 |