The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=94187
------------------------------------------------------------------------
r94187 | tha...@chromium.org | Tue Jul 26 15:28:59 PDT 2011
Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/DEPS?r1=94187&r2=94186&pathrev=94187
Roll gyp 971:978
The roll adds support for DEAD_CODE_STRIPPING to the mac make build.
BUG=90078
TEST=none
TBR=evan
Review URL: http://codereview.chromium.org/7470027
------------------------------------------------------------------------
The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=94621
------------------------------------------------------------------------
r94621 | tha...@chromium.org | Thu Jul 28 19:17:25 PDT 2011
Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/crypto/mac_security_services_lock.h?r1=94621&r2=94620&pathrev=94621
M
http://src.chromium.org/viewvc/chrome/trunk/src/crypto/cssm_init.h?r1=94621&r2=94620&pathrev=94621
mac: Components build for crypto
BUG=90078
TEST=none
Review URL: http://codereview.chromium.org/7532023
------------------------------------------------------------------------
The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=94629
------------------------------------------------------------------------
r94629 | tha...@chromium.org | Thu Jul 28 20:08:36 PDT 2011
Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/net/proxy/proxy_resolver_mac.h?r1=94629&r2=94628&pathrev=94629
mac: Components build for net
BUG=90078
TEST=none
Review URL: http://codereview.chromium.org/7529017
------------------------------------------------------------------------
The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=94636
------------------------------------------------------------------------
r94636 | tha...@chromium.org | Thu Jul 28 21:43:14 PDT 2011
Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/base/sys_string_conversions.h?r1=94636&r2=94635&pathrev=94636
M
http://src.chromium.org/viewvc/chrome/trunk/src/base/process_util.h?r1=94636&r2=94635&pathrev=94636
M
http://src.chromium.org/viewvc/chrome/trunk/src/base/mac/mac_util.h?r1=94636&r2=94635&pathrev=94636
M
http://src.chromium.org/viewvc/chrome/trunk/src/base/mac/objc_property_releaser.h?r1=94636&r2=94635&pathrev=94636
M
http://src.chromium.org/viewvc/chrome/trunk/src/base/mac/scoped_nsautorelease_pool.h?r1=94636&r2=94635&pathrev=94636
M
http://src.chromium.org/viewvc/chrome/trunk/src/base/file_version_info.h?r1=94636&r2=94635&pathrev=94636
M
http://src.chromium.org/viewvc/chrome/trunk/src/base/mach_ipc_mac.h?r1=94636&r2=94635&pathrev=94636
M
http://src.chromium.org/viewvc/chrome/trunk/src/base/mac/scoped_nsexception_enabler.h?r1=94636&r2=94635&pathrev=94636
M
http://src.chromium.org/viewvc/chrome/trunk/src/base/mac/os_crash_dumps.h?r1=94636&r2=94635&pathrev=94636
M
http://src.chromium.org/viewvc/chrome/trunk/src/base/mac/foundation_util.h?r1=94636&r2=94635&pathrev=94636
mac: Components build for base, easy part
BUG=90078
TEST=none
Review URL: http://codereview.chromium.org/7474010
------------------------------------------------------------------------
The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=95051
------------------------------------------------------------------------
r95051 | tha...@chromium.org | Mon Aug 01 22:24:37 PDT 2011
Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/skia/ext/platform_device_mac.h?r1=95051&r2=95050&pathrev=95051
M
http://src.chromium.org/viewvc/chrome/trunk/src/skia/ext/skia_utils_mac.h?r1=95051&r2=95050&pathrev=95051
mac: Components build for skia, easy part
BUG=90078
TEST=none
Review URL: http://codereview.chromium.org/7523046
------------------------------------------------------------------------
What's the status of this? Is there a TODO list of things? How can I help?
The work in progress in comment 1 was functional at one point. I did some
benchmarking and decided that the component build adds a ton of complexity
for moderate gain, and I've looked at other ways to make incremental builds
faster. The pure ld time of an incremental build is 12s (Debug) / 4s
(Release), while a full incremental build takes ~60s. Incremental build
times can be dramatically improved without this.
> I did some benchmarking and decided that the component build adds a ton
> of complexity for moderate gain, and I've looked at other ways to make
> incremental builds faster.
Great! Is there any way that I can help in these other ways?
The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=121185
------------------------------------------------------------------------
r121185 | tha...@chromium.org | Wed Feb 08 20:02:33 PST 2012
Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/crypto/cssm_init.h?r1=121185&r2=121184&pathrev=121185
mac: Add _EXPORT macros, crypto/.
BUG=90078
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9369020
------------------------------------------------------------------------
The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=121198
------------------------------------------------------------------------
r121198 | tha...@chromium.org | Wed Feb 08 21:34:37 PST 2012
Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/tab_contents/web_contents_view_mac.h?r1=121198&r2=121197&pathrev=121198
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/find_pasteboard.h?r1=121198&r2=121197&pathrev=121198
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/mach_broker_mac.h?r1=121198&r2=121197&pathrev=121198
mac: Add _EXPORT macros, content/.
BUG=90078
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9368017
------------------------------------------------------------------------
Comment #20 on issue 90078 by tha...@chromium.org: Implement components
(No comment was entered for this change.)
The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=125691
------------------------------------------------------------------------
r125691 | tha...@chromium.org | Thu Mar 08 13:47:48 PST 2012
Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/gpu/gpu_common.gypi?r1=125691&r2=125690&pathrev=125691
Make gles2_c_lib depend on command_buffer_client
gles2_c_lib is missing a dependency on command_buffer_client, since
GLES2AttachShader and friends use
gpu::CommandBufferHelper::GetSpace(unsigned
int). This breaks the work-in-progress components build on mac.
(Triggered by https://chromiumcodereview.appspot.com/9581018/)
BUG=90078
TEST=none
Review URL: http://codereview.chromium.org/9630019
------------------------------------------------------------------------
The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=126103
------------------------------------------------------------------------
r126103 | tha...@chromium.org | Sun Mar 11 23:50:58 PDT 2012
Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/content.gyp?r1=126103&r2=126102&pathrev=126103
mac: Make content depend on mach_override in shared builds
mach_override is used by both content and chrome. Since it's small, it's
easier
to just statically link it into both targets.
BUG=90078
TEST=none
Review URL: http://codereview.chromium.org/9690001
------------------------------------------------------------------------
The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=126332
------------------------------------------------------------------------
r126332 | tha...@chromium.org | Mon Mar 12 21:47:18 PDT 2012
Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/bookmarks/bookmark_pasteboard_helper_mac.mm?r1=126332&r2=126331&pathrev=126332
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/ui/cocoa/url_drop_target.mm?r1=126332&r2=126331&pathrev=126332
mac: Don't use kWebURLsWithTitlesPboardType from third_party/mozilla
It's a hidden symbol in content when doing a components build. Since the
string
needs to match what Safari uses anyway, it's unlikely to change: Just
hardcode
it in url_drop_target.mm.
While here, fix a possible ODR violation in
bookmark_pasteboard_helper_mac.mm
BUG=90078
TEST=none
TBR=sky
Review URL: http://codereview.chromium.org/9692020
------------------------------------------------------------------------
The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=127068
------------------------------------------------------------------------
r127068 | tha...@chromium.org | Thu Mar 15 18:33:16 PDT 2012
Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/skia/ext/bitmap_platform_device_mac.h?r1=127068&r2=127067&pathrev=127068
skia/ext: Add SK_API to a function used from a test
BUG=90078
TEST=none
Review URL: http://codereview.chromium.org/9699078
------------------------------------------------------------------------
The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=127082
------------------------------------------------------------------------
r127082 | tha...@chromium.org | Thu Mar 15 19:00:22 PDT 2012
Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/webkit/tools/test_shell/mac/test_webview_delegate.mm?r1=127082&r2=127081&pathrev=127082
M
http://src.chromium.org/viewvc/chrome/trunk/src/webkit/glue/webmenurunner_mac.h?r1=127082&r2=127081&pathrev=127082
M
http://src.chromium.org/viewvc/chrome/trunk/src/webkit/glue/webmenurunner_mac.mm?r1=127082&r2=127081&pathrev=127082
mac: Move EventWithMenuAction() to the only file where it's called.
This way, it doesn't cross module boundaries.
BUG=90078
TEST=none
NOTRY=true
Review URL: http://codereview.chromium.org/9703067
------------------------------------------------------------------------
The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=127382
------------------------------------------------------------------------
r127382 | tha...@chromium.org | Sat Mar 17 15:43:01 PDT 2012
Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/ui/cocoa/one_click_signin_dialog_mac.mm?r1=127382&r2=127381&pathrev=127382
mac: Update signature of ShowOneClickSigninDialog() to match declaration.
The declaration was changed in http://codereview.chromium.org/9592015,
but the mac implementation wasn't updated.
BUG=117015,90078
TEST=Add -all_load to the linker flags.
__Z24ShowOneClickSigninDialogP7ProfileRKSsS2_S2_ doesn't show up in the
missing symbols list.
TBR=rogerta
Review URL: http://codereview.chromium.org/9716018
------------------------------------------------------------------------
The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=127389
------------------------------------------------------------------------
r127389 | tha...@chromium.org | Sat Mar 17 18:55:02 PDT 2012
Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/ui/media_stream_infobar_delegate.cc?r1=127389&r2=127388&pathrev=127389
It's OS_MACOSX, not OS_MAC.
Introduced here: http://codereview.chromium.org/9570012/
I codesearched for "\bOS_MAC\b" to make sure this is the only place
where we get this wrong.
BUG=90078
TEST=Add "-all_load" to linker command lines.
__Z24ShowOneClickSigninDialogP7ProfileRKSsS2_S2_ doesn't show up in the
list of undefined symbols.
TBR=pkasting
Review URL: http://codereview.chromium.org/9716017
------------------------------------------------------------------------
The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=127426
------------------------------------------------------------------------
r127426 | tha...@chromium.org | Sun Mar 18 22:20:09 PDT 2012
Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/webkit/plugins/npapi/webplugin_impl.h?r1=127426&r2=127425&pathrev=127426
M
http://src.chromium.org/viewvc/chrome/trunk/src/webkit/plugins/npapi/webplugin.h?r1=127426&r2=127425&pathrev=127426
M
http://src.chromium.org/viewvc/chrome/trunk/src/webkit/plugins/npapi/webplugin.cc?r1=127426&r2=127425&pathrev=127426
M
http://src.chromium.org/viewvc/chrome/trunk/src/webkit/plugins/npapi/webplugin_impl.cc?r1=127426&r2=127425&pathrev=127426
npapi plugins: Make sure WebPlugin has no key functions on mac.
See http://gcc.gnu.org/onlinedocs/gcc/Vague-Linkage.html
BUG=90078
TEST=none
Review URL: http://codereview.chromium.org/9720021
------------------------------------------------------------------------
The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=129368
------------------------------------------------------------------------
r129368 | tha...@chromium.org | Tue Mar 27 21:10:05 PDT 2012
Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/crypto/keychain_mac.h?r1=129368&r2=129367&pathrev=129368
M
http://src.chromium.org/viewvc/chrome/trunk/src/crypto/mock_keychain_mac.h?r1=129368&r2=129367&pathrev=129368
New CRYPTO_EXPORT macros.
BUG=90078
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9873017
------------------------------------------------------------------------
The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=131284
------------------------------------------------------------------------
r131284 | tha...@chromium.org | Sat Apr 07 10:47:50 PDT 2012
Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome_tests.gypi?r1=131284&r2=131283&pathrev=131284
mac: Remove explicit dependency from chrome_app_unittests on webcore.
I removed that dependency from all test targets in
http://codereview.chromium.org/9700055, but
http://codereview.chromium.org/9432033/ added the new test target
chrome_app_unittests with the bad dependency.
BUG=43791, 90078
TEST=things still build, the macshared bot on the fyi waterfall goes green
again
TBR=mad
Review URL: https://chromiumcodereview.appspot.com/10021014
------------------------------------------------------------------------
Status:
* There's a bot on the FYI bot that builds all targets in release:
http://build.chromium.org/p/chromium.fyi/builders/Chromium%20Mac%2010.6%20Shared/
It's even green every now and then. It has a few local changes though.
* Running gyp with the xcode generator with component=shared_library makes
the generator crash. That needs to be fixed. (make and ninja work.)
* For the shared build to work, ld needs to be told to load all members of
libfoo.a files. Linux uses --whole-archive and --no-whole-archive around
the .a files. OS X's ld64 doesn't have a flag pair like that. It does have
-all_load, which causes all members of _all_ .a files to be added, but that
includes implicitly added archives like libgcc.a, which makes gyp tests
fail. However, -all_load almost works (it requires also using -dead_strip
to then again strip archive members that aren't actually used and refer to
broken symbols, like in libWebKitSystemInterface.a). This needs some real
fix (maybe --force-load some .a files, but that might be hard in the
generators. Maybe a linker wrapper script could emulate linux's flags, or
this can be combined with fake thin archives which implicitly all_loads
everything). The bots has a local gyp patch to add -all_load for now.
* DYLD_LIBRARY_PATH currently needs to be set to the product dir (and the
host product dir for make). It would be nice if install_name was set
automatically when doing shared builds so that that's not needed. (The bot
has a local change to set DYLD_LIBRARY_PATH during compilation for now)
* I believe all our _export.h files are wrong, which causes things not to
work for shared debug builds on mac. I need to think about this a bit more
though. (See
http://codereview.chromium.org/7484017/diff/107001/content/common/content_export.h
for a possible change.) I did successfully link chrome in debug with a few
local changes like that locally. (but no bot for that yet)
* When that's all done, someone needs to measure how much time the
component build saves compared to normal builds in various scenarios.
Uncommenting the line
'<(chromium_src_dir)/third_party/icu/icu.gyp:*',
from third_party/WebKit/Source/WebKit/chromium/WebKit.gyp makes the xcode
generator exception go away.
Small repro: Put this in test.gyp in the source root:
{
'targets': [
{
'target_name': 'webkit',
'type': 'static_library',
'dependencies': [
'third_party/icu/icu.gyp:icuuc',
],
'conditions': [
['1==1', {
'type': '<(component)',
'dependencies': [
'third_party/icu/icu.gyp:*',
],
}],
],
},
],
}
Running `time build/gyp_chromium -Dcomponent=shared_library test.gyp` will
repro. If the 'type' key is moved out of the conditional, the xcode
generator assert goes away.
Smaller:
test.gyp:
{
'targets': [
{
'target_name': 'webkit',
'type': 'static_library',
'dependencies': [
'testicu.gyp:icuuc',
],
'conditions': [
['1==1', {
'type': '<(component)',
'dependencies': [
'testicu.gyp:*',
],
}],
],
},
],
}
testicu.gyp:
{
'targets': [
{
'target_name': 'icuuc',
'type': 'none',
},
],
}
Comment #62 on issue 90078 by tha...@chromium.org: Implement components
Moved the xcode generator issue to issue 122588