Closed Bug 870407 Opened 12 years ago Closed 11 years ago

Move CMMSRCS to moz.build

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla24

People

(Reporter: joey, Assigned: joey)

References

(Blocks 1 open bug)

Details

Attachments

(7 files, 10 obsolete files)

5.09 KB, patch
ted
: review+
Details | Diff | Splinter Review
9.17 KB, patch
mshal
: review+
Details | Diff | Splinter Review
8.33 KB, patch
mshal
: review+
Details | Diff | Splinter Review
6.85 KB, patch
mshal
: review+
Details | Diff | Splinter Review
13.41 KB, patch
mshal
: review+
Details | Diff | Splinter Review
7.81 KB, patch
Details | Diff | Splinter Review
7.58 KB, patch
khuey
: review+
Details | Diff | Splinter Review
No description provided.
No longer depends on: 870406
Comment on attachment 749295 [details] [diff] [review] Add CMMSRCS as a moz.build passthrough variable. Review of attachment 749295 [details] [diff] [review]: ----------------------------------------------------------------- ::: python/mozbuild/mozbuild/frontend/sandbox_symbols.py @@ +62,5 @@ > > This variable contains a list of files to invoke the assembler on. > """), > > + 'CMMSRCS': (list, [], Can we just name this CMM_SOURCES immediately? The automatic conversion tool supports mapping to a different variable name and not doing the conversion now just creates more work for everyone later. @@ +63,5 @@ > This variable contains a list of files to invoke the assembler on. > """), > > + 'CMMSRCS': (list, [], > + """ Objective-c++ source files. Nit: No space between after triple quotes.
(In reply to Gregory Szorc [:gps] from comment #2) > Comment on attachment 749295 [details] [diff] [review] > Add CMMSRCS as a moz.build passthrough variable. > > Review of attachment 749295 [details] [diff] [review]: > ----------------------------------------------------------------- > > ::: python/mozbuild/mozbuild/frontend/sandbox_symbols.py > @@ +62,5 @@ > > > > This variable contains a list of files to invoke the assembler on. > > """), > > > > + 'CMMSRCS': (list, [], > > Can we just name this CMM_SOURCES immediately? The automatic conversion tool > supports mapping to a different variable name and not doing the conversion > now just creates more work for everyone later. Well what is the more important priority around the mozbuild conversions ? Complete the transition over to mozbuild so Makefile.in can disappear or delay the conversion to work on deploying final answers ? Renaming variable seems like a simple enough op but will add more work and a potential failure condition with make(var) -> moz(var) -> make::backend.mk(var).
Assignee: nobody → joey
Attachment #749295 - Attachment is obsolete: true
Comment on attachment 753937 [details] [diff] [review] move CMMSRCS to moz.build (logic). Add CMMSRCS as a passthrough variable. Rebase to pickup sorted order attribute for file lists.
Attachment #753937 - Flags: review?(gps)
Attachment #753937 - Flags: review?(gps) → review?(ted)
Comment on attachment 753937 [details] [diff] [review] move CMMSRCS to moz.build (logic). ping on the code review
Attachment #753937 - Flags: review?(ted) → review+
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla24
[leave open] whiteboard keyword was omitted. re-open, patch added CMMSOURCS as a mozbuild variable but still need to convert makefiles.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Whiteboard: [leave open]
Comment on attachment 759348 [details] [diff] [review] move CMMSRCS to moz.build (file batch #1). First batch of CMMSRC files, tested on mac. Try coverage pending.
Attachment #759348 - Flags: review?(mshal)
Comment on attachment 759348 [details] [diff] [review] move CMMSRCS to moz.build (file batch #1). Looks good!
Attachment #759348 - Flags: review?(mshal) → review+
Comment on attachment 759348 [details] [diff] [review] move CMMSRCS to moz.build (file batch #1). try results: http://tbpl.mozilla.org/?tree=Try&rev=99dcf1ed4faf
Blocks: 882964
Attached patch move CMMSRCS to mozbuild (obsolete) — Splinter Review
toolkit/xre/ having problems on mac 10.{6,7}. Break patch #2 up into smaller chunks for now.
Attachment #760486 - Attachment is obsolete: true
Assignee: joey → jarmstrong
Comment on attachment 768369 [details] [diff] [review] move CMMSRCS to mozbuild (file batch #3). Try job: https://tbpl.mozilla.org/?tree=Try&rev=c342d4a93877 osx debug failure related to 'leakstats': 887234, 774844
Finally a clean try run for this patch: http://tbpl.mozilla.org/?tree=Try&rev=3c5b2742a399
Attachment #766882 - Attachment is obsolete: true
Attachment #769671 - Flags: review?(mshal)
Try job: http://tbpl.mozilla.org/?tree=Try&rev=a2862d47ea72 3rd batch of CMMSRCS files.
Attachment #768369 - Attachment is obsolete: true
Attachment #769676 - Attachment is obsolete: true
Attachment #769677 - Flags: review?(mshal)
Attachment #769677 - Flags: review?(mshal)
Comment on attachment 769671 [details] [diff] [review] move CMMSRCS to mozbuild (file batch #2) >diff --git a/dom/plugins/ipc/interpose/moz.build b/dom/plugins/ipc/interpose/moz.build >--- a/dom/plugins/ipc/interpose/moz.build >+++ b/dom/plugins/ipc/interpose/moz.build >@@ -1,8 +1,12 @@ > # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- > # 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/. > > LIBRARY_NAME = 'plugin_child_interpose' > >+CMMSRCS += [ >+ "%s.mm" % (LIBRARY_NAME), >+ 'plugin_child_quirks.mm', >+] I think in a previous conversion (can't remember which one) we were going for more explicit definitions where possible. So this could just be: CMMSRCS += [ 'plugin_child_interpose.mm', 'plugin_child_quirks.mm', ] Up to you if you want to change it, but I don't really see a reason to keep CMMSRCS dependent on LIBRARY_NAME.
Attachment #769671 - Flags: review?(mshal) → review+
Ignore but retain last attachment 769677 [details]/file batch #3. Partial information was recorded by an inadvertent [enter] press which left navigation for the attachment in a bad state. Attempting to replace patch was not able to correct missing {Diff, Review} links in the attachment action panel. Same patch content as before. Move 3rd batch of CMMSRCS files to mozbuild.
Attachment #769688 - Flags: review?(mshal)
Comment on attachment 769688 [details] [diff] [review] move CMMSRCS to mozbuild (file batch #3) >diff --git a/ipc/chromium/moz.build b/ipc/chromium/moz.build >--- a/ipc/chromium/moz.build >+++ b/ipc/chromium/moz.build >@@ -207,8 +207,26 @@ if CONFIG['_MSC_VER']: > 'debug_on_start.cc', > ] > > ost = CONFIG['OS_TEST'] > if ost.find('86') == -1 and ost.find('arm') == -1 and ost.find('mips') == -1: > CPP_SOURCES += [ > 'atomicops_internals_mutex.cc', > ] >+ >+if CONFIG['OS_ARCH'] == 'Darwin' or CONFIG['OS_MACOSX']: >+ CMMSRCS += [ >+ 'base_paths_mac.mm', >+ 'chrome_application_mac.mm', >+ 'chrome_paths_mac.mm', >+ 'file_util_mac.mm', >+ 'file_version_info_mac.mm', >+ 'mac_util.mm', >+ 'mach_ipc_mac.mm', >+ 'message_pump_mac.mm', >+ 'platform_thread_mac.mm', >+ 'platform_util_mac.mm', >+ 'process_util_mac.mm', >+ 'scoped_nsautorelease_pool.mm', >+ 'sys_string_conversions_mac.mm', >+ 'worker_pool_mac.mm', >+ ] Why do we need the OS_ARCH == 'Darwin' test here? The Makefile only has the OS_MACOSX check. Leaving r? until this is resolved. >diff --git a/netwerk/wifi/moz.build b/netwerk/wifi/moz.build >--- a/netwerk/wifi/moz.build >+++ b/netwerk/wifi/moz.build >@@ -42,8 +42,13 @@ elif CONFIG['OS_ARCH'] == 'SunOS': > > if CONFIG['MOZ_ENABLE_DBUS']: > CPP_SOURCES += [ > 'nsWifiScannerDBus.cpp', > ] > > LIBRARY_NAME = 'neckowifi_s' > >+ >+if CONFIG['OS_ARCH'] == 'Darwin': >+ CMMSRCS += [ >+ 'osx_corewlan.mm', >+ ] Please move this in with the same Darwin if-block earlier in the moz.build file: if CONFIG['OS_ARCH'] == 'Darwin': CPP_SOURCES += [ 'nsWifiScannerMac.cpp', ] + CMMSRCS += [ + 'osx_corewlan.mm', + ]
Comment on attachment 769671 [details] [diff] [review] move CMMSRCS to mozbuild (file batch #2) Inbound push for batch #2 https://hg.mozilla.org/integration/mozilla-inbound/rev/932964100cd2 committed changeset 137035:932964100cd2
(In reply to Michael Shal [:mshal] from comment #24) > Comment on attachment 769688 [details] [diff] [review] > move CMMSRCS to mozbuild (file batch #3) > > >diff --git a/ipc/chromium/moz.build b/ipc/chromium/moz.build > >--- a/ipc/chromium/moz.build > >+++ b/ipc/chromium/moz.build > >@@ -207,8 +207,26 @@ if CONFIG['_MSC_VER']: > > 'debug_on_start.cc', > > ] > > > >+if CONFIG['OS_ARCH'] == 'Darwin' or CONFIG['OS_MACOSX']: > >+ CMMSRCS += [ > >+ 'base_paths_mac.mm', > >+ ] > > Why do we need the OS_ARCH == 'Darwin' test here? The Makefile only has the > OS_MACOSX check. ipc/chromium/chromium-config.mk =============================== ifeq ($(OS_ARCH),Darwin) # { OS_MACOSX = 1 DEFINES += \ -DOS_MACOSX=1 \ $(NULL) For consistency with the other mac mozbuild conditionals. OS_MACOSX is only defined for use in ipc/chromium/ and the value is a redeclaration of OS_ARCH=='Darwin' -- likely to match a compiler define. > >diff --git a/netwerk/wifi/moz.build b/netwerk/wifi/moz.build > >--- a/netwerk/wifi/moz.build > >+++ b/netwerk/wifi/moz.build > >@@ -42,8 +42,13 @@ elif CONFIG['OS_ARCH'] == 'SunOS': > > > > if CONFIG['MOZ_ENABLE_DBUS']: > > CPP_SOURCES += [ > > 'nsWifiScannerDBus.cpp', > > ] > > > > LIBRARY_NAME = 'neckowifi_s' > > > >+ > >+if CONFIG['OS_ARCH'] == 'Darwin': > >+ CMMSRCS += [ > >+ 'osx_corewlan.mm', > >+ ] > > Please move this in with the same Darwin if-block earlier in the moz.build > file: > > if CONFIG['OS_ARCH'] == 'Darwin': > CPP_SOURCES += [ > 'nsWifiScannerMac.cpp', > ] > + CMMSRCS += [ > + 'osx_corewlan.mm', > + ] There may be more of these on the way. The conversion is not attempting to merge into existing conditional blocks so some like this may slip through.
(In reply to jarmstrong from comment #26) > (In reply to Michael Shal [:mshal] from comment #24) > > Comment on attachment 769688 [details] [diff] [review] > > move CMMSRCS to mozbuild (file batch #3) > > > > >diff --git a/ipc/chromium/moz.build b/ipc/chromium/moz.build > > >--- a/ipc/chromium/moz.build > > >+++ b/ipc/chromium/moz.build > > >@@ -207,8 +207,26 @@ if CONFIG['_MSC_VER']: > > > 'debug_on_start.cc', > > > ] > > > > > >+if CONFIG['OS_ARCH'] == 'Darwin' or CONFIG['OS_MACOSX']: > > >+ CMMSRCS += [ > > >+ 'base_paths_mac.mm', > > >+ ] > > > > Why do we need the OS_ARCH == 'Darwin' test here? The Makefile only has the > > OS_MACOSX check. > > ipc/chromium/chromium-config.mk > =============================== > ifeq ($(OS_ARCH),Darwin) # { > > OS_MACOSX = 1 > DEFINES += \ > -DOS_MACOSX=1 \ > $(NULL) > > For consistency with the other mac mozbuild conditionals. OS_MACOSX is only > defined for use in ipc/chromium/ and the value is a redeclaration of > OS_ARCH=='Darwin' -- likely to match a compiler define. So should it just be: if CONFIG['OS_ARCH'] == 'Darwin': CMMSRCS += [ 'base_paths_mac.mm', ] I don't see CONFIG['OS_MACOSX'] anywhere else in moz.build - if OS_MACOSX is just from chromium-config.mk then I don't think we can use it.
(In reply to Michael Shal [:mshal] from comment #27) > (In reply to jarmstrong from comment #26) > > (In reply to Michael Shal [:mshal] from comment #24) > > > Comment on attachment 769688 [details] [diff] [review] > > > move CMMSRCS to mozbuild (file batch #3) > > > > > > >diff --git a/ipc/chromium/moz.build b/ipc/chromium/moz.build > > > >--- a/ipc/chromium/moz.build > > > >+++ b/ipc/chromium/moz.build > > > >@@ -207,8 +207,26 @@ if CONFIG['_MSC_VER']: > > > > 'debug_on_start.cc', > > > > ] > > > > > > > >+if CONFIG['OS_ARCH'] == 'Darwin' or CONFIG['OS_MACOSX']: > > > >+ CMMSRCS += [ > > > >+ 'base_paths_mac.mm', > > > >+ ] > > > > > > Why do we need the OS_ARCH == 'Darwin' test here? The Makefile only has the > > > OS_MACOSX check. > > > > ipc/chromium/chromium-config.mk > > =============================== > > ifeq ($(OS_ARCH),Darwin) # { > > > > OS_MACOSX = 1 > > DEFINES += \ > > -DOS_MACOSX=1 \ > > $(NULL) > > > > For consistency with the other mac mozbuild conditionals. OS_MACOSX is only > > defined for use in ipc/chromium/ and the value is a redeclaration of > > OS_ARCH=='Darwin' -- likely to match a compiler define. > > So should it just be: > > if CONFIG['OS_ARCH'] == 'Darwin': > CMMSRCS += [ > 'base_paths_mac.mm', > ] > > I don't see CONFIG['OS_MACOSX'] anywhere else in moz.build - if OS_MACOSX is > just from chromium-config.mk then I don't think we can use it. Or use os_macosx which is defined in ipc/chromium/moz.build.
(In reply to :Ms2ger from comment #28) > (In reply to Michael Shal [:mshal] from comment #27) > > I don't see CONFIG['OS_MACOSX'] anywhere else in moz.build - if OS_MACOSX is > > just from chromium-config.mk then I don't think we can use it. > > Or use os_macosx which is defined in ipc/chromium/moz.build. Oh, yeah - this makes the most sense to me :)
(In reply to Michael Shal [:mshal] from comment #29) > (In reply to :Ms2ger from comment #28) > > (In reply to Michael Shal [:mshal] from comment #27) > > > I don't see CONFIG['OS_MACOSX'] anywhere else in moz.build - if OS_MACOSX is > > > just from chromium-config.mk then I don't think we can use it. > > > > Or use os_macosx which is defined in ipc/chromium/moz.build. > > Oh, yeah - this makes the most sense to me :) Looking at the conditional block I'm staring to think it may be cleaner/clearer to drop most the local os_* vars (except os_posix) and inline platform config variable tests where needed: os_freebsd=, os_netbsd= & os_openbsd= are currently unused. There is a 1-to-1 mapping between $OS_ARCH and os_${arch}: os_bsd => if CONFIG['OS_ARCH'] in ('FreeBSD', 'NetBSD', 'OpenBSD') If the locals are replaced we retain consistent syntax for testing platforms in mozbuild. Longer term should add functions like isbsd(), ismac(), etc to avoid typo problems while testing for platform name but that could be a bug for later on.
(In reply to Joey Armstrong [:joey] from comment #30) > (In reply to Michael Shal [:mshal] from comment #29) > > (In reply to :Ms2ger from comment #28) > > > (In reply to Michael Shal [:mshal] from comment #27) > > > > I don't see CONFIG['OS_MACOSX'] anywhere else in moz.build - if OS_MACOSX is > > > > just from chromium-config.mk then I don't think we can use it. > > > > > > Or use os_macosx which is defined in ipc/chromium/moz.build. > > > > Oh, yeah - this makes the most sense to me :) > > > Looking at the conditional block I'm staring to think it may be > cleaner/clearer to drop most the local os_* vars (except os_posix) and > inline platform config variable tests where needed: > > os_freebsd=, os_netbsd= & os_openbsd= are currently unused. > There is a 1-to-1 mapping between $OS_ARCH and os_${arch}: > os_bsd => if CONFIG['OS_ARCH'] in ('FreeBSD', 'NetBSD', 'OpenBSD') > > If the locals are replaced we retain consistent syntax for testing platforms > in mozbuild. > Longer term should add functions like isbsd(), ismac(), etc to avoid typo > problems while testing for platform name but that could be a bug for later > on. Some of the other vars (freebsd and netbsd) are still used in the Makefile.in, so once we port DEFINES over they will be used in the moz.build file. We should probably just use os_macosx for CMMSRCS now, and file a cleanup bug to make this more general. I don't think that needs to be solved to get CMMSRCS done, though.
Assignee: jarmstrong → joey
Moved 2 nit CMMSRCS assignments up into earlier Darwin conditional blocks.
Attachment #769677 - Attachment is obsolete: true
Attachment #769688 - Attachment is obsolete: true
Attachment #770211 - Attachment is obsolete: true
Attachment #769688 - Flags: review?(mshal)
Attachment #770213 - Flags: review?(mshal)
Comment on attachment 770213 [details] [diff] [review] move CMMSRCS to mozbuild (file batch #3) Looks ready to me!
Attachment #770213 - Flags: review?(mshal) → review+
Comment on attachment 770213 [details] [diff] [review] move CMMSRCS to mozbuild (file batch #3) Inbound push, eyes slighty crossed as these are starting to all look the same. https://hg.mozilla.org/integration/mozilla-inbound/rev/de57cc8ba195 committed changeset 137217:de57cc8ba195
Attached patch cleanup bug.Splinter Review
Comment on attachment 770978 [details] [diff] [review] cleanup bug. Cleanup for patch #1-3
Attachment #770978 - Flags: review?(mshal)
Comment on attachment 770996 [details] [diff] [review] move CMMSRCS to mozbuild (file batch #4). Final batch of CMMSRCS files
Attachment #770996 - Flags: review?(mshal)
Comment on attachment 770978 [details] [diff] [review] cleanup bug. Looks good!
Attachment #770978 - Flags: review?(mshal) → review+
Comment on attachment 770996 [details] [diff] [review] move CMMSRCS to mozbuild (file batch #4). >diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build >--- a/uriloader/exthandler/moz.build >+++ b/uriloader/exthandler/moz.build >@@ -59,18 +59,21 @@ CPP_SOURCES += [ > 'ExternalHelperAppParent.cpp', > 'nsExternalHelperAppService.cpp', > 'nsExternalProtocolHandler.cpp', > 'nsLocalHandlerApp.cpp', > 'nsMIMEInfoImpl.cpp', > ] > > if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': >- # TODO: CMMSRCS go here >- pass >+ CMMSRCS = [ >+ 'nsLocalHandlerAppMac.mm', >+ 'nsMIMEInfoMac.mm', >+ 'nsOSHelperAppService.mm', >+ ] nit: Prefer 'CMMSRCS +=' over 'CMMSRCS =' Looks ready to go - always nice to see a TODO comment go away :)
Attachment #770996 - Flags: review?(mshal) → review+
Comment on attachment 770996 [details] [diff] [review] move CMMSRCS to mozbuild (file batch #4). Fixed =/+= assignment {byproduct of a manual edit}. Try job: http://tbpl.mozilla.org/?tree=Try&rev=3352acc891e0 todo: check on mac failures.
Attachment #770996 - Attachment is obsolete: true
Comment on attachment 772123 [details] [diff] [review] move CMMSRCS to mozbuild (file batch #4). Converted file batch #4 for CMMSRCS. Try results: https://tbpl.mozilla.org/?tree=Try&rev=83e9324021f1 o oth failure on osx 10.6 was due to timeout waiting for an hg command.
Attachment #772123 - Flags: review?(mshal)
Comment on attachment 772123 [details] [diff] [review] move CMMSRCS to mozbuild (file batch #4). ># HG changeset patch ># User Joey Armstrong <joey@mozilla.com> ># Date 1372883135 14400 ># Node ID 2a50bc40f534d22b81dbe00241350e9f8d186192 ># Parent c0830a5933e8a7d1c744acea9b9183d0d72d01ab >bug 870407: move CMMSRCS to mozbuild (file batch #4). > >diff --git a/toolkit/xre/Makefile.in b/toolkit/xre/Makefile.in >--- a/toolkit/xre/Makefile.in >+++ b/toolkit/xre/Makefile.in >@@ -35,25 +35,19 @@ ifdef MOZ_UPDATER > ifneq (android,$(MOZ_WIDGET_TOOLKIT)) > DEFINES += -DMOZ_UPDATER > endif > endif > > ifeq ($(MOZ_WIDGET_TOOLKIT),windows) > DEFINES += -DWIN32_LEAN_AND_MEAN -DUNICODE -D_UNICODE > else >-ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa) >-CMMSRCS = nsNativeAppSupportCocoa.mm >-endif > endif nit: Please remove the 'else' statement for ifeq ($(MOZ_WIDGET_TOOLKIT),windows) since that block is now empty. Looks good to go!
Attachment #772123 - Flags: review?(mshal) → review+
Nit fixed + rebase. r=mshal carried forward.
Attachment #772123 - Attachment is obsolete: true
Comment on attachment 774836 [details] [diff] [review] move CMMSRCS to mozbuild (file batch #4) committed changeset 138390:e6bda3437a7c remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/e6bda3437a7c inbound push
Whiteboard: [leave open]
(In reply to Joey Armstrong [:joey] from comment #50) > Comment on attachment 774836 [details] [diff] [review] > move CMMSRCS to mozbuild (file batch #4) > > committed changeset 138390:e6bda3437a7c > remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/e6bda3437a7c > inbound push Touched CLOBBER because it looks like this needed clobbering to work on m-i: http://hg.mozilla.org/integration/mozilla-inbound/rev/92fa0b21fbb8
(In reply to Wes Kocher (:KWierso) from comment #51) And the clobber came back busted, too. Backed out in http://hg.mozilla.org/integration/mozilla-inbound/rev/417682db13bd The try run was green, so I guess the rebase and nits fixed broke things?
Status: REOPENED → RESOLVED
Closed: 12 years ago12 years ago
Resolution: --- → FIXED
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Blocks: 904572
This seems to work on try...
Attachment #792223 - Flags: review?(khuey)
Status: REOPENED → RESOLVED
Closed: 12 years ago11 years ago
Flags: in-testsuite-
Resolution: --- → FIXED
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: