summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2017-05-24 08:40:49 +0200
committerChromium commit bot <commit-bot@chromium.org>2017-05-24 23:48:30 +0000
commit0fafb4fc5009418bff9578f8da940a980ee5b28d (patch)
tree3e79229c223e41eede4773124469fce6a07f51e6
parentdc8a2b7606c2c6c12d5cfb280dfb49128c1a60ab (diff)
downloadpdfium-chromium/3111.tar.xz
core: allow building against system lcms2chromium/3111
In a way similar to the existing USE_SYSTEM_ZLIB. The default is of course still the bundled lcms2. Change-Id: I219b50854b3c7870b0f4d94574ba39f6cb26f556 Reviewed-on: https://pdfium-review.googlesource.com/5870 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
-rw-r--r--BUILD.gn2
-rw-r--r--core/fxcodec/codec/fx_codec_icc.cpp5
-rw-r--r--core/fxcodec/codec/fx_codec_jpx_opj.cpp7
-rw-r--r--pdfium.gni3
-rw-r--r--third_party/BUILD.gn15
5 files changed, 30 insertions, 2 deletions
diff --git a/BUILD.gn b/BUILD.gn
index debeab988e..073fd57b15 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -705,8 +705,8 @@ static_library("fxcodec") {
include_dirs = []
deps = [
":fxcrt",
- "third_party:fx_lcms2",
"third_party:fx_libopenjpeg",
+ "third_party:lcms2",
"third_party:zlib",
"//third_party:jpeg",
]
diff --git a/core/fxcodec/codec/fx_codec_icc.cpp b/core/fxcodec/codec/fx_codec_icc.cpp
index 7592c053c5..ee562f0e92 100644
--- a/core/fxcodec/codec/fx_codec_icc.cpp
+++ b/core/fxcodec/codec/fx_codec_icc.cpp
@@ -6,7 +6,12 @@
#include "core/fxcodec/codec/codec_int.h"
#include "core/fxcodec/fx_codec.h"
+
+#if defined(USE_SYSTEM_LCMS2)
+#include <lcms2.h>
+#else
#include "third_party/lcms2-2.6/include/lcms2.h"
+#endif
struct CLcmsCmm {
cmsHTRANSFORM m_hTransform;
diff --git a/core/fxcodec/codec/fx_codec_jpx_opj.cpp b/core/fxcodec/codec/fx_codec_jpx_opj.cpp
index 30e79deeeb..9627025164 100644
--- a/core/fxcodec/codec/fx_codec_jpx_opj.cpp
+++ b/core/fxcodec/codec/fx_codec_jpx_opj.cpp
@@ -16,9 +16,14 @@
#include "core/fxcodec/fx_codec.h"
#include "core/fxcrt/fx_safe_types.h"
#include "third_party/base/ptr_util.h"
-#include "third_party/lcms2-2.6/include/lcms2.h"
#include "third_party/libopenjpeg20/openjpeg.h"
+#if defined(USE_SYSTEM_LCMS2)
+#include <lcms2.h>
+#else
+#include "third_party/lcms2-2.6/include/lcms2.h"
+#endif
+
static void fx_error_callback(const char* msg, void* client_data) {
(void)client_data;
}
diff --git a/pdfium.gni b/pdfium.gni
index b28ff8b163..d9bdfb6687 100644
--- a/pdfium.gni
+++ b/pdfium.gni
@@ -55,6 +55,9 @@ declare_args() {
# Don't build against bundled zlib.
use_system_zlib = false
+
+ # Don't build against bundled lcms2.
+ use_system_lcms2 = false
}
if (pdf_use_skia && pdf_use_skia_paths) {
diff --git a/third_party/BUILD.gn b/third_party/BUILD.gn
index 4e12741f69..6d093f2249 100644
--- a/third_party/BUILD.gn
+++ b/third_party/BUILD.gn
@@ -336,6 +336,21 @@ group("zlib") {
}
}
+config("system_lcms2_config") {
+ libs = [ "lcms2" ]
+ defines = [ "USE_SYSTEM_LCMS2" ]
+}
+
+group("lcms2") {
+ if (use_system_lcms2) {
+ public_configs = [ ":system_lcms2_config" ]
+ } else {
+ public_deps = [
+ ":fx_lcms2",
+ ]
+ }
+}
+
config("fx_libopenjpeg_warnings") {
visibility = [ ":*" ]
if (is_win) {