diff options
-rw-r--r-- | build/common.gypi | 3 | ||||
-rw-r--r-- | build/linux/system.gyp | 86 | ||||
-rwxr-xr-x | chrome/chrome_browser.gypi | 24 |
3 files changed, 66 insertions, 47 deletions
diff --git a/build/common.gypi b/build/common.gypi index 70f42dd..0276b10 100644 --- a/build/common.gypi +++ b/build/common.gypi @@ -239,6 +239,9 @@ # (Note: this is ignored for official builds.) 'linux_use_seccomp_sandbox%': 0, + # Set to 1 to link against libgnome-keyring instead of using dlopen(). + 'linux_link_gnome_keyring%': 0, + # Set to select the Title Case versions of strings in GRD files. 'use_titlecase_in_grd_files%': 0, diff --git a/build/linux/system.gyp b/build/linux/system.gyp index 71e4afa..0126cfe 100644 --- a/build/linux/system.gyp +++ b/build/linux/system.gyp @@ -255,43 +255,55 @@ }, }]] }, -# TODO(evanm): temporarily disabled while we figure out whether to depend -# on gnome-keyring etc. -# http://code.google.com/p/chromium/issues/detail?id=12351 -# { -# 'target_name': 'gnome-keyring', -# 'type': 'settings', -# 'direct_dependent_settings': { -# 'cflags': [ -# '<!@(<(pkg-config) --cflags gnome-keyring-1)', -# ], -# }, -# 'link_settings': { -# 'ldflags': [ -# '<!@(<(pkg-config) --libs-only-L --libs-only-other gnome-keyring-1)', -# ], -# 'libraries': [ -# '<!@(<(pkg-config) --libs-only-l gnome-keyring-1)', -# ], -# }, -# }, - { - 'target_name': 'dbus-glib', - 'type': 'settings', - 'direct_dependent_settings': { - 'cflags': [ - '<!@(<(pkg-config) --cflags dbus-glib-1)', - ], - }, - 'link_settings': { - 'ldflags': [ - '<!@(<(pkg-config) --libs-only-L --libs-only-other dbus-glib-1)', - ], - 'libraries': [ - '<!@(<(pkg-config) --libs-only-l dbus-glib-1)', - ], - }, - }, + { + 'target_name': 'gnome-keyring', + 'type': 'settings', + 'direct_dependent_settings': { + 'cflags': [ + '<!@(<(pkg-config) --cflags gnome-keyring-1)', + ], + 'conditions': [ + ['linux_link_gnome_keyring==0', { + 'defines': ['DLOPEN_GNOME_KEYRING'], + }], + ], + }, + 'conditions': [ + ['linux_link_gnome_keyring!=0', { + 'link_settings': { + 'ldflags': [ + '<!@(<(pkg-config) --libs-only-L --libs-only-other gnome-keyring-1)', + ], + 'libraries': [ + '<!@(<(pkg-config) --libs-only-l gnome-keyring-1)', + ], + }, + }, { + 'link_settings': { + 'libraries': [ + '-ldl', + ], + }, + }], + ], + }, + { + 'target_name': 'dbus-glib', + 'type': 'settings', + 'direct_dependent_settings': { + 'cflags': [ + '<!@(<(pkg-config) --cflags dbus-glib-1)', + ], + }, + 'link_settings': { + 'ldflags': [ + '<!@(<(pkg-config) --libs-only-L --libs-only-other dbus-glib-1)', + ], + 'libraries': [ + '<!@(<(pkg-config) --libs-only-l dbus-glib-1)', + ], + }, + }, ], } diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi index 18065b3..2c415d1 100755 --- a/chrome/chrome_browser.gypi +++ b/chrome/chrome_browser.gypi @@ -1798,12 +1798,10 @@ 'browser/password_manager/password_store.h', 'browser/password_manager/password_store_default.cc', 'browser/password_manager/password_store_default.h', - # Temporarily disabled while we figure some stuff out. - # http://code.google.com/p/chromium/issues/detail?id=12351 - # 'browser/password_manager/password_store_gnome.h', - # 'browser/password_manager/password_store_gnome.cc', - # 'browser/password_manager/password_store_kwallet.h', - # 'browser/password_manager/password_store_kwallet.cc', + 'browser/password_manager/password_store_gnome.h', + 'browser/password_manager/password_store_gnome.cc', + 'browser/password_manager/password_store_kwallet.h', + 'browser/password_manager/password_store_kwallet.cc', 'browser/password_manager/password_store_mac_internal.h', 'browser/password_manager/password_store_mac.h', 'browser/password_manager/password_store_mac.cc', @@ -1834,7 +1832,7 @@ 'browser/pref_service.h', 'browser/pref_store.h', 'browser/pref_value_store.cc', - 'browser/pref_value_store.h', + 'browser/pref_value_store.h', 'browser/printing/print_dialog_gtk.cc', 'browser/printing/print_dialog_gtk.h', 'browser/printing/print_dialog_cloud.cc', @@ -2655,6 +2653,10 @@ }], ['chromeos==1', { 'sources!': [ + 'browser/password_manager/password_store_gnome.h', + 'browser/password_manager/password_store_gnome.cc', + 'browser/password_manager/password_store_kwallet.h', + 'browser/password_manager/password_store_kwallet.cc', 'browser/platform_util_linux.cc', ], 'link_settings': { @@ -2667,9 +2669,6 @@ 'dependencies': [ '../build/linux/system.gyp:dbus-glib', '../build/linux/system.gyp:gconf', - # Temporarily disabled while we figure some stuff out. - # http://code.google.com/p/chromium/issues/detail?id=12351 - # '../build/linux/system.gyp:gnome-keyring', '../build/linux/system.gyp:gtk', '../build/linux/system.gyp:gtkprint', '../build/linux/system.gyp:nss', @@ -2703,6 +2702,11 @@ 'third_party/mozilla_security_manager/nsUsageArrayHelper.h', ], 'conditions': [ + ['chromeos==0', { + 'dependencies': [ + '../build/linux/system.gyp:gnome-keyring', + ], + }], ['linux_breakpad==1', { 'sources': [ 'app/breakpad_linux.cc', |