Bug: 67742121

Clone this repo:
  1. 791196a Enable Windows host compilation of gflags by Oystein Eftevaag · 7 weeks ago master
  2. 061f68c Merge sc-mainline-prod by Xin Li · 1 year, 10 months ago android13-dev android13-frc-adbd-release android13-frc-art-release android13-frc-cellbroadcast-release android13-frc-conscrypt-release android13-frc-documentsui-release android13-frc-extservices-release android13-frc-ipsec-release android13-frc-media-release android13-frc-media-swcodec-release android13-frc-networking-release android13-frc-neuralnetworks-release android13-frc-os-statsd-release android13-frc-permission-release android13-frc-resolv-release android13-frc-scheduling-release android13-mainline-adservices-release android13-mainline-appsearch-release android13-mainline-go-adbd-release android13-mainline-go-adservices-release android13-mainline-go-appsearch-release android13-mainline-go-art-release android13-mainline-go-cellbroadcast-release android13-mainline-go-conscrypt-release android13-mainline-go-documentsui-release android13-mainline-go-extservices-release android13-mainline-go-ipsec-release android13-mainline-go-media-release android13-mainline-go-media-swcodec-release android13-mainline-go-mediaprovider-release android13-mainline-go-networking-release android13-mainline-go-neuralnetworks-release android13-mainline-go-odp-release android13-mainline-go-os-statsd-release android13-mainline-go-permission-release android13-mainline-go-resolv-release android13-mainline-go-scheduling-release android13-mainline-go-sdkext-release android13-mainline-go-tethering-release android13-mainline-go-tzdata4-release android13-mainline-go-uwb-release android13-mainline-go-wifi-release android13-mainline-tzdata4-release android13-mainline-uwb-release android13-qpr1-release android13-qpr1-s1-release android13-qpr1-s2-release android13-qpr1-s3-release android13-qpr1-s4-release android13-qpr1-s5-release android13-qpr1-s6-release android13-qpr1-s7-release android13-qpr1-s8-release android13-qpr2-release android13-qpr2-s1-release android13-qpr2-s2-release android13-qpr2-s3-release android13-qpr2-s5-release android13-qpr2-s6-release main-16k main-16k-with-phones aml_ads_331131000 aml_ads_331418080 aml_ase_331011020 aml_ase_331112000 aml_go_adb_330913000 aml_go_ads_330913000 aml_go_art_330913000 aml_go_ase_330913000 aml_go_cbr_330912000 aml_go_con_330913000 aml_go_doc_330912000 aml_go_ext_330912000 aml_go_ips_330911000 aml_go_med_330913000 aml_go_mpr_330912000 aml_go_net_330913000 aml_go_neu_330912000 aml_go_odp_330912000 aml_go_per_330912000 aml_go_res_330912000 aml_go_sch_330911000 aml_go_sdk_330810000 aml_go_sta_330911000 aml_go_swc_330913000 aml_go_tet_330914010 aml_go_tz4_330912000 aml_go_uwb_330912000 aml_go_wif_330911000 aml_tz4_331012000 aml_tz4_331012040 aml_tz4_331012050 aml_tz4_331314010 aml_tz4_331314020 aml_uwb_330810010 aml_uwb_331015040 aml_uwb_331115000 aml_uwb_331310030 aml_uwb_331410010 android-13.0.0_r16 android-13.0.0_r17 android-13.0.0_r18 android-13.0.0_r19 android-13.0.0_r20 android-13.0.0_r21 android-13.0.0_r22 android-13.0.0_r23 android-13.0.0_r24 android-13.0.0_r27 android-13.0.0_r28 android-13.0.0_r29 android-13.0.0_r30 android-13.0.0_r32 android-13.0.0_r33 android-13.0.0_r34 android-13.0.0_r35 android-13.0.0_r36 android-13.0.0_r37 t_frc_adb_330444000 t_frc_art_330443060 t_frc_ase_330444010 t_frc_cbr_330443000 t_frc_con_330443020 t_frc_doc_330443000 t_frc_doc_330443060 t_frc_doc_330543000 t_frc_ext_330443000 t_frc_ips_330443010 t_frc_med_330443030 t_frc_net_330443000 t_frc_neu_330443000 t_frc_neu_330443030 t_frc_odp_330442000 t_frc_per_330444010 t_frc_res_330443000 t_frc_sch_330443010 t_frc_sch_330443040 t_frc_sta_330443010 t_frc_swc_330443010 t_frc_swc_330443040 t_frc_tz4_330443010
  3. 6d95795 [automerger skipped] Mark ab/7061308 as merged in stage. am: a37671cac0 -s ours am: 6341c80521 -s ours am: f932b18786 -s ours by Xin Li · 2 years, 1 month ago
  4. f1b7997 [automerger skipped] Mark ab/7061308 as merged in stage. am: a37671cac0 -s ours am: 6341c80521 -s ours am: f932b18786 -s ours by Xin Li · 2 years, 1 month ago android12-mainline-art-release android12-mainline-networkstack-release aml_tz3_311312010 android-mainline-12.0.0_r100 android-mainline-12.0.0_r113 android-mainline-12.0.0_r115 android-mainline-12.0.0_r122 android-mainline-12.0.0_r19 android-mainline-12.0.0_r22 android-mainline-12.0.0_r39 android-mainline-12.0.0_r42 android-mainline-12.0.0_r49 android-mainline-12.0.0_r5 android-mainline-12.0.0_r56 android-mainline-12.0.0_r59 android-mainline-12.0.0_r63 android-mainline-12.0.0_r69 android-mainline-12.0.0_r70 android-mainline-12.0.0_r77 android-mainline-12.0.0_r98 android-mainline-12.0.0_r99
  5. f932b18 [automerger skipped] Mark ab/7061308 as merged in stage. am: a37671cac0 -s ours am: 6341c80521 -s ours by Xin Li · 2 years, 1 month ago android-s-qpr3-beta-1 android-s-v2-beta-3 android-s-v2-preview-1 android-t-preview-1 android12--mainline-release android12-dev android12-qpr1-d-release android12-qpr1-d-s1-release android12-qpr1-d-s2-release android12-qpr1-d-s3-release android12-qpr1-release android12-qpr3-release android12-qpr3-s1-release android12-qpr3-s2-release android12-qpr3-s3-release android12-qpr3-s4-release android12-qpr3-s5-release android12-qpr3-s6-release android12-qpr3-s7-release android12L-d2-release android12L-d2-s1-release android12L-d2-s2-release android12L-d2-s3-release android12L-d2-s4-release android12L-d2-s5-release android12L-d2-s6-release android12L-d2-s7-release android12L-d2-s8-release android12L-dev android-12.0.0_r16 android-12.0.0_r18 android-12.0.0_r19 android-12.0.0_r20 android-12.0.0_r21 android-12.0.0_r26 android-12.0.0_r27 android-12.0.0_r28 android-12.0.0_r29 android-12.0.0_r32 android-12.1.0_r10 android-12.1.0_r11 android-12.1.0_r12 android-12.1.0_r13 android-12.1.0_r14 android-12.1.0_r15 android-12.1.0_r16 android-12.1.0_r17 android-12.1.0_r18 android-12.1.0_r19 android-12.1.0_r20 android-12.1.0_r21 android-12.1.0_r22 android-12.1.0_r23 android-12.1.0_r24 android-12.1.0_r25 android-12.1.0_r26 android-12.1.0_r7 android-12.1.0_r8 android-12.1.0_r9 android-mainline-12.0.0_r36 android-mainline-12.0.0_r4 android-s-qpr3-beta-1 android-s-v2-beta-2 android-s-v2-beta-3 android-s-v2-preview-1 android-s-v2-preview-2 android-t-beta-3 android-t-preview-1 android-t-preview-2

Build Status Build status

The documentation of the gflags library is available online at https://gflags.github.io/gflags/.

11 November 2018

I've just released gflags 2.2.2.

This maintenance release improves lives of Bazel users (no more “config.h” leaking into global include paths), fixes build with recent MinGW versions, and silences a number of static code analyzer and compiler warnings. The build targets exported by the CMake configuration of this library are now also prefixed by the package name “gflags::” following a more recent (unwritten) CMake convention. The unprefixed target names are still supported to avoid that dependent projects have to be modified due to this change in imported target names.

Please report any further issues with this release using the GitHub issue tracker.

11 July 2017

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.

25 November 2016

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.

24 March 2015

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.

30 March 2014

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”.

20 March 2014

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.

14 January 2014

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.

20 April 2013

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.

25 January 2012

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.

18 January 2011

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.

20 December 2011

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.

29 July 2011

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.

24 January 2011

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.

11 October 2010

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.

4 January 2010

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.

10 September 2009

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.

15 April 2009

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.

1 October 2008

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.