Closed Bug 872086 Opened 7 years ago Closed 6 years ago

move SIMPLE_PROGRAM to moz.build

Categories

(Firefox Build System :: General, defect)

defect
Not set

Tracking

(Not tracked)

RESOLVED FIXED
mozilla26

People

(Reporter: joey, Assigned: joey)

References

(Blocks 1 open bug)

Details

Attachments

(3 files, 1 obsolete file)

./gfx/tests/Makefile.in
./intl/uconv/tests/Makefile.in
./intl/uconv/tools/Makefile.in
./intl/unicharutil/tests/Makefile.in
./mozglue/tests/Makefile.in
./netwerk/test/Makefile.in
./toolkit/mozapps/plugins/tests/Makefile.in
./toolkit/mozapps/update/test/Makefile.in
./toolkit/xre/test/win/Makefile.in
./tools/codesighs/Makefile.in
./tools/trace-malloc/Makefile.in
./uriloader/exthandler/tests/Makefile.in
./xpcom/reflect/xptcall/src/md/test/Makefile.in
./xpcom/reflect/xptcall/tests/Makefile.in
./xpcom/reflect/xptinfo/tests/Makefile.in
./xpcom/sample/program/Makefile.in
./xpcom/tests/external/Makefile.in
./xpcom/tests/Makefile.in
./xpcom/typelib/xpt/tests/Makefile.in
./xpcom/windbgdlg/Makefile.in
Blocks: nomakefiles
Assignee: nobody → joey
Comment on attachment 752393 [details] [diff] [review]
move SIMPLE_PROGRAMS to moz.build.

Add SIMPLE_PROGRAMS as a passthrough variable.
Attachment #752393 - Flags: review?(gps)
Attachment #752393 - Flags: review?(gps) → review+
Inbound push

changeset: 132701:2c51b6730bbc
https://hg.mozilla.org/integration/mozilla-inbound/rev/2c51b6730bbc
Whiteboard: [leave open]
First round of file conversions for SIMPLE_PROGRAMS variable.
Try results pending.
Attachment #756739 - Flags: review?(mshal)
Comment on attachment 756739 [details] [diff] [review]
move SIMPLE_PROGRAMS to moz.build (file batch #1)

>From: Joey Armstrong <joey@mozilla.com>
>
>bug 872086: move SIMPLE_PROGRAMS to moz.build (file batch #1)
>
>diff --git a/intl/uconv/tools/moz.build b/intl/uconv/tools/moz.build
>--- a/intl/uconv/tools/moz.build
>+++ b/intl/uconv/tools/moz.build
>@@ -2,8 +2,13 @@
> # vim: set filetype=python:
> # This Source Code Form is subject to the terms of the Mozilla Public
> # License, v. 2.0. If a copy of the MPL was not distributed with this
> # file, You can obtain one at http://mozilla.org/MPL/2.0/.
> 
> CSRCS += [
>     'umaptable.c',
> ]
>+
>+bin_suffix = CONFIG['BIN_SUFFIX']
>+SIMPLE_PROGRAMS += [
>+    "%s%s" % (fyl[0:-2], bin_suffix) for fyl in CSRCS
>+]

You also have SIMPLE_PROGRAMS defined in intl/uconv/tools/Makefile.in - that should be DISABLED now. I'll r+ assuming that's fixed.

> CPP_SOURCES += [
>     'NormalizationTest.cpp',
>     'UnicharSelfTest.cpp',
> ]
>+
>+bin_suffix = CONFIG['BIN_SUFFIX']
>+SIMPLE_PROGRAMS += [
>+    "%s%s" % (fyl[0:-4], bin_suffix) for fyl in CPP_SOURCES
>+]

I realize we're just moving things over as-is for now, but we should think about how to simplify this (and maybe get a followup bug on file). I don't think there's any need to define both CPP/C_SOURCES and SIMPLE_PROGRAMS, which contain the same information with different file extensions. Instead we could say that SIMPLE_PROGRAMS contains a list of sources which are compiled into programs. So we could just have:

SIMPLE_PROGRAMS += [
     'NormalizationTest.cpp',
     'UnicharSelfTest.cpp',
]

The backend would be responsible for replacing the suffix with BIN_SUFFIX, and the moz.build file doesn't need to redundantly declare CPP_SOURCES & SIMPLE_PROGRAMS. Thoughts?
Attachment #756739 - Flags: review?(mshal) → review+
(In reply to Michael Shal [:mshal] from comment #6)
> Comment on attachment 756739 [details] [diff] [review]
> move SIMPLE_PROGRAMS to moz.build (file batch #1)
> 
> >From: Joey Armstrong <joey@mozilla.com>
> >
> >bug 872086: move SIMPLE_PROGRAMS to moz.build (file batch #1)
> >
> >diff --git a/intl/uconv/tools/moz.build b/intl/uconv/tools/moz.build
> >--- a/intl/uconv/tools/moz.build
> >+++ b/intl/uconv/tools/moz.build
> >@@ -2,8 +2,13 @@
> > # vim: set filetype=python:
> > # This Source Code Form is subject to the terms of the Mozilla Public
> > # License, v. 2.0. If a copy of the MPL was not distributed with this
> > # file, You can obtain one at http://mozilla.org/MPL/2.0/.
> > 
> > CSRCS += [
> >     'umaptable.c',
> > ]
> >+
> >+bin_suffix = CONFIG['BIN_SUFFIX']
> >+SIMPLE_PROGRAMS += [
> >+    "%s%s" % (fyl[0:-2], bin_suffix) for fyl in CSRCS
> >+]
> 
> You also have SIMPLE_PROGRAMS defined in intl/uconv/tools/Makefile.in - that
> should be DISABLED now. I'll r+ assuming that's fixed.
> 
> > CPP_SOURCES += [
> >     'NormalizationTest.cpp',
> >     'UnicharSelfTest.cpp',
> > ]
> >+



> >+bin_suffix = CONFIG['BIN_SUFFIX']
> >+SIMPLE_PROGRAMS += [
> >+    "%s%s" % (fyl[0:-4], bin_suffix) for fyl in CPP_SOURCES
> >+]

May have to send this patch through again, variant parsing behavior reported by fedora and mac

https://tbpl.mozilla.org/php/getParsedLog.php?id=23645638&tree=Try


 
> I realize we're just moving things over as-is for now, but we should think
> about how to simplify this (and maybe get a followup bug on file).
> 
> SIMPLE_PROGRAMS += [
>      'NormalizationTest.cpp',
>      'UnicharSelfTest.cpp',
> ]

Yes post conversion that would be a logical setup.  Only change might be to suffix '_SOURCE' on the variable name so the assignment will make sense.

Indirection could also be used to avoid duplication:
  SIMPLE_PROGRAMS += 'CSRCS'
Attachment #756739 - Attachment is obsolete: true
Comment on attachment 758105 [details] [diff] [review]
move SIMPLE_PROGRAMS to moz.build (file batch #1)

Removed dangling comma suffixed on the end of list comprehensions.
fedora, fedora64, osx 10.6 & 10.7 do not like the syntax.
Oddly enough osx 10.8 can digest the syntax w/o complaint.

http://tbpl.mozilla.org/?tree=Try&rev=55c92b5431bd
Comment on attachment 758105 [details] [diff] [review]
move SIMPLE_PROGRAMS to moz.build (file batch #1)

Try job: https://tbpl.mozilla.org/?tree=Try&rev=b7c80eeff105
only failure: osx 10.7 debug [bug 74844] - re-run to see if failure is reproducible by this job.
Comment on attachment 758105 [details] [diff] [review]
move SIMPLE_PROGRAMS to moz.build (file batch #1)

Try job http://tbpl.mozilla.org/?tree=Try&rev=b7c80eeff105
osx 10.7 leakstats failure is known: https://bugzilla.mozilla.org/show_bug.cgi?id=774844
Comment on attachment 758105 [details] [diff] [review]
move SIMPLE_PROGRAMS to moz.build (file batch #1)

Inbound push: committed changeset 134940:fa6b60d827d4
https://hg.mozilla.org/integration/mozilla-inbound/rev/fa6b60d827d4
Comment on attachment 758030 [details] [diff] [review]
2: move SIMPLE_PROGRAMS to moz.build (file batch #2).

Push to inbound: committed changeset 134995:b5c0c5b2a6d4
https://hg.mozilla.org/integration/mozilla-inbound/rev/b5c0c5b2a6d4
(In reply to Joey Armstrong [:joey] from comment #15)
> Comment on attachment 758030 [details] [diff] [review]
> 2: move SIMPLE_PROGRAMS to moz.build (file batch #2).
> 
> Push to inbound: committed changeset 134995:b5c0c5b2a6d4
> https://hg.mozilla.org/integration/mozilla-inbound/rev/b5c0c5b2a6d4

Backed out for Windows bustage.
https://hg.mozilla.org/integration/mozilla-inbound/rev/2777f9ae3173

https://tbpl.mozilla.org/php/getParsedLog.php?id=24124508&tree=Mozilla-Inbound
Lingering var conversion was cleaned up in bug 897909

changeset:   142490:fdeb80c577b3
user:        Ms2ger <ms2ger@gmail.com>
date:        Wed Aug 14 09:00:13 2013 +0200
summary:     Bug 897909 - Cleanup some SIMPLE_PROGRAMS; r=gps

% find . -name Makefile.in | xargs grep SIMPLE_PROGRAMS
./js/src/Makefile.in:HOST_SIMPLE_PROGRAMS += host_jskwgen$(HOST_BIN_SUFFIX)
./js/src/Makefile.in:HOST_SIMPLE_PROGRAMS += host_jsoplengen$(HOST_BIN_SUFFIX)
./uriloader/exthandler/tests/Makefile.in:ifneq (,$(SIMPLE_PROGRAMS))
./uriloader/exthandler/tests/Makefile.in:	$(INSTALL) $(SIMPLE_PROGRAMS) $(DEPTH)/_tests/xpcshell/$(relativesrcdir)/unit
./layout/style/test/Makefile.in:HOST_SIMPLE_PROGRAMS	= $(addprefix host_, $(HOST_CPPSRCS:.cpp=$(HOST_BIN_SUFFIX)))
./xpcom/tests/Makefile.in:ifneq (,$(SIMPLE_PROGRAMS))
./xpcom/tests/Makefile.in:	$(INSTALL) $(SIMPLE_PROGRAMS) $(DEPTH)/_tests/xpcshell/$(relativesrcdir)/unit
./toolkit/mozapps/plugins/tests/Makefile.in:programs = $(SIMPLE_PROGRAMS:%$(BIN_SUFFIX)=$(TESTROOT)/%)
Whiteboard: [leave open]
See Also: → 897909
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla26
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.