[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: FYI: autoheader -vs- AC_CONFIG_HEADERS
From: |
Alexandre Duret-Lutz |
Subject: |
Re: FYI: autoheader -vs- AC_CONFIG_HEADERS |
Date: |
07 Jul 2002 11:30:27 +0200 |
User-agent: |
Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7 |
[Removed Braden McDaniel from the Cc: as he was only trying to
compile Java code.]
>>> "Tom" == Tom Tromey <address@hidden> writes:
>>>>>> "adl" == Alexandre Duret-Lutz <address@hidden> writes:
adl> I believe there is not reason to allow AM_ macros before
adl> AM_INIT_AUTOMAKE is run. (Just like AC_ macros should not be
adl> called before AC_INIT.)
Tom> Ok. Is there a way to give an nice error if the user does this?
Tom> "Can't use AM_xxx before AM_INIT_AUTOMAKE".
Two ideas:
1. define AM_DEFUN on top of AC_DEFUN and use it to define
most of the AM_ macros. AM_DEFUN should prepend a check that
AM_INIT_AUTOMAKE has been run to the body of the macro.
2. Call AC_BEFORE for all known AM_ macros in AM_INIT_AUTOMAKE.
The list of AC_BEFORE can be generated automatically:
% perl -ne 'BEGIN { print "AC_DEFUN([_AM_BEFORE], [dnl\n" } END { print "])\n"
} if (/AC_DEFUN\(\[AM_([^,]*)\]/) { print "AC_BEFORE([AM_INIT_AUTOMAKE],
[AM_][$1])dnl\n" unless exists $seen{$1}; $seen{$1} = 1 }' m4/*.m4
AC_DEFUN([_AM_BEFORE], [dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][AUTOMAKE_VERSION])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][SET_CURRENT_AUTOMAKE_VERSION])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][PROG_AS])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][AUX_DIR_EXPAND])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][PROG_CC_STDC])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][CONDITIONAL])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][SET_DEPDIR])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][DEP_TRACK])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][OUTPUT_DEPENDENCY_COMMANDS])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][WITH_DMALLOC])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][PROG_GCJ])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][CONFIG_HEADER])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][INIT_AUTOMAKE])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][PROG_INSTALL_SH])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][PROG_LEX])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][PATH_LISPDIR])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][MAINTAINER_MODE])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][MAKE_INCLUDE])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][PROG_CC_C_O])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][MISSING_PROG])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][MISSING_HAS_RUN])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][ENABLE_MULTILIB])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][C_PROTOTYPES])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][PATH_PYTHON])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][PYTHON_CHECK_VERSION])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][WITH_REGEX])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][RUN_LOG])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][SANITY_CHECK])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][PROG_INSTALL_STRIP])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][SYS_POSIX_TERMIOS])dnl
AC_BEFORE([AM_INIT_AUTOMAKE], [AM_][HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL])dnl
])
Somehow, I prefer the first idea :)
--
Alexandre Duret-Lutz