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

Contents of /lbbs/configure.ac

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.63 - (show annotations)
Thu Nov 20 09:02:46 2025 UTC (3 months, 3 weeks ago) by sysadm
Branch: MAIN
Changes since 1.62: +12 -8 lines
Content type: application/pkix-attr-cert
Add alternative POSIX semaphore based rd/rw (un)lock in user_list

1 # -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
3
4 AC_PREREQ([2.69])
5 AC_INIT([lbbs],[1.5.6])
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])],
24 [AS_IF([test "x$with_sysv" = xyes],
25 [AC_DEFINE([HAVE_SYSTEM_V], [1], [Define if System V is available])])])
26 AC_ARG_ENABLE([debug],
27 [AS_HELP_STRING([--enable-debug], [Enable debug log])],
28 [AS_IF([test "x$enable_debug" = xyes],
29 [AC_DEFINE([_DEBUG], [1], [Define if debug log is enabled])])])
30
31 AC_ARG_WITH([iconv],
32 [AS_HELP_STRING([--with-iconv], [Use iconv library package config])],
33 [],
34 [with_iconv="no"])
35 AC_ARG_WITH([mariadb],
36 [AS_HELP_STRING([--with-mariadb], [Use MariaDB library instead of MySQL client library])],
37 [],
38 [with_mariadb="no"])
39 AC_ARG_ENABLE([systemd],
40 [AS_HELP_STRING([--enable-systemd], [Enable systemd daemon])],
41 [],
42 [enable_systemd="no"])
43 AC_ARG_WITH([epoll],
44 [AS_HELP_STRING([--with-epoll], [Use epoll instead of poll])],
45 [],
46 [with_epoll="yes"])
47
48 AC_SUBST([PKG_CONFIG_PATH])
49 PKG_PROG_PKG_CONFIG
50 PKG_CHECK_MODULES([LIBSSH], [libssh], [], [AC_MSG_ERROR([libssh is required.])])
51 PKG_CHECK_MODULES([LIBPCRE2], [libpcre2-8], [], [AC_MSG_ERROR([libpcre2-8 is required.])])
52
53 AS_IF([test "x$with_iconv" = xyes],
54 [PKG_CHECK_MODULES([ICONV], [iconv], [], [AC_MSG_ERROR([iconv is required.])])])
55
56 AS_IF([test "x$with_mariadb" = xyes],
57 [PKG_CHECK_MODULES([MYSQLCLIENT], [libmariadb], [], [AC_MSG_ERROR([libmariadb is required.])])],
58 [PKG_CHECK_MODULES([MYSQLCLIENT], [mysqlclient], [], [AC_MSG_ERROR([mysqlclient is required.])])])
59
60 AS_IF([test "x$enable_systemd" = xyes],
61 [PKG_CHECK_MODULES([SYSTEMD], [libsystemd], [], [AC_MSG_ERROR([libsystemd is required.])])])
62
63 CPPFLAGS="$CPPFLAGS $LIBSSH_CFLAGS $MYSQLCLIENT_CFLAGS $SYSTEMD_CFLAGS $LIBPCRE2_CFLAGS $ICONV_CFLAGS"
64
65 # Checks for libraries.
66 AC_HEADER_STAT
67 AC_PROG_EGREP
68
69 AC_HEADER_RESOLV
70 AC_HEADER_SYS_WAIT
71 AC_CHECK_HEADERS([arpa/inet.h fcntl.h iconv.h libssh/libssh.h mysql.h netdb.h netinet/in.h pcre2.h pty.h \
72 semaphore.h signal.h stdint.h stdlib.h string.h sys/ioctl.h sys/mman.h sys/param.h sys/socket.h \
73 sys/types.h sys/sem.h sys/stat.h sys/wait.h time.h unistd.h utmp.h wchar.h],
74 [],
75 [AC_MSG_ERROR([Missing required header file])],
76 [#define PCRE2_CODE_UNIT_WIDTH 8])
77
78 AS_IF([test "x$enable_systemd" = xyes],
79 [AC_CHECK_HEADERS([systemd/sd-daemon.h], [], [AC_MSG_ERROR([systemd/sd-daemon.h not found.])])])
80
81 AS_IF([test "x$with_epoll" = xyes],
82 [AC_CHECK_HEADERS([sys/epoll.h], [], [AC_MSG_ERROR([sys/epoll.h not found.])])],
83 [AC_CHECK_HEADERS([poll.h], [], [AC_MSG_ERROR([poll.h not found.])])])
84
85 # Checks for typedefs, structures, and compiler characteristics.
86 AC_C_CONST
87 AC_TYPE_SIZE_T
88
89 AC_STRUCT_TM
90
91 # Checks for library functions.
92 AC_FUNC_FORK
93 AC_FUNC_MALLOC
94 AC_FUNC_SELECT_ARGTYPES
95 AC_FUNC_MMAP
96 AC_FUNC_MKTIME
97
98 AC_DEFINE_UNQUOTED([RETSIGTYPE],
99 [$ac_cv_type_signal],
100 [Define as the return type of signal handlers (`int' or `void').])
101
102 AC_FUNC_STRFTIME
103 AC_FUNC_VPRINTF
104 AC_CHECK_FUNCS([dup2 gethostbyname inet_ntoa memset mkdir rmdir regcomp poll socket strstr])
105
106 AC_CONFIG_FILES([Makefile
107 src/Makefile
108 utils/Makefile
109 utils/game/Makefile
110 conf/lbbs.service
111 conf/lbbs.logrotate])
112
113 AC_OUTPUT

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