experimental/fiddle -> tools/fiddle

also, test building fiddle_main.cpp & draw.cpp
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1895143002

Review URL: https://codereview.chromium.org/1895143002
diff --git a/gyp/tools.gyp b/gyp/tools.gyp
index 7bf8f7f..4b58ab4 100644
--- a/gyp/tools.gyp
+++ b/gyp/tools.gyp
@@ -34,6 +34,7 @@
         'whitelist_typefaces',
       ],
       'conditions': [
+        ['skia_os == "linux"', { 'dependencies': [ 'fiddle_build_test' ] } ],
         ['skia_shared_lib',
           {
             'dependencies': [
@@ -588,5 +589,26 @@
         ],
       },
     ],
+    ['skia_os == "linux"',
+      {
+        'targets': [
+          {
+            'target_name': 'fiddle_build_test',
+            'type': 'executable',
+            'sources': [
+              '../tools/fiddle/draw.cpp',
+              '../tools/fiddle/fiddle_main.cpp',
+              '../tools/fiddle/fiddle_main.h',
+            ],
+            'dependencies': [
+              'skia_lib.gyp:skia_lib',
+              'pdf.gyp:pdf',
+            ],
+            'defines': [ 'FIDDLE_BUILD_TEST' ],
+            'link_settings': { 'libraries': [ '-lOSMesa' ], },
+          },
+        ],
+      },
+    ],
   ],
 }
diff --git a/experimental/fiddle/.gitignore b/tools/fiddle/.gitignore
similarity index 100%
rename from experimental/fiddle/.gitignore
rename to tools/fiddle/.gitignore
diff --git a/experimental/fiddle/draw.cpp b/tools/fiddle/draw.cpp
similarity index 100%
rename from experimental/fiddle/draw.cpp
rename to tools/fiddle/draw.cpp
diff --git a/experimental/fiddle/fiddle_main.cpp b/tools/fiddle/fiddle_main.cpp
similarity index 100%
rename from experimental/fiddle/fiddle_main.cpp
rename to tools/fiddle/fiddle_main.cpp
diff --git a/experimental/fiddle/fiddle_main.h b/tools/fiddle/fiddle_main.h
similarity index 69%
rename from experimental/fiddle/fiddle_main.h
rename to tools/fiddle/fiddle_main.h
index 6330384..0f36ad7 100644
--- a/experimental/fiddle/fiddle_main.h
+++ b/tools/fiddle/fiddle_main.h
@@ -7,7 +7,18 @@
 #ifndef fiddle_main_DEFINED
 #define fiddle_main_DEFINED
 
-#include "skia.h"
+#ifdef FIDDLE_BUILD_TEST
+    #include "GrContext.h"
+    #include "SkCanvas.h"
+    #include "SkDocument.h"
+    #include "SkPictureRecorder.h"
+    #include "SkStream.h"
+    #include "SkSurface.h"
+    #include "gl/GrGLAssembleInterface.h"
+    #include "gl/GrGLInterface.h"
+#else
+    #include "skia.h"
+#endif
 
 extern SkBitmap source;
 extern sk_sp<SkImage> image;
diff --git a/experimental/fiddle/fiddle_test b/tools/fiddle/fiddle_test
similarity index 90%
rename from experimental/fiddle/fiddle_test
rename to tools/fiddle/fiddle_test
index c95ac7f..2b53495 100755
--- a/experimental/fiddle/fiddle_test
+++ b/tools/fiddle/fiddle_test
@@ -9,7 +9,9 @@
 set -e
 set -x
 
-cd "$(dirname "$0")/../.."
+cd "$(dirname "$0")"
+fiddle_dir="$PWD"
+cd "../.."
 skia_dir="$PWD"
 
 if ! command -v cmake > /dev/null 2>&1 ; then
@@ -23,7 +25,7 @@
 fi
 
 echo "Building Skia and Fiddle"
-cd "${skia_dir}/experimental/fiddle"
+cd "$fiddle_dir"
 git clean -fxd .
 go build fiddler.go
 ./fiddler "$skia_dir"
diff --git a/experimental/fiddle/fiddler.go b/tools/fiddle/fiddler.go
similarity index 95%
rename from experimental/fiddle/fiddler.go
rename to tools/fiddle/fiddler.go
index 0c0dedb..31ea286 100644
--- a/experimental/fiddle/fiddler.go
+++ b/tools/fiddle/fiddler.go
@@ -10,7 +10,7 @@
 //   git clone https://skia.googlesource.com/skia.git
 //   cd skia
 //   SKIA=$PWD
-//   cd experimental/fiddle
+//   cd tools/fiddle
 //   go get github.com/skia-dev/glog
 //   go get go.skia.org/infra/go/util
 //   go build fiddler.go
@@ -35,6 +35,9 @@
 	"go.skia.org/infra/go/util"
 )
 
+func fiddlePath() string {
+	return path.Join("tools", "fiddle")
+}
 func setResourceLimits() error {
 	const maximumTimeInSeconds = 5
 	limit := syscall.Rlimit{maximumTimeInSeconds, maximumTimeInSeconds}
@@ -76,7 +79,7 @@
 // @param tempDir: where to place the compiled executable
 func fiddler(skiaSrc string, inputReader io.Reader, output io.Writer, tempDir string) error {
 	binarypath := path.Join(tempDir, "fiddle")
-	fiddle_dir := path.Join(skiaSrc, "experimental", "fiddle")
+	fiddle_dir := path.Join(skiaSrc, fiddlePath())
 	if err := execCommand(inputReader, fiddle_dir,
 		"c++",
 		compileArgs(skiaSrc),
@@ -107,7 +110,7 @@
 	if err := execCommand(nil, cmakeDir, "ninja", "skia"); err != nil {
 		return err
 	}
-	fiddle_dir := path.Join(skiaSrc, "experimental", "fiddle")
+	fiddle_dir := path.Join(skiaSrc, fiddlePath())
 	if err := execCommand(nil, fiddle_dir, "c++", compileArgs(skiaSrc),
 		"fiddle_main.h"); err != nil {
 		return err
diff --git a/experimental/fiddle/parse-fiddle-output b/tools/fiddle/parse-fiddle-output
similarity index 100%
rename from experimental/fiddle/parse-fiddle-output
rename to tools/fiddle/parse-fiddle-output