The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/openzfs/config/user-libfetch.m4

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 dnl #
    2 dnl # Check for a libfetch - either fetch(3) or libcurl.
    3 dnl #
    4 dnl # There are two configuration dimensions:
    5 dnl #   * fetch(3) vs libcurl
    6 dnl #   * static vs dynamic
    7 dnl #
    8 dnl # fetch(3) is only dynamic.
    9 dnl # We use sover 6, which first appeared in FreeBSD 8.0-RELEASE.
   10 dnl #
   11 dnl # libcurl development packages include curl-config(1) – we want:
   12 dnl #   * HTTPS support
   13 dnl #   * version at least 7.16 (October 2006), for sover 4
   14 dnl #   * to decide if it's static or not
   15 dnl #
   16 AC_DEFUN([ZFS_AC_CONFIG_USER_LIBFETCH], [
   17         AC_MSG_CHECKING([for libfetch])
   18         LIBFETCH_LIBS=
   19         LIBFETCH_IS_FETCH=0
   20         LIBFETCH_IS_LIBCURL=0
   21         LIBFETCH_DYNAMIC=0
   22         LIBFETCH_SONAME=
   23         have_libfetch=
   24 
   25         saved_libs="$LIBS"
   26         LIBS="$LIBS -lfetch"
   27         AC_LINK_IFELSE([AC_LANG_PROGRAM([[
   28                 #include <sys/param.h>
   29                 #include <stdio.h>
   30                 #include <fetch.h>
   31         ]], [fetchGetURL("", "");])], [
   32                 have_libfetch=1
   33                 LIBFETCH_IS_FETCH=1
   34                 LIBFETCH_DYNAMIC=1
   35                 LIBFETCH_SONAME="libfetch.so.6"
   36                 LIBFETCH_LIBS="-ldl"
   37                 AC_MSG_RESULT([fetch(3)])
   38         ], [])
   39         LIBS="$saved_libs"
   40 
   41         if test -z "$have_libfetch"; then
   42                 if curl-config --protocols 2>/dev/null | grep -q HTTPS &&
   43                     test "$(printf "%u" "0x$(curl-config --vernum)")" -ge "$(printf "%u" "0x071000")"; then
   44                         have_libfetch=1
   45                         LIBFETCH_IS_LIBCURL=1
   46                         if test "$(curl-config --built-shared)" = "yes"; then
   47                                 LIBFETCH_DYNAMIC=1
   48                                 LIBFETCH_SONAME="libcurl.so.4"
   49                                 LIBFETCH_LIBS="-ldl"
   50                                 AC_MSG_RESULT([libcurl])
   51                         else
   52                                 LIBFETCH_LIBS="$(curl-config --libs)"
   53                                 AC_MSG_RESULT([libcurl (static)])
   54                         fi
   55 
   56                         CCFLAGS="$CCFLAGS $(curl-config --cflags)"
   57                 fi
   58         fi
   59 
   60         if test -z "$have_libfetch"; then
   61                 AC_MSG_RESULT([none])
   62         fi
   63 
   64         AC_SUBST([LIBFETCH_LIBS])
   65         AC_SUBST([LIBFETCH_DYNAMIC])
   66         AC_SUBST([LIBFETCH_SONAME])
   67         AC_DEFINE_UNQUOTED([LIBFETCH_IS_FETCH], [$LIBFETCH_IS_FETCH], [libfetch is fetch(3)])
   68         AC_DEFINE_UNQUOTED([LIBFETCH_IS_LIBCURL], [$LIBFETCH_IS_LIBCURL], [libfetch is libcurl])
   69         AC_DEFINE_UNQUOTED([LIBFETCH_DYNAMIC], [$LIBFETCH_DYNAMIC], [whether the chosen libfetch is to be loaded at run-time])
   70         AC_DEFINE_UNQUOTED([LIBFETCH_SONAME], ["$LIBFETCH_SONAME"], [soname of chosen libfetch])
   71 ])

Cache object: 17ecb3afaf3225e4d8a80b67dc97626b


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.