Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Issue 2044023004: Mojo: Eliminate duplicate C API symbols (Closed)

Created:
4 years, 6 months ago by Ken Rockot(use gerrit already)
Modified:
4 years, 6 months ago
Reviewers:
jam
CC:
Aaron Boodman, abarth-chromium, ben+mojo_chromium.org, chromium-reviews, darin (slow to review), qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Mojo: Eliminate duplicate C API symbols This gets rid of the duplicate definitions of public Mojo C API symbols, instead making mojo/public/c/system the singular source of these definitions. This allows targets to be linked against mojo/public libraries without requiring any additional EDK dependencies at build time. To facilitate this the EDK uses the same set of API thunks as the public library, and the public library exposes a special embedder API (distinct from the DSO MojoSetSystemThunks call used by the native app loader) for setting these thunks. The MojoSetSystemThunks API is moved to a module which is only linked directly into app DSOs. Because mojo/public/c/system and mojo/edk/system are now both components, and because there are no longer redundant exports between the two, it's now safe for targets to depend on either one or both of them as needed without encountering duplicate definitions. Also some opportunistic cleanup of Mojo build rules. BUG=612500 Committed: https://crrev.com/464e306a82ead839f02f1930a684400228b72495 Cr-Commit-Position: refs/heads/master@{#398605}

Patch Set 1 : #

Total comments: 1

Patch Set 2 : gyp fixes #

Patch Set 3 : nit #

Unified diffs Side-by-side diffs Delta from patch set Stats (+273 lines, -883 lines) Patch
M mojo/edk/embedder/BUILD.gn View 4 chunks +2 lines, -10 lines 0 comments Download
M mojo/edk/embedder/embedder.cc View 2 chunks +5 lines, -0 lines 0 comments Download
A mojo/edk/embedder/entrypoints.h View 1 2 1 chunk +22 lines, -0 lines 0 comments Download
M mojo/edk/embedder/entrypoints.cc View 5 chunks +145 lines, -96 lines 0 comments Download
M mojo/edk/system/BUILD.gn View 2 chunks +1 line, -13 lines 0 comments Download
M mojo/mojo.gyp View 1 chunk +0 lines, -3 lines 0 comments Download
M mojo/mojo_base.gyp View 3 chunks +5 lines, -5 lines 0 comments Download
M mojo/mojo_edk.gyp View 3 chunks +4 lines, -10 lines 0 comments Download
M mojo/mojo_edk_nacl.gyp View 3 chunks +4 lines, -8 lines 0 comments Download
M mojo/mojo_edk_tests.gyp View 1 2 5 chunks +11 lines, -4 lines 0 comments Download
M mojo/mojo_public.gyp View 2 5 chunks +11 lines, -41 lines 0 comments Download
D mojo/mojo_variables.gypi View 1 chunk +0 lines, -50 lines 0 comments Download
M mojo/public/c/system/BUILD.gn View 2 chunks +19 lines, -30 lines 0 comments Download
A mojo/public/c/system/set_thunks_for_app.cc View 1 chunk +20 lines, -0 lines 0 comments Download
M mojo/public/c/system/system_export.h View 2 chunks +3 lines, -3 lines 0 comments Download
A + mojo/public/c/system/thunks.h View 2 chunks +10 lines, -49 lines 0 comments Download
A + mojo/public/c/system/thunks.cc View 2 chunks +4 lines, -7 lines 0 comments Download
M mojo/public/mojo_application.gni View 1 chunk +1 line, -1 line 0 comments Download
D mojo/public/platform/native/BUILD.gn View 1 chunk +0 lines, -29 lines 0 comments Download
D mojo/public/platform/native/system_thunks.h View 1 chunk +0 lines, -213 lines 0 comments Download
D mojo/public/platform/native/system_thunks.cc View 1 chunk +0 lines, -287 lines 0 comments Download
D mojo/public/platform/native/thunk_export.h View 1 chunk +0 lines, -18 lines 0 comments Download
M services/shell/runner/host/BUILD.gn View 1 chunk +1 line, -0 lines 0 comments Download
M services/shell/runner/host/native_application_support.cc View 2 chunks +4 lines, -2 lines 0 comments Download
M ui/gfx/gfx.gyp View 1 chunk +1 line, -4 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 17 (11 generated)
Ken Rockot(use gerrit already)
The sync patch kept exploding in size. Even with a separate channel target, because of ...
4 years, 6 months ago (2016-06-08 14:56:08 UTC) #6
jam
lgtm https://codereview.chromium.org/2044023004/diff/40001/mojo/edk/embedder/entrypoints.h File mojo/edk/embedder/entrypoints.h (right): https://codereview.chromium.org/2044023004/diff/40001/mojo/edk/embedder/entrypoints.h#newcode14 mojo/edk/embedder/entrypoints.h:14: MOJO_SYSTEM_IMPL_EXPORT MojoSystemThunks MakeSystemThunks(); nit: add comment
4 years, 6 months ago (2016-06-08 16:04:16 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2044023004/80001
4 years, 6 months ago (2016-06-08 16:14:40 UTC) #12
commit-bot: I haz the power
Committed patchset #3 (id:80001)
4 years, 6 months ago (2016-06-08 17:21:57 UTC) #14
commit-bot: I haz the power
Patchset 3 (id:??) landed as https://crrev.com/464e306a82ead839f02f1930a684400228b72495 Cr-Commit-Position: refs/heads/master@{#398605}
4 years, 6 months ago (2016-06-08 17:23:48 UTC) #16
Ken Rockot(use gerrit already)
4 years, 6 months ago (2016-06-08 17:58:44 UTC) #17
Message was sent while issue was closed.
A revert of this CL (patchset #3 id:80001) has been created in
https://codereview.chromium.org/2047813003/ by rockot@chromium.org.

The reason for reverting is: tentative revert due to linker errors. this doesn't
make sense. nothing makes sense. RIP sanity.

Powered by Google App Engine
This is Rietveld 408576698