summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--base/base.isolate22
-rw-r--r--base/base_prefs.isolate28
-rw-r--r--base/base_unittests.isolate1
-rw-r--r--build/linux/system.isolate4
-rw-r--r--crypto/crypto.isolate28
-rw-r--r--net/net.isolate39
-rw-r--r--net/net_unittests.isolate7
-rw-r--r--net/third_party/nss/ssl.isolate14
-rw-r--r--net/third_party/nss/ssl_base.isolate16
-rw-r--r--net/v8.isolate30
-rw-r--r--third_party/nss.isolate31
-rw-r--r--url/url.isolate28
12 files changed, 240 insertions, 8 deletions
diff --git a/base/base.isolate b/base/base.isolate
index c92a14b..bfa81fe 100644
--- a/base/base.isolate
+++ b/base/base.isolate
@@ -8,7 +8,6 @@
'isolate_dependency_tracked': [
'<(PRODUCT_DIR)/lib/libbase.so',
'<(PRODUCT_DIR)/lib/libbase_i18n.so',
- '<(PRODUCT_DIR)/lib/libbase_prefs.so',
],
},
}],
@@ -17,7 +16,6 @@
'isolate_dependency_tracked': [
'<(PRODUCT_DIR)/libbase.dylib',
'<(PRODUCT_DIR)/libbase_i18n.dylib',
- '<(PRODUCT_DIR)/libbase_prefs.dylib',
],
},
}],
@@ -26,13 +24,31 @@
'isolate_dependency_tracked': [
'<(PRODUCT_DIR)/base.dll',
'<(PRODUCT_DIR)/base_i18n.dll',
- '<(PRODUCT_DIR)/base_prefs.dll',
],
},
}],
],
+ # Important note:
+ # Running:
+ # 1. GYP_DEFINES=component=shared_library build/gyp_chromium
+ # 2. ninja -C out/Debug base
+ # will result with only libbase.so being built. Building base by itself won't
+ # force the build of icu or nss. This is because base is not usable by itself.
+ # But on the other hand any test that includes base will be building and
+ # loading at runtime both icu and nss. So define here what is brought by
+ # importing base, not what base would load at runtime.
+ #
+ # There is no such thing as direct_dependent in .isolate, so it's not the best
+ # format to describe this kind of thing. But as a user of base.so, the user
+ # will be importing these other libraries:
'includes': [
+ # While the target 'base' doesn't depend on ../build/linux/system.gyp:ssl
+ # itself, virtually all targets using it has to include
+ # ../third_party/nss/ssl.gyp:libssl through system.gyp.
'../build/linux/system.isolate',
+ # While the target 'base' doesn't depend on ../third_party/icu/icu.gyp
+ # itself, virtually all targets using it has to include icu. The only
+ # exception is the Windows sandbox (?).
'../third_party/icu/icu.isolate',
],
}
diff --git a/base/base_prefs.isolate b/base/base_prefs.isolate
new file mode 100644
index 0000000..dbc94d3
--- /dev/null
+++ b/base/base_prefs.isolate
@@ -0,0 +1,28 @@
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+{
+ 'conditions': [
+ ['OS=="linux" and component=="shared_library"', {
+ 'variables': {
+ 'isolate_dependency_tracked': [
+ '<(PRODUCT_DIR)/lib/libbase_prefs.so',
+ ],
+ },
+ }],
+ ['OS=="mac" and component=="shared_library"', {
+ 'variables': {
+ 'isolate_dependency_tracked': [
+ '<(PRODUCT_DIR)/libbase_prefs.dylib',
+ ],
+ },
+ }],
+ ['OS=="win" and component=="shared_library"', {
+ 'variables': {
+ 'isolate_dependency_tracked': [
+ '<(PRODUCT_DIR)/base_prefs.dll',
+ ],
+ },
+ }],
+ ],
+}
diff --git a/base/base_unittests.isolate b/base/base_unittests.isolate
index e9df795..3da5a20 100644
--- a/base/base_unittests.isolate
+++ b/base/base_unittests.isolate
@@ -57,5 +57,6 @@
],
'includes': [
'base.isolate',
+ 'base_prefs.isolate',
],
}
diff --git a/build/linux/system.isolate b/build/linux/system.isolate
index 79fa36b..3933af1 100644
--- a/build/linux/system.isolate
+++ b/build/linux/system.isolate
@@ -2,7 +2,11 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
+ # This file is only used with the condition "desktop_linux==1 or chromeos==1".
'includes': [
+ # This is only used when use_openssl==0.
+ # TODO(rsleevi): This is awkward, because this file is imported from
+ # base.isolate but references net, causing an improper import cycle.
'../../net/third_party/nss/ssl.isolate',
],
}
diff --git a/crypto/crypto.isolate b/crypto/crypto.isolate
new file mode 100644
index 0000000..9679d5b
--- /dev/null
+++ b/crypto/crypto.isolate
@@ -0,0 +1,28 @@
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+{
+ 'conditions': [
+ ['OS=="linux" and component=="shared_library"', {
+ 'variables': {
+ 'isolate_dependency_tracked': [
+ '<(PRODUCT_DIR)/lib/libcrcrypto.so',
+ ],
+ },
+ }],
+ ['OS=="mac" and component=="shared_library"', {
+ 'variables': {
+ 'isolate_dependency_tracked': [
+ '<(PRODUCT_DIR)/libcrcrypto.dylib',
+ ],
+ },
+ }],
+ ['OS=="win" and component=="shared_library"', {
+ 'variables': {
+ 'isolate_dependency_tracked': [
+ '<(PRODUCT_DIR)/crcrypto.dll',
+ ],
+ },
+ }],
+ ],
+}
diff --git a/net/net.isolate b/net/net.isolate
new file mode 100644
index 0000000..db983e7
--- /dev/null
+++ b/net/net.isolate
@@ -0,0 +1,39 @@
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+{
+ 'conditions': [
+ ['OS=="linux" and component=="shared_library"', {
+ 'variables': {
+ 'isolate_dependency_tracked': [
+ '<(PRODUCT_DIR)/lib/libnet.so',
+ '<(PRODUCT_DIR)/lib/libnet_with_v8.so',
+ ],
+ },
+ }],
+ ['OS=="mac" and component=="shared_library"', {
+ 'variables': {
+ 'isolate_dependency_tracked': [
+ '<(PRODUCT_DIR)/libnet.dylib',
+ '<(PRODUCT_DIR)/libnet_with_v8.dylib',
+ ],
+ },
+ }],
+ ['OS=="win" and component=="shared_library"', {
+ 'variables': {
+ 'isolate_dependency_tracked': [
+ '<(PRODUCT_DIR)/net.dll',
+ '<(PRODUCT_DIR)/net_with_v8.dll',
+ ],
+ },
+ }],
+ ],
+ 'includes': [
+ '../base/base.isolate',
+ '../crypto/crypto.isolate',
+ '../third_party/nss.isolate',
+ '../url/url.isolate',
+ 'third_party/nss/ssl.isolate',
+ 'v8.isolate',
+ ],
+}
diff --git a/net/net_unittests.isolate b/net/net_unittests.isolate
index 96e6517..e09516d 100644
--- a/net/net_unittests.isolate
+++ b/net/net_unittests.isolate
@@ -1,4 +1,4 @@
-# Copyright (c) 2012 The Chromium Authors. All rights reserved.
+# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
@@ -38,14 +38,15 @@
],
},
}],
- ['OS=="win"', {
+ ['OS=="linux" and component=="shared_library"', {
'variables': {
'isolate_dependency_tracked': [
+ '<(PRODUCT_DIR)/lib/libopenssl.so',
],
},
}],
],
'includes': [
- '../third_party/icu/icu.isolate',
+ 'net.isolate',
],
}
diff --git a/net/third_party/nss/ssl.isolate b/net/third_party/nss/ssl.isolate
index db208ed..f538e82 100644
--- a/net/third_party/nss/ssl.isolate
+++ b/net/third_party/nss/ssl.isolate
@@ -3,12 +3,22 @@
# found in the LICENSE file.
{
'conditions': [
- ['OS=="linux" and component=="shared_library" and use_openssl==0', {
+ ['OS=="mac" and component=="shared_library"', {
'variables': {
'isolate_dependency_tracked': [
- '<(PRODUCT_DIR)/lib/libcrssl.so',
+ '<(PRODUCT_DIR)/libcrssl.dylib',
],
},
}],
+ ['OS=="win" and component=="shared_library"', {
+ 'variables': {
+ 'isolate_dependency_tracked': [
+ '<(PRODUCT_DIR)/crssl.dll',
+ ],
+ },
+ }],
+ ],
+ 'includes': [
+ 'ssl_base.isolate',
],
}
diff --git a/net/third_party/nss/ssl_base.isolate b/net/third_party/nss/ssl_base.isolate
new file mode 100644
index 0000000..3bae2bd
--- /dev/null
+++ b/net/third_party/nss/ssl_base.isolate
@@ -0,0 +1,16 @@
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# This is what is included by base_unittests.
+{
+ 'conditions': [
+ ['OS=="linux" and component=="shared_library" and use_openssl==0', {
+ 'variables': {
+ 'isolate_dependency_tracked': [
+ '<(PRODUCT_DIR)/lib/libcrssl.so',
+ ],
+ },
+ }],
+ ],
+}
diff --git a/net/v8.isolate b/net/v8.isolate
new file mode 100644
index 0000000..7ecc01f
--- /dev/null
+++ b/net/v8.isolate
@@ -0,0 +1,30 @@
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# TODO(maruel): Move to ../v8/v8.isolate but this is a separate repo.
+{
+ 'conditions': [
+ ['OS=="linux" and component=="shared_library"', {
+ 'variables': {
+ 'isolate_dependency_tracked': [
+ '<(PRODUCT_DIR)/lib/libv8.so',
+ ],
+ },
+ }],
+ ['OS=="mac" and component=="shared_library"', {
+ 'variables': {
+ 'isolate_dependency_tracked': [
+ '<(PRODUCT_DIR)/libv8.dylib',
+ ],
+ },
+ }],
+ ['OS=="win" and component=="shared_library"', {
+ 'variables': {
+ 'isolate_dependency_tracked': [
+ '<(PRODUCT_DIR)/v8.dll',
+ ],
+ },
+ }],
+ ],
+}
diff --git a/third_party/nss.isolate b/third_party/nss.isolate
new file mode 100644
index 0000000..4a35f95
--- /dev/null
+++ b/third_party/nss.isolate
@@ -0,0 +1,31 @@
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# TODO(maruel): this file should live in third_party/nss but two factors get in
+# the way:
+# - .isolate files do not support conditional includes. This works in gyp by
+# using the 'dependencies': [ 'path/to/file.gyp:project' ] which dynamically
+# loads project files.
+# - third_party/nss is conditionally checked out. It is not checked out on
+# linux.
+{
+ 'conditions': [
+ ['OS=="mac" and component=="shared_library"', {
+ 'variables': {
+ 'isolate_dependency_tracked': [
+ '<(PRODUCT_DIR)/libcrnspr.dylib',
+ '<(PRODUCT_DIR)/libcrnss.dylib',
+ ],
+ },
+ }],
+ ['OS=="win" and component=="shared_library"', {
+ 'variables': {
+ 'isolate_dependency_tracked': [
+ '<(PRODUCT_DIR)/crnspr.dll',
+ '<(PRODUCT_DIR)/crnss.dll',
+ ],
+ },
+ }],
+ ],
+}
diff --git a/url/url.isolate b/url/url.isolate
new file mode 100644
index 0000000..ee27a0d
--- /dev/null
+++ b/url/url.isolate
@@ -0,0 +1,28 @@
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+{
+ 'conditions': [
+ ['OS=="linux" and component=="shared_library"', {
+ 'variables': {
+ 'isolate_dependency_tracked': [
+ '<(PRODUCT_DIR)/lib/liburl_lib.so',
+ ],
+ },
+ }],
+ ['OS=="mac" and component=="shared_library"', {
+ 'variables': {
+ 'isolate_dependency_tracked': [
+ '<(PRODUCT_DIR)/liburl_lib.dylib',
+ ],
+ },
+ }],
+ ['OS=="win" and component=="shared_library"', {
+ 'variables': {
+ 'isolate_dependency_tracked': [
+ '<(PRODUCT_DIR)/url_lib.dll',
+ ],
+ },
+ }],
+ ],
+}