commit | 8fec4f4e95c43ec46e7d1fd923ba5315dccc4039 | [log] [tgz] |
---|---|---|
author | Austin Schuh <austin@peloton-tech.com> | Mon Oct 29 21:52:32 2018 -0700 |
committer | Austin Schuh <austin@peloton-tech.com> | Mon Oct 29 21:52:32 2018 -0700 |
tree | 68388b67c180157f53351b6398b12357ae09bdc8 | |
parent | 1eb16d1541aabd46b0ea3dbde4e4ce57cfbce898 [diff] |
Squashed 'third_party/gflags/' changes from f0523f1..7e70988 7e70988 fix: PVS Studio warnings 754d332 fix: No extern template declaration for MSVC <12.0 82456f2 fix: Declare FlagRegisterer c’tor explicit template instanations as extern in header 3e2e349 fix: Declare FALGS_no##name variables as static c0b1add fix: Import with GFLAGS_USE_TARGET_NAMESPACE=ON f1ea012 fix: Import with or without gflags:: namespace b0c4cd2 fix: Define both 'gflags' and 'gflags::gflags' alias targets 04c8ce7 fix: Indentation, use spaces instead of real tabs d4a050d Merge pull request #247 from Mizux/master 48677f9 fix missing-field-initializers warnings on gcc 6e53655 Fix V728 excessive check cad38c9 Set postfixes for generated libraries based on buildtype 2c49763 Fix build on some clang variants 660603a doc: Update documentation on how to use Bazel 518267d Remove installation guide's recommendation to use Bazel's bind(). f7228d7 Use CMake namespace gflags:: for export and alias target 8b39845 Remove uneeded enable_test() 9ab4d11 Add VERSION to project e292e04 Use += for appends 6d1c363 Add Bazel-on-Windows support 7759264 repair wrong namespace problem 2334846 Removed unused functions. 60784b5 Remove using ::fLS::clstring; 57ceb0e enh: Move CMake defines to separate header, unused by Bazel 7d36353 Fix typo in BUILD aa2d0f7 fix: Remove obsolete and unused CleanFileName code 4663c80 cmake: Add convenience uninstall target (#221) 46f73f8 Release v2.2.1 66d4386 enh: AppVeyor builds with different toolchains (copied from gtest project) 6348ea9 fix: Check HAVE_STDINT_H or HAVE_INTTYPES_H for older MSVC versions 3d5bc48 git: Ignore symbolic links created by Bazel build tool 74603f5 fix: Static code analyzer error regarding strncmp with empty kRootDir string 4a694e8 Use inttypes.h on VC++ 2013 and up 21c7bcd Fix CMake macro special variable usage (#216) 95ffb27 Fix static initialization order fiasco caused by global registry lock (#215) 80ebb42 Install dll's to correct path (#213) 652651b Fix statically linked gflags library with MSVC 9314597 Mark single argument constructors in mutex.h as explicit. 30dbc81 Changed include directory in bazel build 8935ef4 enh: Link to online documentation in README 20858a4 fix: Enable language C for older CMake versions when needed (#196) ac6834e fix: Remove unused program_name variable 22ed2ce fix: Include utils by file instead of CMAKE_MODULE_PATH search f8a0efe Release v2.2.0 2f336a2 doc: //external:gflags_nothreads Bazel target c6b9377 git: Ignore builds/ subdirectory 84ab952 doc: Update use of gflags with Bazel documentation b872d6b enh: Bazel BUILD, add WORKSPACE file (#192) 37c4c58 add: Bazel WORKSPACE file 37e2867 enh: Refactored Bazel BUILD rules 8f2c22a Revert "enh: Rename private sources, include public headers with rel path" ea6144e enh: Rename private sources, include public headers with rel path 86d67a3 fix: Add -lpthread to link Bazel BUILD options (#189) c94a60e enh: Configure and install pkg-config .pc file 3e7ef74 enh: Set GFLAGS_IS_A_DLL in INTERFACE_COMPILE_DEFINITIONS 1846983 fix: Ensure installation path uses forward slashes 3886da5 enh: Add option to add installation to CMake’s package registry 6c0ee00 fix: Copy missing IMPORTED_IMPLIB_<CONFIG> gflags target property 3064f63 enh: Avoid use of install(EXPORTS) FILE option 14c0e93 Convert dashes to underscores for unknown flags (#177) cce68f0 Fix error messages to not truncate to 255 characters (#175) f4eace1 fix: Validate modified flags only once (#173) 408061b fix make error for lacking namespace (#170) 7d31c02 Fix unsigned comparison error in gflags_reporting.cc (#168) a69b254 Fix Windows linker errors and warnings. (#166) 15394d3 Add shared library build to the AppVeyor CI config. (#167) e58e530 Remove filter for excluded tests from AppVeyor config. (#165) 435f949 test: Travis CI build static+shared in Release+Debug (#164) 22e4a53 fix: Run strip_flags_binary test only for release configurations (#163) c713d2e test: Run AppVeyor build via cmake --build and run tests. (#162) b16653e fix: Typo in gflags_strip_flags_test.cmake script ec4b5da doc: Add AppVeyor status badge to README f0be9c8 Add initial AppVeyor config. (#161) 78cab6c doc: Add Travis CI status badge to README 4667f41 Enable Travis CI for Linux and OSX builds (#160) a5a1b28 Merge pull request #158 from dreamer-dead/use-type-name-enum 7ba9921 Fix wrong type comparison and outdated OfType() usage. 3051942 Fix indentation and remove outdated assert. 3c0ad4f Extract common code from FlagRegisterer to reduce size. a1e461d Change template FlagValue::OfType() to Type() getter. 46ea10f Do not pass flag type as a char literal when registering a new flag. fe57e5a Merge pull request #156 from dreamer-dead/fix-flag-value-typename fa26638 Fix unittests expectations related to uint32. 5ef4c3c Fix uint32 type name. 2e4159f Merge pull request #155 from dreamer-dead/add-missing-reference 3e946c9 Add missing reference symbol to a function parameter. 546819b Merge pull request #152 from Liuchang0812/master 0c17f1e fix bug about LRLF ac1a925 fix #151: Ubuntu package name in INSTALL instructions d701cea Merge pull request #150 from LuminateWireless/fix-bazel-build 7ae23fd Add gendir to the include path so that building with bazel doesn't complain config.h can't be found. 8de80b9 Merge pull request #149 from hevy-CC4477/master eff38cb fix test compilation 9353bca Merge pull request #147 from bazineta/master 81d8a92 Correct FV_MAX_INDEX eaf0534 Support uint32 as flag type 74bcd20 Merge PR #137 with change of SOVERSION to <major>.<minor> 4534195 fix: Change SOVERSION to <major>.<minor> for 2.x release versions 5e30706 Merge pull request #143 from schuhschuh/fix-bazel-bulid-osx 687b2c5 fix #133: Use awk instead of sed which would require different options on OS X 5844199 Merge pull request #142 from schuhschuh/master 1c8285f mod: Update doc with new find_package COMPONENTS or subproject use 12d810d Merge pull request #141 from schuhschuh/master 389ef3f Merge branch 'master' of github.com:gflags/gflags 752c632 fix: Include order of config.h and gflags.h in unit test f9e69b3 Merge pull request #140 from schuhschuh/enh-#117-gflags-subproject-support 7a21c16 cmake: Rename targets to gflags[_nothreads]_(static|shared), support find_package COMPONENTS a4382e5 cmake: Require CMake 2.8.12 in NC tests 2de6bf3 cmake: Change CMake package configuration variable name prefix to GFLAGS_ 91e16ee cmake: Add CMake variable to cache only when gflags is not a subproject b686469 git: Add CMakeLists.txt.user Qt Creator configuration to ignore list e50698c Merge pull request #139 from schuhschuh/master 18cb422 fix: Require CMake version 2.8.12 in test project 799e910 fix: Include private config.h in gflags_unittest.cc abe4b10 fix: Package URLs 221f327 Revert "#136 Move test binaries to Testing/bin" 2a3454c fix: DLL import/export defines for unit tests, remove obsolete config_for_unittests.h 545e9df fix: Add missing include guards to gflags/config.h 6bd636c cmake: Clean up static library filename suffix code from PR #126 dd48d70 Merge pull request #126 from hevy-CC4477/master 9ef0d52 enh: Add usage of DEFINE_validator to test project 02f3189 #136 Move test binaries to Testing/bin 92865ce #51 #138 Use std::string instead const char * for global "constants" 8ac4bc4 fix: Pass std::string directly, no need for c_str() call b90a325 properly export the .so minor version 3ae911f mod: Update doc 762f9cb #51 Call ShutDownCommandLineFlags for (manual) valgrind test 7a69001 #51 Use static StringFlagDestructor to destruct string objects allocated by placement new 3f968fc Merge pull request #133 from earhart/master 40b85b1 Add bazel support f9fa305 Merge pull request #131 from sbc100/no_threads b572a72 Define NO_THREADS in when building without threads 03bebcb Merge pull request #129 from Nazg-Gul/master 366e9d3 Fix some compilation warnings with MSVC 2015 4f100cb Resolve several missing declarations warnings d78b00d handle generation of dynamic and static library on windows. 9db8289 #125 Fix unused typedef/variable warning for static assertion 4e61c45 #124 Remove using namespace from mutex.h Change-Id: I61f02738b43ce97c825345375af77a44231165f4 git-subtree-dir: third_party/gflags git-subtree-split: 7e709881881c2663569cd49a93e5c8d9228d868e
The documentation of the gflags library is available online at https://gflags.github.io/gflags/.
I've just released gflags 2.2.1.
This maintenance release primarily fixes build issues on Windows and false alarms reported by static code analyzers.
Please report any further issues with this release using the GitHub issue tracker.
I've finally released gflags 2.2.0.
This release adds support for use of the gflags library as external dependency not only in projects using CMake, but also Bazel, or pkg-config. One new minor feature is added in this release: when a command flag argument contains dashes, these are implicitly converted to underscores. This is to allow those used to separate words of the flag name by dashes to do so, while the flag variable names are required to use underscores.
Memory leaks reported by valgrind should be resolved by this release. This release fixes build errors with MS Visual Studio 2015.
Please report any further issues with this release using the GitHub issue tracker.
I've just released gflags 2.1.2.
This release completes the namespace change fixes. In particular, it restores binary ABI compatibility with release version 2.0. The deprecated "google" namespace is by default still kept as primary namespace while symbols are imported into the new "gflags" namespace. This can be overridden using the CMake variable GFLAGS_NAMESPACE.
Other fixes of the build configuration are related to the (patched) CMake modules FindThreads.cmake and CheckTypeSize.cmake. These have been removed and instead the C language is enabled again even though gflags is written in C++ only.
This release also marks the complete move of the gflags project from Google Code to GitHub. Email addresses of original issue reporters got lost in the process. Given the age of most issue reports, this should be negligable.
Please report any further issues using the GitHub issue tracker.
I've just released gflags 2.1.1.
This release fixes a few bugs in the configuration of gflags_declare.h and adds a separate GFLAGS_INCLUDE_DIR CMake variable to the build configuration. Setting GFLAGS_NAMESPACE to "google" no longer changes also the include path of the public header files. This allows the use of the library with other Google projects such as glog which still use the deprecated "google" namespace for the gflags library, but include it as "gflags/gflags.h".
I've just released gflags 2.1.
The major changes are the use of CMake for the build configuration instead of the autotools and packaging support through CPack. The default namespace of all C++ symbols is now "gflags" instead of "google". This can be configured via the GFLAGS_NAMESPACE variable.
This release compiles with all major compilers without warnings and passed the unit tests on Ubuntu 12.04, Windows 7 (Visual Studio 2008 and 2010, Cygwin, MinGW), and Mac OS X (Xcode 5.1).
The SVN repository on Google Code is now frozen and replaced by a Git repository such that it can be used as Git submodule by projects. The main hosting of this project remains at Google Code. Thanks to the distributed character of Git, I can push (and pull) changes from both GitHub and Google Code in order to keep the two public repositories in sync. When fixing an issue for a pull request through either of these hosting platforms, please reference the issue number as described here. For the further development, I am following the Git branching model with feature branch names prefixed by "feature/" and bugfix branch names prefixed by "bugfix/", respectively.
Binary and source packages are available on GitHub.
The migration of the build system to CMake is almost complete. What remains to be done is rewriting the tests in Python such they can be executed on non-Unix platforms and splitting them up into separate CTest tests. Though merging these changes into the master branch yet remains to be done, it is recommended to already start using the cmake-migration branch.
More than a year has past since I (Andreas) took over the maintenance for gflags
. Only few minor changes have been made since then, much to my regret. To get more involved and stimulate participation in the further development of the library, I moved the project source code today to GitHub. I believe that the strengths of Git will allow for better community collaboration as well as ease the integration of changes made by others. I encourage everyone who would like to contribute to send me pull requests. Git's lightweight feature branches will also provide the right tool for more radical changes which should only be merged back into the master branch after these are complete and implement the desired behavior.
The SVN repository remains accessible at Google Code and I will keep the master branch of the Git repository hosted at GitHub and the trunk of the Subversion repository synchronized. Initially, I was going to simply switch the Google Code project to Git, but in this case the SVN repository would be frozen and force everyone who would like the latest development changes to use Git as well. Therefore I decided to host the public Git repository at GitHub instead.
Please continue to report any issues with gflags on Google Code. The GitHub project will only be used to host the Git repository.
One major change of the project structure I have in mind for the next weeks is the migration from autotools to CMake. Check out the (unstable!) cmake-migration branch on GitHub for details.
I've just released gflags 2.0.
The google-gflags
project has been renamed to gflags
. I (csilvers) am stepping down as maintainer, to be replaced by Andreas Schuh. Welcome to the team, Andreas! I've seen the energy you have around gflags and the ideas you have for the project going forward, and look forward to having you on the team.
I bumped the major version number up to 2 to reflect the new community ownership of the project. All the changes are related to the renaming. There are no functional changes from gflags 1.7. In particular, I've kept the code in the namespace google
, though in a future version it should be renamed to gflags
. I've also kept the /usr/local/include/google/
subdirectory as synonym of /usr/local/include/gflags/
, though the former name has been obsolete for some time now.
The google-gflags
Google Code page has been renamed to gflags
, in preparation for the project being renamed to gflags
. In the coming weeks, I'll be stepping down as maintainer for the gflags project, and as part of that Google is relinquishing ownership of the project; it will now be entirely community run. The name change reflects that shift.
I've just released gflags 1.7. This is a minor release; the major change is that CommandLineFlagInfo
now exports the address in memory where the flag is located. There has also been a bugfix involving very long --help strings, and some other minor changes.
I've just released gflags 1.6. The major new feature in this release is support for setting version info, so that --version does something useful.
One minor change has required bumping the library number: ReparseCommandlineFlags
now returns void
instead of int
(the int return value was always meaningless). Though I doubt anyone ever used this (meaningless) return value, technically it's a change to the ABI that requires a version bump. A bit sad.
There's also a procedural change with this release: I've changed the internal tools used to integrate Google-supplied patches for gflags into the opensource release. These new tools should result in more frequent updates with better change descriptions. They will also result in future ChangeLog
entries being much more verbose (for better or for worse).
See the ChangeLog for a full list of changes for this release.
I've just released gflags 1.5. This release has only minor changes from 1.4, including some slightly better reporting in --help, and an new memory-cleanup function that can help when running gflags-using libraries under valgrind. The major change is to fix up the macros (DEFINE_bool
and the like) to work more reliably inside namespaces.
If you have not had a problem with these macros, and don't need any of the other changes described, there is no need to upgrade. See the ChangeLog for a full list of changes for this release.
I've just released gflags 1.4. This release has only minor changes from 1.3, including some documentation tweaks and some work to make the library smaller. If 1.3 is working well for you, there's no particular reason to upgrade.
I've just released gflags 1.3. gflags now compiles under MSVC, and all tests pass. I really never thought non-unix-y Windows folks would want gflags, but at least some of them do.
The major news, though, is that I've separated out the python package into its own library, python-gflags. If you're interested in the Python version of gflags, that's the place to get it now.
I've just released gflags 1.2. The major change from gflags 1.1 is it now compiles under MinGW (as well as cygwin), and all tests pass. I never thought Windows folks would want unix-style command-line flags, since they're so different from the Windows style, but I guess I was wrong!
The other changes are minor, such as support for --htmlxml in the python version of gflags.
I've just released gflags 1.1. It has only minor changes fdrom gflags 1.0 (see the ChangeLog for details). The major change is that I moved to a new system for creating .deb and .rpm files. This allows me to create x86_64 deb and rpm files.
In the process of moving to this new system, I noticed an inconsistency: the tar.gz and .rpm files created libraries named libgflags.so, but the deb file created libgoogle-gflags.so. I have fixed the deb file to create libraries like the others. I'm no expert in debian packaging, but I believe this has caused the package name to change as well. Please let me know (at [mailto:google-gflags@googlegroups.com google-gflags@googlegroups.com]) if this causes problems for you -- especially if you know of a fix! I would be happy to change the deb packages to add symlinks from the old library name to the new (libgoogle-gflags.so -> libgflags.so), but that is beyond my knowledge of how to make .debs.
If you've tried to install a .rpm or .deb and it doesn't work for you, let me know. I'm excited to finally have 64-bit package files, but there may still be some wrinkles in the new system to iron out.
gflags 1.0rc2 was out for a few weeks without any issues, so gflags 1.0 is now released. This is much like gflags 0.9. The major change is that the .h files have been moved from /usr/include/google
to /usr/include/gflags
. While I have backwards-compatibility forwarding headeds in place, please rewrite existing code to say
#include <gflags/gflags.h>
instead of
#include <google/gflags.h>
I've kept the default namespace to google. You can still change with with the appropriate flag to the configure script (./configure --help
to see the flags). If you have feedback as to whether the default namespace should change to gflags, which would be a non-backwards-compatible change, send mail to google-gflags@googlegroups.com
!
Version 1.0 also has some neat new features, like support for bash commandline-completion of help flags. See the ChangeLog for more details.
If I don't hear any bad news for a few weeks, I'll release 1.0-final.