Bug 109246

Summary: [GTK] Split configure.ac into reusable portions
Product: WebKit Reporter: Martin Robinson <mrobinson>
Component: WebKitGTKAssignee: Martin Robinson <mrobinson>
Status: RESOLVED FIXED    
Severity: Normal CC: landry, webkit.review.bot, zan
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch pnormand: review+, pnormand: commit-queue-

Description Martin Robinson 2013-02-07 18:11:36 PST
Right now configure.ac is one giant glob. Apart from being pretty hard to fit the entire file into your head, we cannot share it as-is with any other build systems. This bug tracks splitting it into different sections.
Comment 1 Martin Robinson 2013-02-07 18:14:04 PST
Created attachment 187212 [details]
Patch
Comment 2 Philippe Normand 2013-02-08 01:55:40 PST
Comment on attachment 187212 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=187212&action=review

Neat!

> ChangeLog:23
> +        * Source/autotools/Versions.m4: Added.
> +        * configure.ac:
> +
> +2013-02-07  Martin Robinson  <mrobinson@igalia.com>
> +
> +        [GTK] Split configure.ac into reusable portions
> +        https://bugs.webkit.org/show_bug.cgi?id=109246
> +

Hum duplicate ChangeLog entry :)
Comment 3 Martin Robinson 2013-02-08 08:16:51 PST
Committed r142284: <http://trac.webkit.org/changeset/142284>
Comment 4 Landry Breuil 2013-03-07 23:50:39 PST
Fwiw it seems this commit broke configure, since half of the dependencies version definitions which were in configure.ac dont appear in Versions.m4 :

1.10.2 configure.ac :

 380 # optional modules
 381 LIBXSLT_REQUIRED_VERSION=1.1.7
 382 SQLITE_REQUIRED_VERSION=3.0
 383 ENCHANT_REQUIRED_VERSION=0.22
 384 CLUTTER_REQUIRED_VERSION=1.8.2
 385 CLUTTER_GTK_REQUIRED_VERSION=1.0.2
 386 ATSPI2_REQUIRED_VERSION=2.2.1

Versions.m4 doesnt define them in trunk/webkitgtk-2.0 and webkitgtk 1.11.91 release, nor any of the other m4 files added in that commit. Couldnt find anywhere else for their definitions, and  FindDependencies.m4 tries to uses them (well, the lowercase versions)

I wonder how this has passed the test patch queue..
Comment 5 Landry Breuil 2013-03-08 00:28:55 PST
The following chunk 'workarounds' it - dunno if the versions are correct, took them from 1.10.2.

--- Source/autotools/Versions.m4.orig   Fri Mar  8 08:47:23 2013
+++ Source/autotools/Versions.m4        Fri Mar  8 09:06:50 2013
@@ -29,6 +29,14 @@ m4_define([libsoup_required_version], [2.40.0])
 m4_define([libxml_required_version], [2.6])
 m4_define([pango_required_version], [1.21.0])
 
+
+m4_define([libxslt_required_version], [1.1.7])
+m4_define([sqlite_required_version], [3.0])
+m4_define([enchant_required_version], [0.22])
+m4_define([clutter_required_version], [1.8.2])
+m4_define([clutter_gtk_required_version], [1.0.2])
+m4_define([atspi2_required_version], [2.2.1])
+
 m4_define([gstreamer_required_version], [1.0.3])
 m4_define([gstreamer_plugins_base_required_version], [1.0.3])
Comment 6 Martin Robinson 2013-03-08 16:52:45 PST
(In reply to comment #5)
> The following chunk 'workarounds' it - dunno if the versions are correct, took them from 1.10.2.
> 
> --- Source/autotools/Versions.m4.orig   Fri Mar  8 08:47:23 2013
> +++ Source/autotools/Versions.m4        Fri Mar  8 09:06:50 2013
> @@ -29,6 +29,14 @@ m4_define([libsoup_required_version], [2.40.0])
>  m4_define([libxml_required_version], [2.6])
>  m4_define([pango_required_version], [1.21.0])
> 
> +
> +m4_define([libxslt_required_version], [1.1.7])
> +m4_define([sqlite_required_version], [3.0])
> +m4_define([enchant_required_version], [0.22])
> +m4_define([clutter_required_version], [1.8.2])
> +m4_define([clutter_gtk_required_version], [1.0.2])
> +m4_define([atspi2_required_version], [2.2.1])
> +
>  m4_define([gstreamer_required_version], [1.0.3])
>  m4_define([gstreamer_plugins_base_required_version], [1.0.3])

Thanks for pointing this out. I opened https://bugs.webkit.org/show_bug.cgi?id=111903 to track this issue.