Define more pieces of portability/GFlags
authorMichael Lee <mzlee@fb.com>
Wed, 20 Apr 2016 22:54:54 +0000 (15:54 -0700)
committerFacebook Github Bot 1 <facebook-github-bot-1-bot@fb.com>
Wed, 20 Apr 2016 23:05:50 +0000 (16:05 -0700)
Summary: Add more compatibility for missing gflags

Reviewed By: yfeldblum

Differential Revision: D3202560

fb-gh-sync-id: d25e4abfe8ceee9fb329c9ba12d259d1d03d4974
fbshipit-source-id: d25e4abfe8ceee9fb329c9ba12d259d1d03d4974

folly/Benchmark.h
folly/futures/test/Benchmark.cpp
folly/portability/GFlags.h

index 0a384b40aaef98799b76ebf9b9ef102943cbbde2..fe4fc239fefb61ac0e0e8aad64f4626a5c1f28cb 100644 (file)
@@ -19,6 +19,7 @@
 #include <folly/Portability.h>
 #include <folly/Preprocessor.h> // for FB_ANONYMOUS_VARIABLE
 #include <folly/ScopeGuard.h>
+#include <folly/portability/GFlags.h>
 #include <folly/portability/Time.h>
 
 #include <cassert>
@@ -26,7 +27,6 @@
 #include <boost/function_types/function_arity.hpp>
 #include <functional>
 #include <glog/logging.h>
-#include <gflags/gflags.h>
 #include <limits>
 #include <type_traits>
 
index 7de25b566d2cf7117e69942b05c4ed8693deaa25..b92f90fd551bbdc4d5713d08ce06fb72c00b4a70 100644 (file)
  * limitations under the License.
  */
 
-#include <gflags/gflags.h>
-
-#include <folly/Baton.h>
 #include <folly/Benchmark.h>
+#include <folly/Baton.h>
 #include <folly/futures/Future.h>
-#include <folly/futures/Promise.h>
 #include <folly/futures/InlineExecutor.h>
+#include <folly/futures/Promise.h>
+#include <folly/portability/GFlags.h>
 
 #include <semaphore.h>
 #include <vector>
index d28c6a281eabd774acff06a44398e37c3b76b349..3bbcf1193b10e289b3986b61bc8c7065e6369fb5 100644 (file)
 #if FOLLY_HAVE_LIBGFLAGS
 #include <gflags/gflags.h>
 #else
-#define DEFINE_int32(_name, _default, _description) int FLAGS_##_name = _default
+#define FOLLY_DECLARE_FLAG(_type, _name) extern _type FLAGS_##_name
+#define DECLARE_bool(_name) FOLLY_DECLARE_FLAG(bool, _name)
+#define DECLARE_double(_name) FOLLY_DECLARE_FLAG(double, _name)
+#define DECLARE_int32(_name) FOLLY_DECLARE_FLAG(int, _name)
+#define DECLARE_int64(_name) FOLLY_DECLARE_FLAG(long long, _name)
+#define DECLARE_uint64(_name) FOLLY_DECLARE_FLAG(unsigned long long, _name)
+#define DECLARE_string(_name) FOLLY_DECLARE_FLAG(std::string, _name)
+
+#define FOLLY_DEFINE_FLAG(_type, _name, _default) _type FLAGS_##_name = _default
+#define DEFINE_bool(_name, _default, _description) \
+  FOLLY_DEFINE_FLAG(bool, _name, _default)
+#define DEFINE_double(_name, _default, _description) \
+  FOLLY_DEFINE_FLAG(double, _name, _default)
+#define DEFINE_int32(_name, _default, _description) \
+  FOLLY_DEFINE_FLAG(int, _name, _default)
+#define DEFINE_int64(_name, _default, _description) \
+  FOLLY_DEFINE_FLAG(long long, _name, _default)
+#define DEFINE_uint64(_name, _default, _description) \
+  FOLLY_DEFINE_FLAG(unsigned long long, _name, _default)
+#define DEFINE_string(_name, _default, _description) \
+  FOLLY_DEFINE_FLAG(std::string, _name, _default)
 #endif