Bug 16850 - merged autotools and derivedssources.make
Summary: merged autotools and derivedssources.make
Status: RESOLVED WONTFIX
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords: Gtk
Depends on:
Blocks:
 
Reported: 2008-01-12 03:25 PST by Jan Alonzo
Modified: 2012-02-20 14:20 PST (History)
3 users (show)

See Also:


Attachments
patch to reuse DerivedSources.make and enabling of -fvisibility flags (87.18 KB, patch)
2008-01-12 03:36 PST, Jan Alonzo
no flags Details | Formatted Diff | Diff
DerivedSources.make improvements and backported fixes (12.96 KB, patch)
2008-01-12 14:08 PST, Jan Alonzo
no flags Details | Formatted Diff | Diff
Updated patch to reuse DerivedSources.make (86.61 KB, patch)
2008-01-12 14:26 PST, Jan Alonzo
alp: review-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Alonzo 2008-01-12 03:25:07 PST
The attached patch reuses DerivedSources.make as well as enabling -fvisibility-hidden and -fvisibility-inlines-hidden. We can't do this without a symbols defs file so the patch merges JSC into libWebKitGtk for the mean time. 

Cheers
Comment 1 Jan Alonzo 2008-01-12 03:36:25 PST
Created attachment 18406 [details]
patch to reuse DerivedSources.make and enabling of -fvisibility flags
Comment 2 Alp Toker 2008-01-12 10:41:30 PST
(In reply to comment #1)
> Created an attachment (id=18406) [edit]
> patch to reuse DerivedSources.make and enabling of -fvisibility flags
> 

We need to backport our fixes to DerivedSources.make, replace perl/flex/bison commands with $(PERL) etc. and elminate the global vpath in DerivedSources.make first.

We should only look at changing the GNUmakefile.ams only after that's done I think, otherwise we'll re-introduce all the regressions we fixed like make -j support.

Comment 3 Jan Alonzo 2008-01-12 12:01:19 PST
(In reply to comment #2)
> and elminate the global vpath in erivedSources.make first.

Hi alp! what do you mean by eliminating the global vpath?

Thanks
Comment 4 Alp Toker 2008-01-12 12:52:02 PST
(In reply to comment #3)
> (In reply to comment #2)
> > and elminate the global vpath in erivedSources.make first.
> 
> Hi alp! what do you mean by eliminating the global vpath?
> 
> Thanks
> 

WebCore/DerivedSources.make has:

VPATH = \
    $(WebCore) \
    $(WebCore)/bindings/js \
    $(WebCore)/bindings/objc \
    $(WebCore)/css \
    $(WebCore)/dom \
    $(WebCore)/html \
    $(WebCore)/page \
    $(WebCore)/storage \
    $(WebCore)/xml \
    $(WebCore)/svg

This modifies the global make search path -- not good.

Somewhat better:

vpath %.idl = \
    $(WebCore) \
    $(WebCore)/bindings/js \
    $(WebCore)/bindings/objc \
    $(WebCore)/css \
    $(WebCore)/dom \
    $(WebCore)/html \
    $(WebCore)/page \
    $(WebCore)/storage \
    $(WebCore)/svg \
    $(WebCore)/xml
Comment 5 Jan Alonzo 2008-01-12 14:08:40 PST
Created attachment 18411 [details]
DerivedSources.make improvements and backported fixes

This patch backports the fixes made in gtk/autotools for WebCore/DerivedSources.make as well as improvements to the JavaScriptCore/DerivedSources.make
Comment 6 Jan Alonzo 2008-01-12 14:26:56 PST
Created attachment 18412 [details]
Updated patch to reuse DerivedSources.make

Updated patch to reuse DerivedSources.make, merge libJavaScriptCore and libWebKitGtk, and usage of -fvisibility. This patch also removes changes to DerivedSources.make (see previous patch #18411).
Comment 7 Alp Toker 2008-01-12 22:41:37 PST
Comment on attachment 18411 [details]
DerivedSources.make improvements and backported fixes


> 
> # DOCTYPE strings
> 
>-DocTypeStrings.cpp : html/DocTypeStrings.gperf
>-	gperf -CEot -L ANSI-C -k "*" -N findDoctypeEntry -F ,PubIDInfo::eAlmostStandards,PubIDInfo::eAlmostStandards $< > $@
>+DocTypeStrings.cpp : $(WebCore)/html/DocTypeStrings.gperf
>+	$(GPERF) -CEot -L ANSI-C -k "*" -N findDoctypeEntry -F ,PubIDInfo::eAlmostStandards,PubIDInfo::eAlmostStandards \
>+	$(WebCore)/html/DocTypeStrings.gperf > $@

Why not just:
DocTypeStrings.cpp : $(WebCore)/html/DocTypeStrings.gperf
	$(GPERF) -CEot -L ANSI-C -k "*" -N findDoctypeEntry -F ,PubIDInfo::eAlmostStandards,PubIDInfo::eAlmostStandards $< > $@

> 
> # HTML entity names
> 
>-HTMLEntityNames.c : html/HTMLEntityNames.gperf
>-	gperf -a -L ANSI-C -C -G -c -o -t -k '*' -N findEntity -D -s 2 $< > $@
>+HTMLEntityNames.c : $(WebCore)/html/HTMLEntityNames.gperf
>+	$(GPERF) -a -L ANSI-C -C -G -c -o -t -k '*' -N findEntity -D -s 2 \
>+	$(WebCore)/html/HTMLEntityNames.gperf > $@

Ditto.

> 
> # color names
> 
>-ColorData.c : platform/ColorData.gperf
>-	gperf -CDEot -L ANSI-C -k '*' -N findColor -D -s 2 $< > $@
>+ColorData.c : $(WebCore)/platform/ColorData.gperf
>+	$(GPERF) -CDEot -L ANSI-C -k '*' -N findColor -D -s 2 \
>+	$(WebCore)/platform/ColorData.gperf > $@

Ditto.
Comment 8 Jan Alonzo 2008-01-12 22:52:04 PST
(In reply to comment #7)
> (From update of attachment 18411 [details] [edit])

Alp, you're right. I got confused with the changes when backporting it to DerivedSources.make. Feel free to make the change.

Cheers.
Comment 9 Alp Toker 2008-01-13 11:43:00 PST
Comment on attachment 18411 [details]
DerivedSources.make improvements and backported fixes

I suspect the $(WebCore) changes will not actually be necessary when we include the DerivedSources.make files (but can't be sure till we try to do it). The other changes look good, except for my previous comments.
Comment 10 Alp Toker 2008-01-13 11:44:52 PST
Comment on attachment 18412 [details]
Updated patch to reuse DerivedSources.make

As discussed on IRC this isn't the right way to do things. I've enabled -fvisibility=hidden and -fvisibility-inlines-hidden using libtool modules in r29445.

We should aim to include DerivedSources.make, not invoke the make application on it, as this would lose any benefits of integrating the two.
Comment 11 Alp Toker 2008-01-19 06:28:29 PST
Comment on attachment 18411 [details]
DerivedSources.make improvements and backported fixes

Clearing request flag since there are issues present and the patch doesn't apply any more.

Jan, I'll take care of splitting this up and getting things fixed. Thanks for the initial patch.
Comment 12 Jan Alonzo 2008-04-13 14:39:24 PDT
Renaming patch summary and adding Gtk keyword
Comment 13 Martin Robinson 2012-02-20 14:20:09 PST
It seems this work is long dead. If anyone wishes to resurrect it, please re-open the bug.