Bump to 1.23.0
[platform/upstream/groff.git] / configure.ac
index f528e1b..4b1e92f 100644 (file)
@@ -1,7 +1,5 @@
 # Autoconf configuration file for groff.
-# Copyright (C) 1989-1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-#               2009
-# Free Software Foundation, Inc.
+# Copyright (C) 1989-2023 Free Software Foundation, Inc.
 #
 # This file is part of groff.
 #
 # Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
 #
-# groff is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# groff is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 # for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 # Process this file with autoconf to produce a configure script.
 
-dnl Use `VERSION' and `REVISION' files to get version.
-m4_define([GROFF_VERSION_DATA], m4_include([VERSION]))
-m4_define([GROFF_REVISION_DATA], m4_include([REVISION]))
-
-dnl Strip off newline characters.
-m4_define([GROFF_VERSION],
-          m4_substr(GROFF_VERSION_DATA,
-                    [0], m4_decr(m4_len(GROFF_VERSION_DATA))))
-m4_define([GROFF_REVISION],
-          m4_substr(GROFF_REVISION_DATA,
-                    [0], m4_decr(m4_len(GROFF_REVISION_DATA))))
-
-dnl Don't use revision if it is zero.
-m4_define([GROFF_VERSION_STRING],
-          m4_if(m4_eval(GROFF_REVISION[ > 0]),
-                [1],
-                GROFF_VERSION[.]GROFF_REVISION,
-                GROFF_VERSION))
-
-AC_INIT([groff],
-        GROFF_VERSION_STRING,
-        [bug-groff@gnu.org],
-        [groff-]GROFF_VERSION_STRING)
-AC_PREREQ([2.62])
+AC_INIT([GNU roff],
+        m4_esyscmd([build-aux/git-version-gen --prefix "" .tarball-version]),
+        http://savannah.gnu.org/bugs/?group=groff,
+        [groff])
+
+AC_PREREQ([2.64])
+
+# SHORT_VERSION contains only the number of REVISION before the first
+# '.'; e.g., if REVISION is '3.real.434-5aafd' then SHORT_VERSION is
+# 'x.yy.3', where x and yy are MAJOR_VERSION and MINOR_VERSION,
+# respectively.
+AC_SUBST([SHORT_VERSION],
+       m4_bregexp(AC_PACKAGE_VERSION,[^\(\w+\.\w+\.\w+\).*$],[\1]))
+
+# Directories where the helper scripts should be found. This must be
+# consistent with the variable build_aux in bootstrap.conf.
+AC_CONFIG_AUX_DIR([build-aux])
 
 AC_CONFIG_HEADERS([src/include/config.h:src/include/config.hin])
 AC_CONFIG_SRCDIR([src/roff/groff/groff.cpp])
 
 AC_USE_SYSTEM_EXTENSIONS
 
+AM_INIT_AUTOMAKE([subdir-objects])
+
+AM_SILENT_RULES([yes])
+
 # checks for programs
 AC_PROG_CC
 AC_PROG_CXX
+gl_EARLY
+gl_INIT
 GROFF_CXX_CHECK
 GROFF_EBCDIC
 GROFF_OS390
+GROFF_CMD_FILES
 GROFF_X11
-GROFF_APPRESDIR_OPTION
-GROFF_APPRESDIR_DEFAULT
+GROFF_APPDEFDIR_OPTION
+GROFF_APPDEFDIR_DEFAULT
+GROFF_LIBPROGRAMDIR_DEFAULT
+GROFF_GLILYPONDDIR_DEFAULT
+GROFF_GPINYINDIR_DEFAULT
+GROFF_PERL
 GROFF_PRINT
+# GROFF_REFER
+GROFF_REFERDIR_DEFAULT
 AC_PROG_EGREP
-AC_PATH_PROG([PERLPATH], [perl], [/usr/bin/perl])
 GROFF_PROG_YACC
-GROFF_MAKEINFO
+GROFF_PROG_M4
+GROFF_PROG_MAKEINFO
+GROFF_PROG_TEXI2DVI
+GROFF_USE_TEX_CHECK
 AC_PROG_RANLIB
 GROFF_INSTALL_SH
 GROFF_INSTALL_INFO
 AC_PROG_INSTALL
 AC_PROG_LN_S
+AC_PROG_MKDIR_P
+GROFF_PROG_XPMTOPPM
+PKG_PROG_PKG_CONFIG
+GROFF_UCHARDET
 
 # use a dummy substitution if no csh hack is necessary to avoid errors
 # with non-GNU sed programs
-GROFF_CSH_HACK([SH_SCRIPT_SED_CMD='1s/.*/:/'], [SH_SCRIPT_SED_CMD='1s/a/a/'])
+GROFF_CSH_HACK([SH_SCRIPT_SED_CMD='1s/.*/:/'],
+               [SH_SCRIPT_SED_CMD='1s/a/a/'])
 AC_SUBST([SH_SCRIPT_SED_CMD])
 
 # checks for headers
-AC_CHECK_HEADERS([stddef.h stdlib.h unistd.h dirent.h limits.h sys/dir.h \
-                  string.h strings.h math.h sys/time.h direct.h process.h])
+AC_CHECK_HEADERS([stdbool.h stddef.h stdlib.h unistd.h dirent.h \
+                  limits.h sys/dir.h string.h strings.h math.h \
+                  sys/time.h direct.h process.h])
 GROFF_ISC_SYSV3
 GROFF_POSIX
 
 # checks for header stuff
 GROFF_SRAND
 GROFF_NEED_DECLARATION([gettimeofday])
-GROFF_NEED_DECLARATION([hypot])
 GROFF_NEED_DECLARATION([popen])
 GROFF_NEED_DECLARATION([pclose])
 GROFF_NEED_DECLARATION([putenv])
 GROFF_NEED_DECLARATION([rand])
-GROFF_NEED_DECLARATION([snprintf])
 GROFF_NEED_DECLARATION([srand])
 GROFF_NEED_DECLARATION([strcasecmp])
 GROFF_NEED_DECLARATION([strncasecmp])
 GROFF_NEED_DECLARATION([vfprintf])
-GROFF_NEED_DECLARATION([vsnprintf])
 GROFF_SYS_NERR
 GROFF_SYS_ERRLIST
 GROFF_OSFCN_H
@@ -114,7 +123,10 @@ AC_C_BIGENDIAN
 # checks for libraries
 GROFF_LIBC
 GROFF_LIBM
+
+AC_LANG_PUSH([C++])
 AM_ICONV
+AC_LANG_POP([C++])
 
 # we need LIBEXT
 AC_SUBST([LIBEXT],[$acl_libext])
@@ -123,13 +135,13 @@ AC_SUBST([LIBEXT],[$acl_libext])
 AC_FUNC_MMAP
 saved_libs="$LIBS"
 LIBS="$LIBS $LIBC $LIBM"
-AC_REPLACE_FUNCS([fmod getcwd putenv snprintf strcasecmp \
+AC_REPLACE_FUNCS([fmod getcwd putenv strcasecmp \
                   strerror strncasecmp strtol])
-# vsnprintf is in the same source file as snprintf
-AC_CHECK_FUNCS([vsnprintf], [], [AC_LIBOBJ([snprintf])])
 LIBS="$saved_libs"
-AC_CHECK_FUNCS([gettimeofday isatty kill rename setlocale strsep])
+AC_CHECK_FUNCS([gettimeofday isatty kill rename setlocale strdup \
+                strsep])
 GROFF_MKSTEMP
+AC_CHECK_DECLS([strsignal, getc_unlocked])
 AC_CHECK_DECLS([sys_siglist, getc_unlocked])
 AM_LANGINFO_CODESET
 
@@ -140,22 +152,112 @@ GROFF_TRADITIONAL_CPP
 # checks for operating system services
 GROFF_WCOREFLAG
 
+# URW fonts extra dir
+GROFF_URW_FONTS_PATH
+
+# use groff's own malloc-based allocator for C++ new/delete operators
+GROFF_USE_GROFF_ALLOCATOR
+
 # other random stuff
 GROFF_BROKEN_SPOOLER_FLAGS
 GROFF_PAGE
 GROFF_G
 GROFF_TMAC
+GROFF_WITH_COMPATIBILITY_WRAPPERS
 GROFF_TARGET_PATH_SEPARATOR
-GROFF_HTML_PROGRAMS
-GROFF_PDFDOC_PROGRAMS
+GROFF_CHECK_GROHTML_PROGRAMS
+GROFF_PDFROFF_DEPENDENCIES_CHECK
+GROFF_GROPDF_DEPENDENCIES_CHECK
+GROFF_PNMTOOLS_CAN_BE_QUIET
 GROFF_PNMTOPS_NOSETPAGE
+GROFF_MAKE_DEFINES_RM
+GROFF_DIFF_D
+GROFF_HAVE_TEST_EF_OPTION
+GROFF_BASH
+GROFF_GHOSTSCRIPT_VERSION_CHECK
 gl_GLIBC21
+gl_LOCALCHARSET
+
+AM_CONDITIONAL([BUILD_WINSCRIPTS], [test -n "$make_winscripts"])
+
+# If X11 is not available, don't build:
+# font/devX75
+# font/devX75-12
+# font/devX100
+# font/devX100-12
+# src/devices/xditview
+# src/utils/xtotroff
+# src/libs/libxutil
+AM_CONDITIONAL([WITHOUT_X11], [test "$groff_no_x" = yes])
+
+AM_CONDITIONAL([MAKE_DEFINES_RM], [test "$groff_make_defines_rm" = yes])
 
-AC_CONFIG_FILES([stamp-h], [echo timestamp > stamp-h])
-AC_CONFIG_FILES([Makefile doc/Makefile src/utils/xtotroff/Makefile])
-AC_CONFIG_FILES([contrib/gdiffmk/tests/runtests],
-                [chmod +x contrib/gdiffmk/tests/runtests])
+# Some programs have a "g" prefix if an existing troff installation is
+# detected.
+AM_CONDITIONAL([USEPROGRAMPREFIX], [test "$g" = g])
+
+AM_CONDITIONAL([USE_GROHTML], [test "$use_grohtml" = yes])
+AM_CONDITIONAL([USE_PDFROFF], [test "$use_pdfroff" = yes])
+AM_CONDITIONAL([USE_GROPDF], [test "$use_gropdf" = yes])
+AM_CONDITIONAL([USE_GROFF_ALLOCATOR],
+               [test "$groff_use_own_allocator" = yes])
+AM_CONDITIONAL([HAVE_GHOSTSCRIPT], [test "$GHOSTSCRIPT" != no \
+                && test "$GHOSTSCRIPT" != missing])
+AM_CONDITIONAL([HAVE_URW_FONTS], [test "$groff_have_urw_fonts" = yes ])
+AM_CONDITIONAL([HAVE_TEXI2DVI], [test "$groff_have_texi2dvi" = yes ])
+AM_CONDITIONAL([USE_TEX], [test "$groff_use_tex" = yes ])
+
+AC_CONFIG_FILES([Makefile])
 AC_CONFIG_FILES([test-groff], [chmod +x test-groff])
 AC_OUTPUT
 
-GROFF_APPRESDIR_CHECK
+echo "
+$PACKAGE_NAME version $PACKAGE_VERSION
+----------------------------------------------------------------------
+ installation directory prefix    : $prefix"
+if test -n "$g"
+then
+  echo "\
+ command name prefix              : $g"
+  if test -n "$tmac_wrap"
+  then
+  echo "\
+ prefix used for macro packages   : $tmac_wrap"
+  fi
+fi
+echo "\
+ C++ compiler and options         : $CXX $CXXFLAGS $CPPFLAGS
+ use libgroff's memory allocator  : $groff_use_own_allocator
+ C compiler and options           : $CC $CFLAGS $CPPFLAGS
+ Perl interpreter version         : $perl_version"
+if test "$groff_no_x" = yes
+then
+  echo "\
+ X11 support                      : disabled"
+else
+  echo "\
+ X11 support                      : enabled
+ X11 app defaults directory       : $appdefdir"
+fi
+echo "\
+ 'groff -l' uses print spooler    : $groff_have_spooler
+ use URW fonts for PDF output     : $groff_have_urw_fonts"
+if test "$groff_have_urw_fonts" = yes
+then
+ echo "\
+ URW fonts directory              : $urwfontsdir"
+fi
+echo "\
+ preconv can use uchardet library : $groff_have_uchardet
+ can build groff.dvi, groff.pdf   : $groff_use_tex
+----------------------------------------------------------------------"
+
+GROFF_APPDEFDIR_NOTICE
+GROFF_AWK_NOTICE
+GROFF_GHOSTSCRIPT_AVAILABILITY_NOTICE
+GROFF_GHOSTSCRIPT_VERSION_NOTICE
+GROFF_URW_FONTS_NOTICE
+GROFF_UCHARDET_NOTICE
+GROFF_GROHTML_PROGRAM_NOTICE
+GROFF_PDFROFF_PROGRAM_NOTICE
+GROFF_GROPDF_PROGRAM_NOTICE