Annotation of freem/configure.ac, revision 1.38

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>