[PATCH] setup.exe build instructions outdated; build doesn't bootstrap cleanly

Jon TURNEY jon.turney@dronecode.org.uk
Thu Jan 17 17:22:00 GMT 2013


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)

-------------- next part --------------
>From 478c40eeaa5d6fda2f527072863b5f393ffeca2a Mon Sep 17 00:00:00 2001
From: Jon TURNEY <jon.turney@dronecode.org.uk>
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  <jon.turney@dronecode.org.uk>

	* 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 <jon.turney@dronecode.org.uk>
---
 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



More information about the Cygwin-apps mailing list