Edit

IABSD.fr/xenocara/lib/libXfont2/configure.ac

Branch :

  • Show log

    Commit

  • Author : matthieu
    Date : 2024-11-05 08:14:56
    Hash : bbae8cab
    Message : Update to libXfont2 2.0.7

  • lib/libXfont2/configure.ac
  • #  Copyright © 2003 Keith Packard
    #
    #  Permission to use, copy, modify, distribute, and sell this software and its
    #  documentation for any purpose is hereby granted without fee, provided that
    #  the above copyright notice appear in all copies and that both that
    #  copyright notice and this permission notice appear in supporting
    #  documentation, and that the name of Keith Packard not be used in
    #  advertising or publicity pertaining to distribution of the software without
    #  specific, written prior permission.  Keith Packard makes no
    #  representations about the suitability of this software for any purpose.  It
    #  is provided "as is" without express or implied warranty.
    #
    #  KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
    #  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
    #  EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
    #  CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
    #  DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
    #  TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
    #  PERFORMANCE OF THIS SOFTWARE.
    #
    
    # Initialize Autoconf
    AC_PREREQ([2.70])
    AC_INIT([libXfont2], [2.0.7],
    	[https://gitlab.freedesktop.org/xorg/lib/libxfont/-/issues], [libXfont2])
    AC_CONFIG_SRCDIR([Makefile.am])
    AC_CONFIG_HEADERS([config.h])
    AC_CONFIG_MACRO_DIRS([m4])
    
    # Initialize Automake
    AM_INIT_AUTOMAKE([foreign dist-xz subdir-objects])
    
    # Set common system defines for POSIX extensions, such as _GNU_SOURCE
    # Must be called before any macros that run the compiler (like
    # LT_INIT) to avoid autoconf errors.
    AC_USE_SYSTEM_EXTENSIONS
    
    # Initialize libtool
    LT_INIT
    
    # Require xorg-macros minimum of 1.10 for DocBook XML documentation
    m4_ifndef([XORG_MACROS_VERSION],
              [m4_fatal([must install xorg-macros 1.10 or later before running autoconf/autogen])])
    XORG_MACROS_VERSION(1.10)
    XORG_DEFAULT_OPTIONS
    XORG_ENABLE_DEVEL_DOCS
    XORG_WITH_XMLTO(0.0.22)
    XORG_WITH_FOP
    XORG_CHECK_SGML_DOCTOOLS(1.7)
    
    # Checks for header files.
    AC_CHECK_HEADERS([endian.h poll.h sys/poll.h])
    
    # Checks for non-standard functions and fallback to libbsd if we can
    AC_LINK_IFELSE([AC_LANG_CALL([], [reallocarray])],
                   [TRY_LIBBSD="no"], [TRY_LIBBSD="yes"])
    AC_LINK_IFELSE([AC_LANG_CALL([], [strlcat])],
                   [TRY_LIBBSD="no"], [TRY_LIBBSD="yes"])
    AS_IF([test "x$TRY_LIBBSD" = "xyes"],
          [PKG_CHECK_MODULES([LIBBSD], [libbsd-overlay], [
    	CFLAGS="$CFLAGS $LIBBSD_CFLAGS"
    	LIBS="$LIBS $LIBBSD_LIBS"
    ], [:])])
    
    # Checks for library functions.
    AC_CHECK_FUNCS([poll readlink strlcat])
    AC_CONFIG_LIBOBJ_DIR([src/util])
    AC_REPLACE_FUNCS([reallocarray realpath strlcat strlcpy])
    
    # Checks for header files.
    AC_CHECK_HEADERS([err.h float.h])
    
    # Checks for typedefs, structures, and compiler characteristics.
    AC_SYS_LARGEFILE
    
    #
    # select libraries to include
    #
    
    XFONT_FONTFILE=no
    
    #
    # FreeType for all scalable (OpenType, TrueType, PostScript) and
    # some bitmap formats (BDF & PCF)
    #
    AC_ARG_ENABLE(freetype,
    	AS_HELP_STRING([--disable-freetype],
    		[Build freetype backend (default: enabled)]),
    	[XFONT_FREETYPE=$enableval],[XFONT_FREETYPE=yes])
    AM_CONDITIONAL(XFONT_FREETYPE, [test x$XFONT_FREETYPE = xyes])
    if test x$XFONT_FREETYPE = xyes; then
    	AC_DEFINE(XFONT_FREETYPE,1,[Support FreeType rasterizer for nearly all font file formats])
    	AC_ARG_WITH(freetype-config,
    		AS_HELP_STRING([--with-freetype-config=PROG],
    			[Use FreeType configuration program PROG]),
    		[freetype_config=$withval], [freetype_config=auto])
    
    	if test "$freetype_config" = "auto" ; then
    		PKG_CHECK_MODULES(FREETYPE, freetype2,
    			freetype_config=no, freetype_config=yes)
    	fi
    
    	if test "$freetype_config" = "yes"; then
    		AC_PATH_PROG(ft_config,freetype-config,no)
    		if test "$ft_config" = "no"; then
    			AC_MSG_ERROR([You must have freetype installed; see http://www.freetype.org/])
    		fi
    	else
    		ft_config="$freetype_config"
    	fi
    
    	if test "$freetype_config" != "no"; then
    		FREETYPE_CFLAGS="`$ft_config --cflags`"
    		FREETYPE_LIBS="`$ft_config --libs`"
    	fi
    	FREETYPE_REQUIRES="freetype2"
    	XFONT_FONTFILE=yes
    else
    	FREETYPE_CFLAGS=""
    	FREETYPE_LIBS=""
    	FREETYPE_REQUIRES=""
    fi
    AC_SUBST(FREETYPE_LIBS)
    AC_SUBST(FREETYPE_CFLAGS)
    AC_SUBST(FREETYPE_REQUIRES)
    
    #
    # Bitmap fonts in files:
    #	Builtins (gzipped pcf format in .text segment)
    #	PCF
    #	BDF
    #	SNF
    #
    
    AC_DEFINE(X_GZIP_FONT_COMPRESSION,1,[Support gzip for bitmap fonts])
    X_GZIP_FONT_COMPRESSION=1
    AC_SUBST(X_GZIP_FONT_COMPRESSION)
    PKG_CHECK_MODULES(ZLIB, [zlib], [Z_REQUIRES=zlib], [Z_REQUIRES=""])
    if test "x$Z_REQUIRES" = "x"; then
    	AC_CHECK_LIB(z, gzopen, [Z_LIBS=-lz],
    		AC_MSG_ERROR([*** zlib is required]))
    fi
    AC_SUBST(Z_REQUIRES)
    
    AC_ARG_WITH(bzip2,
    	AS_HELP_STRING([--with-bzip2],
    	  [Use libbz2 to support bzip2 compressed bitmap fonts (default: no)]),
    	[], [with_bzip2=no])
    if test "x$with_bzip2" = xyes; then
    	AC_CHECK_LIB(bz2, BZ2_bzopen, [Z_LIBS="$Z_LIBS -lbz2"],
    		AC_MSG_ERROR([*** libbz2 is required for bzip2 support]))
    	AC_DEFINE(X_BZIP2_FONT_COMPRESSION,1,[Support bzip2 for bitmap fonts])
    fi
    AM_CONDITIONAL(X_BZIP2_FONT_COMPRESSION, [test "x$with_bzip2" = xyes ])
    AC_SUBST(Z_LIBS)
    
    AC_ARG_ENABLE(builtins,
    	AS_HELP_STRING([--disable-builtins],
    		[Support builtin fonts (default: enabled)]),
    	[XFONT_BUILTINS=$enableval], [XFONT_BUILTINS=yes])
    AM_CONDITIONAL(XFONT_BUILTINS, [test "x$XFONT_BUILTINS" = xyes ])
    if test "x$XFONT_BUILTINS" = xyes; then
    	AC_DEFINE(XFONT_BUILTINS,1,[Support built-in fonts])
    	XFONT_BITMAP=yes
    fi
    
    AC_ARG_ENABLE(pcfformat,
    	AS_HELP_STRING([--disable-pcfformat],
    		[Support PCF format bitmap fonts (default: enabled)]),
    	[XFONT_PCFFORMAT=$enableval], [XFONT_PCFFORMAT=yes])
    AM_CONDITIONAL(XFONT_PCFFORMAT, [test "x$XFONT_PCFFORMAT" = xyes])
    if test "x$XFONT_PCFFORMAT" = xyes; then
    	AC_DEFINE(XFONT_PCFFORMAT,1,[Support pcf format bitmap font files])
    	XFONT_BITMAP=yes
    fi
    
    AM_CONDITIONAL(XFONT_PCF_OR_BUILTIN,
    	[test "x$XFONT_PCFFORMAT" = xyes -o "x$XFONT_BUILTINS" = xyes])
    
    AC_ARG_ENABLE(bdfformat,
    	AS_HELP_STRING([--disable-bdfformat],
    		[Support BDF format bitmap fonts (default: enabled)]),
    	[XFONT_BDFFORMAT=$enableval], [XFONT_BDFFORMAT=yes])
    AM_CONDITIONAL(XFONT_BDFFORMAT, [test "x$XFONT_BDFFORMAT" = xyes])
    if test "x$XFONT_BDFFORMAT" = xyes; then
    	AC_DEFINE(XFONT_BDFFORMAT,1,[Support bdf format bitmap font files])
    	XFONT_BITMAP=yes
    fi
    
    AC_ARG_ENABLE(snfformat,
    	AS_HELP_STRING([--enable-snfformat],
    		[Support SNF format bitmap fonts (default: disabled)]),
    	[XFONT_SNFFORMAT=$enableval], [XFONT_SNFFORMAT=no])
    AM_CONDITIONAL(XFONT_SNFFORMAT, [test "x$XFONT_SNFFORMAT" = xyes])
    if test "x$XFONT_SNFFORMAT" = xyes; then
    	AC_DEFINE(XFONT_SNFFORMAT,1,[Support snf format bitmap font files])
    	XFONT_BITMAP=yes
    fi
    
    AM_CONDITIONAL(XFONT_BITMAP, [test "x$XFONT_BITMAP" = xyes ])
    if test "x$XFONT_BITMAP" = xyes; then
    	AC_DEFINE(XFONT_BITMAP,1,[Support bitmap font files])
    	XFONT_FONTFILE=yes
    fi
    
    AM_CONDITIONAL(XFONT_FONTFILE, [test "x$XFONT_FONTFILE" = xyes])
    if test "x$XFONT_FONTFILE" = xyes; then
    	AC_DEFINE(XFONT_FONTFILE,1,[Support fonts in files])
    fi
    
    #
    # Support connection to font servers?
    #
    
    AC_ARG_ENABLE(fc,
    	AS_HELP_STRING([--disable-fc],
    		[Support connections to xfs servers (default: enabled)]),
    	[XFONT_FC=$enableval],[XFONT_FC=yes])
    AM_CONDITIONAL(XFONT_FC, [test "x$XFONT_FC" = xyes])
    if test "x$XFONT_FC" = xyes; then
    	AC_DEFINE(XFONT_FC,1,[Support the X Font Services Protocol])
    fi
    
    
    AC_CHECK_LIB(m, hypot, [MATH_LIBS=-lm
    AC_SUBST(MATH_LIBS)], AC_MSG_ERROR([*** libm is required]))
    
    PKG_CHECK_MODULES(XFONT, [xproto xtrans fontsproto >= 2.1.3 fontenc])
    
    # Transport selection macro from xtrans.m4
    XTRANS_CONNECTION_FLAGS
    
    case $host_os in
        linux*)
            OS_CFLAGS="-D_XOPEN_SOURCE"
            ;;
        *)
            OS_CFLAGS=
            ;;
    esac
    
    save_CFLAGS="$CFLAGS"
    CFLAGS="$CFLAGS -fvisibility=hidden"
    CFLAGS_VISIBILITY=
    AC_COMPILE_IFELSE(
      [AC_LANG_SOURCE([[
        #if defined(__CYGWIN__) || defined(__MINGW32__)
        #error No visibility support
        #endif
        extern __attribute__((__visibility__("default"))) int x;
      ]])],
      [CFLAGS_VISIBILITY=-fvisibility=hidden],
      []
    )
    CFLAGS="$save_CFLAGS"
    OS_CFLAGS="$OS_CFLAGS $CFLAGS_VISIBILITY"
    
    AC_SUBST([OS_CFLAGS])
    
    AC_CONFIG_FILES([Makefile
    		doc/Makefile
    		xfont2.pc])
    AC_OUTPUT