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

Issue 9465004: Add native extensions for the Dart shell to mac and windows (Closed)

Created:
8 years, 10 months ago by Bill Hesse
Modified:
8 years, 9 months ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Visibility:
Public.

Description

Add native extensions for the Dart shell to the Windows platform and the Mac OS X platform. BUG= TEST= Committed: https://code.google.com/p/dart/source/detail?r=5235

Patch Set 1 #

Patch Set 2 : Fix windows errors #

Patch Set 3 : Fix windows bugs. #

Patch Set 4 : Use Macros in dart_api_impl.cc #

Patch Set 5 : Change dart_api_impl.cc file to use Macros. #

Patch Set 6 : Add separate wrapper file. #

Patch Set 7 : Working set of wrappers for full Dart API, and test, on Windows. #

Patch Set 8 : Make cl one million times better - no wrappers. #

Patch Set 9 : Fix typos #

Total comments: 11

Patch Set 10 : Add MacOS implementation, refactor and create extensions.cc #

Total comments: 23

Patch Set 11 : Address comments. #

Total comments: 1

Patch Set 12 : Replace MakeString with Concatenate #

Patch Set 13 : Replace MakeString with Concatenate #

Total comments: 2

Patch Set 14 : Use shared library (dylib) on Mac (and therefore for all platforms). #

Unified diffs Side-by-side diffs Delta from patch set Stats (+164 lines, -128 lines) Patch
M runtime/bin/bin.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +40 lines, -21 lines 0 comments Download
M runtime/bin/builtin_impl_sources.gypi View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M runtime/bin/extensions.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +9 lines, -3 lines 0 comments Download
A runtime/bin/extensions.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +57 lines, -0 lines 0 comments Download
M runtime/bin/extensions_linux.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +12 lines, -37 lines 0 comments Download
M runtime/bin/extensions_macos.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +12 lines, -6 lines 0 comments Download
M runtime/bin/extensions_win.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +9 lines, -6 lines 0 comments Download
A + runtime/bin/test_extension.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +11 lines, -12 lines 0 comments Download
A runtime/bin/test_extension_dllmain_win.cc View 1 2 3 4 5 6 7 1 chunk +12 lines, -0 lines 0 comments Download
D runtime/bin/test_extension_linux.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +0 lines, -42 lines 0 comments Download
M tests/standalone/src/io/test_extension.dart View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 19 (0 generated)
Bill Hesse
8 years, 9 months ago (2012-03-02 14:07:16 UTC) #1
Ivan Posva
This is not what we agreed to do. The biggest problem is that you need ...
8 years, 9 months ago (2012-03-02 21:40:24 UTC) #2
Bill Hesse
On 2012/03/02 21:40:24, Ivan Posva wrote: > This is not what we agreed to do. ...
8 years, 9 months ago (2012-03-05 09:20:39 UTC) #3
Søren Gjesse
On 2012/03/05 09:20:39, Bill Hesse wrote: > On 2012/03/02 21:40:24, Ivan Posva wrote: > > ...
8 years, 9 months ago (2012-03-05 12:50:11 UTC) #4
Bill Hesse
It could work to wrap all the implementation bodies in an ifdef wrapper, though the ...
8 years, 9 months ago (2012-03-05 14:02:30 UTC) #5
Ivan Posva
Personally I do not have much of an opinion how you ensure that the stub ...
8 years, 9 months ago (2012-03-06 00:28:31 UTC) #6
Bill Hesse
http://codereview.chromium.org/9465004/diff/22001/runtime/bin/extensions_win.cc File runtime/bin/extensions_win.cc (right): http://codereview.chromium.org/9465004/diff/22001/runtime/bin/extensions_win.cc#newcode16 runtime/bin/extensions_win.cc:16: fprintf(stderr, "Reached 1\n"); Remove this fprintf. http://codereview.chromium.org/9465004/diff/22001/runtime/bin/extensions_win.cc#newcode22 runtime/bin/extensions_win.cc:22: printf("%s\n", ...
8 years, 9 months ago (2012-03-06 15:04:06 UTC) #7
Mads Ager (google)
For context: Bill figured out today that we do not have to generate the link ...
8 years, 9 months ago (2012-03-06 15:32:50 UTC) #8
Søren Gjesse
lgtm http://codereview.chromium.org/9465004/diff/22001/runtime/bin/bin.gypi File runtime/bin/bin.gypi (right): http://codereview.chromium.org/9465004/diff/22001/runtime/bin/bin.gypi#newcode345 runtime/bin/bin.gypi:345: 'msvs_settings': { Should we perhaps add the same ...
8 years, 9 months ago (2012-03-07 06:58:31 UTC) #9
Ivan Posva
Thanks for figuring out a way that is not as horrible as building our own ...
8 years, 9 months ago (2012-03-07 07:22:50 UTC) #10
Bill Hesse
OK, I think all comments have been addressed adequately. https://chromiumcodereview.appspot.com/9465004/diff/25001/runtime/bin/test_extension.cc File runtime/bin/test_extension.cc (right): https://chromiumcodereview.appspot.com/9465004/diff/25001/runtime/bin/test_extension.cc#newcode8 runtime/bin/test_extension.cc:8: ...
8 years, 9 months ago (2012-03-07 14:11:30 UTC) #11
Mads Ager (google)
This is getting very close. A bunch of minor comments that we should address and ...
8 years, 9 months ago (2012-03-07 14:31:48 UTC) #12
Ivan Posva
Also please fix the description of the change now that it is more that just ...
8 years, 9 months ago (2012-03-07 19:06:23 UTC) #13
Bill Hesse
The standard names that gyp produces for a project foo that produces a shared library ...
8 years, 9 months ago (2012-03-08 12:04:37 UTC) #14
Mads Ager (google)
I still don't like MakeString. I would be fine with aligning this with what 'gyp' ...
8 years, 9 months ago (2012-03-08 12:31:29 UTC) #15
Bill Hesse
MakeString removed and replaced with Concatenate.
8 years, 9 months ago (2012-03-08 14:09:29 UTC) #16
Mads Ager (google)
OK, LGTM https://chromiumcodereview.appspot.com/9465004/diff/36001/runtime/bin/extensions.h File runtime/bin/extensions.h (right): https://chromiumcodereview.appspot.com/9465004/diff/36001/runtime/bin/extensions.h#newcode19 runtime/bin/extensions.h:19: // The returned string must be freed. ...
8 years, 9 months ago (2012-03-08 14:12:16 UTC) #17
Ivan Posva
Bill, Go ahead with this change, but please file a bug against yourself to resolve ...
8 years, 9 months ago (2012-03-08 17:03:04 UTC) #18
Bill Hesse
8 years, 9 months ago (2012-03-09 13:24:52 UTC) #19
All three builds are using shared_library now, and the
from-scratch simple xcode build of a dylib, and the gyp build of a dylib,
both produce libfoo.dylib, which is what we are using for a name on MacOS.



On 2012/03/08 17:03:04, Ivan Posva wrote:
> Bill,
> 
> Go ahead with this change, but please file a bug against yourself to resolve
the
> outstanding inconsitencies.
> 
> -Ivan
> 
> https://chromiumcodereview.appspot.com/9465004/diff/36001/runtime/bin/bin.gypi
> File runtime/bin/bin.gypi (right):
> 
>
https://chromiumcodereview.appspot.com/9465004/diff/36001/runtime/bin/bin.gyp...
> runtime/bin/bin.gypi:449: 'type': 'shared_library',
> Why are windows and linux not using loadable_module?

Powered by Google App Engine
This is Rietveld 408576698