Closed Bug 780357 Opened 12 years ago Closed 12 years ago

Categories

(MailNews Core :: Build Config, defect)

x86
All
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Thunderbird 17.0

People

(Reporter: Fallen, Assigned: glandium)

References

Details

Attachments

(2 files, 1 obsolete file)

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
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.
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.
Attached patch Partial port of bug 774032 (obsolete) — Splinter Review
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
Also, the part for WIN_TOP_SRC is not ported. It may require porting things from c-c to m-c (cygwin parts)
Refreshed with bug 780446 and bug 780421
Attachment #648965 - Attachment is obsolete: true
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@)
(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.
This allows c-c to configure properly with the PoC I already attached, and without copying files from m-c.
Attachment #649100 - Flags: review?(ted.mielczarek)
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.
Attachment #649091 - Flags: review?(bugspam.Callek)
Assignee: nobody → mh+mozilla
Attachment #649100 - Flags: review?(ted.mielczarek) → review+
Landed the m-c part:
https://hg.mozilla.org/integration/mozilla-inbound/rev/91de8ff323d4
Whiteboard: [leave open]
Depends on: 776968, 774032, 780159, 776561, 778740
As this is about the general comm-central build system and not Thunderbird-specific, it belongs in MailNews Core
Product: Thunderbird → MailNews Core
I've experienced this bug on both Linux and Windows(7) so changing platform from OSX to All.
OS: Mac OS X → All
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?
Status: NEW → ASSIGNED
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?
Attachment #649091 - Flags: review?(bugspam.Callek) → review+
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
(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.
Target Milestone: --- → Thunderbird 17.0
Whiteboard: [leave open]
You need to log in before you can comment on or make changes to this bug.