[libdazzle] abi: set default visibility on symbols to hidden



commit 6be11c3d0bc92e3943fad9f28cee78401ae241e6
Author: Christian Hergert <chergert redhat com>
Date:   Sun Feb 11 16:29:56 2018 -0800

    abi: set default visibility on symbols to hidden
    
    This ensures that we start hiding functions that do not have our export
    macros applied.
    
    Fixes #4

 meson.build                                     | 33 ++++++++++++++++++-------
 src/actions/dzl-child-property-action.c         |  2 ++
 src/actions/dzl-child-property-action.h         |  1 +
 src/actions/dzl-properties-group.c              |  2 ++
 src/actions/dzl-properties-group.h              |  1 +
 src/actions/dzl-settings-flag-action.c          |  4 +++
 src/actions/dzl-settings-flag-action.h          |  1 +
 src/actions/dzl-widget-action-group.c           |  2 ++
 src/actions/dzl-widget-action-group.h           |  1 +
 src/animation/dzl-animation.c                   |  4 +++
 src/animation/dzl-animation.h                   |  1 +
 src/animation/dzl-box-theatric.c                |  2 ++
 src/animation/dzl-box-theatric.h                |  3 +++
 src/animation/dzl-frame-source.c                |  4 +++
 src/app/dzl-application-window.c                |  2 ++
 src/app/dzl-application-window.h                |  1 +
 src/app/dzl-application.c                       |  2 ++
 src/app/dzl-application.h                       |  1 +
 src/bindings/dzl-binding-group.c                |  2 ++
 src/bindings/dzl-binding-group.h                |  1 +
 src/bindings/dzl-signal-group.c                 |  2 ++
 src/bindings/dzl-signal-group.h                 |  1 +
 src/cache/dzl-task-cache.c                      |  2 ++
 src/cache/dzl-task-cache.h                      |  1 +
 src/dzl-enums.h.in                              |  4 ++-
 src/files/dzl-directory-model.c                 |  2 ++
 src/files/dzl-directory-model.h                 |  1 +
 src/files/dzl-directory-reaper.c                |  2 ++
 src/files/dzl-directory-reaper.h                |  1 +
 src/files/dzl-file-transfer.c                   |  2 ++
 src/files/dzl-file-transfer.h                   | 12 +++++++++
 src/files/dzl-recursive-file-monitor.c          |  4 ++-
 src/files/dzl-recursive-file-monitor.h          |  9 +++++++
 src/graphing/dzl-cpu-graph.c                    |  2 ++
 src/graphing/dzl-cpu-graph.h                    |  1 +
 src/graphing/dzl-cpu-model.c                    |  2 ++
 src/graphing/dzl-cpu-model.h                    |  1 +
 src/graphing/dzl-graph-column.c                 |  2 ++
 src/graphing/dzl-graph-column.h                 | 11 +++++----
 src/graphing/dzl-graph-line-renderer.c          |  2 ++
 src/graphing/dzl-graph-line-renderer.h          |  1 +
 src/graphing/dzl-graph-model.c                  |  2 ++
 src/graphing/dzl-graph-model.h                  | 27 ++++++++++----------
 src/graphing/dzl-graph-renderer.c               | 16 ++++++------
 src/graphing/dzl-graph-renderer.h               | 18 +++++++-------
 src/graphing/dzl-graph-view.c                   |  2 ++
 src/graphing/dzl-graph-view.h                   |  1 +
 src/menus/dzl-joined-menu.c                     |  2 ++
 src/menus/dzl-joined-menu.h                     |  1 +
 src/menus/dzl-menu-button-item.c                |  2 ++
 src/menus/dzl-menu-button-item.h                |  1 +
 src/menus/dzl-menu-button-section.c             |  2 ++
 src/menus/dzl-menu-button.c                     |  2 ++
 src/menus/dzl-menu-button.h                     |  1 +
 src/menus/dzl-menu-manager.c                    |  2 ++
 src/menus/dzl-menu-manager.h                    |  1 +
 src/meson.build                                 |  1 +
 src/panel/dzl-dock-bin-edge.c                   |  2 ++
 src/panel/dzl-dock-bin.c                        |  4 +++
 src/panel/dzl-dock-item.c                       |  2 ++
 src/panel/dzl-dock-manager.c                    |  2 ++
 src/panel/dzl-dock-overlay-edge.c               |  2 ++
 src/panel/dzl-dock-overlay.c                    |  2 ++
 src/panel/dzl-dock-paned.c                      |  4 +++
 src/panel/dzl-dock-revealer.c                   |  2 ++
 src/panel/dzl-dock-revealer.h                   |  1 +
 src/panel/dzl-dock-stack.c                      |  2 ++
 src/panel/dzl-dock-transient-grab.c             |  4 +++
 src/panel/dzl-dock-transient-grab.h             |  1 +
 src/panel/dzl-dock-types.h                      | 13 ++++++++++
 src/panel/dzl-dock-widget.c                     |  2 ++
 src/panel/dzl-dock-window.c                     |  4 +++
 src/panel/dzl-dock.c                            |  4 +++
 src/panel/dzl-tab-strip.c                       |  2 ++
 src/panel/dzl-tab.c                             |  2 ++
 src/pathbar/dzl-path-bar.c                      |  2 ++
 src/pathbar/dzl-path-bar.h                      |  1 +
 src/pathbar/dzl-path-element.c                  |  4 +++
 src/pathbar/dzl-path-element.h                  |  1 +
 src/pathbar/dzl-path.c                          |  2 ++
 src/pathbar/dzl-path.h                          |  1 +
 src/prefs/dzl-preferences-bin.c                 |  4 +++
 src/prefs/dzl-preferences-bin.h                 |  1 +
 src/prefs/dzl-preferences-entry.c               |  4 +++
 src/prefs/dzl-preferences-entry.h               |  1 +
 src/prefs/dzl-preferences-file-chooser-button.c |  4 +++
 src/prefs/dzl-preferences-file-chooser-button.h |  1 +
 src/prefs/dzl-preferences-flow-box.c            |  4 +++
 src/prefs/dzl-preferences-flow-box.h            |  1 +
 src/prefs/dzl-preferences-font-button.c         |  4 +++
 src/prefs/dzl-preferences-font-button.h         |  1 +
 src/prefs/dzl-preferences-group.c               |  4 +++
 src/prefs/dzl-preferences-group.h               |  1 +
 src/prefs/dzl-preferences-page.c                |  2 ++
 src/prefs/dzl-preferences-page.h                |  1 +
 src/prefs/dzl-preferences-spin-button.c         |  2 ++
 src/prefs/dzl-preferences-spin-button.h         |  1 +
 src/prefs/dzl-preferences-switch.c              |  2 ++
 src/prefs/dzl-preferences-switch.h              |  1 +
 src/prefs/dzl-preferences-view.c                |  2 ++
 src/prefs/dzl-preferences-view.h                |  1 +
 src/prefs/dzl-preferences.c                     |  4 +++
 src/prefs/dzl-preferences.h                     |  1 +
 src/search/dzl-fuzzy-index-builder.c            |  2 ++
 src/search/dzl-fuzzy-index-builder.h            |  1 +
 src/search/dzl-fuzzy-index-cursor.c             |  2 ++
 src/search/dzl-fuzzy-index-cursor.h             |  1 +
 src/search/dzl-fuzzy-index-match.c              |  2 ++
 src/search/dzl-fuzzy-index-match.h              |  1 +
 src/search/dzl-fuzzy-index.c                    |  2 ++
 src/search/dzl-fuzzy-index.h                    |  1 +
 src/search/dzl-fuzzy-mutable-index.c            |  2 ++
 src/search/dzl-levenshtein.c                    |  4 +++
 src/search/dzl-pattern-spec.c                   |  2 ++
 src/search/dzl-trie.c                           |  2 ++
 src/settings/dzl-settings-sandwich.c            |  2 ++
 src/settings/dzl-settings-sandwich.h            |  1 +
 src/shortcuts/dzl-shortcut-accel-dialog.c       |  2 ++
 src/shortcuts/dzl-shortcut-accel-dialog.h       |  1 +
 src/shortcuts/dzl-shortcut-chord.c              |  2 ++
 src/shortcuts/dzl-shortcut-closure-chain.c      |  2 ++
 src/shortcuts/dzl-shortcut-context.c            |  2 ++
 src/shortcuts/dzl-shortcut-context.h            |  1 +
 src/shortcuts/dzl-shortcut-controller.c         |  2 ++
 src/shortcuts/dzl-shortcut-controller.h         |  1 +
 src/shortcuts/dzl-shortcut-label.c              |  2 ++
 src/shortcuts/dzl-shortcut-label.h              |  1 +
 src/shortcuts/dzl-shortcut-manager.c            |  2 ++
 src/shortcuts/dzl-shortcut-manager.h            |  1 +
 src/shortcuts/dzl-shortcut-model.c              |  2 ++
 src/shortcuts/dzl-shortcut-model.h              |  1 +
 src/shortcuts/dzl-shortcut-phase.c              |  2 ++
 src/shortcuts/dzl-shortcut-simple-label.c       |  2 ++
 src/shortcuts/dzl-shortcut-simple-label.h       |  1 +
 src/shortcuts/dzl-shortcut-theme-editor.c       |  2 ++
 src/shortcuts/dzl-shortcut-theme-editor.h       |  1 +
 src/shortcuts/dzl-shortcut-theme-load.c         |  2 ++
 src/shortcuts/dzl-shortcut-theme-save.c         |  2 ++
 src/shortcuts/dzl-shortcut-theme.c              |  2 ++
 src/shortcuts/dzl-shortcut-theme.h              |  1 +
 src/shortcuts/dzl-shortcuts-group.c             |  2 ++
 src/shortcuts/dzl-shortcuts-section.c           |  2 ++
 src/shortcuts/dzl-shortcuts-shortcut.c          |  2 ++
 src/shortcuts/dzl-shortcuts-window.c            |  2 ++
 src/statemachine/dzl-state-machine-buildable.c  |  2 ++
 src/statemachine/dzl-state-machine.c            |  2 ++
 src/statemachine/dzl-state-machine.h            |  1 +
 src/suggestions/dzl-suggestion-entry-buffer.c   |  2 ++
 src/suggestions/dzl-suggestion-entry-buffer.h   |  1 +
 src/suggestions/dzl-suggestion-entry.c          |  2 ++
 src/suggestions/dzl-suggestion-entry.h          |  1 +
 src/suggestions/dzl-suggestion-popover.c        |  2 ++
 src/suggestions/dzl-suggestion-popover.h        |  1 +
 src/suggestions/dzl-suggestion-row.c            |  2 ++
 src/suggestions/dzl-suggestion-row.h            |  1 +
 src/suggestions/dzl-suggestion.c                |  2 ++
 src/suggestions/dzl-suggestion.h                |  1 +
 src/theming/dzl-css-provider.c                  |  2 ++
 src/theming/dzl-css-provider.h                  |  1 +
 src/theming/dzl-theme-manager.c                 |  2 ++
 src/theming/dzl-theme-manager.h                 |  1 +
 src/tree/dzl-list-store-adapter.c               |  2 ++
 src/tree/dzl-list-store-adapter.h               |  1 +
 src/tree/dzl-tree-builder.c                     |  2 ++
 src/tree/dzl-tree-node.c                        |  2 ++
 src/tree/dzl-tree-store.c                       |  2 ++
 src/tree/dzl-tree-store.h                       |  1 +
 src/tree/dzl-tree-types.h                       |  5 ++++
 src/tree/dzl-tree.c                             |  2 ++
 src/util/dzl-cairo.c                            |  2 ++
 src/util/dzl-cancellable.c                      |  2 ++
 src/util/dzl-cancellable.h                      |  3 +++
 src/util/dzl-counter.c                          |  4 +--
 src/util/dzl-date-time.c                        |  2 ++
 src/util/dzl-dnd.c                              |  2 ++
 src/util/dzl-file-manager.c                     |  4 ++-
 src/util/dzl-gdk.c                              |  2 ++
 src/util/dzl-gtk.c                              |  2 ++
 src/util/dzl-heap.c                             |  2 ++
 src/util/dzl-pango.c                            |  2 ++
 src/util/dzl-rgba.c                             |  2 ++
 src/util/dzl-ring.c                             |  2 ++
 src/util/dzl-util.c                             |  2 ++
 src/util/dzl-variant.c                          |  2 ++
 src/widgets/dzl-bin.c                           |  2 ++
 src/widgets/dzl-bin.h                           |  1 +
 src/widgets/dzl-bolding-label.c                 |  2 ++
 src/widgets/dzl-bolding-label.h                 |  1 +
 src/widgets/dzl-box.c                           |  2 ++
 src/widgets/dzl-box.h                           |  1 +
 src/widgets/dzl-centering-bin.c                 |  2 ++
 src/widgets/dzl-centering-bin.h                 |  1 +
 src/widgets/dzl-column-layout.c                 |  2 ++
 src/widgets/dzl-column-layout.h                 |  1 +
 src/widgets/dzl-counters-window.c               |  2 ++
 src/widgets/dzl-counters-window.h               |  1 +
 src/widgets/dzl-elastic-bin.c                   |  2 ++
 src/widgets/dzl-elastic-bin.h                   |  1 +
 src/widgets/dzl-empty-state.c                   |  2 ++
 src/widgets/dzl-empty-state.h                   |  1 +
 src/widgets/dzl-entry-box.c                     |  2 ++
 src/widgets/dzl-entry-box.h                     |  1 +
 src/widgets/dzl-file-chooser-entry.c            |  2 ++
 src/widgets/dzl-file-chooser-entry.h            |  1 +
 src/widgets/dzl-list-box-row.c                  |  2 ++
 src/widgets/dzl-list-box-row.h                  |  2 ++
 src/widgets/dzl-list-box.c                      |  2 ++
 src/widgets/dzl-list-box.h                      |  1 +
 src/widgets/dzl-multi-paned.c                   |  2 ++
 src/widgets/dzl-multi-paned.h                   |  1 +
 src/widgets/dzl-pill-box.c                      |  2 ++
 src/widgets/dzl-pill-box.h                      |  1 +
 src/widgets/dzl-priority-box.c                  |  2 ++
 src/widgets/dzl-priority-box.h                  |  1 +
 src/widgets/dzl-progress-button.c               |  2 ++
 src/widgets/dzl-progress-button.h               |  1 +
 src/widgets/dzl-progress-icon.c                 |  2 ++
 src/widgets/dzl-progress-icon.h                 |  1 +
 src/widgets/dzl-progress-menu-button.c          |  2 ++
 src/widgets/dzl-progress-menu-button.h          |  1 +
 src/widgets/dzl-radio-box.c                     |  2 ++
 src/widgets/dzl-radio-box.h                     |  1 +
 src/widgets/dzl-rect-helper.c                   |  2 ++
 src/widgets/dzl-scrolled-window.c               |  2 ++
 src/widgets/dzl-scrolled-window.h               |  3 +++
 src/widgets/dzl-search-bar.c                    |  2 ++
 src/widgets/dzl-search-bar.h                    |  1 +
 src/widgets/dzl-simple-label.c                  |  2 ++
 src/widgets/dzl-simple-label.h                  |  1 +
 src/widgets/dzl-simple-popover.c                |  2 ++
 src/widgets/dzl-simple-popover.h                |  1 +
 src/widgets/dzl-slider.c                        |  2 ++
 src/widgets/dzl-slider.h                        |  1 +
 src/widgets/dzl-stack-list.c                    |  2 ++
 src/widgets/dzl-stack-list.h                    |  1 +
 src/widgets/dzl-three-grid.c                    |  2 ++
 src/widgets/dzl-three-grid.h                    |  1 +
 tests/meson.build                               |  2 +-
 238 files changed, 512 insertions(+), 50 deletions(-)
---
diff --git a/meson.build b/meson.build
index 4284724..51d2b1a 100644
--- a/meson.build
+++ b/meson.build
@@ -30,11 +30,6 @@ config_h = configuration_data()
 config_h.set_quoted('GETTEXT_PACKAGE', 'libdazzle')
 config_h.set_quoted('LOCALEDIR', join_paths(get_option('prefix'), get_option('localedir')))
 
-configure_file(
-  output: 'config.h',
-  configuration: config_h,
-)
-
 add_project_arguments([
   '-DHAVE_CONFIG_H',
   '-DDAZZLE_COMPILATION',
@@ -90,10 +85,25 @@ foreach arg: test_c_args
     global_c_args += arg
   endif
 endforeach
-add_project_arguments(
-  global_c_args,
-  language: 'c'
-)
+
+# Detect and set symbol visibility
+hidden_visibility_args = []
+if get_option('default_library') != 'static'
+  if host_machine.system() == 'windows'
+    config_h.set('DLL_EXPORT', true)
+    if cc.get_id() == 'msvc'
+      config_h.set('_DZL_EXTERN', '__declspec(dllexport) extern')
+    elif cc.has_argument('-fvisibility=hidden')
+      config_h.set('_DZL_EXTERN', '__attribute__((visibility("default"))) __declspec(dllexport) extern')
+      hidden_visibility_args = ['-fvisibility=hidden']
+    endif
+  elif cc.has_argument('-fvisibility=hidden')
+    config_h.set('_DZL_EXTERN', '__attribute__((visibility("default"))) extern')
+    hidden_visibility_args = ['-fvisibility=hidden']
+  endif
+endif
+
+add_project_arguments(global_c_args, language: 'c')
 
 # Setup various paths that subdirectory meson.build files need
 package_subdir = get_option('package_subdir') # When used as subproject
@@ -106,6 +116,11 @@ else
   vapidir = join_paths(get_option('datadir'), 'vala', 'vapi')
 endif
 
+configure_file(
+         output: 'config.h',
+  configuration: config_h,
+)
+
 gnome = import('gnome')
 
 subdir('src')
diff --git a/src/actions/dzl-child-property-action.c b/src/actions/dzl-child-property-action.c
index aecd736..611034a 100644
--- a/src/actions/dzl-child-property-action.c
+++ b/src/actions/dzl-child-property-action.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-child-property-action"
 
+#include "config.h"
+
 #include "dzl-child-property-action.h"
 #include "../util/dzl-util-private.h"
 
diff --git a/src/actions/dzl-child-property-action.h b/src/actions/dzl-child-property-action.h
index 9a6dac9..0425269 100644
--- a/src/actions/dzl-child-property-action.h
+++ b/src/actions/dzl-child-property-action.h
@@ -31,6 +31,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_CHILD_PROPERTY_ACTION  (dzl_child_property_action_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlChildPropertyAction, dzl_child_property_action,  DZL, CHILD_PROPERTY_ACTION, 
GObject)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/actions/dzl-properties-group.c b/src/actions/dzl-properties-group.c
index e6cb679..8b59bee 100644
--- a/src/actions/dzl-properties-group.c
+++ b/src/actions/dzl-properties-group.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-properties-group"
 
+#include "config.h"
+
 #include "dzl-properties-group.h"
 
 /**
diff --git a/src/actions/dzl-properties-group.h b/src/actions/dzl-properties-group.h
index 7133a58..19959c9 100644
--- a/src/actions/dzl-properties-group.h
+++ b/src/actions/dzl-properties-group.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_PROPERTIES_GROUP (dzl_properties_group_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlPropertiesGroup, dzl_properties_group, DZL, PROPERTIES_GROUP, GObject)
 
 typedef enum
diff --git a/src/actions/dzl-settings-flag-action.c b/src/actions/dzl-settings-flag-action.c
index dc961bd..9a0bd0e 100644
--- a/src/actions/dzl-settings-flag-action.c
+++ b/src/actions/dzl-settings-flag-action.c
@@ -16,6 +16,10 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "dzl-settings-flag-action"
+
+#include "config.h"
+
 #include "dzl-settings-flag-action.h"
 
 struct _DzlSettingsFlagAction
diff --git a/src/actions/dzl-settings-flag-action.h b/src/actions/dzl-settings-flag-action.h
index 442326e..4edbda7 100644
--- a/src/actions/dzl-settings-flag-action.h
+++ b/src/actions/dzl-settings-flag-action.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_SETTINGS_FLAG_ACTION (dzl_settings_flag_action_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlSettingsFlagAction, dzl_settings_flag_action, DZL, SETTINGS_FLAG_ACTION, GObject)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/actions/dzl-widget-action-group.c b/src/actions/dzl-widget-action-group.c
index 1fa7d91..63d2d20 100644
--- a/src/actions/dzl-widget-action-group.c
+++ b/src/actions/dzl-widget-action-group.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-widget-action-group"
 
+#include "config.h"
+
 #include <string.h>
 
 #include "dzl-widget-action-group.h"
diff --git a/src/actions/dzl-widget-action-group.h b/src/actions/dzl-widget-action-group.h
index a5817ed..5c92623 100644
--- a/src/actions/dzl-widget-action-group.h
+++ b/src/actions/dzl-widget-action-group.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_WIDGET_ACTION_GROUP (dzl_widget_action_group_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlWidgetActionGroup, dzl_widget_action_group, DZL, WIDGET_ACTION_GROUP, GObject)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/animation/dzl-animation.c b/src/animation/dzl-animation.c
index 2e1dfd5..5ccccea 100644
--- a/src/animation/dzl-animation.c
+++ b/src/animation/dzl-animation.c
@@ -16,6 +16,10 @@
  * with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "dzl-animation"
+
+#include "config.h"
+
 #include <glib/gi18n.h>
 #include <gobject/gvaluecollector.h>
 #include <gdk/gdk.h>
diff --git a/src/animation/dzl-animation.h b/src/animation/dzl-animation.h
index 6d78926..ce6e532 100644
--- a/src/animation/dzl-animation.h
+++ b/src/animation/dzl-animation.h
@@ -28,6 +28,7 @@ G_BEGIN_DECLS
 #define DZL_TYPE_ANIMATION      (dzl_animation_get_type())
 #define DZL_TYPE_ANIMATION_MODE (dzl_animation_mode_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlAnimation, dzl_animation, DZL, ANIMATION, GInitiallyUnowned)
 
 enum _DzlAnimationMode
diff --git a/src/animation/dzl-box-theatric.c b/src/animation/dzl-box-theatric.c
index 8163453..618c001 100644
--- a/src/animation/dzl-box-theatric.c
+++ b/src/animation/dzl-box-theatric.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-box-theatric"
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "animation/dzl-box-theatric.h"
diff --git a/src/animation/dzl-box-theatric.h b/src/animation/dzl-box-theatric.h
index 7ab174b..7413adc 100644
--- a/src/animation/dzl-box-theatric.h
+++ b/src/animation/dzl-box-theatric.h
@@ -21,10 +21,13 @@
 
 #include <gtk/gtk.h>
 
+#include "dzl-version-macros.h"
+
 G_BEGIN_DECLS
 
 #define DZL_TYPE_BOX_THEATRIC (dzl_box_theatric_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlBoxTheatric, dzl_box_theatric, DZL, BOX_THEATRIC, GObject)
 
 G_END_DECLS
diff --git a/src/animation/dzl-frame-source.c b/src/animation/dzl-frame-source.c
index f9335ed..7f4a87e 100644
--- a/src/animation/dzl-frame-source.c
+++ b/src/animation/dzl-frame-source.c
@@ -16,6 +16,10 @@
  * with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "dzl-frame-source"
+
+#include "config.h"
+
 #include "dzl-frame-source.h"
 
 typedef struct
diff --git a/src/app/dzl-application-window.c b/src/app/dzl-application-window.c
index fd9511e..5ac18fe 100644
--- a/src/app/dzl-application-window.c
+++ b/src/app/dzl-application-window.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-application-window"
 
+#include "config.h"
+
 #include "app/dzl-application-window.h"
 #include "shortcuts/dzl-shortcut-manager.h"
 #include "util/dzl-gtk.h"
diff --git a/src/app/dzl-application-window.h b/src/app/dzl-application-window.h
index b4c8cc5..d9bfe87 100644
--- a/src/app/dzl-application-window.h
+++ b/src/app/dzl-application-window.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_APPLICATION_WINDOW (dzl_application_window_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlApplicationWindow, dzl_application_window, DZL, APPLICATION_WINDOW, 
GtkApplicationWindow)
 
 struct _DzlApplicationWindowClass
diff --git a/src/app/dzl-application.c b/src/app/dzl-application.c
index 5a99ed6..2e66f50 100644
--- a/src/app/dzl-application.c
+++ b/src/app/dzl-application.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-application"
 
+#include "config.h"
+
 #include "app/dzl-application.h"
 
 /**
diff --git a/src/app/dzl-application.h b/src/app/dzl-application.h
index df8f1d6..cd26976 100644
--- a/src/app/dzl-application.h
+++ b/src/app/dzl-application.h
@@ -36,6 +36,7 @@ G_BEGIN_DECLS
 #define DZL_APPLICATION_DEFAULT (DZL_APPLICATION (g_application_get_default ()))
 #define DZL_TYPE_APPLICATION    (dzl_application_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlApplication, dzl_application, DZL, APPLICATION, GtkApplication)
 
 struct _DzlApplicationClass
diff --git a/src/bindings/dzl-binding-group.c b/src/bindings/dzl-binding-group.c
index 7d83cd2..03590ac 100644
--- a/src/bindings/dzl-binding-group.c
+++ b/src/bindings/dzl-binding-group.c
@@ -19,6 +19,8 @@
 
 #define G_LOG_DOMAIN "dzl-binding-group"
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "dzl-binding-group.h"
diff --git a/src/bindings/dzl-binding-group.h b/src/bindings/dzl-binding-group.h
index de81102..812abf1 100644
--- a/src/bindings/dzl-binding-group.h
+++ b/src/bindings/dzl-binding-group.h
@@ -28,6 +28,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_BINDING_GROUP (dzl_binding_group_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlBindingGroup, dzl_binding_group, DZL, BINDING_GROUP, GObject)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/bindings/dzl-signal-group.c b/src/bindings/dzl-signal-group.c
index e6de220..5c30b76 100644
--- a/src/bindings/dzl-signal-group.c
+++ b/src/bindings/dzl-signal-group.c
@@ -19,6 +19,8 @@
 
 #define G_LOG_DOMAIN "dzl-signal-group"
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "dzl-signal-group.h"
diff --git a/src/bindings/dzl-signal-group.h b/src/bindings/dzl-signal-group.h
index 32df3e7..5fe646b 100644
--- a/src/bindings/dzl-signal-group.h
+++ b/src/bindings/dzl-signal-group.h
@@ -28,6 +28,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_SIGNAL_GROUP (dzl_signal_group_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlSignalGroup, dzl_signal_group, DZL, SIGNAL_GROUP, GObject)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/cache/dzl-task-cache.c b/src/cache/dzl-task-cache.c
index 60237f7..a04ce36 100644
--- a/src/cache/dzl-task-cache.c
+++ b/src/cache/dzl-task-cache.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-task-cache"
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "cache/dzl-task-cache.h"
diff --git a/src/cache/dzl-task-cache.h b/src/cache/dzl-task-cache.h
index 5850a06..76b6b59 100644
--- a/src/cache/dzl-task-cache.h
+++ b/src/cache/dzl-task-cache.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_TASK_CACHE (dzl_task_cache_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlTaskCache, dzl_task_cache, DZL, TASK_CACHE, GObject)
 
 /**
diff --git a/src/dzl-enums.h.in b/src/dzl-enums.h.in
index 6714857..815d002 100644
--- a/src/dzl-enums.h.in
+++ b/src/dzl-enums.h.in
@@ -4,6 +4,8 @@
 
 #include <glib-object.h>
 
+#include "dzl-version-macros.h"
+
 G_BEGIN_DECLS
 /*** END file-header ***/
 
@@ -13,7 +15,7 @@ G_BEGIN_DECLS
 /*** END file-production ***/
 
 /*** BEGIN value-header ***/
-GType @enum_name@_get_type (void);
+DZL_AVAILABLE_IN_ALL GType @enum_name@_get_type (void);
 #define @ENUMPREFIX@_TYPE_@ENUMSHORT@ (@enum_name@_get_type ())
 /*** END value-header ***/
 
diff --git a/src/files/dzl-directory-model.c b/src/files/dzl-directory-model.c
index ae05ac2..ad19f4d 100644
--- a/src/files/dzl-directory-model.c
+++ b/src/files/dzl-directory-model.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-directory-model"
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "dzl-directory-model.h"
diff --git a/src/files/dzl-directory-model.h b/src/files/dzl-directory-model.h
index f4b6309..cebd23d 100644
--- a/src/files/dzl-directory-model.h
+++ b/src/files/dzl-directory-model.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_DIRECTORY_MODEL (dzl_directory_model_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlDirectoryModel, dzl_directory_model, DZL, DIRECTORY_MODEL, GObject)
 
 typedef gboolean (*DzlDirectoryModelVisibleFunc) (DzlDirectoryModel *self,
diff --git a/src/files/dzl-directory-reaper.c b/src/files/dzl-directory-reaper.c
index b1b9f12..b6219be 100644
--- a/src/files/dzl-directory-reaper.c
+++ b/src/files/dzl-directory-reaper.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-directory-reaper"
 
+#include "config.h"
+
 #include "files/dzl-directory-reaper.h"
 
 typedef enum
diff --git a/src/files/dzl-directory-reaper.h b/src/files/dzl-directory-reaper.h
index 3a60c5a..1f2edea 100644
--- a/src/files/dzl-directory-reaper.h
+++ b/src/files/dzl-directory-reaper.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_DIRECTORY_REAPER (dzl_directory_reaper_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlDirectoryReaper, dzl_directory_reaper, DZL, DIRECTORY_REAPER, GObject)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/files/dzl-file-transfer.c b/src/files/dzl-file-transfer.c
index c4a79db..d2a8ef5 100644
--- a/src/files/dzl-file-transfer.c
+++ b/src/files/dzl-file-transfer.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-file-transfer"
 
+#include "config.h"
+
 #include "dzl-debug.h"
 #include "dzl-enums.h"
 
diff --git a/src/files/dzl-file-transfer.h b/src/files/dzl-file-transfer.h
index ad18080..007d18b 100644
--- a/src/files/dzl-file-transfer.h
+++ b/src/files/dzl-file-transfer.h
@@ -20,10 +20,13 @@
 
 #include <gio/gio.h>
 
+#include "dzl-version-macros.h"
+
 G_BEGIN_DECLS
 
 #define DZL_TYPE_FILE_TRANSFER (dzl_file_transfer_get_type())
 
+DZL_AVAILABLE_IN_3_28
 G_DECLARE_DERIVABLE_TYPE (DzlFileTransfer, dzl_file_transfer, DZL, FILE_TRANSFER, GObject)
 
 struct _DzlFileTransferClass
@@ -53,24 +56,33 @@ typedef struct
   gint64 _padding[10];
 } DzlFileTransferStat;
 
+DZL_AVAILABLE_IN_3_28
 DzlFileTransfer      *dzl_file_transfer_new            (void);
+DZL_AVAILABLE_IN_3_28
 DzlFileTransferFlags  dzl_file_transfer_get_flags      (DzlFileTransfer       *self);
+DZL_AVAILABLE_IN_3_28
 void                  dzl_file_transfer_set_flags      (DzlFileTransfer       *self,
                                                         DzlFileTransferFlags   flags);
+DZL_AVAILABLE_IN_3_28
 gdouble               dzl_file_transfer_get_progress   (DzlFileTransfer       *self);
+DZL_AVAILABLE_IN_3_28
 void                  dzl_file_transfer_stat           (DzlFileTransfer       *self,
                                                         DzlFileTransferStat   *stat_buf);
+DZL_AVAILABLE_IN_3_28
 void                  dzl_file_transfer_add            (DzlFileTransfer       *self,
                                                         GFile                 *src,
                                                         GFile                 *dest);
+DZL_AVAILABLE_IN_3_28
 void                  dzl_file_transfer_execute_async  (DzlFileTransfer       *self,
                                                         gint                   io_priority,
                                                         GCancellable          *cancellable,
                                                         GAsyncReadyCallback    callback,
                                                         gpointer               user_data);
+DZL_AVAILABLE_IN_3_28
 gboolean              dzl_file_transfer_execute_finish (DzlFileTransfer       *self,
                                                         GAsyncResult          *result,
                                                         GError               **error);
+DZL_AVAILABLE_IN_3_28
 gboolean              dzl_file_transfer_execute        (DzlFileTransfer       *self,
                                                         gint                   io_priority,
                                                         GCancellable          *cancellable,
diff --git a/src/files/dzl-recursive-file-monitor.c b/src/files/dzl-recursive-file-monitor.c
index 8a36055..591b721 100644
--- a/src/files/dzl-recursive-file-monitor.c
+++ b/src/files/dzl-recursive-file-monitor.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-recursive-file-monitor"
 
+#include "config.h"
+
 #include "files/dzl-recursive-file-monitor.h"
 #include "util/dzl-macros.h"
 
@@ -493,7 +495,7 @@ dzl_recursive_file_monitor_class_init (DzlRecursiveFileMonitorClass *klass)
                          "The root directory to monitor",
                          G_TYPE_FILE,
                          (G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
-  
+
   g_object_class_install_properties (object_class, N_PROPS, properties);
 
   /**
diff --git a/src/files/dzl-recursive-file-monitor.h b/src/files/dzl-recursive-file-monitor.h
index 835d16f..077bdaf 100644
--- a/src/files/dzl-recursive-file-monitor.h
+++ b/src/files/dzl-recursive-file-monitor.h
@@ -21,25 +21,34 @@
 
 #include <gio/gio.h>
 
+#include "dzl-version-macros.h"
+
 G_BEGIN_DECLS
 
 #define DZL_TYPE_RECURSIVE_FILE_MONITOR (dzl_recursive_file_monitor_get_type())
 
+DZL_AVAILABLE_IN_3_28
 G_DECLARE_FINAL_TYPE (DzlRecursiveFileMonitor, dzl_recursive_file_monitor, DZL, RECURSIVE_FILE_MONITOR, 
GObject)
 
 typedef gboolean (*DzlRecursiveIgnoreFunc) (GFile    *file,
                                             gpointer  user_data);
 
+DZL_AVAILABLE_IN_3_28
 DzlRecursiveFileMonitor *dzl_recursive_file_monitor_new             (GFile                    *root);
+DZL_AVAILABLE_IN_3_28
 GFile                   *dzl_recursive_file_monitor_get_root        (DzlRecursiveFileMonitor  *self);
+DZL_AVAILABLE_IN_3_28
 void                     dzl_recursive_file_monitor_start_async     (DzlRecursiveFileMonitor  *self,
                                                                      GCancellable             *cancellable,
                                                                      GAsyncReadyCallback       callback,
                                                                      gpointer                  user_data);
+DZL_AVAILABLE_IN_3_28
 gboolean                 dzl_recursive_file_monitor_start_finish    (DzlRecursiveFileMonitor  *self,
                                                                      GAsyncResult             *result,
                                                                      GError                  **error);
+DZL_AVAILABLE_IN_3_28
 void                     dzl_recursive_file_monitor_cancel          (DzlRecursiveFileMonitor  *self);
+DZL_AVAILABLE_IN_3_28
 void                     dzl_recursive_file_monitor_set_ignore_func (DzlRecursiveFileMonitor  *self,
                                                                      DzlRecursiveIgnoreFunc    ignore_func,
                                                                      gpointer                  
ignore_func_data,
diff --git a/src/graphing/dzl-cpu-graph.c b/src/graphing/dzl-cpu-graph.c
index 6826b80..9d07713 100644
--- a/src/graphing/dzl-cpu-graph.c
+++ b/src/graphing/dzl-cpu-graph.c
@@ -18,6 +18,8 @@
 
 #include <glib/gi18n.h>
 
+#include "config.h"
+
 #include "dzl-cpu-graph.h"
 #include "dzl-cpu-model.h"
 #include "dzl-graph-line-renderer.h"
diff --git a/src/graphing/dzl-cpu-graph.h b/src/graphing/dzl-cpu-graph.h
index a677853..f2d3e83 100644
--- a/src/graphing/dzl-cpu-graph.h
+++ b/src/graphing/dzl-cpu-graph.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_CPU_GRAPH (dzl_cpu_graph_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlCpuGraph, dzl_cpu_graph, DZL, CPU_GRAPH, DzlGraphView)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/graphing/dzl-cpu-model.c b/src/graphing/dzl-cpu-model.c
index c0fc9dd..92dc15a 100644
--- a/src/graphing/dzl-cpu-model.c
+++ b/src/graphing/dzl-cpu-model.c
@@ -16,6 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "config.h"
+
 #include <ctype.h>
 #include <stdio.h>
 #if defined(__FreeBSD__)
diff --git a/src/graphing/dzl-cpu-model.h b/src/graphing/dzl-cpu-model.h
index 3446ed9..fa55206 100644
--- a/src/graphing/dzl-cpu-model.h
+++ b/src/graphing/dzl-cpu-model.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_CPU_MODEL (dzl_cpu_model_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlCpuModel, dzl_cpu_model, DZL, CPU_MODEL, DzlGraphModel)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/graphing/dzl-graph-column.c b/src/graphing/dzl-graph-column.c
index 8222925..653a61d 100644
--- a/src/graphing/dzl-graph-column.c
+++ b/src/graphing/dzl-graph-column.c
@@ -16,6 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 #include <gobject/gvaluecollector.h>
 
diff --git a/src/graphing/dzl-graph-column.h b/src/graphing/dzl-graph-column.h
index c572fe2..e16266b 100644
--- a/src/graphing/dzl-graph-column.h
+++ b/src/graphing/dzl-graph-column.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_GRAPH_COLUMN (dzl_graph_view_column_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlGraphColumn, dzl_graph_view_column, DZL, GRAPH_COLUMN, GObject)
 
 struct _DzlGraphColumnClass
@@ -35,13 +36,13 @@ struct _DzlGraphColumnClass
 };
 
 DZL_AVAILABLE_IN_ALL
-DzlGraphColumn    *dzl_graph_view_column_new      (const gchar *name,
-                                 GType        value_type);
+DzlGraphColumn    *dzl_graph_view_column_new  (const gchar    *name,
+                                               GType           value_type);
 DZL_AVAILABLE_IN_ALL
-const gchar *dzl_graph_view_column_get_name (DzlGraphColumn    *self);
+const gchar *dzl_graph_view_column_get_name   (DzlGraphColumn *self);
 DZL_AVAILABLE_IN_ALL
-void         dzl_graph_view_column_set_name (DzlGraphColumn    *self,
-                                 const gchar *name);
+void         dzl_graph_view_column_set_name   (DzlGraphColumn *self,
+                                               const gchar    *name);
 
 G_END_DECLS
 
diff --git a/src/graphing/dzl-graph-line-renderer.c b/src/graphing/dzl-graph-line-renderer.c
index 849d628..3da778b 100644
--- a/src/graphing/dzl-graph-line-renderer.c
+++ b/src/graphing/dzl-graph-line-renderer.c
@@ -16,6 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 #include <math.h>
 
diff --git a/src/graphing/dzl-graph-line-renderer.h b/src/graphing/dzl-graph-line-renderer.h
index 68ffec7..23d0618 100644
--- a/src/graphing/dzl-graph-line-renderer.h
+++ b/src/graphing/dzl-graph-line-renderer.h
@@ -29,6 +29,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_GRAPH_LINE_RENDERER (dzl_graph_view_line_renderer_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlGraphLineRenderer, dzl_graph_view_line_renderer, DZL, GRAPH_LINE_RENDERER, GObject)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/graphing/dzl-graph-model.c b/src/graphing/dzl-graph-model.c
index f220b8f..2a74c7b 100644
--- a/src/graphing/dzl-graph-model.c
+++ b/src/graphing/dzl-graph-model.c
@@ -16,6 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "dzl-graph-column-private.h"
diff --git a/src/graphing/dzl-graph-model.h b/src/graphing/dzl-graph-model.h
index 4c58f93..5bde47a 100644
--- a/src/graphing/dzl-graph-model.h
+++ b/src/graphing/dzl-graph-model.h
@@ -29,6 +29,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_GRAPH_MODEL (dzl_graph_view_model_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlGraphModel, dzl_graph_view_model, DZL, GRAPH_MODEL, GObject)
 
 struct _DzlGraphModelClass
@@ -45,47 +46,47 @@ DZL_AVAILABLE_IN_ALL
 DzlGraphModel   *dzl_graph_view_model_new                (void);
 DZL_AVAILABLE_IN_ALL
 guint      dzl_graph_view_model_add_column         (DzlGraphModel     *self,
-                                        DzlGraphColumn    *column);
+                                                    DzlGraphColumn    *column);
 DZL_AVAILABLE_IN_ALL
 guint      dzl_graph_view_model_get_n_columns      (DzlGraphModel     *self);
 DZL_AVAILABLE_IN_ALL
 GTimeSpan  dzl_graph_view_model_get_timespan       (DzlGraphModel     *self);
 DZL_AVAILABLE_IN_ALL
 void       dzl_graph_view_model_set_timespan       (DzlGraphModel     *self,
-                                        GTimeSpan    timespan);
+                                                    GTimeSpan    timespan);
 DZL_AVAILABLE_IN_ALL
 gint64     dzl_graph_view_model_get_end_time       (DzlGraphModel     *self);
 DZL_AVAILABLE_IN_ALL
 guint      dzl_graph_view_model_get_max_samples    (DzlGraphModel     *self);
 DZL_AVAILABLE_IN_ALL
 void       dzl_graph_view_model_set_max_samples    (DzlGraphModel     *self,
-                                        guint        n_rows);
+                                                    guint        n_rows);
 DZL_AVAILABLE_IN_ALL
 void       dzl_graph_view_model_push               (DzlGraphModel     *self,
-                                        DzlGraphModelIter *iter,
-                                        gint64       timestamp);
+                                                    DzlGraphModelIter *iter,
+                                                    gint64       timestamp);
 DZL_AVAILABLE_IN_ALL
 gboolean   dzl_graph_view_model_get_iter_first     (DzlGraphModel     *self,
-                                        DzlGraphModelIter *iter);
+                                                    DzlGraphModelIter *iter);
 DZL_AVAILABLE_IN_ALL
 gboolean   dzl_graph_view_model_get_iter_last      (DzlGraphModel     *self,
-                                        DzlGraphModelIter *iter);
+                                                    DzlGraphModelIter *iter);
 DZL_AVAILABLE_IN_ALL
 gboolean   dzl_graph_view_model_iter_next          (DzlGraphModelIter *iter);
 DZL_AVAILABLE_IN_ALL
 void       dzl_graph_view_model_iter_get           (DzlGraphModelIter *iter,
-                                        gint         first_column,
-                                        ...);
+                                                    gint         first_column,
+                                                    ...);
 DZL_AVAILABLE_IN_ALL
 void       dzl_graph_view_model_iter_get_value     (DzlGraphModelIter *iter,
-                                        guint        column,
-                                        GValue      *value);
+                                                    guint        column,
+                                                    GValue      *value);
 DZL_AVAILABLE_IN_ALL
 gint64     dzl_graph_view_model_iter_get_timestamp (DzlGraphModelIter *iter);
 DZL_AVAILABLE_IN_ALL
 void       dzl_graph_view_model_iter_set           (DzlGraphModelIter *iter,
-                                        gint         first_column,
-                                        ...);
+                                                    gint         first_column,
+                                                    ...);
 
 G_END_DECLS
 
diff --git a/src/graphing/dzl-graph-renderer.c b/src/graphing/dzl-graph-renderer.c
index a6fea81..b705eab 100644
--- a/src/graphing/dzl-graph-renderer.c
+++ b/src/graphing/dzl-graph-renderer.c
@@ -16,6 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "config.h"
+
 #include <cairo.h>
 
 #include "dzl-graph-renderer.h"
@@ -42,13 +44,13 @@ dzl_graph_view_renderer_default_init (DzlGraphRendererInterface *iface)
 
 void
 dzl_graph_view_renderer_render (DzlGraphRenderer                  *self,
-                    DzlGraphModel                     *table,
-                    gint64                       x_begin,
-                    gint64                       x_end,
-                    gdouble                      y_begin,
-                    gdouble                      y_end,
-                    cairo_t                     *cr,
-                    const cairo_rectangle_int_t *area)
+                                DzlGraphModel                     *table,
+                                gint64                       x_begin,
+                                gint64                       x_end,
+                                gdouble                      y_begin,
+                                gdouble                      y_end,
+                                cairo_t                     *cr,
+                                const cairo_rectangle_int_t *area)
 {
   g_return_if_fail (DZL_IS_GRAPH_RENDERER (self));
   g_return_if_fail (cr != NULL);
diff --git a/src/graphing/dzl-graph-renderer.h b/src/graphing/dzl-graph-renderer.h
index 4c808ed..17c1a4c 100644
--- a/src/graphing/dzl-graph-renderer.h
+++ b/src/graphing/dzl-graph-renderer.h
@@ -21,14 +21,14 @@
 
 #include <glib-object.h>
 
-#include "dzl-version-macros.h"
-
 #include "dzl-graph-model.h"
+#include "dzl-version-macros.h"
 
 G_BEGIN_DECLS
 
 #define DZL_TYPE_GRAPH_RENDERER (dzl_graph_view_renderer_get_type ())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_INTERFACE (DzlGraphRenderer, dzl_graph_view_renderer, DZL, GRAPH_RENDERER, GObject)
 
 struct _DzlGraphRendererInterface
@@ -47,13 +47,13 @@ struct _DzlGraphRendererInterface
 
 DZL_AVAILABLE_IN_ALL
 void dzl_graph_view_renderer_render (DzlGraphRenderer                  *self,
-                         DzlGraphModel                     *table,
-                         gint64                       x_begin,
-                         gint64                       x_end,
-                         gdouble                      y_begin,
-                         gdouble                      y_end,
-                         cairo_t                     *cr,
-                         const cairo_rectangle_int_t *area);
+                                     DzlGraphModel                     *table,
+                                     gint64                       x_begin,
+                                     gint64                       x_end,
+                                     gdouble                      y_begin,
+                                     gdouble                      y_end,
+                                     cairo_t                     *cr,
+                                     const cairo_rectangle_int_t *area);
 
 G_END_DECLS
 
diff --git a/src/graphing/dzl-graph-view.c b/src/graphing/dzl-graph-view.c
index 77c5669..0b84588 100644
--- a/src/graphing/dzl-graph-view.c
+++ b/src/graphing/dzl-graph-view.c
@@ -16,6 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "config.h"
+
 #include <dazzle.h>
 #include <glib/gi18n.h>
 
diff --git a/src/graphing/dzl-graph-view.h b/src/graphing/dzl-graph-view.h
index aad0196..e95eea7 100644
--- a/src/graphing/dzl-graph-view.h
+++ b/src/graphing/dzl-graph-view.h
@@ -30,6 +30,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_GRAPH_VIEW (dzl_graph_view_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlGraphView, dzl_graph_view, DZL, GRAPH_VIEW, GtkDrawingArea)
 
 struct _DzlGraphViewClass
diff --git a/src/menus/dzl-joined-menu.c b/src/menus/dzl-joined-menu.c
index 2b465d6..5833291 100644
--- a/src/menus/dzl-joined-menu.c
+++ b/src/menus/dzl-joined-menu.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-joined-menu"
 
+#include "config.h"
+
 #include "dzl-joined-menu.h"
 
 typedef struct
diff --git a/src/menus/dzl-joined-menu.h b/src/menus/dzl-joined-menu.h
index 4fd97ea..008d00f 100644
--- a/src/menus/dzl-joined-menu.h
+++ b/src/menus/dzl-joined-menu.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_JOINED_MENU (dzl_joined_menu_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlJoinedMenu, dzl_joined_menu, DZL, JOINED_MENU, GMenuModel)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/menus/dzl-menu-button-item.c b/src/menus/dzl-menu-button-item.c
index 0b1d156..c3099d9 100644
--- a/src/menus/dzl-menu-button-item.c
+++ b/src/menus/dzl-menu-button-item.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-menu-button-item"
 
+#include "config.h"
+
 #include "menus/dzl-menu-button.h"
 #include "menus/dzl-menu-button-item.h"
 #include "shortcuts/dzl-shortcut-label.h"
diff --git a/src/menus/dzl-menu-button-item.h b/src/menus/dzl-menu-button-item.h
index 2f3ad47..a7c2930 100644
--- a/src/menus/dzl-menu-button-item.h
+++ b/src/menus/dzl-menu-button-item.h
@@ -25,6 +25,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_MENU_BUTTON_ITEM (dzl_menu_button_item_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlMenuButtonItem, dzl_menu_button_item, DZL, MENU_BUTTON_ITEM, GtkCheckButton)
 
 G_END_DECLS
diff --git a/src/menus/dzl-menu-button-section.c b/src/menus/dzl-menu-button-section.c
index e72deca..d1e74ba 100644
--- a/src/menus/dzl-menu-button-section.c
+++ b/src/menus/dzl-menu-button-section.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-menu-button-section"
 
+#include "config.h"
+
 #include "bindings/dzl-signal-group.h"
 #include "menus/dzl-menu-button-section.h"
 #include "menus/dzl-menu-button-item.h"
diff --git a/src/menus/dzl-menu-button.c b/src/menus/dzl-menu-button.c
index fbdae7e..226017c 100644
--- a/src/menus/dzl-menu-button.c
+++ b/src/menus/dzl-menu-button.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-menu-button"
 
+#include "config.h"
+
 #include "app/dzl-application.h"
 #include "bindings/dzl-signal-group.h"
 #include "menus/dzl-menu-button.h"
diff --git a/src/menus/dzl-menu-button.h b/src/menus/dzl-menu-button.h
index 86233eb..c0e6a2f 100644
--- a/src/menus/dzl-menu-button.h
+++ b/src/menus/dzl-menu-button.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_MENU_BUTTON (dzl_menu_button_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlMenuButton, dzl_menu_button, DZL, MENU_BUTTON, GtkMenuButton)
 
 struct _DzlMenuButtonClass
diff --git a/src/menus/dzl-menu-manager.c b/src/menus/dzl-menu-manager.c
index 02c3440..ce6820c 100644
--- a/src/menus/dzl-menu-manager.c
+++ b/src/menus/dzl-menu-manager.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-menu-manager"
 
+#include "config.h"
+
 #include <string.h>
 
 #include "menus/dzl-menu-manager.h"
diff --git a/src/menus/dzl-menu-manager.h b/src/menus/dzl-menu-manager.h
index 61d3fab..b91f4e9 100644
--- a/src/menus/dzl-menu-manager.h
+++ b/src/menus/dzl-menu-manager.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_MENU_MANAGER (dzl_menu_manager_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlMenuManager, dzl_menu_manager, DZL, MENU_MANAGER, GObject)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/meson.build b/src/meson.build
index d05100a..eb680e8 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -92,6 +92,7 @@ libdazzle_deps = [
 ]
 
 libdazzle_args = []
+libdazzle_args += hidden_visibility_args
 if get_option('enable_rdtscp')
   libdazzle_args += '-DDZL_HAVE_RDTSCP'
 endif
diff --git a/src/panel/dzl-dock-bin-edge.c b/src/panel/dzl-dock-bin-edge.c
index a8c82e4..8f3b760 100644
--- a/src/panel/dzl-dock-bin-edge.c
+++ b/src/panel/dzl-dock-bin-edge.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-dock-bin-edge"
 
+#include "config.h"
+
 #include "panel/dzl-dock-bin.h"
 #include "panel/dzl-dock-bin-edge.h"
 #include "panel/dzl-dock-bin-edge-private.h"
diff --git a/src/panel/dzl-dock-bin.c b/src/panel/dzl-dock-bin.c
index ebb4981..afeef18 100644
--- a/src/panel/dzl-dock-bin.c
+++ b/src/panel/dzl-dock-bin.c
@@ -16,6 +16,10 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "dzl-dock-bin"
+
+#include "config.h"
+
 #include <stdlib.h>
 
 #include "actions/dzl-child-property-action.h"
diff --git a/src/panel/dzl-dock-item.c b/src/panel/dzl-dock-item.c
index 88b668b..0d783aa 100644
--- a/src/panel/dzl-dock-item.c
+++ b/src/panel/dzl-dock-item.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-dock-item"
 
+#include "config.h"
+
 #include "dzl-dock-item.h"
 #include "dzl-dock-manager.h"
 #include "dzl-dock-widget.h"
diff --git a/src/panel/dzl-dock-manager.c b/src/panel/dzl-dock-manager.c
index 7c8d041..0f56af1 100644
--- a/src/panel/dzl-dock-manager.c
+++ b/src/panel/dzl-dock-manager.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-dock-manager"
 
+#include "config.h"
+
 #include "panel/dzl-dock-manager.h"
 #include "panel/dzl-dock-transient-grab.h"
 #include "util/dzl-util-private.h"
diff --git a/src/panel/dzl-dock-overlay-edge.c b/src/panel/dzl-dock-overlay-edge.c
index e37b45b..a498d3b 100644
--- a/src/panel/dzl-dock-overlay-edge.c
+++ b/src/panel/dzl-dock-overlay-edge.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-dock-overlay-edge"
 
+#include "config.h"
+
 #include "panel/dzl-dock-item.h"
 #include "panel/dzl-dock-overlay-edge.h"
 #include "panel/dzl-dock-paned.h"
diff --git a/src/panel/dzl-dock-overlay.c b/src/panel/dzl-dock-overlay.c
index 76c4c41..7d7efa1 100644
--- a/src/panel/dzl-dock-overlay.c
+++ b/src/panel/dzl-dock-overlay.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-dock-overlay"
 
+#include "config.h"
+
 #include "animation/dzl-animation.h"
 #include "panel/dzl-dock-overlay-edge.h"
 #include "panel/dzl-dock-item.h"
diff --git a/src/panel/dzl-dock-paned.c b/src/panel/dzl-dock-paned.c
index bf5a8fd..5f57103 100644
--- a/src/panel/dzl-dock-paned.c
+++ b/src/panel/dzl-dock-paned.c
@@ -16,6 +16,10 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "dzl-dock-paned"
+
+#include "config.h"
+
 #include "dzl-dock-item.h"
 #include "dzl-dock-paned.h"
 #include "dzl-dock-paned-private.h"
diff --git a/src/panel/dzl-dock-revealer.c b/src/panel/dzl-dock-revealer.c
index 5da350d..eb4d102 100644
--- a/src/panel/dzl-dock-revealer.c
+++ b/src/panel/dzl-dock-revealer.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-dock-revealer"
 
+#include "config.h"
+
 #include "animation/dzl-animation.h"
 #include "panel/dzl-dock-revealer.h"
 #include "util/dzl-util-private.h"
diff --git a/src/panel/dzl-dock-revealer.h b/src/panel/dzl-dock-revealer.h
index a43c91c..f793431 100644
--- a/src/panel/dzl-dock-revealer.h
+++ b/src/panel/dzl-dock-revealer.h
@@ -32,6 +32,7 @@ G_BEGIN_DECLS
 #define DZL_TYPE_DOCK_REVEALER_TRANSITION_TYPE (dzl_dock_revealer_transition_type_get_type())
 #define DZL_TYPE_DOCK_REVEALER                 (dzl_dock_revealer_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlDockRevealer, dzl_dock_revealer, DZL, DOCK_REVEALER, DzlBin)
 
 typedef enum
diff --git a/src/panel/dzl-dock-stack.c b/src/panel/dzl-dock-stack.c
index a2cce57..5086a8a 100644
--- a/src/panel/dzl-dock-stack.c
+++ b/src/panel/dzl-dock-stack.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-dock-stack"
 
+#include "config.h"
+
 #include "panel/dzl-dock-item.h"
 #include "panel/dzl-dock-stack.h"
 #include "panel/dzl-dock-widget.h"
diff --git a/src/panel/dzl-dock-transient-grab.c b/src/panel/dzl-dock-transient-grab.c
index f2f6c70..4d9d2cb 100644
--- a/src/panel/dzl-dock-transient-grab.c
+++ b/src/panel/dzl-dock-transient-grab.c
@@ -16,6 +16,10 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "dzl-dock-transient-grab"
+
+#include "config.h"
+
 #include "dzl-dock-transient-grab.h"
 
 struct _DzlDockTransientGrab
diff --git a/src/panel/dzl-dock-transient-grab.h b/src/panel/dzl-dock-transient-grab.h
index a4ce54f..fdf1b4f 100644
--- a/src/panel/dzl-dock-transient-grab.h
+++ b/src/panel/dzl-dock-transient-grab.h
@@ -31,6 +31,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_DOCK_TRANSIENT_GRAB (dzl_dock_transient_grab_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlDockTransientGrab, dzl_dock_transient_grab, DZL, DOCK_TRANSIENT_GRAB, GObject)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/panel/dzl-dock-types.h b/src/panel/dzl-dock-types.h
index 4be1ff4..6a349cb 100644
--- a/src/panel/dzl-dock-types.h
+++ b/src/panel/dzl-dock-types.h
@@ -49,20 +49,33 @@ G_BEGIN_DECLS
 #define DZL_TYPE_TAB_STRIP              (dzl_tab_strip_get_type())
 #define DZL_TYPE_TAB_STYLE              (dzl_tab_style_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlDockBin,             dzl_dock_bin,               DZL, DOCK_BIN,              
GtkContainer)
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlDockBinEdge,         dzl_dock_bin_edge,          DZL, DOCK_BIN_EDGE,         
DzlDockRevealer)
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlDockManager,         dzl_dock_manager,           DZL, DOCK_MANAGER,          
GObject)
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlDockOverlay,         dzl_dock_overlay,           DZL, DOCK_OVERLAY,          
GtkEventBox)
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlDockPaned,           dzl_dock_paned,             DZL, DOCK_PANED,            
DzlMultiPaned)
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlDockStack,           dzl_dock_stack,             DZL, DOCK_STACK,            
GtkBox)
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlDockWidget,          dzl_dock_widget,            DZL, DOCK_WIDGET,           
DzlBin)
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlDockWindow,          dzl_dock_window,            DZL, DOCK_WINDOW,           
GtkWindow)
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlTabStrip,            dzl_tab_strip,              DZL, TAB_STRIP,             
GtkBox)
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE     (DzlTab,                 dzl_tab,                    DZL, TAB,                   
DzlBin)
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE     (DzlDockOverlayEdge,     dzl_dock_overlay_edge,      DZL, DOCK_OVERLAY_EDGE,     
DzlBin)
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_INTERFACE      (DzlDock,                dzl_dock,                   DZL, DOCK,                  
GtkContainer)
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_INTERFACE      (DzlDockItem,            dzl_dock_item,              DZL, DOCK_ITEM,             
GtkWidget)
 
 typedef enum
diff --git a/src/panel/dzl-dock-widget.c b/src/panel/dzl-dock-widget.c
index c8e0c68..3fd12b5 100644
--- a/src/panel/dzl-dock-widget.c
+++ b/src/panel/dzl-dock-widget.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-dock-widget"
 
+#include "config.h"
+
 #include "panel/dzl-dock-item.h"
 #include "panel/dzl-dock-widget.h"
 #include "util/dzl-util-private.h"
diff --git a/src/panel/dzl-dock-window.c b/src/panel/dzl-dock-window.c
index 3c162ff..7b78639 100644
--- a/src/panel/dzl-dock-window.c
+++ b/src/panel/dzl-dock-window.c
@@ -16,6 +16,10 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "dzl-dock-window"
+
+#include "config.h"
+
 #include "dzl-dock-item.h"
 #include "dzl-dock-window.h"
 
diff --git a/src/panel/dzl-dock.c b/src/panel/dzl-dock.c
index 92c986b..e2b2ebd 100644
--- a/src/panel/dzl-dock.c
+++ b/src/panel/dzl-dock.c
@@ -16,6 +16,10 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "dzl-dock"
+
+#include "config.h"
+
 #include "dzl-dock.h"
 #include "dzl-resources.h"
 
diff --git a/src/panel/dzl-tab-strip.c b/src/panel/dzl-tab-strip.c
index 961a856..6c973f3 100644
--- a/src/panel/dzl-tab-strip.c
+++ b/src/panel/dzl-tab-strip.c
@@ -19,6 +19,8 @@
 
 #define G_LOG_DOMAIN "dzl-tab-strip"
 
+#include "config.h"
+
 #include "dzl-dock-item.h"
 #include "dzl-dock-widget.h"
 #include "dzl-tab.h"
diff --git a/src/panel/dzl-tab.c b/src/panel/dzl-tab.c
index be3312d..390e9c1 100644
--- a/src/panel/dzl-tab.c
+++ b/src/panel/dzl-tab.c
@@ -19,6 +19,8 @@
 
 #define G_LOG_DOMAIN "dzl-tab"
 
+#include "config.h"
+
 #include "panel/dzl-dock-item.h"
 #include "panel/dzl-tab.h"
 #include "panel/dzl-tab-private.h"
diff --git a/src/pathbar/dzl-path-bar.c b/src/pathbar/dzl-path-bar.c
index 8b29798..a5a7e96 100644
--- a/src/pathbar/dzl-path-bar.c
+++ b/src/pathbar/dzl-path-bar.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-path-bar"
 
+#include "config.h"
+
 #include <dazzle.h>
 #include <string.h>
 
diff --git a/src/pathbar/dzl-path-bar.h b/src/pathbar/dzl-path-bar.h
index 8c2e889..a93dd63 100644
--- a/src/pathbar/dzl-path-bar.h
+++ b/src/pathbar/dzl-path-bar.h
@@ -29,6 +29,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_PATH_BAR (dzl_path_bar_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlPathBar, dzl_path_bar, DZL, PATH_BAR, GtkBox)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/pathbar/dzl-path-element.c b/src/pathbar/dzl-path-element.c
index 07206a5..9574bc8 100644
--- a/src/pathbar/dzl-path-element.c
+++ b/src/pathbar/dzl-path-element.c
@@ -16,6 +16,10 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "dzl-path-element"
+
+#include "config.h"
+
 #include "dzl-path-element.h"
 
 struct _DzlPathElement
diff --git a/src/pathbar/dzl-path-element.h b/src/pathbar/dzl-path-element.h
index 2850f9d..b778d5b 100644
--- a/src/pathbar/dzl-path-element.h
+++ b/src/pathbar/dzl-path-element.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_PATH_ELEMENT (dzl_path_element_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlPathElement, dzl_path_element, DZL, PATH_ELEMENT, GObject)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/pathbar/dzl-path.c b/src/pathbar/dzl-path.c
index 7c1dfef..15d0b61 100644
--- a/src/pathbar/dzl-path.c
+++ b/src/pathbar/dzl-path.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-path"
 
+#include "config.h"
+
 #include "dzl-path.h"
 #include "dzl-path-element.h"
 
diff --git a/src/pathbar/dzl-path.h b/src/pathbar/dzl-path.h
index c60b437..1db955d 100644
--- a/src/pathbar/dzl-path.h
+++ b/src/pathbar/dzl-path.h
@@ -29,6 +29,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_PATH (dzl_path_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlPath, dzl_path, DZL, PATH, GObject)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/prefs/dzl-preferences-bin.c b/src/prefs/dzl-preferences-bin.c
index 1e84bcb..f578495 100644
--- a/src/prefs/dzl-preferences-bin.c
+++ b/src/prefs/dzl-preferences-bin.c
@@ -16,6 +16,10 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "dzl-preferences-bin"
+
+#include "config.h"
+
 #include <string.h>
 
 #include "prefs/dzl-preferences-bin.h"
diff --git a/src/prefs/dzl-preferences-bin.h b/src/prefs/dzl-preferences-bin.h
index 3e4f60b..ddcea41 100644
--- a/src/prefs/dzl-preferences-bin.h
+++ b/src/prefs/dzl-preferences-bin.h
@@ -29,6 +29,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_PREFERENCES_BIN (dzl_preferences_bin_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlPreferencesBin, dzl_preferences_bin, DZL, PREFERENCES_BIN, GtkBin)
 
 struct _DzlPreferencesBinClass
diff --git a/src/prefs/dzl-preferences-entry.c b/src/prefs/dzl-preferences-entry.c
index 94b593b..b8f84ea 100644
--- a/src/prefs/dzl-preferences-entry.c
+++ b/src/prefs/dzl-preferences-entry.c
@@ -16,6 +16,10 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "dzl-preferences-entry"
+
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "prefs/dzl-preferences-entry.h"
diff --git a/src/prefs/dzl-preferences-entry.h b/src/prefs/dzl-preferences-entry.h
index 5140769..f5a6682 100644
--- a/src/prefs/dzl-preferences-entry.h
+++ b/src/prefs/dzl-preferences-entry.h
@@ -29,6 +29,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_PREFERENCES_ENTRY (dzl_preferences_entry_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlPreferencesEntry, dzl_preferences_entry, DZL, PREFERENCES_ENTRY, 
DzlPreferencesBin)
 
 struct _DzlPreferencesEntryClass
diff --git a/src/prefs/dzl-preferences-file-chooser-button.c b/src/prefs/dzl-preferences-file-chooser-button.c
index 86b25f4..960429b 100644
--- a/src/prefs/dzl-preferences-file-chooser-button.c
+++ b/src/prefs/dzl-preferences-file-chooser-button.c
@@ -16,6 +16,10 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "dzl-preferences-file-chooser-button"
+
+#include "config.h"
+
 #include "util/dzl-util-private.h"
 #include "prefs/dzl-preferences-file-chooser-button.h"
 
diff --git a/src/prefs/dzl-preferences-file-chooser-button.h b/src/prefs/dzl-preferences-file-chooser-button.h
index f26de00..0fa9969 100644
--- a/src/prefs/dzl-preferences-file-chooser-button.h
+++ b/src/prefs/dzl-preferences-file-chooser-button.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_PREFERENCES_FILE_CHOOSER_BUTTON (dzl_preferences_file_chooser_button_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlPreferencesFileChooserButton, dzl_preferences_file_chooser_button, DZL, 
PREFERENCES_FILE_CHOOSER_BUTTON, DzlPreferencesBin)
 
 G_END_DECLS
diff --git a/src/prefs/dzl-preferences-flow-box.c b/src/prefs/dzl-preferences-flow-box.c
index 31904c5..923f00e 100644
--- a/src/prefs/dzl-preferences-flow-box.c
+++ b/src/prefs/dzl-preferences-flow-box.c
@@ -16,6 +16,10 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "dzl-preferences-flow-box"
+
+#include "config.h"
+
 #include "prefs/dzl-preferences-flow-box.h"
 
 struct _DzlPreferencesFlowBox
diff --git a/src/prefs/dzl-preferences-flow-box.h b/src/prefs/dzl-preferences-flow-box.h
index f887f28..f981b67 100644
--- a/src/prefs/dzl-preferences-flow-box.h
+++ b/src/prefs/dzl-preferences-flow-box.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_PREFERENCES_FLOW_BOX (dzl_preferences_flow_box_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlPreferencesFlowBox, dzl_preferences_flow_box, DZL, PREFERENCES_FLOW_BOX, 
DzlColumnLayout)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/prefs/dzl-preferences-font-button.c b/src/prefs/dzl-preferences-font-button.c
index 3cd3dd6..25d7877 100644
--- a/src/prefs/dzl-preferences-font-button.c
+++ b/src/prefs/dzl-preferences-font-button.c
@@ -16,6 +16,10 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "dzl-preferences-font-button"
+
+#include "config.h"
+
 #include "prefs/dzl-preferences-font-button.h"
 
 struct _DzlPreferencesFontButton
diff --git a/src/prefs/dzl-preferences-font-button.h b/src/prefs/dzl-preferences-font-button.h
index 361c114..f2d5179 100644
--- a/src/prefs/dzl-preferences-font-button.h
+++ b/src/prefs/dzl-preferences-font-button.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_PREFERENCES_FONT_BUTTON (dzl_preferences_font_button_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlPreferencesFontButton, dzl_preferences_font_button, DZL, PREFERENCES_FONT_BUTTON, 
DzlPreferencesBin)
 
 G_END_DECLS
diff --git a/src/prefs/dzl-preferences-group.c b/src/prefs/dzl-preferences-group.c
index 559a57b..c5e13dc 100644
--- a/src/prefs/dzl-preferences-group.c
+++ b/src/prefs/dzl-preferences-group.c
@@ -16,6 +16,10 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "dzl-preferences-group"
+
+#include "config.h"
+
 #include "prefs/dzl-preferences-bin.h"
 #include "prefs/dzl-preferences-bin-private.h"
 #include "prefs/dzl-preferences-entry.h"
diff --git a/src/prefs/dzl-preferences-group.h b/src/prefs/dzl-preferences-group.h
index dd63a0b..e8fe9ce 100644
--- a/src/prefs/dzl-preferences-group.h
+++ b/src/prefs/dzl-preferences-group.h
@@ -29,6 +29,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_PREFERENCES_GROUP (dzl_preferences_group_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlPreferencesGroup, dzl_preferences_group, DZL, PREFERENCES_GROUP, GtkBin)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/prefs/dzl-preferences-page.c b/src/prefs/dzl-preferences-page.c
index 3c08faf..43b3873 100644
--- a/src/prefs/dzl-preferences-page.c
+++ b/src/prefs/dzl-preferences-page.c
@@ -16,6 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "prefs/dzl-preferences-group.h"
diff --git a/src/prefs/dzl-preferences-page.h b/src/prefs/dzl-preferences-page.h
index 5ad9ad2..60f92ca 100644
--- a/src/prefs/dzl-preferences-page.h
+++ b/src/prefs/dzl-preferences-page.h
@@ -30,6 +30,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_PREFERENCES_PAGE (dzl_preferences_page_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlPreferencesPage, dzl_preferences_page, DZL, PREFERENCES_PAGE, GtkBin)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/prefs/dzl-preferences-spin-button.c b/src/prefs/dzl-preferences-spin-button.c
index 6f2e2ca..8a41b9f 100644
--- a/src/prefs/dzl-preferences-spin-button.c
+++ b/src/prefs/dzl-preferences-spin-button.c
@@ -16,6 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "config.h"
+
 #include "util/dzl-util-private.h"
 #include "prefs/dzl-preferences-spin-button.h"
 
diff --git a/src/prefs/dzl-preferences-spin-button.h b/src/prefs/dzl-preferences-spin-button.h
index 0f53f56..cb45300 100644
--- a/src/prefs/dzl-preferences-spin-button.h
+++ b/src/prefs/dzl-preferences-spin-button.h
@@ -29,6 +29,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_PREFERENCES_SPIN_BUTTON (dzl_preferences_spin_button_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlPreferencesSpinButton, dzl_preferences_spin_button, DZL, PREFERENCES_SPIN_BUTTON, 
DzlPreferencesBin)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/prefs/dzl-preferences-switch.c b/src/prefs/dzl-preferences-switch.c
index 907f9c3..d34baf2 100644
--- a/src/prefs/dzl-preferences-switch.c
+++ b/src/prefs/dzl-preferences-switch.c
@@ -16,6 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "config.h"
+
 #include "util/dzl-util-private.h"
 #include "prefs/dzl-preferences-switch.h"
 
diff --git a/src/prefs/dzl-preferences-switch.h b/src/prefs/dzl-preferences-switch.h
index 2748f9f..732dacc 100644
--- a/src/prefs/dzl-preferences-switch.h
+++ b/src/prefs/dzl-preferences-switch.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_PREFERENCES_SWITCH (dzl_preferences_switch_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlPreferencesSwitch, dzl_preferences_switch, DZL, PREFERENCES_SWITCH, 
DzlPreferencesBin)
 
 G_END_DECLS
diff --git a/src/prefs/dzl-preferences-view.c b/src/prefs/dzl-preferences-view.c
index 9d3a7f1..683e762 100644
--- a/src/prefs/dzl-preferences-view.c
+++ b/src/prefs/dzl-preferences-view.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-preferences-view"
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "prefs/dzl-preferences-file-chooser-button.h"
diff --git a/src/prefs/dzl-preferences-view.h b/src/prefs/dzl-preferences-view.h
index 613259d..417a50e 100644
--- a/src/prefs/dzl-preferences-view.h
+++ b/src/prefs/dzl-preferences-view.h
@@ -29,6 +29,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_PREFERENCES_VIEW (dzl_preferences_view_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlPreferencesView, dzl_preferences_view, DZL, PREFERENCES_VIEW, GtkBin)
 
 struct _DzlPreferencesViewClass
diff --git a/src/prefs/dzl-preferences.c b/src/prefs/dzl-preferences.c
index c791217..a783e67 100644
--- a/src/prefs/dzl-preferences.c
+++ b/src/prefs/dzl-preferences.c
@@ -16,6 +16,10 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "dzl-preferences"
+
+#include "config.h"
+
 #include <string.h>
 
 #include "prefs/dzl-preferences.h"
diff --git a/src/prefs/dzl-preferences.h b/src/prefs/dzl-preferences.h
index 7cef803..de08c8a 100644
--- a/src/prefs/dzl-preferences.h
+++ b/src/prefs/dzl-preferences.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_PREFERENCES (dzl_preferences_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_INTERFACE (DzlPreferences, dzl_preferences, DZL, PREFERENCES, GObject)
 
 struct _DzlPreferencesInterface
diff --git a/src/search/dzl-fuzzy-index-builder.c b/src/search/dzl-fuzzy-index-builder.c
index 45b41fc..bb54a78 100644
--- a/src/search/dzl-fuzzy-index-builder.c
+++ b/src/search/dzl-fuzzy-index-builder.c
@@ -19,6 +19,8 @@
 #define G_LOG_DOMAIN    "dzl-fuzzy-index-builder"
 #define MAX_KEY_ENTRIES (0x00FFFFFF)
 
+#include "config.h"
+
 #include <stdlib.h>
 #include <string.h>
 
diff --git a/src/search/dzl-fuzzy-index-builder.h b/src/search/dzl-fuzzy-index-builder.h
index cb7aefb..f7b210b 100644
--- a/src/search/dzl-fuzzy-index-builder.h
+++ b/src/search/dzl-fuzzy-index-builder.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_FUZZY_INDEX_BUILDER (dzl_fuzzy_index_builder_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlFuzzyIndexBuilder, dzl_fuzzy_index_builder, DZL, FUZZY_INDEX_BUILDER, GObject)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/search/dzl-fuzzy-index-cursor.c b/src/search/dzl-fuzzy-index-cursor.c
index 3570cbf..9063808 100644
--- a/src/search/dzl-fuzzy-index-cursor.c
+++ b/src/search/dzl-fuzzy-index-cursor.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-fuzzy-index-cursor"
 
+#include "config.h"
+
 #include <string.h>
 
 #include "search/dzl-fuzzy-index-cursor.h"
diff --git a/src/search/dzl-fuzzy-index-cursor.h b/src/search/dzl-fuzzy-index-cursor.h
index 92189a9..2da562b 100644
--- a/src/search/dzl-fuzzy-index-cursor.h
+++ b/src/search/dzl-fuzzy-index-cursor.h
@@ -29,6 +29,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_FUZZY_INDEX_CURSOR (dzl_fuzzy_index_cursor_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlFuzzyIndexCursor, dzl_fuzzy_index_cursor, DZL, FUZZY_INDEX_CURSOR, GObject)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/search/dzl-fuzzy-index-match.c b/src/search/dzl-fuzzy-index-match.c
index f99205d..1c0bb46 100644
--- a/src/search/dzl-fuzzy-index-match.c
+++ b/src/search/dzl-fuzzy-index-match.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-fuzzy-index-match"
 
+#include "config.h"
+
 #include "dzl-fuzzy-index-match.h"
 
 struct _DzlFuzzyIndexMatch
diff --git a/src/search/dzl-fuzzy-index-match.h b/src/search/dzl-fuzzy-index-match.h
index d540a50..c6d09f5 100644
--- a/src/search/dzl-fuzzy-index-match.h
+++ b/src/search/dzl-fuzzy-index-match.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_FUZZY_INDEX_MATCH (dzl_fuzzy_index_match_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlFuzzyIndexMatch, dzl_fuzzy_index_match, DZL, FUZZY_INDEX_MATCH, GObject)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/search/dzl-fuzzy-index.c b/src/search/dzl-fuzzy-index.c
index 026cff2..1b035f9 100644
--- a/src/search/dzl-fuzzy-index.c
+++ b/src/search/dzl-fuzzy-index.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-fuzzy-index"
 
+#include "config.h"
+
 #include <string.h>
 
 #include "dzl-fuzzy-index.h"
diff --git a/src/search/dzl-fuzzy-index.h b/src/search/dzl-fuzzy-index.h
index 8ced3b2..8cc20c2 100644
--- a/src/search/dzl-fuzzy-index.h
+++ b/src/search/dzl-fuzzy-index.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_FUZZY_INDEX (dzl_fuzzy_index_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlFuzzyIndex, dzl_fuzzy_index, DZL, FUZZY_INDEX, GObject)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/search/dzl-fuzzy-mutable-index.c b/src/search/dzl-fuzzy-mutable-index.c
index 08432f0..28ecdd0 100644
--- a/src/search/dzl-fuzzy-mutable-index.c
+++ b/src/search/dzl-fuzzy-mutable-index.c
@@ -16,6 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "config.h"
+
 #include <ctype.h>
 #include <string.h>
 
diff --git a/src/search/dzl-levenshtein.c b/src/search/dzl-levenshtein.c
index 16261b0..3f3b7b6 100644
--- a/src/search/dzl-levenshtein.c
+++ b/src/search/dzl-levenshtein.c
@@ -16,9 +16,13 @@
  * with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "config.h"
+
 #include <glib.h>
 #include <string.h>
 
+#include "dzl-levenshtein.h"
+
 gint
 dzl_levenshtein (const gchar *needle,
                  const gchar *haystack)
diff --git a/src/search/dzl-pattern-spec.c b/src/search/dzl-pattern-spec.c
index 22ef641..4cde734 100644
--- a/src/search/dzl-pattern-spec.c
+++ b/src/search/dzl-pattern-spec.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-pattern-spec"
 
+#include "config.h"
+
 #ifndef _GNU_SOURCE
 # define _GNU_SOURCE
 #endif
diff --git a/src/search/dzl-trie.c b/src/search/dzl-trie.c
index 27d87b0..dde0940 100644
--- a/src/search/dzl-trie.c
+++ b/src/search/dzl-trie.c
@@ -16,6 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "config.h"
+
 #include <string.h>
 
 #include <glib/gi18n.h>
diff --git a/src/settings/dzl-settings-sandwich.c b/src/settings/dzl-settings-sandwich.c
index fbcffd1..d8a9762 100644
--- a/src/settings/dzl-settings-sandwich.c
+++ b/src/settings/dzl-settings-sandwich.c
@@ -19,6 +19,8 @@
 #define G_LOG_DOMAIN "dzl-settings-sandwich"
 #define G_SETTINGS_ENABLE_BACKEND
 
+#include "config.h"
+
 #include <gio/gsettingsbackend.h>
 #include <glib/gi18n.h>
 
diff --git a/src/settings/dzl-settings-sandwich.h b/src/settings/dzl-settings-sandwich.h
index ad1614a..ce5af5b 100644
--- a/src/settings/dzl-settings-sandwich.h
+++ b/src/settings/dzl-settings-sandwich.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_SETTINGS_SANDWICH (dzl_settings_sandwich_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlSettingsSandwich, dzl_settings_sandwich, DZL, SETTINGS_SANDWICH, GObject)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/shortcuts/dzl-shortcut-accel-dialog.c b/src/shortcuts/dzl-shortcut-accel-dialog.c
index 510c7b9..9caf72a 100644
--- a/src/shortcuts/dzl-shortcut-accel-dialog.c
+++ b/src/shortcuts/dzl-shortcut-accel-dialog.c
@@ -22,6 +22,8 @@
 
 #define G_LOG_DOMAIN "dzl-shortcut-accel-dialog"
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "shortcuts/dzl-shortcut-accel-dialog.h"
diff --git a/src/shortcuts/dzl-shortcut-accel-dialog.h b/src/shortcuts/dzl-shortcut-accel-dialog.h
index 0dc3b78..770e44c 100644
--- a/src/shortcuts/dzl-shortcut-accel-dialog.h
+++ b/src/shortcuts/dzl-shortcut-accel-dialog.h
@@ -29,6 +29,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_SHORTCUT_ACCEL_DIALOG (dzl_shortcut_accel_dialog_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlShortcutAccelDialog, dzl_shortcut_accel_dialog, DZL, SHORTCUT_ACCEL_DIALOG, 
GtkDialog)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/shortcuts/dzl-shortcut-chord.c b/src/shortcuts/dzl-shortcut-chord.c
index 79a90f0..1d42624 100644
--- a/src/shortcuts/dzl-shortcut-chord.c
+++ b/src/shortcuts/dzl-shortcut-chord.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-shortcut-chord"
 
+#include "config.h"
+
 #include <stdlib.h>
 #include <string.h>
 
diff --git a/src/shortcuts/dzl-shortcut-closure-chain.c b/src/shortcuts/dzl-shortcut-closure-chain.c
index f5cf665..deb5bd5 100644
--- a/src/shortcuts/dzl-shortcut-closure-chain.c
+++ b/src/shortcuts/dzl-shortcut-closure-chain.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-shortcut-closure-chain"
 
+#include "config.h"
+
 #include <gobject/gvaluecollector.h>
 #include <string.h>
 
diff --git a/src/shortcuts/dzl-shortcut-context.c b/src/shortcuts/dzl-shortcut-context.c
index beb6c17..7f73513 100644
--- a/src/shortcuts/dzl-shortcut-context.c
+++ b/src/shortcuts/dzl-shortcut-context.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-shortcut-context"
 
+#include "config.h"
+
 #include <gobject/gvaluecollector.h>
 #include <string.h>
 
diff --git a/src/shortcuts/dzl-shortcut-context.h b/src/shortcuts/dzl-shortcut-context.h
index 38782e6..20215b2 100644
--- a/src/shortcuts/dzl-shortcut-context.h
+++ b/src/shortcuts/dzl-shortcut-context.h
@@ -29,6 +29,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_SHORTCUT_CONTEXT (dzl_shortcut_context_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlShortcutContext, dzl_shortcut_context, DZL, SHORTCUT_CONTEXT, GObject)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/shortcuts/dzl-shortcut-controller.c b/src/shortcuts/dzl-shortcut-controller.c
index 40a4160..2961c2d 100644
--- a/src/shortcuts/dzl-shortcut-controller.c
+++ b/src/shortcuts/dzl-shortcut-controller.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-shortcut-controller"
 
+#include "config.h"
+
 #include <stdlib.h>
 #include <string.h>
 
diff --git a/src/shortcuts/dzl-shortcut-controller.h b/src/shortcuts/dzl-shortcut-controller.h
index e47acfb..4cccac7 100644
--- a/src/shortcuts/dzl-shortcut-controller.h
+++ b/src/shortcuts/dzl-shortcut-controller.h
@@ -31,6 +31,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_SHORTCUT_CONTROLLER (dzl_shortcut_controller_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlShortcutController, dzl_shortcut_controller, DZL, SHORTCUT_CONTROLLER, GObject)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/shortcuts/dzl-shortcut-label.c b/src/shortcuts/dzl-shortcut-label.c
index 8f75a82..2b4aac6 100644
--- a/src/shortcuts/dzl-shortcut-label.c
+++ b/src/shortcuts/dzl-shortcut-label.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-shortcut-label"
 
+#include "config.h"
+
 #include "shortcuts/dzl-shortcut-label.h"
 
 struct _DzlShortcutLabel
diff --git a/src/shortcuts/dzl-shortcut-label.h b/src/shortcuts/dzl-shortcut-label.h
index 9fa0d9e..c96dd5a 100644
--- a/src/shortcuts/dzl-shortcut-label.h
+++ b/src/shortcuts/dzl-shortcut-label.h
@@ -29,6 +29,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_SHORTCUT_LABEL (dzl_shortcut_label_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlShortcutLabel, dzl_shortcut_label, DZL, SHORTCUT_LABEL, GtkBox)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/shortcuts/dzl-shortcut-manager.c b/src/shortcuts/dzl-shortcut-manager.c
index dbd1ae7..7a4cf33 100644
--- a/src/shortcuts/dzl-shortcut-manager.c
+++ b/src/shortcuts/dzl-shortcut-manager.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-shortcut-manager.h"
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "dzl-debug.h"
diff --git a/src/shortcuts/dzl-shortcut-manager.h b/src/shortcuts/dzl-shortcut-manager.h
index 089ef4a..2863b3c 100644
--- a/src/shortcuts/dzl-shortcut-manager.h
+++ b/src/shortcuts/dzl-shortcut-manager.h
@@ -31,6 +31,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_SHORTCUT_MANAGER (dzl_shortcut_manager_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlShortcutManager, dzl_shortcut_manager, DZL, SHORTCUT_MANAGER, GObject)
 
 /**
diff --git a/src/shortcuts/dzl-shortcut-model.c b/src/shortcuts/dzl-shortcut-model.c
index 071ca30..d3db622 100644
--- a/src/shortcuts/dzl-shortcut-model.c
+++ b/src/shortcuts/dzl-shortcut-model.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-shortcut-model"
 
+#include "config.h"
+
 #include "shortcuts/dzl-shortcut-model.h"
 #include "shortcuts/dzl-shortcut-private.h"
 
diff --git a/src/shortcuts/dzl-shortcut-model.h b/src/shortcuts/dzl-shortcut-model.h
index 76f9ab1..524b871 100644
--- a/src/shortcuts/dzl-shortcut-model.h
+++ b/src/shortcuts/dzl-shortcut-model.h
@@ -31,6 +31,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_SHORTCUT_MODEL (dzl_shortcut_model_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlShortcutModel, dzl_shortcut_model, DZL, SHORTCUT_MODEL, GtkTreeStore)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/shortcuts/dzl-shortcut-phase.c b/src/shortcuts/dzl-shortcut-phase.c
index 644249b..aadad65 100644
--- a/src/shortcuts/dzl-shortcut-phase.c
+++ b/src/shortcuts/dzl-shortcut-phase.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-shortcut-phase"
 
+#include "config.h"
+
 #include "shortcuts/dzl-shortcut-phase.h"
 
 GType
diff --git a/src/shortcuts/dzl-shortcut-simple-label.c b/src/shortcuts/dzl-shortcut-simple-label.c
index 29629b8..5fae8ff 100644
--- a/src/shortcuts/dzl-shortcut-simple-label.c
+++ b/src/shortcuts/dzl-shortcut-simple-label.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-shortcut-simple-label"
 
+#include "config.h"
+
 #include "shortcuts/dzl-shortcut-chord.h"
 #include "shortcuts/dzl-shortcut-simple-label.h"
 #include "util/dzl-gtk.h"
diff --git a/src/shortcuts/dzl-shortcut-simple-label.h b/src/shortcuts/dzl-shortcut-simple-label.h
index 4b7089c..d61d140 100644
--- a/src/shortcuts/dzl-shortcut-simple-label.h
+++ b/src/shortcuts/dzl-shortcut-simple-label.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_SHORTCUT_SIMPLE_LABEL (dzl_shortcut_simple_label_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlShortcutSimpleLabel, dzl_shortcut_simple_label, DZL, SHORTCUT_SIMPLE_LABEL, GtkBox)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/shortcuts/dzl-shortcut-theme-editor.c b/src/shortcuts/dzl-shortcut-theme-editor.c
index 86fb059..b390dda 100644
--- a/src/shortcuts/dzl-shortcut-theme-editor.c
+++ b/src/shortcuts/dzl-shortcut-theme-editor.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-shortcut-theme-editor"
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "shortcuts/dzl-shortcut-accel-dialog.h"
diff --git a/src/shortcuts/dzl-shortcut-theme-editor.h b/src/shortcuts/dzl-shortcut-theme-editor.h
index 6aed686..f12f2d1 100644
--- a/src/shortcuts/dzl-shortcut-theme-editor.h
+++ b/src/shortcuts/dzl-shortcut-theme-editor.h
@@ -29,6 +29,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_SHORTCUT_THEME_EDITOR (dzl_shortcut_theme_editor_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlShortcutThemeEditor, dzl_shortcut_theme_editor, DZL, SHORTCUT_THEME_EDITOR, 
GtkBin)
 
 struct _DzlShortcutThemeEditorClass
diff --git a/src/shortcuts/dzl-shortcut-theme-load.c b/src/shortcuts/dzl-shortcut-theme-load.c
index 85612db..5ad6431 100644
--- a/src/shortcuts/dzl-shortcut-theme-load.c
+++ b/src/shortcuts/dzl-shortcut-theme-load.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-shortcut-theme"
 
+#include "config.h"
+
 #include <string.h>
 
 #include "shortcuts/dzl-shortcut-context.h"
diff --git a/src/shortcuts/dzl-shortcut-theme-save.c b/src/shortcuts/dzl-shortcut-theme-save.c
index 7a86ca3..6574205 100644
--- a/src/shortcuts/dzl-shortcut-theme-save.c
+++ b/src/shortcuts/dzl-shortcut-theme-save.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-shortcut-theme-save"
 
+#include "config.h"
+
 #include "shortcuts/dzl-shortcut-theme.h"
 #include "shortcuts/dzl-shortcut-private.h"
 
diff --git a/src/shortcuts/dzl-shortcut-theme.c b/src/shortcuts/dzl-shortcut-theme.c
index 4dc755a..0cda36c 100644
--- a/src/shortcuts/dzl-shortcut-theme.c
+++ b/src/shortcuts/dzl-shortcut-theme.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-shortcut-theme"
 
+#include "config.h"
+
 #include <string.h>
 
 #include "dzl-debug.h"
diff --git a/src/shortcuts/dzl-shortcut-theme.h b/src/shortcuts/dzl-shortcut-theme.h
index 8f48199..d7689db 100644
--- a/src/shortcuts/dzl-shortcut-theme.h
+++ b/src/shortcuts/dzl-shortcut-theme.h
@@ -31,6 +31,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_SHORTCUT_THEME (dzl_shortcut_theme_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlShortcutTheme, dzl_shortcut_theme, DZL, SHORTCUT_THEME, GObject)
 
 struct _DzlShortcutThemeClass
diff --git a/src/shortcuts/dzl-shortcuts-group.c b/src/shortcuts/dzl-shortcuts-group.c
index ddf511b..dd4487f 100644
--- a/src/shortcuts/dzl-shortcuts-group.c
+++ b/src/shortcuts/dzl-shortcuts-group.c
@@ -18,6 +18,8 @@
 
 #include <glib/gi18n.h>
 
+#include "config.h"
+
 #include "shortcuts/dzl-shortcuts-group.h"
 #include "shortcuts/dzl-shortcuts-shortcut.h"
 
diff --git a/src/shortcuts/dzl-shortcuts-section.c b/src/shortcuts/dzl-shortcuts-section.c
index cee9d53..3ee3f5d 100644
--- a/src/shortcuts/dzl-shortcuts-section.c
+++ b/src/shortcuts/dzl-shortcuts-section.c
@@ -18,6 +18,8 @@
 
 #include <glib/gi18n.h>
 
+#include "config.h"
+
 #include "shortcuts/dzl-shortcuts-group.h"
 #include "shortcuts/dzl-shortcuts-section.h"
 
diff --git a/src/shortcuts/dzl-shortcuts-shortcut.c b/src/shortcuts/dzl-shortcuts-shortcut.c
index 43d2040..a78771a 100644
--- a/src/shortcuts/dzl-shortcuts-shortcut.c
+++ b/src/shortcuts/dzl-shortcuts-shortcut.c
@@ -18,6 +18,8 @@
 
 #include <glib/gi18n.h>
 
+#include "config.h"
+
 #include "shortcuts/dzl-shortcut-label.h"
 #include "shortcuts/dzl-shortcuts-shortcut.h"
 #include "shortcuts/dzl-shortcuts-window-private.h"
diff --git a/src/shortcuts/dzl-shortcuts-window.c b/src/shortcuts/dzl-shortcuts-window.c
index 934669a..71e0b2b 100644
--- a/src/shortcuts/dzl-shortcuts-window.c
+++ b/src/shortcuts/dzl-shortcuts-window.c
@@ -18,6 +18,8 @@
 
 #include <glib/gi18n.h>
 
+#include "config.h"
+
 #include "shortcuts/dzl-shortcuts-window.h"
 #include "shortcuts/dzl-shortcuts-section.h"
 #include "shortcuts/dzl-shortcuts-group.h"
diff --git a/src/statemachine/dzl-state-machine-buildable.c b/src/statemachine/dzl-state-machine-buildable.c
index 8df9280..31c34fc 100644
--- a/src/statemachine/dzl-state-machine-buildable.c
+++ b/src/statemachine/dzl-state-machine-buildable.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-state-machine"
 
+#include "config.h"
+
 #include <errno.h>
 #include <glib/gi18n.h>
 
diff --git a/src/statemachine/dzl-state-machine.c b/src/statemachine/dzl-state-machine.c
index f9dee99..8762c5d 100644
--- a/src/statemachine/dzl-state-machine.c
+++ b/src/statemachine/dzl-state-machine.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-state-machine"
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 #include <gobject/gvaluecollector.h>
 
diff --git a/src/statemachine/dzl-state-machine.h b/src/statemachine/dzl-state-machine.h
index 0865b7f..43c513a 100644
--- a/src/statemachine/dzl-state-machine.h
+++ b/src/statemachine/dzl-state-machine.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_STATE_MACHINE  (dzl_state_machine_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlStateMachine, dzl_state_machine, DZL, STATE_MACHINE, GObject)
 
 struct _DzlStateMachineClass
diff --git a/src/suggestions/dzl-suggestion-entry-buffer.c b/src/suggestions/dzl-suggestion-entry-buffer.c
index 69df4a9..8b3e84b 100644
--- a/src/suggestions/dzl-suggestion-entry-buffer.c
+++ b/src/suggestions/dzl-suggestion-entry-buffer.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-suggestion-entry-buffer"
 
+#include "config.h"
+
 #include <string.h>
 
 #include "dzl-suggestion-entry-buffer.h"
diff --git a/src/suggestions/dzl-suggestion-entry-buffer.h b/src/suggestions/dzl-suggestion-entry-buffer.h
index 4dee343..385804c 100644
--- a/src/suggestions/dzl-suggestion-entry-buffer.h
+++ b/src/suggestions/dzl-suggestion-entry-buffer.h
@@ -29,6 +29,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_SUGGESTION_ENTRY_BUFFER (dzl_suggestion_entry_buffer_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlSuggestionEntryBuffer, dzl_suggestion_entry_buffer, DZL, 
SUGGESTION_ENTRY_BUFFER, GtkEntryBuffer)
 
 struct _DzlSuggestionEntryBufferClass
diff --git a/src/suggestions/dzl-suggestion-entry.c b/src/suggestions/dzl-suggestion-entry.c
index 15a6e7b..7cbb298 100644
--- a/src/suggestions/dzl-suggestion-entry.c
+++ b/src/suggestions/dzl-suggestion-entry.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-suggestion-entry"
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "suggestions/dzl-suggestion.h"
diff --git a/src/suggestions/dzl-suggestion-entry.h b/src/suggestions/dzl-suggestion-entry.h
index c7bd727..b11e40e 100644
--- a/src/suggestions/dzl-suggestion-entry.h
+++ b/src/suggestions/dzl-suggestion-entry.h
@@ -29,6 +29,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_SUGGESTION_ENTRY (dzl_suggestion_entry_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlSuggestionEntry, dzl_suggestion_entry, DZL, SUGGESTION_ENTRY, GtkEntry)
 
 /**
diff --git a/src/suggestions/dzl-suggestion-popover.c b/src/suggestions/dzl-suggestion-popover.c
index a9e1ea0..d0a6672 100644
--- a/src/suggestions/dzl-suggestion-popover.c
+++ b/src/suggestions/dzl-suggestion-popover.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-suggestion-popover"
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "animation/dzl-animation.h"
diff --git a/src/suggestions/dzl-suggestion-popover.h b/src/suggestions/dzl-suggestion-popover.h
index 9dcf85b..62591b1 100644
--- a/src/suggestions/dzl-suggestion-popover.h
+++ b/src/suggestions/dzl-suggestion-popover.h
@@ -28,6 +28,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_SUGGESTION_POPOVER (dzl_suggestion_popover_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlSuggestionPopover, dzl_suggestion_popover, DZL, SUGGESTION_POPOVER, GtkWindow)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/suggestions/dzl-suggestion-row.c b/src/suggestions/dzl-suggestion-row.c
index 8570ff1..e3fe72f 100644
--- a/src/suggestions/dzl-suggestion-row.c
+++ b/src/suggestions/dzl-suggestion-row.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-suggestion-row"
 
+#include "config.h"
+
 #include "dzl-suggestion-row.h"
 
 typedef struct
diff --git a/src/suggestions/dzl-suggestion-row.h b/src/suggestions/dzl-suggestion-row.h
index 7e4a911..04e0108 100644
--- a/src/suggestions/dzl-suggestion-row.h
+++ b/src/suggestions/dzl-suggestion-row.h
@@ -30,6 +30,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_SUGGESTION_ROW (dzl_suggestion_row_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlSuggestionRow, dzl_suggestion_row, DZL, SUGGESTION_ROW, DzlListBoxRow)
 
 struct _DzlSuggestionRowClass
diff --git a/src/suggestions/dzl-suggestion.c b/src/suggestions/dzl-suggestion.c
index 6e6708d..5d42f43 100644
--- a/src/suggestions/dzl-suggestion.c
+++ b/src/suggestions/dzl-suggestion.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-suggestion"
 
+#include "config.h"
+
 #include "dzl-suggestion.h"
 
 typedef struct
diff --git a/src/suggestions/dzl-suggestion.h b/src/suggestions/dzl-suggestion.h
index bb0248d..78d16a3 100644
--- a/src/suggestions/dzl-suggestion.h
+++ b/src/suggestions/dzl-suggestion.h
@@ -28,6 +28,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_SUGGESTION (dzl_suggestion_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlSuggestion, dzl_suggestion, DZL, SUGGESTION, GObject)
 
 struct _DzlSuggestionClass
diff --git a/src/theming/dzl-css-provider.c b/src/theming/dzl-css-provider.c
index 640dc88..a825601 100644
--- a/src/theming/dzl-css-provider.c
+++ b/src/theming/dzl-css-provider.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-css-provider"
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "theming/dzl-css-provider.h"
diff --git a/src/theming/dzl-css-provider.h b/src/theming/dzl-css-provider.h
index ee73b1b..1e6b1fc 100644
--- a/src/theming/dzl-css-provider.h
+++ b/src/theming/dzl-css-provider.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_CSS_PROVIDER (dzl_css_provider_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlCssProvider, dzl_css_provider, DZL, CSS_PROVIDER, GtkCssProvider)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/theming/dzl-theme-manager.c b/src/theming/dzl-theme-manager.c
index b7c40e6..83321a9 100644
--- a/src/theming/dzl-theme-manager.c
+++ b/src/theming/dzl-theme-manager.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-theme-manager"
 
+#include "config.h"
+
 #include <string.h>
 
 #include "theming/dzl-css-provider.h"
diff --git a/src/theming/dzl-theme-manager.h b/src/theming/dzl-theme-manager.h
index 522f943..c0d5256 100644
--- a/src/theming/dzl-theme-manager.h
+++ b/src/theming/dzl-theme-manager.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_THEME_MANAGER (dzl_theme_manager_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlThemeManager, dzl_theme_manager, DZL, THEME_MANAGER, GObject)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/tree/dzl-list-store-adapter.c b/src/tree/dzl-list-store-adapter.c
index 685394c..6590b18 100644
--- a/src/tree/dzl-list-store-adapter.c
+++ b/src/tree/dzl-list-store-adapter.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-list-store-adapter"
 
+#include "config.h"
+
 #include "bindings/dzl-signal-group.h"
 #include "tree/dzl-list-store-adapter.h"
 
diff --git a/src/tree/dzl-list-store-adapter.h b/src/tree/dzl-list-store-adapter.h
index 894a6eb..cac291b 100644
--- a/src/tree/dzl-list-store-adapter.h
+++ b/src/tree/dzl-list-store-adapter.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_LIST_STORE_ADAPTER (dzl_list_store_adapter_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlListStoreAdapter, dzl_list_store_adapter, DZL, LIST_STORE_ADAPTER, GObject)
 
 struct _DzlListStoreAdapterClass
diff --git a/src/tree/dzl-tree-builder.c b/src/tree/dzl-tree-builder.c
index 95c9ced..e14c163 100644
--- a/src/tree/dzl-tree-builder.c
+++ b/src/tree/dzl-tree-builder.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-tree-builder"
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "dzl-enums.h"
diff --git a/src/tree/dzl-tree-node.c b/src/tree/dzl-tree-node.c
index 405c625..7ddc5fc 100644
--- a/src/tree/dzl-tree-node.c
+++ b/src/tree/dzl-tree-node.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-tree-node"
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 #include <string.h>
 
diff --git a/src/tree/dzl-tree-store.c b/src/tree/dzl-tree-store.c
index 87b3e07..f19ea8f 100644
--- a/src/tree/dzl-tree-store.c
+++ b/src/tree/dzl-tree-store.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-tree-store"
 
+#include "config.h"
+
 #include "tree/dzl-tree-builder.h"
 #include "tree/dzl-tree-node.h"
 #include "tree/dzl-tree-private.h"
diff --git a/src/tree/dzl-tree-store.h b/src/tree/dzl-tree-store.h
index e8d5c80..333ec8b 100644
--- a/src/tree/dzl-tree-store.h
+++ b/src/tree/dzl-tree-store.h
@@ -24,6 +24,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_TREE_STORE (dzl_tree_store_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlTreeStore, dzl_tree_store, DZL, TREE_STORE, GtkTreeStore)
 
 G_END_DECLS
diff --git a/src/tree/dzl-tree-types.h b/src/tree/dzl-tree-types.h
index 7008c83..017f3ea 100644
--- a/src/tree/dzl-tree-types.h
+++ b/src/tree/dzl-tree-types.h
@@ -21,6 +21,8 @@
 
 #include <gtk/gtk.h>
 
+#include "dzl-version-macros.h"
+
 G_BEGIN_DECLS
 
 #define DZL_TYPE_TREE         (dzl_tree_get_type())
@@ -34,8 +36,11 @@ typedef enum
   DZL_TREE_DROP_AFTER  = 2,
 } DzlTreeDropPosition;
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlTree,        dzl_tree,         DZL, TREE,         GtkTreeView)
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlTreeBuilder, dzl_tree_builder, DZL, TREE_BUILDER, GInitiallyUnowned)
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE     (DzlTreeNode,    dzl_tree_node,    DZL, TREE_NODE,    GInitiallyUnowned)
 
 typedef gint (*DzlTreeNodeCompareFunc) (DzlTreeNode *a,
diff --git a/src/tree/dzl-tree.c b/src/tree/dzl-tree.c
index 1aecdea..4fef2d9 100644
--- a/src/tree/dzl-tree.c
+++ b/src/tree/dzl-tree.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-tree"
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "tree/dzl-tree.h"
diff --git a/src/util/dzl-cairo.c b/src/util/dzl-cairo.c
index cc36337..fcc390c 100644
--- a/src/util/dzl-cairo.c
+++ b/src/util/dzl-cairo.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-cairo"
 
+#include "config.h"
+
 #include "dzl-cairo.h"
 
 cairo_region_t *
diff --git a/src/util/dzl-cancellable.c b/src/util/dzl-cancellable.c
index b32c3a4..208e202 100644
--- a/src/util/dzl-cancellable.c
+++ b/src/util/dzl-cancellable.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-cancellable"
 
+#include "config.h"
+
 #include <gio/gio.h>
 
 #include "util/dzl-cancellable.h"
diff --git a/src/util/dzl-cancellable.h b/src/util/dzl-cancellable.h
index be0c4d0..fd99026 100644
--- a/src/util/dzl-cancellable.h
+++ b/src/util/dzl-cancellable.h
@@ -20,8 +20,11 @@
 
 #include <gio/gio.h>
 
+#include "dzl-version-macros.h"
+
 G_BEGIN_DECLS
 
+DZL_AVAILABLE_IN_3_28
 GCancellable *dzl_cancellable_chain (GCancellable *self,
                                      GCancellable *other);
 
diff --git a/src/util/dzl-counter.c b/src/util/dzl-counter.c
index db559ff..9f707b9 100644
--- a/src/util/dzl-counter.c
+++ b/src/util/dzl-counter.c
@@ -16,9 +16,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include "config.h"
 
 #ifndef _GNU_SOURCE
 # define _GNU_SOURCE
diff --git a/src/util/dzl-date-time.c b/src/util/dzl-date-time.c
index fd43e5f..afa8162 100644
--- a/src/util/dzl-date-time.c
+++ b/src/util/dzl-date-time.c
@@ -16,6 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "dzl-date-time.h"
diff --git a/src/util/dzl-dnd.c b/src/util/dzl-dnd.c
index c047af9..dfe06cd 100644
--- a/src/util/dzl-dnd.c
+++ b/src/util/dzl-dnd.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-dnd"
 
+#include "config.h"
+
 #include "dzl-dnd.h"
 
 /**
diff --git a/src/util/dzl-file-manager.c b/src/util/dzl-file-manager.c
index 1de91e4..52052b5 100644
--- a/src/util/dzl-file-manager.c
+++ b/src/util/dzl-file-manager.c
@@ -19,7 +19,7 @@
 
 #define G_LOG_DOMAIN "dzl-file-manager"
 
-#include "util/dzl-file-manager.h"
+#include "config.h"
 
 #include <glib/gi18n.h>
 
@@ -37,6 +37,8 @@
 #include <AppKit/AppKit.h>
 #endif
 
+#include "util/dzl-file-manager.h"
+
 /* Copied from the GIMP */
 gboolean
 dzl_file_manager_show (GFile   *file,
diff --git a/src/util/dzl-gdk.c b/src/util/dzl-gdk.c
index c6575b3..0a4062a 100644
--- a/src/util/dzl-gdk.c
+++ b/src/util/dzl-gdk.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-gdk"
 
+#include "config.h"
+
 #include <string.h>
 
 #include "dzl-gdk.h"
diff --git a/src/util/dzl-gtk.c b/src/util/dzl-gtk.c
index dd0edb6..34760c9 100644
--- a/src/util/dzl-gtk.c
+++ b/src/util/dzl-gtk.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-gtk"
 
+#include "config.h"
+
 #include "animation/dzl-animation.h"
 #include "util/dzl-gtk.h"
 
diff --git a/src/util/dzl-heap.c b/src/util/dzl-heap.c
index 89f4625..c4dd472 100644
--- a/src/util/dzl-heap.c
+++ b/src/util/dzl-heap.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-heap"
 
+#include "config.h"
+
 #include <string.h>
 
 #include "dzl-heap.h"
diff --git a/src/util/dzl-pango.c b/src/util/dzl-pango.c
index 3e8b85e..be88a9d 100644
--- a/src/util/dzl-pango.c
+++ b/src/util/dzl-pango.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-pango"
 
+#include "config.h"
+
 #include <gdk/gdk.h>
 #include <glib/gstdio.h>
 #include <math.h>
diff --git a/src/util/dzl-rgba.c b/src/util/dzl-rgba.c
index 4751ca0..56e1287 100644
--- a/src/util/dzl-rgba.c
+++ b/src/util/dzl-rgba.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-rgba"
 
+#include "config.h"
+
 #include "dzl-rgba.h"
 
 /*
diff --git a/src/util/dzl-ring.c b/src/util/dzl-ring.c
index 7bda983..1ac1350 100644
--- a/src/util/dzl-ring.c
+++ b/src/util/dzl-ring.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-ring"
 
+#include "config.h"
+
 #include <string.h>
 
 #include "dzl-ring.h"
diff --git a/src/util/dzl-util.c b/src/util/dzl-util.c
index 2903060..c19d949 100644
--- a/src/util/dzl-util.c
+++ b/src/util/dzl-util.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-util"
 
+#include "config.h"
+
 #include <string.h>
 
 #include "dzl-util-private.h"
diff --git a/src/util/dzl-variant.c b/src/util/dzl-variant.c
index f0d592a..dc2cb72 100644
--- a/src/util/dzl-variant.c
+++ b/src/util/dzl-variant.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-variant"
 
+#include "config.h"
+
 #include "util/dzl-variant.h"
 
 guint
diff --git a/src/widgets/dzl-bin.c b/src/widgets/dzl-bin.c
index 9587afb..ed46e1f 100644
--- a/src/widgets/dzl-bin.c
+++ b/src/widgets/dzl-bin.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-bin"
 
+#include "config.h"
+
 /**
  * SECTION:dzl-bin
  * @title: DzlBin
diff --git a/src/widgets/dzl-bin.h b/src/widgets/dzl-bin.h
index 94326c9..b5b91c5 100644
--- a/src/widgets/dzl-bin.h
+++ b/src/widgets/dzl-bin.h
@@ -31,6 +31,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_BIN (dzl_bin_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlBin, dzl_bin, DZL, BIN, GtkBin)
 
 struct _DzlBinClass
diff --git a/src/widgets/dzl-bolding-label.c b/src/widgets/dzl-bolding-label.c
index a2554f4..374835d 100644
--- a/src/widgets/dzl-bolding-label.c
+++ b/src/widgets/dzl-bolding-label.c
@@ -16,6 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "dzl-bolding-label.h"
diff --git a/src/widgets/dzl-bolding-label.h b/src/widgets/dzl-bolding-label.h
index 70e1de7..d0e7604 100644
--- a/src/widgets/dzl-bolding-label.h
+++ b/src/widgets/dzl-bolding-label.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_BOLDING_LABEL (dzl_bolding_label_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlBoldingLabel, dzl_bolding_label, DZL, BOLDING_LABEL, GtkLabel)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/widgets/dzl-box.c b/src/widgets/dzl-box.c
index 283fccc..3a4027b 100644
--- a/src/widgets/dzl-box.c
+++ b/src/widgets/dzl-box.c
@@ -16,6 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "dzl-box.h"
diff --git a/src/widgets/dzl-box.h b/src/widgets/dzl-box.h
index def0da5..22e71c0 100644
--- a/src/widgets/dzl-box.h
+++ b/src/widgets/dzl-box.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_BOX (dzl_box_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlBox, dzl_box, DZL, BOX, GtkBox)
 
 struct _DzlBoxClass
diff --git a/src/widgets/dzl-centering-bin.c b/src/widgets/dzl-centering-bin.c
index c9cca54..cda12ba 100644
--- a/src/widgets/dzl-centering-bin.c
+++ b/src/widgets/dzl-centering-bin.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-centering-bin"
 
+#include "config.h"
+
 #include "widgets/dzl-centering-bin.h"
 #include "bindings/dzl-signal-group.h"
 
diff --git a/src/widgets/dzl-centering-bin.h b/src/widgets/dzl-centering-bin.h
index 14c455a..1cac70f 100644
--- a/src/widgets/dzl-centering-bin.h
+++ b/src/widgets/dzl-centering-bin.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_CENTERING_BIN (dzl_centering_bin_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlCenteringBin, dzl_centering_bin, DZL, CENTERING_BIN, GtkBin)
 
 struct _DzlCenteringBinClass
diff --git a/src/widgets/dzl-column-layout.c b/src/widgets/dzl-column-layout.c
index 215afe8..05fa1c5 100644
--- a/src/widgets/dzl-column-layout.c
+++ b/src/widgets/dzl-column-layout.c
@@ -16,6 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "config.h"
+
 #include "dzl-column-layout.h"
 
 typedef struct
diff --git a/src/widgets/dzl-column-layout.h b/src/widgets/dzl-column-layout.h
index e62e683..05a076b 100644
--- a/src/widgets/dzl-column-layout.h
+++ b/src/widgets/dzl-column-layout.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_COLUMN_LAYOUT (dzl_column_layout_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlColumnLayout, dzl_column_layout, DZL, COLUMN_LAYOUT, GtkContainer)
 
 struct _DzlColumnLayoutClass
diff --git a/src/widgets/dzl-counters-window.c b/src/widgets/dzl-counters-window.c
index 3b4db50..58b4ee4 100644
--- a/src/widgets/dzl-counters-window.c
+++ b/src/widgets/dzl-counters-window.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-counters-window"
 
+#include "config.h"
+
 #include "dzl-counters-window.h"
 
 typedef struct
diff --git a/src/widgets/dzl-counters-window.h b/src/widgets/dzl-counters-window.h
index 6706b86..86694ad 100644
--- a/src/widgets/dzl-counters-window.h
+++ b/src/widgets/dzl-counters-window.h
@@ -29,6 +29,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_COUNTERS_WINDOW (dzl_counters_window_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlCountersWindow, dzl_counters_window, DZL, COUNTERS_WINDOW, GtkWindow)
 
 struct _DzlCountersWindowClass
diff --git a/src/widgets/dzl-elastic-bin.c b/src/widgets/dzl-elastic-bin.c
index 90f7311..f966f89 100644
--- a/src/widgets/dzl-elastic-bin.c
+++ b/src/widgets/dzl-elastic-bin.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-elastic-bin"
 
+#include "config.h"
+
 #include "animation/dzl-animation.h"
 #include "widgets/dzl-elastic-bin.h"
 
diff --git a/src/widgets/dzl-elastic-bin.h b/src/widgets/dzl-elastic-bin.h
index 0578235..6edd256 100644
--- a/src/widgets/dzl-elastic-bin.h
+++ b/src/widgets/dzl-elastic-bin.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_ELASTIC_BIN (dzl_elastic_bin_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlElasticBin, dzl_elastic_bin, DZL, ELASTIC_BIN, GtkBin)
 
 struct _DzlElasticBinClass
diff --git a/src/widgets/dzl-empty-state.c b/src/widgets/dzl-empty-state.c
index 215c49d..52e9c36 100644
--- a/src/widgets/dzl-empty-state.c
+++ b/src/widgets/dzl-empty-state.c
@@ -16,6 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "config.h"
+
 #ifndef _GNU_SOURCE
 # define _GNU_SOURCE
 #endif
diff --git a/src/widgets/dzl-empty-state.h b/src/widgets/dzl-empty-state.h
index 84c1af9..9a3554b 100644
--- a/src/widgets/dzl-empty-state.h
+++ b/src/widgets/dzl-empty-state.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_EMPTY_STATE (dzl_empty_state_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlEmptyState, dzl_empty_state, DZL, EMPTY_STATE, GtkBin)
 
 struct _DzlEmptyStateClass
diff --git a/src/widgets/dzl-entry-box.c b/src/widgets/dzl-entry-box.c
index f5e8121..70cbd88 100644
--- a/src/widgets/dzl-entry-box.c
+++ b/src/widgets/dzl-entry-box.c
@@ -16,6 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "config.h"
+
 #include "dzl-entry-box.h"
 
 struct _DzlEntryBox
diff --git a/src/widgets/dzl-entry-box.h b/src/widgets/dzl-entry-box.h
index 30f6b37..a5e42dd 100644
--- a/src/widgets/dzl-entry-box.h
+++ b/src/widgets/dzl-entry-box.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_ENTRY_BOX (dzl_entry_box_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlEntryBox, dzl_entry_box, DZL, ENTRY_BOX, GtkBox)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/widgets/dzl-file-chooser-entry.c b/src/widgets/dzl-file-chooser-entry.c
index 47ded17..7a4eade 100644
--- a/src/widgets/dzl-file-chooser-entry.c
+++ b/src/widgets/dzl-file-chooser-entry.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-file-chooser-entry"
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "dzl-file-chooser-entry.h"
diff --git a/src/widgets/dzl-file-chooser-entry.h b/src/widgets/dzl-file-chooser-entry.h
index 6117dc8..a430026 100644
--- a/src/widgets/dzl-file-chooser-entry.h
+++ b/src/widgets/dzl-file-chooser-entry.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_FILE_CHOOSER_ENTRY (dzl_file_chooser_entry_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlFileChooserEntry, dzl_file_chooser_entry, DZL, FILE_CHOOSER_ENTRY, GtkBin)
 
 struct _DzlFileChooserEntryClass
diff --git a/src/widgets/dzl-list-box-row.c b/src/widgets/dzl-list-box-row.c
index e0e2f2f..62bd44c 100644
--- a/src/widgets/dzl-list-box-row.c
+++ b/src/widgets/dzl-list-box-row.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-list-box-row"
 
+#include "config.h"
+
 #include "dzl-list-box.h"
 #include "dzl-list-box-private.h"
 #include "dzl-list-box-row.h"
diff --git a/src/widgets/dzl-list-box-row.h b/src/widgets/dzl-list-box-row.h
index e867e42..cddee34 100644
--- a/src/widgets/dzl-list-box-row.h
+++ b/src/widgets/dzl-list-box-row.h
@@ -25,6 +25,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_LIST_BOX_ROW (dzl_list_box_row_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlListBoxRow, dzl_list_box_row, DZL, LIST_BOX_ROW, GtkListBoxRow)
 
 struct _DzlListBoxRowClass
@@ -32,6 +33,7 @@ struct _DzlListBoxRowClass
   GtkListBoxRowClass parent_class;
 };
 
+DZL_AVAILABLE_IN_ALL
 GtkWidget *dzl_list_box_row_new (void);
 
 G_END_DECLS
diff --git a/src/widgets/dzl-list-box.c b/src/widgets/dzl-list-box.c
index af0a546..9bc7812 100644
--- a/src/widgets/dzl-list-box.c
+++ b/src/widgets/dzl-list-box.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-list-box"
 
+#include "config.h"
+
 /*
  * This widget is just like GtkListBox, except that it allows you to
  * very simply re-use existing widgets instead of creating new widgets
diff --git a/src/widgets/dzl-list-box.h b/src/widgets/dzl-list-box.h
index 5a0fd2d..f0c7ced 100644
--- a/src/widgets/dzl-list-box.h
+++ b/src/widgets/dzl-list-box.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_LIST_BOX (dzl_list_box_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlListBox, dzl_list_box, DZL, LIST_BOX, GtkListBox)
 
 struct _DzlListBoxClass
diff --git a/src/widgets/dzl-multi-paned.c b/src/widgets/dzl-multi-paned.c
index fcc8976..f0632cd 100644
--- a/src/widgets/dzl-multi-paned.c
+++ b/src/widgets/dzl-multi-paned.c
@@ -19,6 +19,8 @@
 
 #define G_LOG_DOMAIN "dzl-multi-paned"
 
+#include "config.h"
+
 #include "widgets/dzl-multi-paned.h"
 #include "util/dzl-util-private.h"
 
diff --git a/src/widgets/dzl-multi-paned.h b/src/widgets/dzl-multi-paned.h
index 8303a81..a7c4f84 100644
--- a/src/widgets/dzl-multi-paned.h
+++ b/src/widgets/dzl-multi-paned.h
@@ -32,6 +32,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_MULTI_PANED (dzl_multi_paned_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlMultiPaned, dzl_multi_paned, DZL, MULTI_PANED, GtkContainer)
 
 struct _DzlMultiPanedClass
diff --git a/src/widgets/dzl-pill-box.c b/src/widgets/dzl-pill-box.c
index 587d59d..473fc8c 100644
--- a/src/widgets/dzl-pill-box.c
+++ b/src/widgets/dzl-pill-box.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-pill-box"
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "dzl-pill-box.h"
diff --git a/src/widgets/dzl-pill-box.h b/src/widgets/dzl-pill-box.h
index 2f7c093..5074135 100644
--- a/src/widgets/dzl-pill-box.h
+++ b/src/widgets/dzl-pill-box.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_PILL_BOX (dzl_pill_box_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlPillBox, dzl_pill_box, DZL, PILL_BOX, GtkEventBox)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/widgets/dzl-priority-box.c b/src/widgets/dzl-priority-box.c
index c6039c1..a2c94a5 100644
--- a/src/widgets/dzl-priority-box.c
+++ b/src/widgets/dzl-priority-box.c
@@ -25,6 +25,8 @@
 
 #define G_LOG_DOMAIN "dzl-priority-box"
 
+#include "config.h"
+
 #include "dzl-priority-box.h"
 
 typedef struct
diff --git a/src/widgets/dzl-priority-box.h b/src/widgets/dzl-priority-box.h
index 35bf14f..747d2cc 100644
--- a/src/widgets/dzl-priority-box.h
+++ b/src/widgets/dzl-priority-box.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_PRIORITY_BOX (dzl_priority_box_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlPriorityBox, dzl_priority_box, DZL, PRIORITY_BOX, GtkBox)
 
 struct _DzlPriorityBoxClass
diff --git a/src/widgets/dzl-progress-button.c b/src/widgets/dzl-progress-button.c
index 2c01152..ba54db8 100644
--- a/src/widgets/dzl-progress-button.c
+++ b/src/widgets/dzl-progress-button.c
@@ -20,6 +20,8 @@
 
 #define G_LOG_DOMAIN "dzl-progress-button"
 
+#include "config.h"
+
 #include "widgets/dzl-progress-button.h"
 #include "util/dzl-util-private.h"
 
diff --git a/src/widgets/dzl-progress-button.h b/src/widgets/dzl-progress-button.h
index bf9afab..03f1a7b 100644
--- a/src/widgets/dzl-progress-button.h
+++ b/src/widgets/dzl-progress-button.h
@@ -29,6 +29,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_PROGRESS_BUTTON (dzl_progress_button_get_type ())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlProgressButton, dzl_progress_button, DZL, PROGRESS_BUTTON, GtkButton)
 
 struct _DzlProgressButtonClass
diff --git a/src/widgets/dzl-progress-icon.c b/src/widgets/dzl-progress-icon.c
index b5e79dc..1baf488 100644
--- a/src/widgets/dzl-progress-icon.c
+++ b/src/widgets/dzl-progress-icon.c
@@ -19,6 +19,8 @@
 
 #define G_LOG_DOMAIN "dzl-progress-icon"
 
+#include "config.h"
+
 #include <math.h>
 
 #include "dzl-progress-icon.h"
diff --git a/src/widgets/dzl-progress-icon.h b/src/widgets/dzl-progress-icon.h
index 040b8e3..e195400 100644
--- a/src/widgets/dzl-progress-icon.h
+++ b/src/widgets/dzl-progress-icon.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_PROGRESS_ICON (dzl_progress_icon_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlProgressIcon, dzl_progress_icon, DZL, PROGRESS_ICON, GtkDrawingArea)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/widgets/dzl-progress-menu-button.c b/src/widgets/dzl-progress-menu-button.c
index e888a21..c68be0c 100644
--- a/src/widgets/dzl-progress-menu-button.c
+++ b/src/widgets/dzl-progress-menu-button.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-progress-menu-button"
 
+#include "config.h"
+
 #include "animation/dzl-animation.h"
 #include "animation/dzl-box-theatric.h"
 #include "widgets/dzl-progress-icon.h"
diff --git a/src/widgets/dzl-progress-menu-button.h b/src/widgets/dzl-progress-menu-button.h
index 37985ba..c3ef499 100644
--- a/src/widgets/dzl-progress-menu-button.h
+++ b/src/widgets/dzl-progress-menu-button.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_PROGRESS_MENU_BUTTON (dzl_progress_menu_button_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlProgressMenuButton, dzl_progress_menu_button, DZL, PROGRESS_MENU_BUTTON, 
GtkMenuButton)
 
 struct _DzlProgressMenuButtonClass
diff --git a/src/widgets/dzl-radio-box.c b/src/widgets/dzl-radio-box.c
index 47ec9bf..2a38b41 100644
--- a/src/widgets/dzl-radio-box.c
+++ b/src/widgets/dzl-radio-box.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-radio-box"
 
+#include "config.h"
+
 #include "dzl-radio-box.h"
 
 /*
diff --git a/src/widgets/dzl-radio-box.h b/src/widgets/dzl-radio-box.h
index 321a154..0ce3d8c 100644
--- a/src/widgets/dzl-radio-box.h
+++ b/src/widgets/dzl-radio-box.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_RADIO_BOX (dzl_radio_box_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlRadioBox, dzl_radio_box, DZL, RADIO_BOX, GtkBin)
 
 struct _DzlRadioBoxClass
diff --git a/src/widgets/dzl-rect-helper.c b/src/widgets/dzl-rect-helper.c
index 9f70e0e..fba36d0 100644
--- a/src/widgets/dzl-rect-helper.c
+++ b/src/widgets/dzl-rect-helper.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-rect-helper"
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "widgets/dzl-rect-helper.h"
diff --git a/src/widgets/dzl-scrolled-window.c b/src/widgets/dzl-scrolled-window.c
index f24cbcc..1d6e7da 100644
--- a/src/widgets/dzl-scrolled-window.c
+++ b/src/widgets/dzl-scrolled-window.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-scrolled-window"
 
+#include "config.h"
+
 #include "dzl-scrolled-window.h"
 
 struct _DzlScrolledWindow
diff --git a/src/widgets/dzl-scrolled-window.h b/src/widgets/dzl-scrolled-window.h
index a48bc55..370cdf1 100644
--- a/src/widgets/dzl-scrolled-window.h
+++ b/src/widgets/dzl-scrolled-window.h
@@ -21,10 +21,13 @@
 
 #include <gtk/gtk.h>
 
+#include "dzl-version-macros.h"
+
 G_BEGIN_DECLS
 
 #define DZL_TYPE_SCROLLED_WINDOW (dzl_scrolled_window_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlScrolledWindow, dzl_scrolled_window, DZL, SCROLLED_WINDOW, GtkScrolledWindow)
 
 G_END_DECLS
diff --git a/src/widgets/dzl-search-bar.c b/src/widgets/dzl-search-bar.c
index 76c0f11..4897a78 100644
--- a/src/widgets/dzl-search-bar.c
+++ b/src/widgets/dzl-search-bar.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-search-bar"
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "bindings/dzl-signal-group.h"
diff --git a/src/widgets/dzl-search-bar.h b/src/widgets/dzl-search-bar.h
index 0457a04..21229e7 100644
--- a/src/widgets/dzl-search-bar.h
+++ b/src/widgets/dzl-search-bar.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_SEARCH_BAR (dzl_search_bar_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlSearchBar, dzl_search_bar, DZL, SEARCH_BAR, GtkBin)
 
 struct _DzlSearchBarClass
diff --git a/src/widgets/dzl-simple-label.c b/src/widgets/dzl-simple-label.c
index 0d0f61d..0b154de 100644
--- a/src/widgets/dzl-simple-label.c
+++ b/src/widgets/dzl-simple-label.c
@@ -18,6 +18,8 @@
 
 #include <string.h>
 
+#include "config.h"
+
 #include "dzl-simple-label.h"
 
 struct _DzlSimpleLabel
diff --git a/src/widgets/dzl-simple-label.h b/src/widgets/dzl-simple-label.h
index d724198..1df482f 100644
--- a/src/widgets/dzl-simple-label.h
+++ b/src/widgets/dzl-simple-label.h
@@ -34,6 +34,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_SIMPLE_LABEL (dzl_simple_label_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_FINAL_TYPE (DzlSimpleLabel, dzl_simple_label, DZL, SIMPLE_LABEL, GtkWidget)
 
 DZL_AVAILABLE_IN_ALL
diff --git a/src/widgets/dzl-simple-popover.c b/src/widgets/dzl-simple-popover.c
index 07693a6..e69e06f 100644
--- a/src/widgets/dzl-simple-popover.c
+++ b/src/widgets/dzl-simple-popover.c
@@ -16,6 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "config.h"
+
 #include "dzl-simple-popover.h"
 
 typedef struct
diff --git a/src/widgets/dzl-simple-popover.h b/src/widgets/dzl-simple-popover.h
index b426b84..1dcb2dd 100644
--- a/src/widgets/dzl-simple-popover.h
+++ b/src/widgets/dzl-simple-popover.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_SIMPLE_POPOVER (dzl_simple_popover_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlSimplePopover, dzl_simple_popover, DZL, SIMPLE_POPOVER, GtkPopover)
 
 struct _DzlSimplePopoverClass
diff --git a/src/widgets/dzl-slider.c b/src/widgets/dzl-slider.c
index a1e03a8..55f3d10 100644
--- a/src/widgets/dzl-slider.c
+++ b/src/widgets/dzl-slider.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-slider"
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "animation/dzl-animation.h"
diff --git a/src/widgets/dzl-slider.h b/src/widgets/dzl-slider.h
index fe25146..4f01630 100644
--- a/src/widgets/dzl-slider.h
+++ b/src/widgets/dzl-slider.h
@@ -28,6 +28,7 @@ G_BEGIN_DECLS
 #define DZL_TYPE_SLIDER          (dzl_slider_get_type())
 #define DZL_TYPE_SLIDER_POSITION (dzl_slider_position_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlSlider, dzl_slider, DZL, SLIDER, GtkContainer)
 
 typedef enum
diff --git a/src/widgets/dzl-stack-list.c b/src/widgets/dzl-stack-list.c
index f263467..df229ff 100644
--- a/src/widgets/dzl-stack-list.c
+++ b/src/widgets/dzl-stack-list.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-stack-list"
 
+#include "config.h"
+
 #include <glib/gi18n.h>
 
 #include "animation/dzl-animation.h"
diff --git a/src/widgets/dzl-stack-list.h b/src/widgets/dzl-stack-list.h
index 5f5e6fa..7dfd561 100644
--- a/src/widgets/dzl-stack-list.h
+++ b/src/widgets/dzl-stack-list.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 #define DZL_TYPE_STACK_LIST (dzl_stack_list_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlStackList, dzl_stack_list, DZL, STACK_LIST, GtkBin)
 
 struct _DzlStackListClass
diff --git a/src/widgets/dzl-three-grid.c b/src/widgets/dzl-three-grid.c
index 119a891..2ede02a 100644
--- a/src/widgets/dzl-three-grid.c
+++ b/src/widgets/dzl-three-grid.c
@@ -18,6 +18,8 @@
 
 #define G_LOG_DOMAIN "dzl-three-grid"
 
+#include "config.h"
+
 #include <math.h>
 
 #include "dzl-three-grid.h"
diff --git a/src/widgets/dzl-three-grid.h b/src/widgets/dzl-three-grid.h
index 2b2946c..9f71559 100644
--- a/src/widgets/dzl-three-grid.h
+++ b/src/widgets/dzl-three-grid.h
@@ -28,6 +28,7 @@ G_BEGIN_DECLS
 #define DZL_TYPE_THREE_GRID        (dzl_three_grid_get_type())
 #define DZL_TYPE_THREE_GRID_COLUMN (dzl_three_grid_column_get_type())
 
+DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlThreeGrid, dzl_three_grid, DZL, THREE_GRID, GtkContainer)
 
 struct _DzlThreeGridClass
diff --git a/tests/meson.build b/tests/meson.build
index 8557261..a00fdaf 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -329,7 +329,7 @@ test_list_store_adapter = executable('test-list-store-adapter', 'test-list-store
 )
 test('test-list-store-adapter', test_list_store_adapter, env: test_env)
 
-test_util = executable('test-util', 'test-util.c',
+test_util = executable('test-util', ['test-util.c', '../src/util/dzl-util.c'],
         c_args: test_cflags,
      link_args: test_link_args,
   dependencies: libdazzle_deps + [libdazzle_dep],


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]