hc
2024-05-10 cde9070d9970eef1f7ec2360586c802a16230ad8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
dnl Process this file with autoconf to produce a configure script.
 
AC_PREREQ(2.59)
AC_INIT([usbip-utils], [2.0], [linux-usb@vger.kernel.org])
AC_DEFINE([USBIP_VERSION], [0x00000111], [binary-coded decimal version number])
 
CURRENT=0
REVISION=1
AGE=0
AC_SUBST([LIBUSBIP_VERSION], [$CURRENT:$REVISION:$AGE], [library version])
 
AC_CONFIG_SRCDIR([src/usbipd.c])
AC_CONFIG_HEADERS([config.h])
 
AM_INIT_AUTOMAKE([foreign])
LT_INIT
 
# Silent build for automake >= 1.11
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
AC_SUBST([EXTRA_CFLAGS], ["-Wall -Werror -Wextra -std=gnu99"])
 
# Checks for programs.
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_MAKE_SET
 
# Checks for header files.
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h stdint.h stdlib.h dnl
         string.h sys/socket.h syslog.h unistd.h])
 
# Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_INT32_T
AC_TYPE_SIZE_T
AC_TYPE_SSIZE_T
AC_TYPE_UINT16_T
AC_TYPE_UINT32_T
AC_TYPE_UINT8_T
 
# Checks for library functions.
AC_FUNC_REALLOC
AC_CHECK_FUNCS([memset mkdir regcomp socket strchr strerror strstr dnl
       strtoul])
 
AC_CHECK_HEADER([libudev.h],
       [AC_CHECK_LIB([udev], [udev_new],
                 [LIBS="$LIBS -ludev"],
                 [AC_MSG_ERROR([Missing udev library!])])],
       [AC_MSG_ERROR([Missing /usr/include/libudev.h])])
 
# Checks for libwrap library.
AC_MSG_CHECKING([whether to use the libwrap (TCP wrappers) library])
AC_ARG_WITH([tcp-wrappers],
       [AS_HELP_STRING([--with-tcp-wrappers],
               [use the libwrap (TCP wrappers) library])],
       dnl [ACTION-IF-GIVEN]
       [if test "$withval" = "yes"; then
            AC_MSG_RESULT([yes])
            AC_MSG_CHECKING([for hosts_access in -lwrap])
            saved_LIBS="$LIBS"
            LIBS="-lwrap $saved_LIBS"
            AC_TRY_LINK(
              [int hosts_access(); int allow_severity, deny_severity;],
              [hosts_access()],
              [AC_MSG_RESULT([yes]);
           AC_DEFINE([HAVE_LIBWRAP], [1],
                 [use tcp wrapper]) wrap_LIB="-lwrap"],
              [AC_MSG_RESULT([not found]); exit 1])
        else
            AC_MSG_RESULT([no]);
        fi],
       dnl [ACTION-IF-NOT-GIVEN]
       [AC_MSG_RESULT([(default)])
        AC_MSG_CHECKING([for hosts_access in -lwrap])
        saved_LIBS="$LIBS"
        LIBS="-lwrap $saved_LIBS"
        AC_TRY_LINK(
          [int hosts_access(); int allow_severity, deny_severity;],
          [hosts_access()],
          [AC_MSG_RESULT([yes]);
       AC_DEFINE([HAVE_LIBWRAP], [1], [use tcp wrapper])],
          [AC_MSG_RESULT([no]); LIBS="$saved_LIBS"])])
 
# Sets directory containing usb.ids.
AC_ARG_WITH([usbids-dir],
       [AS_HELP_STRING([--with-usbids-dir=DIR],
          [where usb.ids is found (default /usr/share/hwdata/)])],
       [USBIDS_DIR=$withval], [USBIDS_DIR="/usr/share/hwdata/"])
AC_SUBST([USBIDS_DIR])
 
# use _FORTIFY_SOURCE
AC_MSG_CHECKING([whether to use fortify])
AC_ARG_WITH([fortify],
       [AS_HELP_STRING([--with-fortify],
               [use _FORTIFY_SROUCE option when compiling)])],
               dnl [ACTION-IF-GIVEN]
               [if test "$withval" = "yes"; then
               AC_MSG_RESULT([yes])
               CFLAGS="$CFLAGS -D_FORTIFY_SOURCE -O"
                else
                    AC_MSG_RESULT([no])
               CFLAGS="$CFLAGS -U_FORTIFY_SOURCE"
                fi
               ],
               dnl [ACTION-IF-NOT-GIVEN]
               [AC_MSG_RESULT([default])])
 
AC_CONFIG_FILES([Makefile libsrc/Makefile src/Makefile])
AC_OUTPUT