/[LeafOK_CVS]/lbbs/configure.ac
ViewVC logotype

Contents of /lbbs/configure.ac

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.79 - (show annotations)
Thu Jan 8 08:14:33 2026 UTC (2 months, 1 week ago) by sysadm
Branch: MAIN
Changes since 1.78: +1 -1 lines
Content type: application/pkix-attr-cert
Update

1 # -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
3
4 AC_PREREQ([2.69])
5 AC_INIT([lbbs],[1.7.3])
6 AC_CONFIG_SRCDIR([src/])
7 AC_CONFIG_HEADERS([config.h])
8 AC_CONFIG_MACRO_DIRS([m4])
9 AM_INIT_AUTOMAKE([foreign])
10 AM_SILENT_RULES(yes)
11
12 AC_USE_SYSTEM_EXTENSIONS
13 # Checks for programs.
14 LT_INIT
15 AC_PROG_CXX
16 AC_PROG_CC
17 AC_PROG_CPP
18 AC_PROG_INSTALL
19 AC_PROG_LN_S
20 AC_PROG_MAKE_SET
21
22 AC_ARG_WITH([sysv],
23 [AS_HELP_STRING([--with-sysv], [Use System V specific APIs [default=yes]])],
24 [],
25 [with_sysv="yes"])
26 AC_ARG_ENABLE([debug],
27 [AS_HELP_STRING([--enable-debug], [Enable debug log [default=no]])],
28 [AS_IF([test "x$enable_debug" = xyes],
29 [AC_DEFINE([_DEBUG], [1], [Define if debug log is enabled])])])
30 AC_ARG_WITH([iconv],
31 [AS_HELP_STRING([--with-iconv], [Use iconv library package config [default=yes]])],
32 [],
33 [with_iconv="yes"])
34 AC_ARG_WITH([mariadb],
35 [AS_HELP_STRING([--with-mariadb], [Use MariaDB library instead of MySQL client library [default=yes]])],
36 [],
37 [with_mariadb="yes"])
38 AC_ARG_ENABLE([systemd],
39 [AS_HELP_STRING([--enable-systemd], [Enable systemd daemon [default=yes]])],
40 [],
41 [enable_systemd="yes"])
42 AC_ARG_WITH([epoll],
43 [AS_HELP_STRING([--with-epoll], [Use epoll instead of poll])],
44 [],
45 [AC_CHECK_HEADERS([sys/epoll.h], [with_epoll="yes"], [with_epoll="no"])])
46
47 AC_SUBST([PKG_CONFIG_PATH])
48 PKG_PROG_PKG_CONFIG
49 PKG_CHECK_MODULES([LIBSSH], [libssh], [], [AC_MSG_ERROR([libssh is required.])])
50 PKG_CHECK_MODULES([LIBPCRE2], [libpcre2-8], [], [AC_MSG_ERROR([libpcre2-8 is required.])])
51
52 AS_IF([test "x$with_sysv" = xyes],
53 [AC_CHECK_FUNC([semtimedop],
54 [AC_DEFINE([HAVE_SYSTEM_V], [1], [Define if System V is available])],
55 [with_sysv="no"])])
56
57 AS_IF([test "x$with_iconv" != xno],
58 [PKG_CHECK_MODULES([ICONV], [iconv], [], [AC_CHECK_HEADERS([iconv.h], [], [AC_MSG_ERROR([iconv is required.])])])])
59
60 AS_IF([test "x$with_mariadb" = xyes],
61 [PKG_CHECK_MODULES([MYSQLCLIENT], [libmariadb],
62 [AC_DEFINE([HAVE_MARIADB_CLIENT], [1], [Define if MariaDB client is used])],
63 [with_mariadb="no"])])
64 AS_IF([test "x$with_mariadb" = xno],
65 [PKG_CHECK_MODULES([MYSQLCLIENT], [mysqlclient],
66 [],
67 [AC_MSG_ERROR([mysqlclient is required.])])])
68
69 AS_IF([test "x$enable_systemd" = xyes],
70 [PKG_CHECK_MODULES([SYSTEMD], [libsystemd],
71 [AC_CHECK_HEADERS([systemd/sd-daemon.h], [], [AC_MSG_ERROR([systemd/sd-daemon.h not found.])])],
72 [AC_MSG_NOTICE([libsystemd not found.])])])
73
74 AS_IF([test "x$with_epoll" = xyes],
75 [AC_CHECK_HEADERS([sys/epoll.h], [], [AC_MSG_ERROR([sys/epoll.h not found.])])],
76 [AC_CHECK_HEADERS([poll.h], [], [AC_MSG_ERROR([poll.h not found.])])])
77
78 AS_IF([test "x$enable_shared" = xyes],
79 [AC_DEFINE([_ENABLE_SHARED], [1], [Define if shared library is enabled])])
80 AM_CONDITIONAL([STATIC_LINK], [test "x$enable_shared" != xyes])
81
82 CPPFLAGS="$CPPFLAGS $LIBSSH_CFLAGS $MYSQLCLIENT_CFLAGS $SYSTEMD_CFLAGS $LIBPCRE2_CFLAGS $ICONV_CFLAGS"
83
84 # Checks for libraries.
85 AC_HEADER_STAT
86 AC_PROG_EGREP
87
88 AC_HEADER_RESOLV
89 AC_HEADER_SYS_WAIT
90 AC_CHECK_HEADERS([arpa/inet.h fcntl.h iconv.h libssh/libssh.h mysql.h netdb.h netinet/in.h pcre2.h pty.h \
91 semaphore.h signal.h stdint.h stdlib.h string.h sys/ioctl.h sys/mman.h sys/param.h sys/socket.h \
92 sys/types.h sys/sem.h sys/stat.h sys/wait.h time.h unistd.h utmp.h wchar.h],
93 [],
94 [AC_MSG_ERROR([Missing required header file])],
95 [#define PCRE2_CODE_UNIT_WIDTH 8])
96
97 # Checks for typedefs, structures, and compiler characteristics.
98 AC_C_CONST
99 AC_TYPE_SIZE_T
100
101 AC_STRUCT_TM
102
103 # Checks for library functions.
104 AC_FUNC_FORK
105 AC_FUNC_MALLOC
106 AC_FUNC_SELECT_ARGTYPES
107 AC_FUNC_MMAP
108 AC_FUNC_MKTIME
109
110 AC_DEFINE_UNQUOTED([RETSIGTYPE],
111 [$ac_cv_type_signal],
112 [Define as the return type of signal handlers (`int' or `void').])
113
114 AC_FUNC_STRFTIME
115 AC_FUNC_VPRINTF
116 AC_CHECK_FUNCS([dup2 getaddrinfo inet_ntop memset mkdir rmdir regcomp poll socket strstr])
117
118 AC_CONFIG_FILES([Makefile
119 src/Makefile
120 utils/Makefile
121 utils/game/Makefile
122 conf/lbbs.service
123 conf/lbbs.logrotate])
124
125 AC_OUTPUT

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1