On 14/09/2012 01:43, Warren Young wrote: > On 9/13/2012 5:09 AM, Jon TURNEY wrote: >> On 13/09/2012 03:23, Warren Young wrote: >>> 5. Several build system files refer to iniparse.h, but on my system, >>> iniparse.yy yields iniparse.hh, not .h. >> >> See the note on a "Slightly backward-incompatible change" in the section >> "Changes to Yacc and Lex support" in [1] > > Lovely. > > I don't see a clean solution short of demanding that everyone be on Automake > 1.12 then. Symlink hackery only works when you know which versino of Automake > you are running. I guess bootstrap.sh could detect Automake 1.11 and below, > but ick.
Indeed. Attached is a patch which fixes things for and requires automake >=1.12. (Note that automake has some magic to select the version of automake which was previously run in a directory, rather than just selecting the latest version installed, so you'll need to distclean or 'WANT_AUTOMAKE=1.12 ./bootstrap.sh' to build in an already configured directory after applying this patch)
>From 478c40eeaa5d6fda2f527072863b5f393ffeca2a Mon Sep 17 00:00:00 2001 From: Jon TURNEY <[email protected]> Date: Thu, 17 Jan 2013 15:13:11 +0000 Subject: [PATCH] Require automake 1.12 for consistent naming of generated file Automake <=1.11 and >=1.12 have different behaviour (.h vs .hh) for naming the C++ header file generated from a .yy file. Adapt for the the behaviour of automake 1.12, and require it. 2013-01-17 Jon TURNEY <[email protected]> * configure.in: Require automake 1.12. * Makefile.am (BUILT_SOURCES): Update iniparse.h to iniparse.hh. * iniparse.yy: Ditto. * inilex.ll: Ditto. Signed-off-by: Jon TURNEY <[email protected]> --- Makefile.am | 4 ++-- configure.in | 2 +- inilex.ll | 2 +- iniparse.yy | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Makefile.am b/Makefile.am index 621c8ff..0f1498b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -54,10 +54,10 @@ EXTRA_DIST = \ tree-plus.bmp -# iniparse.h is generated from iniparse.yy via bison -d, so it needs to be +# iniparse.hh is generated from iniparse.yy via bison -d, so it needs to be # included here for proper tracking (but not iniparse.cc, since automake # knows about that already) BUILT_SOURCES = \ setup_version.c \ - iniparse.h + iniparse.hh CLEANFILES = setup_version.c diff --git a/configure.in b/configure.in index 37a3ef2..566a3fd 100644 --- a/configure.in +++ b/configure.in @@ -21,5 +21,5 @@ AC_PREREQ(2.60) AC_CONFIG_AUX_DIR([cfgaux]) -AM_INIT_AUTOMAKE([subdir-objects foreign no-define -Wall -Wno-portability]) +AM_INIT_AUTOMAKE([1.12 subdir-objects foreign no-define -Wall -Wno-portability]) dnl AM_CONFIG_HEADER(include/autoconf.h) m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES(yes)]) diff --git a/inilex.ll b/inilex.ll index b119049..a70b5b5 100644 --- a/inilex.ll +++ b/inilex.ll @@ -24,5 +24,5 @@ #include "ini.h" -#include "iniparse.h" +#include "iniparse.hh" #include "String++.h" #include "IniParseFeedback.h" diff --git a/iniparse.yy b/iniparse.yy index c8332ff..684fc47 100644 --- a/iniparse.yy +++ b/iniparse.yy @@ -20,5 +20,5 @@ #include "win32.h" #include "ini.h" -#include "iniparse.h" +#include "iniparse.hh" #include "PackageTrust.h" -- 1.7.9
