GNOME Bugzilla – Bug 574320
Error in --enable-use-deprecations
Last modified: 2009-09-18 17:45:11 UTC
According to autoconf documentation, AC_ARG_ENABLE creates a shell variable called enable_(your_feature). In configure.in feature is named deprecations, but below the macro a enable_use_deprecations variable is tested, so the test never succeeds, since this variable doesn't exist/is empty. I'll provide a patch which changes feature name from deprecations to use_deprecations, and a variable name inside a macro from enable_deprecations to enable_use_deprecations. Affected are gtkmm, glibmm, pangomm and gstreamermm. Libgnomeuimm has --enable-deprecations option, so it's not affected, but it's inconsistent with the rest. But I think it's not important, as libgnomeui itself is going to be deprecated. Should I provide patches for every package or patch for gtkmm will suffice?
Created attachment 130160 [details] [review] Patches gtkmm's --enable-use-deprecations and adds an entry to Changelog I hope I placed entry in Changelog correctly.
> Affected are gtkmm, glibmm, pangomm and gstreamermm. gtksourceviewmm is also affected.
Thanks. Are you absolutely sure that it works now? I mean, have you detected the use of any deprecated API, for instance?
Frankly speaking I found this bug by analysis of configure and configure.in(ac) files. After patching situation seems to be ok, since enable_use_deprecations is always set. For being absolutely certain - no, I didn't test it. "On paper" it should work, but probably using $enableval like in "--enable-api-atkmm" configure option would be better and more safe. Anyway, I'd say this is not that important because: - enable_use_deprecations by default is set to "no" and I suppose it is seldom set to "yes" explicitly. (probably no one noticed yet that something is not right.) - mostly API is being deprecated because a function has meaningless name, so it is replaced by a better named one (e.g. gtk_label_set -> gtk_label_set_text) and in wrappers is just ignored in favor to better named methods, so deprecated API is excluded from use.
This bug is now irrelevant since build system has changed, so probably closing it is ok.
Yes, this bug is now obsolete. In the new build infrastructure, the functionality is provided by a shared Autoconf macro installed with mm-common.