Annotation of freem/configure.ac, revision 1.39
1.1 snw 1: #
1.39 ! snw 2: # $Id: configure.ac,v 1.38 2025/05/17 17:00:04 snw Exp $
1.1 snw 3: # autoconf rules for FreeM
4: #
5: #
1.4 snw 6: # Author: Serena Willis <jpw@coherent-logic.com>
1.1 snw 7: # Copyright (C) 1998 MUG Deutschland
1.5 snw 8: # Copyright (C) 2020, 2025 Coherent Logic Development LLC
1.1 snw 9: #
10: #
11: # This file is part of FreeM.
12: #
13: # FreeM is free software: you can redistribute it and/or modify
14: # it under the terms of the GNU Affero Public License as published by
15: # the Free Software Foundation, either version 3 of the License, or
16: # (at your option) any later version.
17: #
18: # FreeM is distributed in the hope that it will be useful,
19: # but WITHOUT ANY WARRANTY; without even the implied warranty of
20: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21: # GNU Affero Public License for more details.
22: #
23: # You should have received a copy of the GNU Affero Public License
24: # along with FreeM. If not, see <https://www.gnu.org/licenses/>.
25: #
1.6 snw 26: # $Log: configure.ac,v $
1.39 ! snw 27: # Revision 1.38 2025/05/17 17:00:04 snw
! 28: # Make it possible to select the modernized global handler with the configure script and update documentation and README.md
! 29: #
1.38 snw 30: # Revision 1.37 2025/05/16 13:22:57 snw
31: # Bump version to account for shared memory changes
32: #
1.37 snw 33: # Revision 1.36 2025/05/14 12:22:03 snw
34: # Further work on shared memory
35: #
1.36 snw 36: # Revision 1.35 2025/05/08 12:52:52 snw
37: # Begin development on 0.65.0
38: #
1.35 snw 39: # Revision 1.34 2025/05/07 19:03:05 snw
1.39 ! snw 40: # Release 0.65.1-rc1, prepare to begin shared memory rewrite
1.35 snw 41: #
1.34 snw 42: # Revision 1.33 2025/04/19 01:10:04 snw
43: # Update documentation
44: #
1.33 snw 45: # Revision 1.32 2025/04/15 03:42:30 snw
46: # Remove -fno-stack-protector to fix dynamic executable builds on SunCC on Solaris
47: #
1.32 snw 48: # Revision 1.31 2025/04/15 03:37:30 snw
49: # Remove -fno-mudflap to fix Solaris builds
50: #
1.31 snw 51: # Revision 1.30 2025/04/12 00:54:16 snw
52: # Set -fno-stack-protector and -fno-mudflap where available, and set _FORTIFY_SOURCE to 0 everywhere
53: #
1.30 snw 54: # Revision 1.29 2025/04/12 00:42:05 snw
55: # Remove -Wall and all supporting directives
56: #
1.29 snw 57: # Revision 1.28 2025/04/11 20:55:47 snw
58: # Disable -Wunused-result where possible
59: #
1.28 snw 60: # Revision 1.27 2025/04/10 18:01:34 snw
61: # Further tweaks to the autoconf configuration
62: #
1.27 snw 63: # Revision 1.26 2025/04/10 01:24:38 snw
64: # Remove C++ style comments
65: #
1.26 snw 66: # Revision 1.25 2025/04/09 21:10:14 snw
67: # Only use -Wno-format-truncation et al when the compiler supports them
68: #
1.25 snw 69: # Revision 1.24 2025/04/09 20:06:02 snw
70: # Add macros to check for compiler flags to suppress unavoidable warnings
71: #
1.24 snw 72: # Revision 1.23 2025/04/07 23:40:30 snw
1.39 ! snw 73: # Move to 0.65.1-rc1 and prepare to optimize global file lookup
1.24 snw 74: #
1.23 snw 75: # Revision 1.22 2025/04/07 21:19:38 snw
1.39 ! snw 76: # Release FreeM 0.65.1-rc1
1.23 snw 77: #
1.22 snw 78: # Revision 1.21 2025/04/04 18:00:00 snw
79: # *** empty log message ***
80: #
1.21 snw 81: # Revision 1.20 2025/04/04 12:46:13 snw
1.39 ! snw 82: # Patch Solaris 8 crash and bump version to 0.65.1-rc1
1.21 snw 83: #
1.20 snw 84: # Revision 1.19 2025/04/04 02:40:32 snw
1.39 ! snw 85: # Release 0.65.1-rc1
1.20 snw 86: #
1.19 snw 87: # Revision 1.18 2025/04/04 02:12:24 snw
1.39 ! snw 88: # Bump to 0.65.1-rc1 and make sure m_log function is never empty
1.19 snw 89: #
1.18 snw 90: # Revision 1.17 2025/04/04 01:18:20 snw
1.39 ! snw 91: # Remove vestigial logging code and bump to 0.65.1-rc1
1.18 snw 92: #
1.17 snw 93: # Revision 1.16 2025/04/03 20:48:14 snw
1.39 ! snw 94: # Improve daemon error diagnostics and bump to 0.65.1-rc1
1.17 snw 95: #
1.16 snw 96: # Revision 1.15 2025/04/03 15:51:17 snw
97: # Add fmadm man page and apply minor updates to freem man page
98: #
1.15 snw 99: # Revision 1.14 2025/04/03 01:41:01 snw
1.39 ! snw 100: # New features frozen; prepare 0.65.1-rc1
1.15 snw 101: #
1.14 snw 102: # Revision 1.13 2025/03/30 01:36:58 snw
103: # Make it easier to bring back fma_gedit, fix double-free in global handler, limit $CHAR to 7-bit ASCII
104: #
1.13 snw 105: # Revision 1.12 2025/03/29 16:50:42 snw
1.39 ! snw 106: # Back to 0.65.1-rc1 as version for development; temp fix for double-free issue in global_dispatch
1.13 snw 107: #
1.12 snw 108: # Revision 1.11 2025/03/27 03:31:16 snw
1.39 ! snw 109: # Prepare for release of FreeM 0.65.1-rc1
1.12 snw 110: #
1.11 snw 111: # Revision 1.10 2025/03/23 19:42:18 snw
1.39 ! snw 112: # Back to 0.65.1-rc1 versioning for continued development work
1.11 snw 113: #
1.10 snw 114: # Revision 1.9 2025/03/23 04:42:33 snw
1.39 ! snw 115: # Prepare for release of FreeM 0.65.1-rc1
1.10 snw 116: #
1.9 snw 117: # Revision 1.8 2025/03/16 16:08:26 snw
1.39 ! snw 118: # Back on 0.65.1-rc1 versioning for continued development
1.9 snw 119: #
1.8 snw 120: # Revision 1.7 2025/03/15 03:19:33 snw
1.39 ! snw 121: # Fix broken build and update to 0.65.1-rc1
1.8 snw 122: #
1.7 snw 123: # Revision 1.6 2025/03/15 02:26:35 snw
1.39 ! snw 124: # Prepare for 0.65.1-rc1 release
1.7 snw 125: #
1.6 snw 126: # Revision 1.5 2025/03/09 19:14:24 snw
127: # First phase of REUSE compliance and header reformat
128: #
1.1 snw 129: #
1.5 snw 130: # SPDX-FileCopyrightText: (C) 2025 Coherent Logic Development LLC
131: # SPDX-License-Identifier: AGPL-3.0-or-later
132:
1.1 snw 133:
1.39 ! snw 134: AC_INIT([freem],[0.65.1-rc1],[snw@coherent-logic.com])
1.1 snw 135: AC_CONFIG_HEADERS([src/config.h])
136: AC_CONFIG_MACRO_DIR([m4])
137:
138: AX_LIB_READLINE
1.32 snw 139: ##
140: # The following may be needed once we get back to enabling -Wall -Wextra -pedantic
141: #
1.29 snw 142: # AX_CHECK_COMPILE_FLAG([-Wno-format-truncation], [AX_APPEND_FLAG([-Wno-format-truncation])])
143: # AX_CHECK_COMPILE_FLAG([-Wno-format-contains-nul], [AX_APPEND_FLAG([-Wno-format-contains-nul])])
144: # AX_CHECK_COMPILE_FLAG([-Wno-stringop-truncation], [AX_APPEND_FLAG([-Wno-stringop-truncation])])
145: # AX_CHECK_COMPILE_FLAG([-Wno-parentheses], [AX_APPEND_FLAG([-Wno-parentheses])])
146: # AX_CHECK_COMPILE_FLAG([-Wno-pointer-sign], [AX_APPEND_FLAG([-Wno-pointer-sign])])
1.36 snw 147: # AX_CHECK_COMPILE_FLAG([-fstack-protector], [AX_APPEND_FLAG([-fstack-protector])])
1.1 snw 148:
149: # check for libm
150: AC_CHECK_LIB([m], [powf])
151: AC_CHECK_LIB([m], [pow])
152:
153: AC_CANONICAL_HOST
1.13 snw 154: #AX_WITH_CURSES
1.1 snw 155:
156: # find out if we need to link with -lsocket and/or -lnsl to get
157: # BSD sockets support
158:
159: AU_ALIAS([LIB_SOCKET_NSL], [AX_LIB_SOCKET_NSL])
160:
161: AC_DEFUN([AX_LIB_SOCKET_NSL],
162: [
163: AC_SEARCH_LIBS([gethostbyname], [nsl])
164: AC_SEARCH_LIBS([socket], [socket], [], [
165: AC_CHECK_LIB([socket], [socket], [LIBS="-lsocket -lnsl $LIBS"],
166: [], [-lnsl])])
167: ])
168:
169: AX_LIB_SOCKET_NSL
170:
171: #
172: # check for getopt.h and getopt_long
173: #
174: AC_CHECK_HEADERS(getopt.h)
175: AC_CHECK_FUNCS([getopt_long])
176:
177: #
178: # bring in X11, X Toolkit, and Motif if --enable-mwapi is passed to configure
179: #
180: AC_ARG_ENABLE([mwapi], AS_HELP_STRING([--enable-mwapi], [Enable MWAPI (OSF/Motif) support (EXPERIMENTAL)]))
181:
182: AS_IF([test "x$enable_mwapi" = "xyes"], [
183: AX_LIB_MOTIF
184: ])
185:
1.38 snw 186: #
187: # enable new global handler
188: #
189: AC_ARG_ENABLE([newglobals], AS_HELP_STRING([--enable-newglobals], [Enable modernized global handler (EXPERIMENTAL)]))
190:
191: AM_CONDITIONAL([USE_NEWGLOBALS], [test "x$enable_newglobals" = "xyes"])
192:
193: AS_IF([test "x$enable_newglobals" = "xyes"], [
194: AC_DEFINE(USE_NEW_GLOBALS, 1, [Define if using new global handler])
195: ])
196:
1.1 snw 197: # check for wiringPi headers and library linkage for
198: # ^$ZRPI ssv on Raspberry Pi SBCs
199: AC_CHECK_HEADERS(wiringPi.h)
200:
201: AC_DEFUN([AX_LIB_WIRINGPI],
202: [
203: AC_SEARCH_LIBS([wiringPiSetup], [wiringPi], [], [
204: AC_CHECK_LIB([wiringPi], [wiringPiSetup], [LIBS="-lwiringPi $LIBS"],
205: [], [-lwiringPi])])
206: ])
207:
208: AX_LIB_WIRINGPI
209:
210: AC_ENABLE_SHARED
211: AC_DISABLE_STATIC
212: LT_INIT
213: AM_INIT_AUTOMAKE
214: AC_CONFIG_FILES(Makefile src/Makefile doc/Makefile)
215: AC_PROG_CC
216: # AC_PATH_XTRA
217: AC_OUTPUT
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>