Add gyp files to build NSS in Dart
The change builds static versions of the cross-platform secure networking libraries NSS and NSPR from Mozilla, on Linux, MacOS, and Windows. These libraries are linked with the standalone Dart executable in a future changelist to support HTTPS and SSL networking in dart:io.
The built libraries will be tested by that future changelist.
Patchlist 19 was committed: https://code.google.com/p/dart/source/detail?r=14524
Reverted in r=14529
Pachlist 21 was committed: https://code.google.com/p/dart/source/detail?r=14684
Reverted in r=14688
Committed: https://code.google.com/p/dart/source/detail?r=14730
Just barely working on all three platforms, building static libraries, that work when linked with ...
8 years, 2 months ago
(2012-09-27 13:41:31 UTC)
#1
Just barely working on all three platforms, building static libraries, that work
when linked with Dart. I will move the modified gyp files to a good place
outside third_party, and see if I can make them work there.
Bill Hesse
Not ready for review at all - the modifications to tools/gyp should be moved out ...
8 years, 2 months ago
(2012-09-27 13:43:46 UTC)
#2
Not ready for review at all - the modifications to tools/gyp should be moved out
into the third party gyp files, and reduced in number and scope. Some patch
files are obsolete.
On 2012/09/27 13:41:31, Bill Hesse wrote:
> Just barely working on all three platforms, building static libraries, that
work
> when linked with Dart. I will move the modified gyp files to a good place
> outside third_party, and see if I can make them work there.
Bill Hesse
Ready for review - it is reduced from 20 files down to 5 files.
All comments addressed.
The changes to the gyp files from the Chromium versions have been minimized, and
documented. It seems like they could be upstreamed in conditions sections,
depending on a flag, but that would put what looks like a linux build in
Chromium, that doesn't actually build in Chromium, and other extraneous parts
that aren't relevant to Chromium builds in them.
Tested on all platforms.
Mads Ager (google)
This is getting there. Final round of comments for the first version from me. Longer ...
I will check out whether the compilation lines for existing targets have changed
(except to include the new include directories and linked libraries, where
appropriate) on all platforms. Since we didn't change any of the global gyp
files, they should not have.
http://codereview.chromium.org/10909189/diff/46001/runtime/bin/bin.gypi
File runtime/bin/bin.gypi (right):
http://codereview.chromium.org/10909189/diff/46001/runtime/bin/bin.gypi#newco...
runtime/bin/bin.gypi:318: 'export_dependent_settings': [
On 2012/11/02 15:58:52, Ivan Posva wrote:
> Can you briefly explain what this does and why it was needed?
The targets like nss and zlib include direct-dependent settings for include
directories and defines, and to pass these up to the libdart_builtin, that is
actually compiling against the libraries and the header files, we need to pass
them through this intermediate target. That is what export_dependent_settings
does.
We could avoid this by just putting the targets as dependencies in
libdart_builtin, and removing this target. Do you think we should do this?
http://codereview.chromium.org/10909189/diff/46001/runtime/bin/net/nss.gyp
File runtime/bin/net/nss.gyp (right):
http://codereview.chromium.org/10909189/diff/46001/runtime/bin/net/nss.gyp#ne...
runtime/bin/net/nss.gyp:186:
'<(nss_directory)/mozilla/nsprpub/pr/src/md/unix/linux.c', # Added.
On 2012/11/02 15:58:52, Ivan Posva wrote:
> Is this also "Added by Dart"?
Yes. I'll change it. It didn't fit as an end-of-line comment.
Bill Hesse
All comments addressed. The compilation commands issued when building via tools/build.py runtime have been examined, ...
8 years, 1 month ago
(2012-11-05 10:39:27 UTC)
#10
All comments addressed.
The compilation commands issued when building via tools/build.py runtime have
been examined, and the only difference is that more include directories and
defines have been added to the compilation of files in the target
libdart_builtin. All the commands for all other targets, including the VM,
tests, and the Dart executable, are unchanged. Commands to compile the NSS and
NSPR libraries have been added, of course.
Søren Gjesse
lgtm
8 years, 1 month ago
(2012-11-05 11:24:51 UTC)
#11
lgtm
Mads Ager (google)
LGTM https://codereview.chromium.org/10909189/diff/49002/runtime/tools/gyp/nss_configurations.gypi File runtime/tools/gyp/nss_configurations.gypi (right): https://codereview.chromium.org/10909189/diff/49002/runtime/tools/gyp/nss_configurations.gypi#newcode37 runtime/tools/gyp/nss_configurations.gypi:37: '-fno-exceptions', Could you add two sections here? One ...
8 years, 1 month ago
(2012-11-05 12:42:32 UTC)
#12
https://chromiumcodereview.appspot.com/10909189/diff/44010/runtime/bin/bin.gypi File runtime/bin/bin.gypi (right): https://chromiumcodereview.appspot.com/10909189/diff/44010/runtime/bin/bin.gypi#newcode310 runtime/bin/bin.gypi:310: 'nss', Can you list the different nss dependencies here? ...
8 years, 1 month ago
(2012-11-09 23:00:20 UTC)
#13
Issue 10909189: Add gyp files to build NSS in Dart
(Closed)
Created 8 years, 3 months ago by Bill Hesse
Modified 8 years, 1 month ago
Reviewers: Mads Ager (google), Ivan Posva, Søren Gjesse
Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Comments: 17