[PATCH app-xfs 2/2] config: update and relocate AC_DEFINE_DIR macro

Alan Coopersmith alan.coopersmith at oracle.com
Wed Mar 31 13:54:18 PDT 2010


Reviewed-by: Alan Coopersmith <alan.coopersmith at oracle.com>

Gaetan Nadon wrote:
> Remove deprecated acinclude.m4 macro container file
> Use separate macro files as per autoconf recommendation
> Use the latest macro from GNU (ax) which replaces
> the non-gnu version (ac)
> This preserves the Autoconf macro AC namespace.
> 
> Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
> ---
>  Makefile.am         |    2 ++
>  acinclude.m4        |   45 ---------------------------------------------
>  configure.ac        |    3 ++-
>  m4/ax_define_dir.m4 |   49 +++++++++++++++++++++++++++++++++++++++++++++++++
>  4 files changed, 53 insertions(+), 46 deletions(-)
>  delete mode 100644 acinclude.m4
>  create mode 100644 m4/ax_define_dir.m4
> 
> diff --git a/Makefile.am b/Makefile.am
> index ecdba3b..8069cc4 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -30,6 +30,8 @@ AM_CPPFLAGS = $(XFS_CFLAGS) -I$(top_srcdir)/include -DXFSPIDDIR=\"/var/run\" \
>  
>  AM_CFLAGS = $(CWARNFLAGS)
>  
> +ACLOCAL_AMFLAGS = -I m4
> +
>  LDADD = $(XFS_LIBS)
>  
>  xfs_SOURCES = \
> diff --git a/acinclude.m4 b/acinclude.m4
> deleted file mode 100644
> index 44971b9..0000000
> --- a/acinclude.m4
> +++ /dev/null
> @@ -1,45 +0,0 @@
> -# ===========================================================================
> -#          http://www.nongnu.org/autoconf-archive/ac_define_dir.html
> -# ===========================================================================
> -#
> -# SYNOPSIS
> -#
> -#   AC_DEFINE_DIR(VARNAME, DIR [, DESCRIPTION])
> -#
> -# DESCRIPTION
> -#
> -#   This macro sets VARNAME to the expansion of the DIR variable, taking
> -#   care of fixing up ${prefix} and such.
> -#
> -#   VARNAME is then offered as both an output variable and a C preprocessor
> -#   symbol.
> -#
> -#   Example:
> -#
> -#      AC_DEFINE_DIR([DATADIR], [datadir], [Where data are placed to.])
> -#
> -# LICENSE
> -#
> -#   Copyright (c) 2008 Stepan Kasal <kasal at ucw.cz>
> -#   Copyright (c) 2008 Andreas Schwab <schwab at suse.de>
> -#   Copyright (c) 2008 Guido U. Draheim <guidod at gmx.de>
> -#   Copyright (c) 2008 Alexandre Oliva
> -#
> -#   Copying and distribution of this file, with or without modification, are
> -#   permitted in any medium without royalty provided the copyright notice
> -#   and this notice are preserved.
> -
> -AC_DEFUN([AC_DEFINE_DIR], [
> -  prefix_NONE=
> -  exec_prefix_NONE=
> -  test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix
> -  test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix
> -dnl In Autoconf 2.60, ${datadir} refers to ${datarootdir}, which in turn
> -dnl refers to ${prefix}.  Thus we have to use `eval' twice.
> -  eval ac_define_dir="\"[$]$2\""
> -  eval ac_define_dir="\"$ac_define_dir\""
> -  AC_SUBST($1, "$ac_define_dir")
> -  AC_DEFINE_UNQUOTED($1, "$ac_define_dir", [$3])
> -  test "$prefix_NONE" && prefix=NONE
> -  test "$exec_prefix_NONE" && exec_prefix=NONE
> -])
> diff --git a/configure.ac b/configure.ac
> index 9a4564b..9f8cc18 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -31,6 +31,7 @@ AC_INIT([xfs],
>  AC_USE_SYSTEM_EXTENSIONS
>  # xfs already have a header called config.h
>  AC_CONFIG_HEADERS([xfs-config.h])
> +AC_CONFIG_MACRO_DIR([m4])
>  
>  # Initialize Automake
>  AM_INIT_AUTOMAKE([foreign dist-bzip2])
> @@ -59,7 +60,7 @@ AC_ARG_WITH(default-config-file,
>  	[CONFIG_FILE="$withval"], [CONFIG_FILE="${sysconfdir}/X11/fs/config"])
>  
>  DEFAULT_CONFIG_FILE=`echo ${CONFIG_FILE} | sed 's/,/\\\\\\\\\\\",\\\\\\\\\\\"/'g`
> -AC_DEFINE_DIR([DEFAULT_CONFIG_FILE], DEFAULT_CONFIG_FILE,
> +AX_DEFINE_DIR([DEFAULT_CONFIG_FILE], DEFAULT_CONFIG_FILE,
>      [comma-separated list of strings for config file paths when not specified])
>  
>  # generate text for the man page
> diff --git a/m4/ax_define_dir.m4 b/m4/ax_define_dir.m4
> new file mode 100644
> index 0000000..b74d155
> --- /dev/null
> +++ b/m4/ax_define_dir.m4
> @@ -0,0 +1,49 @@
> +# ===========================================================================
> +#       http://www.gnu.org/software/autoconf-archive/ax_define_dir.html
> +# ===========================================================================
> +#
> +# SYNOPSIS
> +#
> +#   AX_DEFINE_DIR(VARNAME, DIR [, DESCRIPTION])
> +#
> +# DESCRIPTION
> +#
> +#   This macro sets VARNAME to the expansion of the DIR variable, taking
> +#   care of fixing up ${prefix} and such.
> +#
> +#   VARNAME is then offered as both an output variable and a C preprocessor
> +#   symbol.
> +#
> +#   Example:
> +#
> +#     AX_DEFINE_DIR([DATADIR], [datadir], [Where data are placed to.])
> +#
> +# LICENSE
> +#
> +#   Copyright (c) 2008 Stepan Kasal <kasal at ucw.cz>
> +#   Copyright (c) 2008 Andreas Schwab <schwab at suse.de>
> +#   Copyright (c) 2008 Guido U. Draheim <guidod at gmx.de>
> +#   Copyright (c) 2008 Alexandre Oliva
> +#
> +#   Copying and distribution of this file, with or without modification, are
> +#   permitted in any medium without royalty provided the copyright notice
> +#   and this notice are preserved. This file is offered as-is, without any
> +#   warranty.
> +
> +#serial 6
> +
> +AU_ALIAS([AC_DEFINE_DIR], [AX_DEFINE_DIR])
> +AC_DEFUN([AX_DEFINE_DIR], [
> +  prefix_NONE=
> +  exec_prefix_NONE=
> +  test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix
> +  test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix
> +dnl In Autoconf 2.60, ${datadir} refers to ${datarootdir}, which in turn
> +dnl refers to ${prefix}.  Thus we have to use `eval' twice.
> +  eval ax_define_dir="\"[$]$2\""
> +  eval ax_define_dir="\"$ax_define_dir\""
> +  AC_SUBST($1, "$ax_define_dir")
> +  AC_DEFINE_UNQUOTED($1, "$ax_define_dir", [$3])
> +  test "$prefix_NONE" && prefix=NONE
> +  test "$exec_prefix_NONE" && exec_prefix=NONE
> +])


-- 
	-Alan Coopersmith-        alan.coopersmith at oracle.com
	 Oracle Solaris Platform Engineering: X Window System



More information about the xorg-devel mailing list