Fix gn --check complaints about fxcrt. (try 2)

Previous attempt: https://codereview.chromium.org/2289263005
It failed for the PDFium inside Chromium use case.
This time the paths are relative.

Review-Url: https://codereview.chromium.org/2308873002
diff --git a/BUILD.gn b/BUILD.gn
index 1223ef6..8df422d 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -142,6 +142,9 @@
     "third_party:pdfium_base",
   ]
 
+  public_deps = [
+    ":fxcrt",
+  ]
   if (pdf_enable_xfa) {
     sources += [
       "fpdfsdk/cpdfsdk_xfawidget.cpp",
@@ -219,6 +222,9 @@
     "core/fdrm/crypto/include/fx_crypt.h",
   ]
   configs += [ ":pdfium_core_config" ]
+  deps = [
+    ":fxcrt",
+  ]
 }
 
 static_library("fpdfdoc") {
@@ -310,6 +316,9 @@
     "core/fpdfdoc/tagged_int.h",
   ]
   configs += [ ":pdfium_core_config" ]
+  deps = [
+    ":fxcrt",
+  ]
 }
 
 static_library("fpdfapi") {
@@ -534,6 +543,9 @@
     "core/fpdfapi/include/cpdf_pagerendercontext.h",
   ]
   configs += [ ":pdfium_core_config" ]
+  deps = [
+    ":fxcrt",
+  ]
 }
 
 static_library("fpdftext") {
@@ -548,17 +560,12 @@
     "core/fpdftext/unicodenormalizationdata.h",
   ]
   configs += [ ":pdfium_core_config" ]
+  deps = [
+    ":fxcrt",
+  ]
 }
 
 static_library("fxcodec") {
-  deps = [
-    "third_party:fx_lcms2",
-    "third_party:fx_libopenjpeg",
-    "third_party:fx_zlib",
-
-    # This is a generic JPEG library dependency.
-    "//third_party:jpeg",
-  ]
   sources = [
     "core/fxcodec/codec/ccodec_basicmodule.h",
     "core/fxcodec/codec/ccodec_faxmodule.h",
@@ -619,7 +626,18 @@
     "core/fxcodec/jbig2/JBig2_TrdProc.cpp",
     "core/fxcodec/jbig2/JBig2_TrdProc.h",
   ]
+  configs += [ ":pdfium_core_config" ]
   include_dirs = []
+  deps = [
+    ":fxcrt",
+    "third_party:fx_lcms2",
+    "third_party:fx_libopenjpeg",
+    "third_party:fx_zlib",
+
+    # This is a generic JPEG library dependency.
+    "//third_party:jpeg",
+  ]
+
   if (pdf_enable_xfa) {
     sources += [
       "core/fxcodec/codec/ccodec_bmpmodule.h",
@@ -647,7 +665,6 @@
     # conversion to check that an address is 16-bit aligned (benign).
     cflags_c = [ "-Wno-pointer-to-int-cast" ]
   }
-  configs += [ ":pdfium_core_config" ]
 }
 
 config("fxge_warnings") {
@@ -703,6 +720,13 @@
     "core/fxcrt/xml_int.h",
   ]
   configs += [ ":pdfium_core_config" ]
+  visibility += [ "third_party:*" ]
+  deps = [
+    "third_party:pdfium_base",
+  ]
+  public_deps = [
+    "third_party:pdfium_base",
+  ]
 
   if (pdf_enable_xfa) {
     sources += [
@@ -804,6 +828,10 @@
     ":pdfium_core_config",
   ]
 
+  deps = [
+    ":fxcrt",
+  ]
+
   if (pdf_enable_xfa) {
     sources += [
       "core/fxge/ge/cfx_unicodeencodingex.cpp",
@@ -813,18 +841,14 @@
 
   if (pdf_use_skia) {
     sources += [ "core/fxge/skia/fx_skia_device.cpp" ]
-    deps = [
-      "//skia",
-    ]
+    deps += [ "//skia" ]
   } else {
     sources += [
       "core/fxge/agg/fx_agg_driver.cpp",
       "core/fxge/agg/fx_agg_driver.h",
       "core/fxge/apple/fx_apple_platform.cpp",
     ]
-    deps = [
-      "third_party:fx_agg",
-    ]
+    deps += [ "third_party:fx_agg" ]
   }
 
   if (is_win) {
@@ -851,6 +875,9 @@
     "fpdfsdk/fxedit/include/fxet_list.h",
   ]
   configs += [ ":pdfium_core_config" ]
+  deps = [
+    ":fxcrt",
+  ]
 }
 
 static_library("pdfwindow") {
@@ -881,6 +908,9 @@
     "fpdfsdk/pdfwindow/PWL_Wnd.h",
   ]
   configs += [ ":pdfium_core_config" ]
+  deps = [
+    ":fxcrt",
+  ]
 }
 
 static_library("javascript") {
@@ -888,6 +918,11 @@
     "fpdfsdk/javascript/ijs_context.h",
     "fpdfsdk/javascript/ijs_runtime.h",
   ]
+  configs += [ ":pdfium_core_config" ]
+  deps = [
+    ":fxcrt",
+  ]
+
   if (pdf_enable_v8) {
     sources += [
       "fpdfsdk/javascript/Annot.cpp",
@@ -934,14 +969,11 @@
       "fpdfsdk/javascript/util.cpp",
       "fpdfsdk/javascript/util.h",
     ]
-    deps = [
-      ":fxjs",
-    ]
+    deps += [ ":fxjs" ]
     configs += [ "//v8:external_startup_data" ]
   } else {
     sources += [ "fpdfsdk/javascript/JS_Runtime_Stub.cpp" ]
   }
-  configs += [ ":pdfium_core_config" ]
 }
 
 static_library("formfiller") {
@@ -966,6 +998,9 @@
     "fpdfsdk/formfiller/cffl_textfield.h",
   ]
   configs += [ ":pdfium_core_config" ]
+  deps = [
+    ":fxcrt",
+  ]
 }
 
 if (pdf_enable_v8) {
@@ -974,6 +1009,20 @@
       "fxjs/fxjs_v8.cpp",
       "fxjs/include/fxjs_v8.h",
     ]
+    configs += [ ":pdfium_core_config" ]
+    deps = [
+      ":fxcrt",
+      "//v8",
+      "//v8:v8_libplatform",
+    ]
+    include_dirs = [
+      "//v8",
+      "//v8/include",
+    ]
+    public_deps = [
+      "//v8",
+    ]
+
     if (pdf_enable_xfa) {
       sources += [
         "fxjs/cfxjse_arguments.cpp",
@@ -991,18 +1040,6 @@
         "fxjs/include/fxjse.h",
       ]
     }
-    deps = [
-      "//v8",
-      "//v8:v8_libplatform",
-    ]
-    configs += [ ":pdfium_core_config" ]
-    include_dirs = [
-      "//v8",
-      "//v8/include",
-    ]
-    public_deps = [
-      "//v8",
-    ]
   }
 }
 
@@ -1019,6 +1056,7 @@
       "fpdfsdk/fpdfxfa/include/fpdfxfa_util.h",
     ]
     deps = [
+      ":fxcrt",
       ":xfa",
     ]
     configs += [ ":pdfium_core_config" ]
@@ -1581,6 +1619,7 @@
     ]
     include_dirs = [ "." ]
     deps = [
+      ":fxcrt",
       ":fxjs",
     ]
     configs += [
diff --git a/third_party/BUILD.gn b/third_party/BUILD.gn
index a3878e8..958b9cc 100644
--- a/third_party/BUILD.gn
+++ b/third_party/BUILD.gn
@@ -134,6 +134,9 @@
       "agg23/agg_vcgen_dash.cpp",
       "agg23/agg_vcgen_stroke.cpp",
     ]
+    deps = [
+      "..:fxcrt",
+    ]
   }
 }
 
@@ -265,6 +268,9 @@
     "libjpeg/makefile",
     "libjpeg/transupp.h",
   ]
+  deps = [
+    "..:fxcrt",
+  ]
 }
 
 config("fx_libopenjpeg_warnings") {