aboutsummaryrefslogtreecommitdiffhomepage
path: root/dm
diff options
context:
space:
mode:
authorGravatar kkinnunen <kkinnunen@nvidia.com>2014-11-13 05:00:57 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2014-11-13 05:00:57 -0800
commitc092d3bdab5f723576cc0346cea3ee282a9cb444 (patch)
treed2a5ecf4ded3f126e2968d6ad7b4b05c1d536bfa /dm
parent5adbf1b57988eaad84d6615395c90a08b7ea225a (diff)
Make nanobench and dm be usable from Chromium build
Move the app logic for each app as follows: <app>.cpp -- the file which contains main(). Embedders that compile their own apps, such as ios shell, upcoming Chromium dm etc, do not use this. <app>_main.cpp -- the main logic of the Skia test application. This will be used by Skia -compiled apps as well as embedder -compiled apps. <app>_main.h -- the API for the main logic. This will be used by Skia -compiled apps as well as embedder -compiled apps. This way (the upcoming) Chromium dm can setup its Chromium-specific setup in custom main(), and then call dm_main(), without the need of any SK_BUILD_FOR_XXXX defines controlling whether the tool defines main or not. BUG=skia:2992 Review URL: https://codereview.chromium.org/657373002
Diffstat (limited to 'dm')
-rw-r--r--dm/DM.cpp10
-rw-r--r--dm/dm.h14
-rw-r--r--dm/dm_main.cpp16
3 files changed, 30 insertions, 10 deletions
diff --git a/dm/DM.cpp b/dm/DM.cpp
index 52c86d5f68..08a458756f 100644
--- a/dm/DM.cpp
+++ b/dm/DM.cpp
@@ -1,7 +1,6 @@
// Main binary for DM.
// For a high-level overview, please see dm/README.
-#include "CrashHandler.h"
#include "LazyDecodeBitmap.h"
#include "SkCommonFlags.h"
#include "SkForceLinking.h"
@@ -187,9 +186,7 @@ static void append_matching_factories(Registry* head, SkTDArray<typename Registr
}
}
-int dm_main();
int dm_main() {
- SetupCrashHandler();
SkAutoGraphics ag;
SkTaskGroup::Enabler enabled(FLAGS_threads);
@@ -244,10 +241,3 @@ int dm_main() {
report_failures(failures);
return failures.count() > 0;
}
-
-#if !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_NACL)
-int main(int argc, char** argv) {
- SkCommandLineFlags::Parse(argc, argv);
- return dm_main();
-}
-#endif
diff --git a/dm/dm.h b/dm/dm.h
new file mode 100644
index 0000000000..99b6e10a66
--- /dev/null
+++ b/dm/dm.h
@@ -0,0 +1,14 @@
+/*
+ * Copyright 2014 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+#ifndef dm_DEFINED
+#define dm_DEFINED
+
+// API for dm app.
+
+int dm_main();
+
+#endif
diff --git a/dm/dm_main.cpp b/dm/dm_main.cpp
new file mode 100644
index 0000000000..ac8e0f3ce0
--- /dev/null
+++ b/dm/dm_main.cpp
@@ -0,0 +1,16 @@
+/*
+ * Copyright 2014 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "CrashHandler.h"
+#include "SkCommandLineFlags.h"
+#include "dm.h"
+
+int main(int argc, char * const argv[]) {
+ SetupCrashHandler();
+ SkCommandLineFlags::Parse(argc, const_cast<char**>(argv));
+ return dm_main();
+}