1// Copyright 2012 Google Inc. All Rights Reserved. 2// Author: sameeragarwal@google.com (Sameer Agarwal) 3// 4// This shim file serves two purposes. 5// 6// 1. Translate the gflags includes used by the OSS version of Ceres 7// so that it links into the google3 version. 8// 9// 2. Call InitGoogle when ParseCommandLineFlags is called. This is 10// needed because while google3 binaries call InitGoogle and that call 11// initializes the logging and command line handling amongst other 12// things, the open source versions of gflags and glog are distributed 13// separately and require separate initialization. By hijacking this 14// function, and calling InitGoogle, we can compile all the example 15// code that ships with Ceres without any modifications. This 16// modification will have no impact on google3 binaries using Ceres, 17// as they will never call google::ParseCommandLineFlags. 18 19#ifndef GFLAGS_GFLAGS_H_ 20#define GFLAGS_GFLAGS_H_ 21 22#include "base/init_google.h" 23#include "base/commandlineflags.h" 24 25namespace google { 26 27inline void ParseCommandLineFlags(int* argc, 28 char*** argv, 29 const bool remove_flags) { 30 InitGoogle(**argv, argc, argv, remove_flags); 31} 32 33} // namespace google 34 35#endif // GFLAGS_GFLAGS_H_ 36