Use system FreeType on Linux.
[pdfium.git] / BUILD.gn
index a6ea102..9c58b03 100644 (file)
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -6,13 +6,15 @@ import("//testing/test.gni")
 
 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"
-  ]
   defines = [
-    "FT2_BUILD_LIBRARY",
     "_FPDFSDK_LIB",
     "_NO_GDIPLUS_",  # workaround text rendering issues on Windows
     "OPJ_STATIC",
@@ -40,6 +42,13 @@ config("pdfium_config") {
       "/wd4345",
     ]
   }
+
+  if (bundle_freetype) {
+    include_dirs = [ "third_party/freetype/include" ]
+    defines += [ "FT2_BUILD_LIBRARY" ]
+  } else {
+    include_dirs = [ "/usr/include/freetype2" ]
+  }
 }
 
 static_library("pdfium") {
@@ -92,7 +101,6 @@ static_library("pdfium") {
 
   deps = [
     "third_party:bigint",
-    "third_party:freetype",
     "third_party:safemath",
     ":fdrm",
     ":formfiller",
@@ -115,6 +123,12 @@ static_library("pdfium") {
   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.
@@ -815,6 +829,7 @@ test("pdfium_embeddertests") {
   sources = [
     "fpdfsdk/src/fpdf_dataavail_embeddertest.cpp",
     "fpdfsdk/src/fpdfdoc_embeddertest.cpp",
+    "fpdfsdk/src/fpdftext_embeddertest.cpp",
     "fpdfsdk/src/fpdfview_embeddertest.cpp",
     "testing/embedder_test.cpp",
     "testing/embedder_test.h",