Merge the following changes to XFA branch:

b3a788e  Fix GN PDFium build when building all. by John Abd-El-Malek - 19 hours ago chromium/2293
f8af677  Always use the FreeType headers included in PDFium. by John Abd-El-Malek - 24 hours ago
dc8c950  Don't export any OpenJPEG methods from PDFium. by John Abd-El-Malek - 3 days ago
71c24b8  Use system FreeType on Linux. by John Abd-El-Malek - 3 days ago

R=tsepez@chromium.org

Review URL: https://codereview.chromium.org/900433002
diff --git a/BUILD.gn b/BUILD.gn
index 4e3a00d..761e152 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -6,15 +6,19 @@
 
 pdf_use_skia = false
 
+declare_args() {
+  # On Android there's no system FreeType. On Windows and Mac, only a few
+  # methods are used from it.
+  bundle_freetype = !is_linux
+}
+
 config("pdfium_config") {
   cflags = []
-  include_dirs = [
-    "third_party/freetype/include"
-  ]
+  include_dirs = [ "third_party/freetype/include" ]
   defines = [
-    "FT2_BUILD_LIBRARY",
     "_FPDFSDK_LIB",
     "_NO_GDIPLUS_",  # workaround text rendering issues on Windows
+    "OPJ_STATIC",
   ]
 
   if (pdf_use_skia) {
@@ -91,7 +95,6 @@
 
   deps = [
     "third_party:bigint",
-    "third_party:freetype",
     "third_party:safemath",
     ":fdrm",
     ":formfiller",
@@ -116,6 +119,12 @@
   if (is_mac) {
     libs += [ "AppKit.framework", "CoreFoundation.framework" ]
   }
+
+  if (bundle_freetype) {
+    deps += [ "third_party:freetype" ]
+  } else {
+    libs += [ "freetype" ]
+  }
 }
 
 # Targets below this are only visible within this file.