Last Comment Bug 780357 - Port bug 776968, bug 774032, bug 780159, bug 776561, bug 778740 to comm-central
: Port bug 776968, bug 774032, bug 780159, bug 776561, bug 778740 to comm-central
Status: RESOLVED FIXED
:
Product: MailNews Core
Classification: Components
Component: Build Config (show other bugs)
: unspecified
: x86 All
: -- normal (vote)
: Thunderbird 17.0
Assigned To: Mike Hommey [:glandium]
:
Mentors:
: 780485 (view as bug list)
Depends on: 774032 776561 776968 778740 780159
Blocks:
  Show dependency treegraph
 
Reported: 2012-08-04 00:12 PDT by Philipp Kewisch [:Fallen]
Modified: 2012-10-03 04:50 PDT (History)
10 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---


Attachments
Partial port of bug 774032 (7.65 KB, patch)
2012-08-04 00:49 PDT, Mike Hommey [:glandium]
no flags Details | Diff | Review
Partial port of bug 774032 (7.85 KB, patch)
2012-08-05 04:01 PDT, Mike Hommey [:glandium]
bugspam.Callek: review+
Details | Diff | Review
Allow m-c's ConfigStatus.py to be used from c-c (1.21 KB, patch)
2012-08-05 08:19 PDT, Mike Hommey [:glandium]
khuey: review+
Details | Diff | Review

Description Philipp Kewisch [:Fallen] 2012-08-04 00:12:38 PDT
I just saw a pretty large push go to inbound that changes a lot of things in synchronized files like configure.in. Someone should go through this stuff to see what is needed for comm-central.

bug 776968 - Avoid modifying autoconf.mk after running nspr configure
bug 774032 (8 parts!)
  - Avoid Preprocessor.py replacing undefined variables with the 
    attemptSubstitution filter
  - Allow to disable markers in Preprocessor.py
  - Remove variables with no AC_SUBST in autoconf.mk.in
  - Add check-sync-dirs exception for *.pyc under build/
  - Use explicit _NON_GLOBAL_ACDEFINES, and rely less on pattern matching
  - Replace autoconf handling of config files and headers with our own
  - Remove make-makefile and acoutput-fast.pl
  - bonus: Use @DEPTH@ and @relativesrcdir@ in Makefile.in
bug 780159 - Remove obsolete REGCHROME
bug 776561 - Avoid OS_LIBS containing -lrt when there is no config.cache
bug 778740 - Allow to use Linux kernel headers for perf events
Comment 1 Philipp Kewisch [:Fallen] 2012-08-04 00:22:38 PDT
glandium says we should only need bug 774032 and bug 780159. About bug 776968 he says it should change nothing since there was a workaround to avoid reconfigures.
Comment 2 Mike Hommey [:glandium] 2012-08-04 00:27:39 PDT
bug 778740 is irrelevant for c-c because it doesn't use linux perf event stuff.
bug 776561 is irrelevant for c-c because it doesn't have the check for clock_gettime that added -lrt on m-c
bug 776968 may actually be good to port, for the part that *is* in c-c (the autoconf.mk rewriting part is not), because it avoids using shell commands each time NSPR_LIBS is used.
Comment 3 Mike Hommey [:glandium] 2012-08-04 00:49:16 PDT
Created attachment 648965 [details] [diff] [review]
Partial port of bug 774032

This should port the following parts of bug 774032:
  - Remove variables with no AC_SUBST in autoconf.mk.in
  - Use explicit _NON_GLOBAL_ACDEFINES, and rely less on pattern matching
  - Replace autoconf handling of config files and headers with our own
but it doesn't contain the following files that need to be copied from m-c:
  - build/ConfigStatus.py
  - config/Expression.py
  - config/Preprocessor.py

The following patches are irrelevant if you just copy the last versions of the above files:
  - Avoid Preprocessor.py replacing undefined variables with the 
    attemptSubstitution filter
  - Allow to disable markers in Preprocessor.py

This is not required, because it's already in c-c, somehow:
  - Add check-sync-dirs exception for *.pyc under build/

This is not required, because the files are not in c-c:
  - Remove make-makefile and acoutput-fast.pl

This is not strictly required but is a nice bonus (but not in this patch):
  - bonus: Use @DEPTH@ and @relativesrcdir@ in Makefile.in
Comment 4 Mike Hommey [:glandium] 2012-08-04 00:57:23 PDT
Also, the part for WIN_TOP_SRC is not ported. It may require porting things from c-c to m-c (cygwin parts)
Comment 5 Mike Hommey [:glandium] 2012-08-05 04:01:00 PDT
Created attachment 649091 [details] [diff] [review]
Partial port of bug 774032

Refreshed with bug 780446 and bug 780421
Comment 6 Mike Hommey [:glandium] 2012-08-05 04:04:14 PDT
Note that you'll also want bug 763987 (the goal being to prepare autoconf.mk for bug 742795, and for that, it needs all variables to be in the form VAR = @VAR@, not VAR = FOO @VAR@ or VAR = @VAR2@)
Comment 7 Mike Hommey [:glandium] 2012-08-05 08:06:31 PDT
(In reply to Mike Hommey [:glandium] from comment #6)
> Note that you'll also want bug 763987 (the goal being to prepare autoconf.mk
> for bug 742795, and for that, it needs all variables to be in the form VAR =
> @VAR@, not VAR = FOO @VAR@ or VAR = @VAR2@)

That's however not needed to unbreak the build on c-c.

(In reply to Mike Hommey [:glandium] from comment #4)
> Also, the part for WIN_TOP_SRC is not ported. It may require porting things
> from c-c to m-c (cygwin parts)

cygwin support was removed from m-c in bug 462361. I guess we can just remove the cygwin part in configure.in in c-c.
Comment 8 Mike Hommey [:glandium] 2012-08-05 08:19:44 PDT
Created attachment 649100 [details] [diff] [review]
Allow m-c's ConfigStatus.py to be used from c-c

This allows c-c to configure properly with the PoC I already attached, and without copying files from m-c.
Comment 9 Mike Hommey [:glandium] 2012-08-05 08:21:04 PDT
Comment on attachment 649091 [details] [diff] [review]
Partial port of bug 774032

I think this is enough, with the m-c patch i attached, to unbreak c-c.
Comment 10 Mike Hommey [:glandium] 2012-08-05 08:56:42 PDT
Landed the m-c part:
https://hg.mozilla.org/integration/mozilla-inbound/rev/91de8ff323d4
Comment 11 Mike Hommey [:glandium] 2012-08-05 08:59:49 PDT
And the missing sync with js/src:
https://hg.mozilla.org/integration/mozilla-inbound/rev/949770676b0f
Comment 12 Mike Hommey [:glandium] 2012-08-05 10:36:09 PDT
*** Bug 780485 has been marked as a duplicate of this bug. ***
Comment 13 Robert Kaiser (not working on stability any more) 2012-08-05 10:45:15 PDT
As this is about the general comm-central build system and not Thunderbird-specific, it belongs in MailNews Core
Comment 15 Andreas Nilsson (:andreasn) 2012-08-06 09:48:18 PDT
I've experienced this bug on both Linux and Windows(7) so changing platform from OSX to All.
Comment 16 Mike Hommey [:glandium] 2012-08-07 05:30:44 PDT
Landed on c-c to unbreak it.
http://hg.mozilla.org/comm-central/rev/493c0d246a5e

Maybe the remaining parts should be tracked in a separate bug, and we should close this one?
Comment 17 Mark Banner (:standard8) 2012-08-08 12:26:29 PDT
Thanks for your work on this Mike.

I agree with Mike, we should do follow-ups in a separate bug. Can someone formulate a list please?
Comment 18 Mike Hommey [:glandium] 2012-08-09 00:32:59 PDT
(In reply to Mark Banner (:standard8) from comment #17)
> Thanks for your work on this Mike.
> 
> I agree with Mike, we should do follow-ups in a separate bug. Can someone
> formulate a list please?

Filed bug 781446.

Note You need to log in before you can comment on or make changes to this bug.