diff --git a/.gitignore b/.gitignore index 49cf0c0bbc1fd62fba2fd37f0b08f68abb9c1b63..a2c789bc65fcbf3fe82fa379c69055659e50a6e3 100644 --- a/.gitignore +++ b/.gitignore @@ -63,7 +63,19 @@ LayoutTests/java/*.class # a few files into the source tree. /aclocal.m4 /autom4te.cache -/autotools +/autotools/compile +/autotools/config.guess +/autotools/config.sub +/autotools/depcomp +/autotools/gtk-doc.m4 +/autotools/install-sh +/autotools/libtool.m4 +/autotools/ltmain.sh +/autotools/ltoptions.m4 +/autotools/ltsugar.m4 +/autotools/ltversion.m4 +/autotools/lt~obsolete.m4 +/autotools/missing /autotoolsconfig.h.in /configure /GNUmakefile.in diff --git a/ChangeLog b/ChangeLog index c3d2c8495d46a417343e4a64cd29ccb407d7d74c..f62b9e8346d9e6b048296541c8c996a8176618ba 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +2010-08-17 Gustavo Noronha Silva + + Reviewed by Martin Robinson. + + [GTK] GSettings support adds annoying warnings on systems with older glib versions + https://bugs.webkit.org/show_bug.cgi?id=44056 + + Add file containing GLIB_GSETTINGS macro so that + configure doesn't spit warnings in older systems. + + * autotools/gsettings.m4: Added. + * .gitignore: Ignore files that are generated inside autotools + explicitely, because we have some that are kept in version + control. + 2010-08-16 Paul Sawaya Reviewed by Chris Marrin. diff --git a/WebKit/gtk/ChangeLog b/WebKit/gtk/ChangeLog index 0cc231e08d88a70ae2eed03a8c7169ebb3f32a7d..1ee7f7b427a22b27e8ca5ca4392e420fef6668ea 100644 --- a/WebKit/gtk/ChangeLog +++ b/WebKit/gtk/ChangeLog @@ -1,3 +1,18 @@ +2010-08-17 Gustavo Noronha Silva + + Reviewed by Martin Robinson. + + [GTK] GSettings support adds annoying warnings on systems with older glib versions + https://bugs.webkit.org/show_bug.cgi?id=44056 + + Use #ifdef instead of #if for HAVE_GSETTINGS to avoid warnings + when it is not defined. + + * WebCoreSupport/InspectorClientGtk.cpp: + * webkit/webkitprivate.cpp: + (webkit_init): + * webkit/webkitprivate.h: + 2010-08-12 Gustavo Noronha Silva Really add a missing file. I wish I would remember running git add diff --git a/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp b/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp index 331535cb2e2c59b79581a13138407a11aef28629..691a915ea66f9d7f2818f24de50b47eb91a5e414 100644 --- a/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp +++ b/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp @@ -119,7 +119,7 @@ void InspectorClient::hideHighlight() gtk_widget_queue_draw(GTK_WIDGET(m_inspectedWebView)); } -#if HAVE_GSETTINGS +#ifdef HAVE_GSETTINGS static String toGSettingName(String inspectorSettingName) { if (inspectorSettingName == "resourceTrackingEnabled") diff --git a/WebKit/gtk/webkit/webkitprivate.cpp b/WebKit/gtk/webkit/webkitprivate.cpp index 001b3cce2c3cf979b1e93ff8f7ea5a89a83abda7..856a2598b5e8ed9b848a2303a36b4d9a92917e0b 100644 --- a/WebKit/gtk/webkit/webkitprivate.cpp +++ b/WebKit/gtk/webkit/webkitprivate.cpp @@ -215,7 +215,7 @@ static void closeIconDatabaseOnExit() iconDatabase()->close(); } -#if HAVE_GSETTINGS +#ifdef HAVE_GSETTINGS static bool isSchemaAvailable(char* schemaID) { const char* const* availableSchemas = g_settings_list_schemas(); @@ -278,7 +278,7 @@ void webkit_init() // FIXME: Expose this with an API and/or calculate based on available resources webkit_set_cache_model(WEBKIT_CACHE_MODEL_WEB_BROWSER); -#if HAVE_GSETTINGS +#ifdef HAVE_GSETTINGS // Initialize settings variables here to make sure this happens in // the main thread. inspectorGSettings(); diff --git a/WebKit/gtk/webkit/webkitprivate.h b/WebKit/gtk/webkit/webkitprivate.h index 4f5a119618b48678d6b6654028094aa661794bef..a5508a4fee25eb4f12a0a764486be2f861e925c8 100644 --- a/WebKit/gtk/webkit/webkitprivate.h +++ b/WebKit/gtk/webkit/webkitprivate.h @@ -120,7 +120,7 @@ namespace WebKit { extern "C" { void webkit_init(); -#if HAVE_GSETTINGS +#ifdef HAVE_GSETTINGS GSettings* inspectorGSettings(); #endif diff --git a/autotools/gsettings.m4 b/autotools/gsettings.m4 new file mode 100644 index 0000000000000000000000000000000000000000..ac9945e9d78d3fdc71da16a5883cee6ea548193c --- /dev/null +++ b/autotools/gsettings.m4 @@ -0,0 +1,93 @@ +dnl GLIB_GSETTINGS +dnl Defines GSETTINGS_SCHEMAS_INSTALL which controls whether +dnl the schema should be compiled +dnl + +AC_DEFUN([GLIB_GSETTINGS], +[ + m4_pattern_allow([AM_V_GEN]) + AC_ARG_ENABLE(schemas-compile, + AC_HELP_STRING([--disable-schemas-compile], + [Disable regeneration of gschemas.compiled on install]), + [case ${enableval} in + yes) GSETTINGS_DISABLE_SCHEMAS_COMPILE="" ;; + no) GSETTINGS_DISABLE_SCHEMAS_COMPILE="1" ;; + *) AC_MSG_ERROR([bad value ${enableval} for --enable-schemas-compile]) ;; + esac]) + AC_SUBST([GSETTINGS_DISABLE_SCHEMAS_COMPILE]) + PKG_PROG_PKG_CONFIG([0.16]) + AC_SUBST(gsettingsschemadir, [${datadir}/glib-2.0/schemas]) + if test x$cross_compiling != xyes; then + GLIB_COMPILE_SCHEMAS=`$PKG_CONFIG --variable glib_compile_schemas gio-2.0` + else + AC_PATH_PROG(GLIB_COMPILE_SCHEMAS, glib-compile-schemas) + fi + AC_SUBST(GLIB_COMPILE_SCHEMAS) + if test "x$GLIB_COMPILE_SCHEMAS" = "x"; then + ifelse([$2],,[AC_MSG_ERROR([glib-compile-schemas not found.])],[$2]) + else + ifelse([$1],,[:],[$1]) + fi + + GSETTINGS_RULES=' +.PHONY : uninstall-gsettings-schemas install-gsettings-schemas clean-gsettings-schemas + +mostlyclean-am: clean-gsettings-schemas + +gsettings__enum_file = $(addsuffix .enums.xml,$(gsettings_ENUM_NAMESPACE)) + +%.gschema.valid: %.gschema.xml $(gsettings__enum_file) + $(AM_V_GEN) if test -f "$<"; then d=; else d="$(srcdir)/"; fi; $(GLIB_COMPILE_SCHEMAS) --dry-run $(addprefix --schema-file=,$(gsettings__enum_file)) --schema-file=$${d}$< && touch [$]@ + +all-am: $(gsettings_SCHEMAS:.xml=.valid) +uninstall-am: uninstall-gsettings-schemas +install-data-am: install-gsettings-schemas + +.SECONDARY: $(gsettings_SCHEMAS) + +gsettings__base_list = \ + sed "$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g" | \ + sed "$$!N;$$!N;$$!N;$$!N;s/\n/ /g" + +install-gsettings-schemas: $(gsettings_SCHEMAS:.xml=.valid) $(gsettings__enum_file) + @$(NORMAL_INSTALL) + test -z "$(gsettingsschemadir)" || $(MKDIR_P) "$(DESTDIR)$(gsettingsschemadir)" + @list='\''$(gsettings__enum_file) $(gsettings_SCHEMAS)'\''; test -n "$(gsettingsschemadir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(gsettings__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '\''$(DESTDIR)$(gsettingsschemadir)'\''"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(gsettingsschemadir)" || exit $$?; \ + done + test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir) + +uninstall-gsettings-schemas: + @$(NORMAL_UNINSTALL) + @list='\''$(gsettings_SCHEMAS) $(gsettings__enum_file)'\''; test -n "$(gsettingsschemadir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e '\''s|^.*/||'\''`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '\''$(DESTDIR)$(gsettingsschemadir)'\'' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(gsettingsschemadir)" && rm -f $$files + test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir) + +clean-gsettings-schemas: + rm -f $(gsettings_SCHEMAS:.xml=.valid) $(gsettings__enum_file) + +ifdef gsettings_ENUM_NAMESPACE +$(gsettings__enum_file): $(gsettings_ENUM_FILES) + $(AM_V_GEN) glib-mkenums --comments '\'''\'' --fhead "" --vhead " <@type@ id='\''$(gsettings_ENUM_NAMESPACE).@EnumName@'\''>" --vprod " " --vtail " " --ftail "" $(gsettings_ENUM_FILES) > [$]@.tmp && mv [$]@.tmp [$]@ +endif +' + _GSETTINGS_SUBST(GSETTINGS_RULES) +]) + +dnl _GSETTINGS_SUBST(VARIABLE) +dnl Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST +AC_DEFUN([_GSETTINGS_SUBST], +[ +AC_SUBST([$1]) +m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) +] +)