[sysprof] source tree cleanup



commit c47822b26e874965b0d8ada7b38e7cebbea7028b
Author: Christian Hergert <chergert redhat com>
Date:   Thu Sep 28 16:17:56 2017 -0700

    source tree cleanup
    
    The lib/ directory was getting a bit out of hand, so this tries
    to organize things a bit so it is easier going forward to locate
    the code people want to patch.

 lib/{ => callgraph}/sp-callgraph-profile-private.h |    4 +-
 lib/{ => callgraph}/sp-callgraph-profile.c         |   18 +-
 lib/{ => callgraph}/sp-callgraph-profile.h         |    4 +-
 lib/{ => callgraph}/sp-callgraph-view.c            |    6 +-
 lib/{ => callgraph}/sp-callgraph-view.h            |    2 +-
 lib/{ => capture}/sp-capture-condition.c           |    2 +-
 lib/{ => capture}/sp-capture-condition.h           |    2 +-
 lib/{ => capture}/sp-capture-cursor.c              |    6 +-
 lib/{ => capture}/sp-capture-cursor.h              |    2 +-
 lib/{ => capture}/sp-capture-reader.c              |    4 +-
 lib/{ => capture}/sp-capture-reader.h              |    2 +-
 lib/{ => capture}/sp-capture-types.h               |    0
 lib/{ => capture}/sp-capture-writer.c              |    4 +-
 lib/{ => capture}/sp-capture-writer.h              |    2 +-
 lib/meson.build                                    |  265 +++++++++-----------
 lib/{ => profiler}/sp-local-profiler.c             |    4 +-
 lib/{ => profiler}/sp-local-profiler.h             |    2 +-
 lib/{ => profiler}/sp-profile.c                    |    2 +-
 lib/{ => profiler}/sp-profile.h                    |    2 +-
 lib/{ => profiler}/sp-profiler.c                   |    2 +-
 lib/{ => profiler}/sp-profiler.h                   |    4 +-
 lib/{ => sources}/sp-gjs-source.c                  |    4 +-
 lib/{ => sources}/sp-gjs-source.h                  |    2 +-
 lib/{ => sources}/sp-hostinfo-source.c             |    2 +-
 lib/{ => sources}/sp-hostinfo-source.h             |    2 +-
 lib/{ => sources}/sp-perf-counter.c                |    2 +-
 lib/{ => sources}/sp-perf-counter.h                |    0
 lib/{ => sources}/sp-perf-source.c                 |    6 +-
 lib/{ => sources}/sp-perf-source.h                 |    2 +-
 lib/{ => sources}/sp-proc-source.c                 |    2 +-
 lib/{ => sources}/sp-proc-source.h                 |    2 +-
 lib/{ => sources}/sp-source.c                      |    2 +-
 lib/{ => sources}/sp-source.h                      |    2 +-
 lib/{ => symbols}/sp-elf-symbol-resolver.c         |    9 +-
 lib/{ => symbols}/sp-elf-symbol-resolver.h         |    2 +-
 lib/{ => symbols}/sp-jitmap-symbol-resolver.c      |    4 +-
 lib/{ => symbols}/sp-jitmap-symbol-resolver.h      |    2 +-
 lib/{ => symbols}/sp-kernel-symbol-resolver.c      |    4 +-
 lib/{ => symbols}/sp-kernel-symbol-resolver.h      |    2 +-
 lib/{ => symbols}/sp-kernel-symbol.c               |    4 +-
 lib/{ => symbols}/sp-kernel-symbol.h               |    2 +-
 lib/{ => symbols}/sp-symbol-dirs.c                 |    2 +-
 lib/{ => symbols}/sp-symbol-dirs.h                 |    0
 lib/{ => symbols}/sp-symbol-resolver.c             |    2 +-
 lib/{ => symbols}/sp-symbol-resolver.h             |    2 +-
 lib/sysprof-ui.h                                   |   32 ++--
 lib/sysprof.h                                      |   50 +++--
 lib/util/binfile.c                                 |    6 +-
 lib/util/elfparser.c                               |    4 +-
 lib/util/pointcache.c                              |    2 +-
 lib/{ => util}/sp-color-cycle.c                    |    2 +-
 lib/{ => util}/sp-color-cycle.h                    |    0
 lib/{ => util}/sp-line-reader.c                    |    2 +-
 lib/{ => util}/sp-line-reader.h                    |    0
 lib/{ => util}/sp-map-lookaside.c                  |    2 +-
 lib/{ => util}/sp-map-lookaside.h                  |    2 +-
 lib/{ => util}/sp-model-filter.c                   |    2 +-
 lib/{ => util}/sp-model-filter.h                   |    0
 lib/{ => util}/sp-platform.c                       |    2 +-
 lib/{ => util}/sp-platform.h                       |    0
 lib/{ => util}/sp-process-model-item.c             |    4 +-
 lib/{ => util}/sp-process-model-item.h             |    0
 lib/{ => util}/sp-process-model.c                  |    4 +-
 lib/{ => util}/sp-process-model.h                  |    0
 lib/{ => util}/sp-selection.c                      |    2 +-
 lib/{ => util}/sp-selection.h                      |    0
 lib/{ => util}/sp-theme-manager.c                  |    2 +-
 lib/{ => util}/sp-theme-manager.h                  |    0
 lib/{ => util}/sp-zoom-manager.c                   |    2 +-
 lib/{ => util}/sp-zoom-manager.h                   |    0
 lib/util/stackstash.c                              |    2 +-
 lib/{ => visualizers}/sp-cpu-visualizer-row.c      |    8 +-
 lib/{ => visualizers}/sp-cpu-visualizer-row.h      |    2 +-
 lib/{ => visualizers}/sp-line-visualizer-row.c     |    8 +-
 lib/{ => visualizers}/sp-line-visualizer-row.h     |    2 +-
 lib/{ => visualizers}/sp-visualizer-list.c         |    6 +-
 lib/{ => visualizers}/sp-visualizer-list.h         |    4 +-
 lib/{ => visualizers}/sp-visualizer-row-private.h  |    2 +-
 lib/{ => visualizers}/sp-visualizer-row.c          |    4 +-
 lib/{ => visualizers}/sp-visualizer-row.h          |    4 +-
 lib/{ => visualizers}/sp-visualizer-ticks.c        |    2 +-
 lib/{ => visualizers}/sp-visualizer-ticks.h        |    0
 lib/{ => visualizers}/sp-visualizer-view.c         |   14 +-
 lib/{ => visualizers}/sp-visualizer-view.h         |    6 +-
 lib/{ => widgets}/sp-cell-renderer-percent.c       |    2 +-
 lib/{ => widgets}/sp-cell-renderer-percent.h       |    0
 lib/{ => widgets}/sp-empty-state-view.c            |    2 +-
 lib/{ => widgets}/sp-empty-state-view.h            |    0
 lib/{ => widgets}/sp-failed-state-view.c           |    2 +-
 lib/{ => widgets}/sp-failed-state-view.h           |    2 +-
 lib/{ => widgets}/sp-multi-paned.c                 |    2 +-
 lib/{ => widgets}/sp-multi-paned.h                 |    0
 lib/{ => widgets}/sp-process-model-row.c           |    2 +-
 lib/{ => widgets}/sp-process-model-row.h           |    2 +-
 lib/{ => widgets}/sp-profiler-menu-button.c        |   10 +-
 lib/{ => widgets}/sp-profiler-menu-button.h        |    2 +-
 lib/{ => widgets}/sp-recording-state-view.c        |    2 +-
 lib/{ => widgets}/sp-recording-state-view.h        |    2 +-
 src/sp-window.c                                    |    5 +-
 tests/test-capture.c                               |    4 +-
 tests/test-model-filter.c                          |    2 +-
 tests/test-zoom.c                                  |    2 +-
 tools/sysprof-dump.c                               |    3 +-
 103 files changed, 304 insertions(+), 328 deletions(-)
---
diff --git a/lib/sp-callgraph-profile-private.h b/lib/callgraph/sp-callgraph-profile-private.h
similarity index 93%
rename from lib/sp-callgraph-profile-private.h
rename to lib/callgraph/sp-callgraph-profile-private.h
index f7955c1..59d1b9c 100644
--- a/lib/sp-callgraph-profile-private.h
+++ b/lib/callgraph/sp-callgraph-profile-private.h
@@ -19,8 +19,8 @@
 #ifndef SP_CALLGRAPH_PROFILE_PRIVATE_H
 #define SP_CALLGRAPH_PROFILE_PRIVATE_H
 
-#include "sp-callgraph-profile.h"
-#include "stackstash.h"
+#include "callgraph/sp-callgraph-profile.h"
+#include "util/stackstash.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-callgraph-profile.c b/lib/callgraph/sp-callgraph-profile.c
similarity index 97%
rename from lib/sp-callgraph-profile.c
rename to lib/callgraph/sp-callgraph-profile.c
index 57b0939..9d6e8c9 100644
--- a/lib/sp-callgraph-profile.c
+++ b/lib/callgraph/sp-callgraph-profile.c
@@ -39,16 +39,16 @@
 #include <unistd.h>
 
 #include "sp-address.h"
-#include "sp-callgraph-profile.h"
-#include "sp-callgraph-profile-private.h"
-#include "sp-capture-reader.h"
-#include "sp-elf-symbol-resolver.h"
-#include "sp-jitmap-symbol-resolver.h"
-#include "sp-map-lookaside.h"
-#include "sp-kernel-symbol-resolver.h"
-#include "sp-selection.h"
-
-#include "stackstash.h"
+#include "callgraph/sp-callgraph-profile.h"
+#include "callgraph/sp-callgraph-profile-private.h"
+#include "capture/sp-capture-reader.h"
+#include "symbols/sp-elf-symbol-resolver.h"
+#include "symbols/sp-jitmap-symbol-resolver.h"
+#include "util/sp-map-lookaside.h"
+#include "symbols/sp-kernel-symbol-resolver.h"
+#include "util/sp-selection.h"
+
+#include "util/stackstash.h"
 
 #define CHECK_CANCELLABLE_INTERVAL 100
 
diff --git a/lib/sp-callgraph-profile.h b/lib/callgraph/sp-callgraph-profile.h
similarity index 95%
rename from lib/sp-callgraph-profile.h
rename to lib/callgraph/sp-callgraph-profile.h
index e034748..501bb89 100644
--- a/lib/sp-callgraph-profile.h
+++ b/lib/callgraph/sp-callgraph-profile.h
@@ -19,8 +19,8 @@
 #ifndef SP_CALLGRAPH_PROFILE_H
 #define SP_CALLGRAPH_PROFILE_H
 
-#include "sp-profile.h"
-#include "sp-selection.h"
+#include "profiler/sp-profile.h"
+#include "util/sp-selection.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-callgraph-view.c b/lib/callgraph/sp-callgraph-view.c
similarity index 99%
rename from lib/sp-callgraph-view.c
rename to lib/callgraph/sp-callgraph-view.c
index 88b05ee..4d2af31 100644
--- a/lib/sp-callgraph-view.c
+++ b/lib/callgraph/sp-callgraph-view.c
@@ -37,9 +37,9 @@
 
 #include <glib/gi18n.h>
 
-#include "sp-callgraph-profile-private.h"
-#include "sp-callgraph-view.h"
-#include "sp-cell-renderer-percent.h"
+#include "callgraph/sp-callgraph-profile-private.h"
+#include "callgraph/sp-callgraph-view.h"
+#include "widgets/sp-cell-renderer-percent.h"
 
 typedef struct
 {
diff --git a/lib/sp-callgraph-view.h b/lib/callgraph/sp-callgraph-view.h
similarity index 97%
rename from lib/sp-callgraph-view.h
rename to lib/callgraph/sp-callgraph-view.h
index 40495ee..0d82716 100644
--- a/lib/sp-callgraph-view.h
+++ b/lib/callgraph/sp-callgraph-view.h
@@ -21,7 +21,7 @@
 
 #include <gtk/gtk.h>
 
-#include "sp-callgraph-profile.h"
+#include "callgraph/sp-callgraph-profile.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-capture-condition.c b/lib/capture/sp-capture-condition.c
similarity index 99%
rename from lib/sp-capture-condition.c
rename to lib/capture/sp-capture-condition.c
index c560fcc..3809157 100644
--- a/lib/sp-capture-condition.c
+++ b/lib/capture/sp-capture-condition.c
@@ -20,7 +20,7 @@
 
 #include <string.h>
 
-#include "sp-capture-condition.h"
+#include "capture/sp-capture-condition.h"
 
 /**
  * SECTION:sp-capture-condition
diff --git a/lib/sp-capture-condition.h b/lib/capture/sp-capture-condition.h
similarity index 98%
rename from lib/sp-capture-condition.h
rename to lib/capture/sp-capture-condition.h
index 3752ea4..59f42c9 100644
--- a/lib/sp-capture-condition.h
+++ b/lib/capture/sp-capture-condition.h
@@ -19,7 +19,7 @@
 #ifndef SP_CAPTURE_CONDITION_H
 #define SP_CAPTURE_CONDITION_H
 
-#include "sp-capture-types.h"
+#include "capture/sp-capture-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-capture-cursor.c b/lib/capture/sp-capture-cursor.c
similarity index 97%
rename from lib/sp-capture-cursor.c
rename to lib/capture/sp-capture-cursor.c
index 3b98237..698d380 100644
--- a/lib/sp-capture-cursor.c
+++ b/lib/capture/sp-capture-cursor.c
@@ -18,9 +18,9 @@
 
 #define G_LOG_DOMAIN "sp-capture-cursor"
 
-#include "sp-capture-condition.h"
-#include "sp-capture-cursor.h"
-#include "sp-capture-reader.h"
+#include "capture/sp-capture-condition.h"
+#include "capture/sp-capture-cursor.h"
+#include "capture/sp-capture-reader.h"
 
 #define READ_DELEGATE(f) ((ReadDelegate)(f))
 
diff --git a/lib/sp-capture-cursor.h b/lib/capture/sp-capture-cursor.h
similarity index 98%
rename from lib/sp-capture-cursor.h
rename to lib/capture/sp-capture-cursor.h
index e59fab2..ceb5416 100644
--- a/lib/sp-capture-cursor.h
+++ b/lib/capture/sp-capture-cursor.h
@@ -19,7 +19,7 @@
 #ifndef SP_CAPTURE_CURSOR_H
 #define SP_CAPTURE_CURSOR_H
 
-#include "sp-capture-types.h"
+#include "capture/sp-capture-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-capture-reader.c b/lib/capture/sp-capture-reader.c
similarity index 99%
rename from lib/sp-capture-reader.c
rename to lib/capture/sp-capture-reader.c
index e50971f..b4c3ddb 100644
--- a/lib/sp-capture-reader.c
+++ b/lib/capture/sp-capture-reader.c
@@ -24,8 +24,8 @@
 #include <sys/types.h>
 #include <unistd.h>
 
-#include "sp-capture-reader.h"
-#include "sp-capture-writer.h"
+#include "capture/sp-capture-reader.h"
+#include "capture/sp-capture-writer.h"
 
 struct _SpCaptureReader
 {
diff --git a/lib/sp-capture-reader.h b/lib/capture/sp-capture-reader.h
similarity index 99%
rename from lib/sp-capture-reader.h
rename to lib/capture/sp-capture-reader.h
index 8bf096e..856fe67 100644
--- a/lib/sp-capture-reader.h
+++ b/lib/capture/sp-capture-reader.h
@@ -19,7 +19,7 @@
 #ifndef SP_CAPTURE_READER_H
 #define SP_CAPTURE_READER_H
 
-#include "sp-capture-types.h"
+#include "capture/sp-capture-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-capture-types.h b/lib/capture/sp-capture-types.h
similarity index 100%
rename from lib/sp-capture-types.h
rename to lib/capture/sp-capture-types.h
diff --git a/lib/sp-capture-writer.c b/lib/capture/sp-capture-writer.c
similarity index 99%
rename from lib/sp-capture-writer.c
rename to lib/capture/sp-capture-writer.c
index 8e2e082..2dabfeb 100644
--- a/lib/sp-capture-writer.c
+++ b/lib/capture/sp-capture-writer.c
@@ -29,8 +29,8 @@
 #include <sys/types.h>
 #include <unistd.h>
 
-#include "sp-capture-reader.h"
-#include "sp-capture-writer.h"
+#include "capture/sp-capture-reader.h"
+#include "capture/sp-capture-writer.h"
 
 #define DEFAULT_BUFFER_SIZE (getpagesize() * 64L)
 #define INVALID_ADDRESS     (G_GUINT64_CONSTANT(0))
diff --git a/lib/sp-capture-writer.h b/lib/capture/sp-capture-writer.h
similarity index 99%
rename from lib/sp-capture-writer.h
rename to lib/capture/sp-capture-writer.h
index 901eed5..efe476a 100644
--- a/lib/sp-capture-writer.h
+++ b/lib/capture/sp-capture-writer.h
@@ -19,7 +19,7 @@
 #ifndef SP_CAPTURE_WRITER_H
 #define SP_CAPTURE_WRITER_H
 
-#include "sp-capture-types.h"
+#include "capture/sp-capture-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/meson.build b/lib/meson.build
index a7e823b..63ca02d 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -1,44 +1,4 @@
 
-# Both the profiler library and the UI library need to share some
-# data-structures. Notably, the StackStash. So we build a private
-# static library that can be used from both. It adds a little bit
-# of overhead in terms of duplicated procedures, but they should
-# always be installed in sync, and therefore no big deal.
-
-libutil_sources = [
-  'util/binfile.c',
-  'util/binfile.h',
-  'util/demangle.cpp',
-  'util/demangle.h',
-  'util/elfparser.c',
-  'util/elfparser.h',
-  'util/pointcache.c',
-  'util/pointcache.h',
-  'util/stackstash.c',
-  'util/stackstash.h',
-]
-
-libutil_deps = [
-  dependency('gio-unix-2.0', version: '>=2.44.0')
-]
-
-libutil_includes = [
-  'util',
-]
-
-libutil = static_library('util',
-  libutil_sources,
-  include_directories: include_directories(libutil_includes),
-  dependencies: libutil_deps,
-  pic: true,
-)
-
-libutil_dep = declare_dependency(
-  link_with: libutil,
-  dependencies: libutil_deps,
-  include_directories: include_directories(libutil_includes),
-)
-
 # We split up the library code into two libraries.  One containing the
 # minimum necessary to do profiling on a particular host (that might not
 # have GTK+ installed), and the library containing reusable GTK
@@ -54,82 +14,89 @@ libsysprof_version_conf.set('MICRO_VERSION', libsysprof_version[2])
 libsysprof_version_conf.set('VERSION', meson.project_version())
 
 configure_file(
-  input: 'sysprof-version.h.in',
-  output: 'sysprof-version.h',
+          input: 'sysprof-version.h.in',
+         output: 'sysprof-version.h',
   configuration: libsysprof_version_conf,
-  install: true,
-  install_dir: join_paths(get_option('includedir'),
-                          'sysprof-' + libsysprof_api_version)
+        install: true,
+    install_dir: join_paths(get_option('includedir'), 'sysprof-' + libsysprof_api_version)
 )
 
 libsysprof_headers = [
   'sysprof.h',
   'sp-address.h',
-  'sp-callgraph-profile.h',
-  'sp-capture-condition.h',
-  'sp-capture-cursor.h',
-  'sp-capture-reader.h',
-  'sp-capture-writer.h',
-  'sp-capture-types.h',
   'sp-clock.h',
-  'sp-elf-symbol-resolver.h',
   'sp-error.h',
-  'sp-gjs-source.h',
-  'sp-hostinfo-source.h',
-  'sp-jitmap-symbol-resolver.h',
-  'sp-kernel-symbol.h',
-  'sp-kernel-symbol-resolver.h',
-  'sp-local-profiler.h',
-  'sp-map-lookaside.h',
-  'sp-perf-source.h',
-  'sp-proc-source.h',
-  'sp-profile.h',
-  'sp-profiler.h',
-  'sp-selection.h',
-  'sp-source.h',
-  'sp-symbol-dirs.h',
-  'sp-symbol-resolver.h',
+  'callgraph/sp-callgraph-profile.h',
+  'capture/sp-capture-condition.h',
+  'capture/sp-capture-cursor.h',
+  'capture/sp-capture-reader.h',
+  'capture/sp-capture-types.h',
+  'capture/sp-capture-writer.h',
+  'profiler/sp-local-profiler.h',
+  'profiler/sp-profile.h',
+  'profiler/sp-profiler.h',
+  'sources/sp-gjs-source.h',
+  'sources/sp-hostinfo-source.h',
+  'sources/sp-perf-source.h',
+  'sources/sp-proc-source.h',
+  'sources/sp-source.h',
+  'symbols/sp-elf-symbol-resolver.h',
+  'symbols/sp-jitmap-symbol-resolver.h',
+  'symbols/sp-kernel-symbol-resolver.h',
+  'symbols/sp-kernel-symbol.h',
+  'symbols/sp-symbol-dirs.h',
+  'symbols/sp-symbol-resolver.h',
+  'util/sp-map-lookaside.h',
+  'util/sp-selection.h',
 ]
 
 libsysprof_sources = [
   'sp-address.c',
-  'sp-callgraph-profile.c',
-  'sp-callgraph-profile-private.h',
-  'sp-capture-condition.c',
-  'sp-capture-cursor.c',
-  'sp-capture-reader.c',
-  'sp-capture-writer.c',
   'sp-clock.c',
-  'sp-elf-symbol-resolver.c',
   'sp-error.c',
-  'sp-gjs-source.c',
-  'sp-hostinfo-source.c',
-  'sp-jitmap-symbol-resolver.c',
-  'sp-kernel-symbol.c',
-  'sp-kernel-symbol-resolver.c',
-  'sp-line-reader.c',
-  'sp-line-reader.h',
-  'sp-local-profiler.c',
-  'sp-map-lookaside.c',
-  'sp-perf-counter.c',
-  'sp-perf-counter.h',
-  'sp-perf-source.c',
-  'sp-platform.c',
-  'sp-platform.h',
-  'sp-proc-source.c',
-  'sp-profile.c',
-  'sp-profiler.c',
-  'sp-selection.c',
-  'sp-source.c',
-  'sp-symbol-dirs.c',
-  'sp-symbol-resolver.c',
+  'callgraph/sp-callgraph-profile-private.h',
+  'callgraph/sp-callgraph-profile.c',
+  'capture/sp-capture-condition.c',
+  'capture/sp-capture-cursor.c',
+  'capture/sp-capture-reader.c',
+  'capture/sp-capture-writer.c',
+  'profiler/sp-local-profiler.c',
+  'profiler/sp-profile.c',
+  'profiler/sp-profiler.c',
+  'sources/sp-gjs-source.c',
+  'sources/sp-hostinfo-source.c',
+  'sources/sp-perf-counter.c',
+  'sources/sp-perf-counter.h',
+  'sources/sp-perf-source.c',
+  'sources/sp-proc-source.c',
+  'sources/sp-source.c',
+  'symbols/sp-elf-symbol-resolver.c',
+  'symbols/sp-jitmap-symbol-resolver.c',
+  'symbols/sp-kernel-symbol-resolver.c',
+  'symbols/sp-kernel-symbol.c',
+  'symbols/sp-symbol-dirs.c',
+  'symbols/sp-symbol-resolver.c',
+  'util/binfile.c',
+  'util/binfile.h',
+  'util/demangle.cpp',
+  'util/demangle.h',
+  'util/elfparser.c',
+  'util/elfparser.h',
+  'util/sp-line-reader.c',
+  'util/sp-line-reader.h',
+  'util/sp-map-lookaside.c',
+  'util/sp-platform.c',
+  'util/sp-platform.h',
+  'util/sp-selection.c',
+  'util/stackstash.c',
+  'util/stackstash.h',
 ]
 
 cxx = meson.get_compiler('cpp')
 
 libsysprof_deps = [
-  libutil_dep,
   cxx.find_library('stdc++'),
+  dependency('gio-unix-2.0'),
 ]
 
 version_link_arg = '-Wl,--version-script,' + join_paths(meson.current_source_dir(), 'sysprof.map')
@@ -143,10 +110,10 @@ endif
 libsysprof = shared_library('sysprof-' + libsysprof_api_version,
   libsysprof_sources,
   dependencies: libsysprof_deps,
-  c_args: libsysprof_c_args,
-  link_args: version_link_arg,
+        c_args: libsysprof_c_args,
+     link_args: version_link_arg,
   link_depends: 'sysprof.map',
-  install: true,
+       install: true,
 )
 
 install_headers(libsysprof_headers,
@@ -155,7 +122,7 @@ install_headers(libsysprof_headers,
 
 libsysprof_dep = declare_dependency(
   include_directories: include_directories('.'),
-  link_with: libsysprof,
+     link_with: libsysprof,
   dependencies: libsysprof_deps,
 )
 
@@ -165,70 +132,74 @@ if get_option('enable_gtk')
   # meant to be used by IDEs and the sysprof gui.
 
   libsysprof_ui_headers = [
-    'sp-callgraph-view.h',
-    'sp-cell-renderer-percent.h',
-    'sp-cpu-visualizer-row.h',
-    'sp-empty-state-view.h',
-    'sp-failed-state-view.h',
-    'sp-line-visualizer-row.h',
-    'sp-model-filter.h',
-    'sp-multi-paned.h',
-    'sp-process-model.h',
-    'sp-process-model-item.h',
-    'sp-process-model-row.h',
-    'sp-profiler-menu-button.h',
-    'sp-recording-state-view.h',
-    'sp-visualizer-row.h',
-    'sp-visualizer-view.h',
-    'sp-zoom-manager.h',
+    'callgraph/sp-callgraph-view.h',
+    'util/sp-model-filter.h',
+    'util/sp-process-model-item.h',
+    'util/sp-process-model.h',
+    'util/sp-zoom-manager.h',
+    'visualizers/sp-cpu-visualizer-row.h',
+    'visualizers/sp-line-visualizer-row.h',
+    'visualizers/sp-visualizer-row.h',
+    'visualizers/sp-visualizer-view.h',
+    'widgets/sp-cell-renderer-percent.h',
+    'widgets/sp-empty-state-view.h',
+    'widgets/sp-failed-state-view.h',
+    'widgets/sp-multi-paned.h',
+    'widgets/sp-process-model-row.h',
+    'widgets/sp-profiler-menu-button.h',
+    'widgets/sp-recording-state-view.h',
     'sysprof-ui.h',
   ]
 
   libsysprof_ui_sources = [
-    'sp-callgraph-view.c',
-    'sp-cell-renderer-percent.c',
-    'sp-color-cycle.c',
-    'sp-color-cycle.h',
-    'sp-cpu-visualizer-row.c',
-    'sp-empty-state-view.c',
-    'sp-failed-state-view.c',
-    'sp-line-visualizer-row.c',
-    'sp-model-filter.c',
-    'sp-multi-paned.c',
-    'sp-process-model.c',
-    'sp-process-model-item.c',
-    'sp-process-model-row.c',
-    'sp-profiler-menu-button.c',
-    'sp-recording-state-view.c',
-    'sp-theme-manager.c',
-    'sp-theme-manager.h',
-    'sp-visualizer-list.c',
-    'sp-visualizer-list.h',
-    'sp-visualizer-row.c',
-    'sp-visualizer-row-private.h',
-    'sp-visualizer-ticks.c',
-    'sp-visualizer-ticks.h',
-    'sp-visualizer-view.c',
-    'sp-zoom-manager.c',
+    'callgraph/sp-callgraph-view.c',
+    'util/pointcache.c',
+    'util/pointcache.h',
+    'util/sp-color-cycle.c',
+    'util/sp-color-cycle.h',
+    'util/sp-model-filter.c',
+    'util/sp-process-model-item.c',
+    'util/sp-process-model.c',
+    'util/sp-theme-manager.c',
+    'util/sp-theme-manager.h',
+    'util/sp-zoom-manager.c',
+    'util/stackstash.c',
+    'util/stackstash.h',
+    'visualizers/sp-cpu-visualizer-row.c',
+    'visualizers/sp-line-visualizer-row.c',
+    'visualizers/sp-visualizer-list.c',
+    'visualizers/sp-visualizer-list.h',
+    'visualizers/sp-visualizer-row-private.h',
+    'visualizers/sp-visualizer-row.c',
+    'visualizers/sp-visualizer-ticks.c',
+    'visualizers/sp-visualizer-ticks.h',
+    'visualizers/sp-visualizer-view.c',
+    'widgets/sp-cell-renderer-percent.c',
+    'widgets/sp-empty-state-view.c',
+    'widgets/sp-failed-state-view.c',
+    'widgets/sp-multi-paned.c',
+    'widgets/sp-process-model-row.c',
+    'widgets/sp-profiler-menu-button.c',
+    'widgets/sp-recording-state-view.c',
   ]
 
   libsysprof_ui_resources = gnome.compile_resources(
     'sp-ui-resources', 'resources/libsysprof.gresource.xml',
     source_dir: 'resources',
-    c_name: 'sp',
+        c_name: 'sp',
   )
 
   libsysprof_ui_deps = [
     libsysprof_dep,
-    dependency('gtk+-3.0', version: '>=3.21.5'),
+    dependency('gtk+-3.0', version: '>=3.22.0'),
   ]
 
   libsysprof_ui = shared_library('sysprof-ui-' + libsysprof_api_version,
     libsysprof_ui_resources + libsysprof_ui_sources,
     dependencies: libsysprof_ui_deps,
-    link_args: version_link_arg,
+       link_args: version_link_arg,
     link_depends: 'sysprof.map',
-    install: true,
+         install: true,
   )
 
   install_headers(libsysprof_ui_headers,
@@ -236,8 +207,8 @@ if get_option('enable_gtk')
   )
 
   libsysprof_ui_dep = declare_dependency(
-    dependencies: libsysprof_ui_deps,
-    link_with: libsysprof_ui,
+           dependencies: libsysprof_ui_deps,
+              link_with: libsysprof_ui,
     include_directories: include_directories('.'),
   )
 
diff --git a/lib/sp-local-profiler.c b/lib/profiler/sp-local-profiler.c
similarity index 99%
rename from lib/sp-local-profiler.c
rename to lib/profiler/sp-local-profiler.c
index aa00f3a..a4d9e6c 100644
--- a/lib/sp-local-profiler.c
+++ b/lib/profiler/sp-local-profiler.c
@@ -21,8 +21,8 @@
 #include <errno.h>
 #include <unistd.h>
 
-#include "sp-local-profiler.h"
-#include "sp-platform.h"
+#include "profiler/sp-local-profiler.h"
+#include "util/sp-platform.h"
 
 typedef struct
 {
diff --git a/lib/sp-local-profiler.h b/lib/profiler/sp-local-profiler.h
similarity index 97%
rename from lib/sp-local-profiler.h
rename to lib/profiler/sp-local-profiler.h
index 0beae16..4cff09a 100644
--- a/lib/sp-local-profiler.h
+++ b/lib/profiler/sp-local-profiler.h
@@ -19,7 +19,7 @@
 #ifndef SP_LOCAL_PROFILER_H
 #define SP_LOCAL_PROFILER_H
 
-#include "sp-profiler.h"
+#include "profiler/sp-profiler.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-profile.c b/lib/profiler/sp-profile.c
similarity index 98%
rename from lib/sp-profile.c
rename to lib/profiler/sp-profile.c
index 9a4d701..23a4029 100644
--- a/lib/sp-profile.c
+++ b/lib/profiler/sp-profile.c
@@ -16,7 +16,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "sp-profile.h"
+#include "profiler/sp-profile.h"
 
 G_DEFINE_INTERFACE (SpProfile, sp_profile, G_TYPE_OBJECT)
 
diff --git a/lib/sp-profile.h b/lib/profiler/sp-profile.h
similarity index 98%
rename from lib/sp-profile.h
rename to lib/profiler/sp-profile.h
index 60942de..7e8e2d1 100644
--- a/lib/sp-profile.h
+++ b/lib/profiler/sp-profile.h
@@ -21,7 +21,7 @@
 
 #include <gio/gio.h>
 
-#include "sp-capture-reader.h"
+#include "capture/sp-capture-reader.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-profiler.c b/lib/profiler/sp-profiler.c
similarity index 99%
rename from lib/sp-profiler.c
rename to lib/profiler/sp-profiler.c
index 7482f73..e7fb902 100644
--- a/lib/sp-profiler.c
+++ b/lib/profiler/sp-profiler.c
@@ -16,7 +16,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "sp-profiler.h"
+#include "profiler/sp-profiler.h"
 
 G_DEFINE_INTERFACE (SpProfiler, sp_profiler, G_TYPE_OBJECT)
 
diff --git a/lib/sp-profiler.h b/lib/profiler/sp-profiler.h
similarity index 98%
rename from lib/sp-profiler.h
rename to lib/profiler/sp-profiler.h
index 133b8aa..4711164 100644
--- a/lib/sp-profiler.h
+++ b/lib/profiler/sp-profiler.h
@@ -19,8 +19,8 @@
 #ifndef SP_PROFILER_H
 #define SP_PROFILER_H
 
-#include "sp-capture-writer.h"
-#include "sp-source.h"
+#include "capture/sp-capture-writer.h"
+#include "sources/sp-source.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-gjs-source.c b/lib/sources/sp-gjs-source.c
similarity index 98%
rename from lib/sp-gjs-source.c
rename to lib/sources/sp-gjs-source.c
index ac163ec..b607b93 100644
--- a/lib/sp-gjs-source.c
+++ b/lib/sources/sp-gjs-source.c
@@ -19,8 +19,8 @@
 #include <signal.h>
 #include <string.h>
 
-#include "sp-capture-reader.h"
-#include "sp-gjs-source.h"
+#include "capture/sp-capture-reader.h"
+#include "sources/sp-gjs-source.h"
 
 struct _SpGjsSource
 {
diff --git a/lib/sp-gjs-source.h b/lib/sources/sp-gjs-source.h
similarity index 97%
rename from lib/sp-gjs-source.h
rename to lib/sources/sp-gjs-source.h
index b0d106d..b8247bd 100644
--- a/lib/sp-gjs-source.h
+++ b/lib/sources/sp-gjs-source.h
@@ -19,7 +19,7 @@
 #ifndef SP_GJS_SOURCE_H
 #define SP_GJS_SOURCE_H
 
-#include "sp-source.h"
+#include "sources/sp-source.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-hostinfo-source.c b/lib/sources/sp-hostinfo-source.c
similarity index 99%
rename from lib/sp-hostinfo-source.c
rename to lib/sources/sp-hostinfo-source.c
index 335ab43..aa2d9ba 100644
--- a/lib/sp-hostinfo-source.c
+++ b/lib/sources/sp-hostinfo-source.c
@@ -20,7 +20,7 @@
 #include <stdio.h>
 #include <unistd.h>
 
-#include "sp-hostinfo-source.h"
+#include "sources/sp-hostinfo-source.h"
 
 struct _SpHostinfoSource
 {
diff --git a/lib/sp-hostinfo-source.h b/lib/sources/sp-hostinfo-source.h
similarity index 97%
rename from lib/sp-hostinfo-source.h
rename to lib/sources/sp-hostinfo-source.h
index 873dd11..df78342 100644
--- a/lib/sp-hostinfo-source.h
+++ b/lib/sources/sp-hostinfo-source.h
@@ -19,7 +19,7 @@
 #ifndef SP_HOSTINFO_SOURCE_H
 #define SP_HOSTINFO_SOURCE_H
 
-#include "sp-source.h"
+#include "sources/sp-source.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-perf-counter.c b/lib/sources/sp-perf-counter.c
similarity index 99%
rename from lib/sp-perf-counter.c
rename to lib/sources/sp-perf-counter.c
index df8626d..55a748d 100644
--- a/lib/sp-perf-counter.c
+++ b/lib/sources/sp-perf-counter.c
@@ -53,7 +53,7 @@
 # include <polkit/polkit.h>
 #endif
 
-#include "sp-perf-counter.h"
+#include "sources/sp-perf-counter.h"
 
 /*
  * Number of pages to map for the ring buffer.  We map one additional buffer
diff --git a/lib/sp-perf-counter.h b/lib/sources/sp-perf-counter.h
similarity index 100%
rename from lib/sp-perf-counter.h
rename to lib/sources/sp-perf-counter.h
diff --git a/lib/sp-perf-source.c b/lib/sources/sp-perf-source.c
similarity index 99%
rename from lib/sp-perf-source.c
rename to lib/sources/sp-perf-source.c
index 70e0bb0..dd4d7d1 100644
--- a/lib/sp-perf-source.c
+++ b/lib/sources/sp-perf-source.c
@@ -47,9 +47,9 @@
 #include <unistd.h>
 
 #include "sp-clock.h"
-#include "sp-line-reader.h"
-#include "sp-perf-counter.h"
-#include "sp-perf-source.h"
+#include "util/sp-line-reader.h"
+#include "sources/sp-perf-counter.h"
+#include "sources/sp-perf-source.h"
 
 #define N_WAKEUP_EVENTS 149
 
diff --git a/lib/sp-perf-source.h b/lib/sources/sp-perf-source.h
similarity index 97%
rename from lib/sp-perf-source.h
rename to lib/sources/sp-perf-source.h
index 864467b..948c2c9 100644
--- a/lib/sp-perf-source.h
+++ b/lib/sources/sp-perf-source.h
@@ -19,7 +19,7 @@
 #ifndef SP_PERF_SOURCE_H
 #define SP_PERF_SOURCE_H
 
-#include "sp-source.h"
+#include "sources/sp-source.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-proc-source.c b/lib/sources/sp-proc-source.c
similarity index 99%
rename from lib/sp-proc-source.c
rename to lib/sources/sp-proc-source.c
index a3e5024..d48c424 100644
--- a/lib/sp-proc-source.c
+++ b/lib/sources/sp-proc-source.c
@@ -39,7 +39,7 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include "sp-proc-source.h"
+#include "sources/sp-proc-source.h"
 
 struct _SpProcSource
 {
diff --git a/lib/sp-proc-source.h b/lib/sources/sp-proc-source.h
similarity index 97%
rename from lib/sp-proc-source.h
rename to lib/sources/sp-proc-source.h
index b0883ed..8506d0f 100644
--- a/lib/sp-proc-source.h
+++ b/lib/sources/sp-proc-source.h
@@ -19,7 +19,7 @@
 #ifndef SP_PROC_SOURCE_H
 #define SP_PROC_SOURCE_H
 
-#include "sp-source.h"
+#include "sources/sp-source.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-source.c b/lib/sources/sp-source.c
similarity index 99%
rename from lib/sp-source.c
rename to lib/sources/sp-source.c
index 6a3225c..dda0e3a 100644
--- a/lib/sp-source.c
+++ b/lib/sources/sp-source.c
@@ -16,7 +16,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "sp-source.h"
+#include "sources/sp-source.h"
 
 G_DEFINE_INTERFACE (SpSource, sp_source, G_TYPE_OBJECT)
 
diff --git a/lib/sp-source.h b/lib/sources/sp-source.h
similarity index 99%
rename from lib/sp-source.h
rename to lib/sources/sp-source.h
index 2a337a5..625e863 100644
--- a/lib/sp-source.h
+++ b/lib/sources/sp-source.h
@@ -21,7 +21,7 @@
 
 #include <glib-object.h>
 
-#include "sp-capture-writer.h"
+#include "capture/sp-capture-writer.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-elf-symbol-resolver.c b/lib/symbols/sp-elf-symbol-resolver.c
similarity index 98%
rename from lib/sp-elf-symbol-resolver.c
rename to lib/symbols/sp-elf-symbol-resolver.c
index 115ece1..7896a50 100644
--- a/lib/sp-elf-symbol-resolver.c
+++ b/lib/symbols/sp-elf-symbol-resolver.c
@@ -18,11 +18,10 @@
 
 #include <string.h>
 
-#include "binfile.h"
-#include "elfparser.h"
-
-#include "sp-map-lookaside.h"
-#include "sp-elf-symbol-resolver.h"
+#include "symbols/sp-elf-symbol-resolver.h"
+#include "util/binfile.h"
+#include "util/elfparser.h"
+#include "util/sp-map-lookaside.h"
 
 struct _SpElfSymbolResolver
 {
diff --git a/lib/sp-elf-symbol-resolver.h b/lib/symbols/sp-elf-symbol-resolver.h
similarity index 96%
rename from lib/sp-elf-symbol-resolver.h
rename to lib/symbols/sp-elf-symbol-resolver.h
index 3b359af..0982f5b 100644
--- a/lib/sp-elf-symbol-resolver.h
+++ b/lib/symbols/sp-elf-symbol-resolver.h
@@ -19,7 +19,7 @@
 #ifndef SP_ELF_SYMBOL_RESOLVER_H
 #define SP_ELF_SYMBOL_RESOLVER_H
 
-#include "sp-symbol-resolver.h"
+#include "symbols/sp-symbol-resolver.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-jitmap-symbol-resolver.c b/lib/symbols/sp-jitmap-symbol-resolver.c
similarity index 97%
rename from lib/sp-jitmap-symbol-resolver.c
rename to lib/symbols/sp-jitmap-symbol-resolver.c
index f2b80a7..84329a2 100644
--- a/lib/sp-jitmap-symbol-resolver.c
+++ b/lib/symbols/sp-jitmap-symbol-resolver.c
@@ -16,8 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "sp-kernel-symbol.h"
-#include "sp-jitmap-symbol-resolver.h"
+#include "symbols/sp-kernel-symbol.h"
+#include "symbols/sp-jitmap-symbol-resolver.h"
 
 struct _SpJitmapSymbolResolver
 {
diff --git a/lib/sp-jitmap-symbol-resolver.h b/lib/symbols/sp-jitmap-symbol-resolver.h
similarity index 96%
rename from lib/sp-jitmap-symbol-resolver.h
rename to lib/symbols/sp-jitmap-symbol-resolver.h
index 1d07fc7..2a9777e 100644
--- a/lib/sp-jitmap-symbol-resolver.h
+++ b/lib/symbols/sp-jitmap-symbol-resolver.h
@@ -19,7 +19,7 @@
 #ifndef SP_JITMAP_SYMBOL_RESOLVER_H
 #define SP_JITMAP_SYMBOL_RESOLVER_H
 
-#include "sp-symbol-resolver.h"
+#include "symbols/sp-symbol-resolver.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-kernel-symbol-resolver.c b/lib/symbols/sp-kernel-symbol-resolver.c
similarity index 96%
rename from lib/sp-kernel-symbol-resolver.c
rename to lib/symbols/sp-kernel-symbol-resolver.c
index ed7cc9f..cfea051 100644
--- a/lib/sp-kernel-symbol-resolver.c
+++ b/lib/symbols/sp-kernel-symbol-resolver.c
@@ -16,8 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "sp-kernel-symbol.h"
-#include "sp-kernel-symbol-resolver.h"
+#include "symbols/sp-kernel-symbol.h"
+#include "symbols/sp-kernel-symbol-resolver.h"
 
 struct _SpKernelSymbolResolver
 {
diff --git a/lib/sp-kernel-symbol-resolver.h b/lib/symbols/sp-kernel-symbol-resolver.h
similarity index 96%
rename from lib/sp-kernel-symbol-resolver.h
rename to lib/symbols/sp-kernel-symbol-resolver.h
index d2bf3b7..dc3d326 100644
--- a/lib/sp-kernel-symbol-resolver.h
+++ b/lib/symbols/sp-kernel-symbol-resolver.h
@@ -19,7 +19,7 @@
 #ifndef SP_KERNEL_SYMBOL_RESOLVER_H
 #define SP_KERNEL_SYMBOL_RESOLVER_H
 
-#include "sp-symbol-resolver.h"
+#include "symbols/sp-symbol-resolver.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-kernel-symbol.c b/lib/symbols/sp-kernel-symbol.c
similarity index 98%
rename from lib/sp-kernel-symbol.c
rename to lib/symbols/sp-kernel-symbol.c
index 3a3d9c9..0c89346 100644
--- a/lib/sp-kernel-symbol.c
+++ b/lib/symbols/sp-kernel-symbol.c
@@ -16,8 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "sp-line-reader.h"
-#include "sp-kernel-symbol.h"
+#include "util/sp-line-reader.h"
+#include "symbols/sp-kernel-symbol.h"
 
 static GArray *kernel_symbols;
 static const gchar *kernel_symbols_skip[] = {
diff --git a/lib/sp-kernel-symbol.h b/lib/symbols/sp-kernel-symbol.h
similarity index 96%
rename from lib/sp-kernel-symbol.h
rename to lib/symbols/sp-kernel-symbol.h
index e5e4216..4ba4953 100644
--- a/lib/sp-kernel-symbol.h
+++ b/lib/symbols/sp-kernel-symbol.h
@@ -19,7 +19,7 @@
 #ifndef SP_KERNEL_SYMBOL_H
 #define SP_KERNEL_SYMBOL_H
 
-#include "sp-capture-types.h"
+#include "capture/sp-capture-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-symbol-dirs.c b/lib/symbols/sp-symbol-dirs.c
similarity index 98%
rename from lib/sp-symbol-dirs.c
rename to lib/symbols/sp-symbol-dirs.c
index 51190db..455fee8 100644
--- a/lib/sp-symbol-dirs.c
+++ b/lib/symbols/sp-symbol-dirs.c
@@ -18,7 +18,7 @@
 
 #include "config.h"
 
-#include "sp-symbol-dirs.h"
+#include "symbols/sp-symbol-dirs.h"
 
 static GPtrArray *sp_symbol_dirs;
 
diff --git a/lib/sp-symbol-dirs.h b/lib/symbols/sp-symbol-dirs.h
similarity index 100%
rename from lib/sp-symbol-dirs.h
rename to lib/symbols/sp-symbol-dirs.h
diff --git a/lib/sp-symbol-resolver.c b/lib/symbols/sp-symbol-resolver.c
similarity index 98%
rename from lib/sp-symbol-resolver.c
rename to lib/symbols/sp-symbol-resolver.c
index 7e20c1a..3dc9605 100644
--- a/lib/sp-symbol-resolver.c
+++ b/lib/symbols/sp-symbol-resolver.c
@@ -16,7 +16,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "sp-symbol-resolver.h"
+#include "symbols/sp-symbol-resolver.h"
 
 G_DEFINE_INTERFACE (SpSymbolResolver, sp_symbol_resolver, G_TYPE_OBJECT)
 
diff --git a/lib/sp-symbol-resolver.h b/lib/symbols/sp-symbol-resolver.h
similarity index 97%
rename from lib/sp-symbol-resolver.h
rename to lib/symbols/sp-symbol-resolver.h
index 3a82205..4ee5ae1 100644
--- a/lib/sp-symbol-resolver.h
+++ b/lib/symbols/sp-symbol-resolver.h
@@ -21,7 +21,7 @@
 
 #include <glib-object.h>
 
-#include "sp-capture-reader.h"
+#include "capture/sp-capture-reader.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sysprof-ui.h b/lib/sysprof-ui.h
index e2572a2..8bb4c85 100644
--- a/lib/sysprof-ui.h
+++ b/lib/sysprof-ui.h
@@ -24,22 +24,22 @@
 G_BEGIN_DECLS
 
 #define SYSPROF_INSIDE
-# include "sp-callgraph-view.h"
-# include "sp-cell-renderer-percent.h"
-# include "sp-cpu-visualizer-row.h"
-# include "sp-failed-state-view.h"
-# include "sp-line-visualizer-row.h"
-# include "sp-empty-state-view.h"
-# include "sp-model-filter.h"
-# include "sp-multi-paned.h"
-# include "sp-recording-state-view.h"
-# include "sp-process-model.h"
-# include "sp-process-model-item.h"
-# include "sp-process-model-row.h"
-# include "sp-profiler-menu-button.h"
-# include "sp-visualizer-row.h"
-# include "sp-visualizer-view.h"
-# include "sp-zoom-manager.h"
+# include "callgraph/sp-callgraph-view.h"
+# include "widgets/sp-cell-renderer-percent.h"
+# include "visualizers/sp-cpu-visualizer-row.h"
+# include "widgets/sp-failed-state-view.h"
+# include "visualizers/sp-line-visualizer-row.h"
+# include "widgets/sp-empty-state-view.h"
+# include "util/sp-model-filter.h"
+# include "widgets/sp-multi-paned.h"
+# include "widgets/sp-recording-state-view.h"
+# include "util/sp-process-model.h"
+# include "util/sp-process-model-item.h"
+# include "widgets/sp-process-model-row.h"
+# include "widgets/sp-profiler-menu-button.h"
+# include "visualizers/sp-visualizer-row.h"
+# include "visualizers/sp-visualizer-view.h"
+# include "util/sp-zoom-manager.h"
 #undef SYSPROF_INSIDE
 
 G_END_DECLS
diff --git a/lib/sysprof.h b/lib/sysprof.h
index 4dc1c1a..a5b1be5 100644
--- a/lib/sysprof.h
+++ b/lib/sysprof.h
@@ -24,31 +24,39 @@
 G_BEGIN_DECLS
 
 #define SYSPROF_INSIDE
+
 # include "sp-address.h"
-# include "sp-callgraph-profile.h"
-# include "sp-capture-condition.h"
-# include "sp-capture-cursor.h"
-# include "sp-capture-reader.h"
-# include "sp-capture-writer.h"
 # include "sp-clock.h"
-# include "sp-elf-symbol-resolver.h"
 # include "sp-error.h"
-# include "sp-gjs-source.h"
-# include "sp-hostinfo-source.h"
-# include "sp-jitmap-symbol-resolver.h"
-# include "sp-kernel-symbol-resolver.h"
-# include "sp-kernel-symbol.h"
-# include "sp-local-profiler.h"
-# include "sp-map-lookaside.h"
-# include "sp-perf-source.h"
-# include "sp-proc-source.h"
-# include "sp-profile.h"
-# include "sp-profiler.h"
-# include "sp-selection.h"
-# include "sp-source.h"
-# include "sp-symbol-dirs.h"
-# include "sp-symbol-resolver.h"
 # include "sysprof-version.h"
+
+# include "callgraph/sp-callgraph-profile.h"
+
+# include "capture/sp-capture-condition.h"
+# include "capture/sp-capture-cursor.h"
+# include "capture/sp-capture-reader.h"
+# include "capture/sp-capture-writer.h"
+
+# include "profiler/sp-local-profiler.h"
+# include "profiler/sp-profile.h"
+# include "profiler/sp-profiler.h"
+
+# include "sources/sp-gjs-source.h"
+# include "sources/sp-hostinfo-source.h"
+# include "sources/sp-perf-source.h"
+# include "sources/sp-proc-source.h"
+# include "sources/sp-source.h"
+
+# include "symbols/sp-elf-symbol-resolver.h"
+# include "symbols/sp-jitmap-symbol-resolver.h"
+# include "symbols/sp-kernel-symbol-resolver.h"
+# include "symbols/sp-kernel-symbol.h"
+# include "symbols/sp-symbol-dirs.h"
+# include "symbols/sp-symbol-resolver.h"
+
+# include "util/sp-map-lookaside.h"
+# include "util/sp-selection.h"
+
 #undef SYSPROF_INSIDE
 
 G_END_DECLS
diff --git a/lib/util/binfile.c b/lib/util/binfile.c
index 1b02978..133bc9f 100644
--- a/lib/util/binfile.c
+++ b/lib/util/binfile.c
@@ -35,10 +35,10 @@
 #include <sys/stat.h>
 #include <stdint.h>
 
-#include "binfile.h"
-#include "elfparser.h"
+#include "util/binfile.h"
+#include "util/elfparser.h"
 
-#include "../sp-symbol-dirs.h"
+#include "symbols/sp-symbol-dirs.h"
 
 struct bin_file_t
 {
diff --git a/lib/util/elfparser.c b/lib/util/elfparser.c
index 881bcc2..58b9c08 100644
--- a/lib/util/elfparser.c
+++ b/lib/util/elfparser.c
@@ -20,8 +20,8 @@
 #include <elf.h>
 #include <sys/mman.h>
 
-#include "demangle.h"
-#include "elfparser.h"
+#include "util/demangle.h"
+#include "util/elfparser.h"
 
 typedef struct Section Section;
 
diff --git a/lib/util/pointcache.c b/lib/util/pointcache.c
index 4d32914..6530e46 100644
--- a/lib/util/pointcache.c
+++ b/lib/util/pointcache.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "pointcache"
 
-#include "pointcache.h"
+#include "util/pointcache.h"
 
 struct _PointCache
 {
diff --git a/lib/sp-color-cycle.c b/lib/util/sp-color-cycle.c
similarity index 98%
rename from lib/sp-color-cycle.c
rename to lib/util/sp-color-cycle.c
index cbfec0a..f827510 100644
--- a/lib/sp-color-cycle.c
+++ b/lib/util/sp-color-cycle.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "sp-color-cycle"
 
-#include "sp-color-cycle.h"
+#include "util/sp-color-cycle.h"
 
 G_DEFINE_BOXED_TYPE (SpColorCycle, sp_color_cycle, sp_color_cycle_ref, sp_color_cycle_unref)
 
diff --git a/lib/sp-color-cycle.h b/lib/util/sp-color-cycle.h
similarity index 100%
rename from lib/sp-color-cycle.h
rename to lib/util/sp-color-cycle.h
diff --git a/lib/sp-line-reader.c b/lib/util/sp-line-reader.c
similarity index 99%
rename from lib/sp-line-reader.c
rename to lib/util/sp-line-reader.c
index 35c8814..ba4fed2 100644
--- a/lib/sp-line-reader.c
+++ b/lib/util/sp-line-reader.c
@@ -18,7 +18,7 @@
 
 #include <string.h>
 
-#include "sp-line-reader.h"
+#include "util/sp-line-reader.h"
 
 struct _SpLineReader
 {
diff --git a/lib/sp-line-reader.h b/lib/util/sp-line-reader.h
similarity index 100%
rename from lib/sp-line-reader.h
rename to lib/util/sp-line-reader.h
diff --git a/lib/sp-map-lookaside.c b/lib/util/sp-map-lookaside.c
similarity index 98%
rename from lib/sp-map-lookaside.c
rename to lib/util/sp-map-lookaside.c
index ba590f4..319f3c7 100644
--- a/lib/sp-map-lookaside.c
+++ b/lib/util/sp-map-lookaside.c
@@ -16,7 +16,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "sp-map-lookaside.h"
+#include "util/sp-map-lookaside.h"
 
 struct _SpMapLookaside
 {
diff --git a/lib/sp-map-lookaside.h b/lib/util/sp-map-lookaside.h
similarity index 97%
rename from lib/sp-map-lookaside.h
rename to lib/util/sp-map-lookaside.h
index c106158..0b2d8b3 100644
--- a/lib/sp-map-lookaside.h
+++ b/lib/util/sp-map-lookaside.h
@@ -21,7 +21,7 @@
 
 #include <glib.h>
 
-#include "sp-capture-types.h"
+#include "capture/sp-capture-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-model-filter.c b/lib/util/sp-model-filter.c
similarity index 99%
rename from lib/sp-model-filter.c
rename to lib/util/sp-model-filter.c
index 9b83c15..5bdd1f7 100644
--- a/lib/sp-model-filter.c
+++ b/lib/util/sp-model-filter.c
@@ -16,7 +16,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "sp-model-filter.h"
+#include "util/sp-model-filter.h"
 
 /*
  * This is a simple model filter for GListModel.
diff --git a/lib/sp-model-filter.h b/lib/util/sp-model-filter.h
similarity index 100%
rename from lib/sp-model-filter.h
rename to lib/util/sp-model-filter.h
diff --git a/lib/sp-platform.c b/lib/util/sp-platform.c
similarity index 98%
rename from lib/sp-platform.c
rename to lib/util/sp-platform.c
index ebeb5d1..b952801 100644
--- a/lib/sp-platform.c
+++ b/lib/util/sp-platform.c
@@ -21,7 +21,7 @@
 #include <sys/syscall.h>
 #include <unistd.h>
 
-#include "sp-platform.h"
+#include "util/sp-platform.h"
 
 /**
  * sp_memfd_create:
diff --git a/lib/sp-platform.h b/lib/util/sp-platform.h
similarity index 100%
rename from lib/sp-platform.h
rename to lib/util/sp-platform.h
diff --git a/lib/sp-process-model-item.c b/lib/util/sp-process-model-item.c
similarity index 98%
rename from lib/sp-process-model-item.c
rename to lib/util/sp-process-model-item.c
index 62e91d4..a4b998a 100644
--- a/lib/sp-process-model-item.c
+++ b/lib/util/sp-process-model-item.c
@@ -18,8 +18,8 @@
 
 #include <string.h>
 
-#include "sp-process-model-item.h"
-#include "sp-proc-source.h"
+#include "util/sp-process-model-item.h"
+#include "sources/sp-proc-source.h"
 
 struct _SpProcessModelItem
 {
diff --git a/lib/sp-process-model-item.h b/lib/util/sp-process-model-item.h
similarity index 100%
rename from lib/sp-process-model-item.h
rename to lib/util/sp-process-model-item.h
diff --git a/lib/sp-process-model.c b/lib/util/sp-process-model.c
similarity index 99%
rename from lib/sp-process-model.c
rename to lib/util/sp-process-model.c
index eba686e..e83b132 100644
--- a/lib/sp-process-model.c
+++ b/lib/util/sp-process-model.c
@@ -18,8 +18,8 @@
 
 #include <stdlib.h>
 
-#include "sp-process-model.h"
-#include "sp-process-model-item.h"
+#include "util/sp-process-model.h"
+#include "util/sp-process-model-item.h"
 
 #define QUEUE_RELOAD_TIMEOUT_MSEC 100
 
diff --git a/lib/sp-process-model.h b/lib/util/sp-process-model.h
similarity index 100%
rename from lib/sp-process-model.h
rename to lib/util/sp-process-model.h
diff --git a/lib/sp-selection.c b/lib/util/sp-selection.c
similarity index 99%
rename from lib/sp-selection.c
rename to lib/util/sp-selection.c
index 56422bf..52ced15 100644
--- a/lib/sp-selection.c
+++ b/lib/util/sp-selection.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "sp-selection"
 
-#include "sp-selection.h"
+#include "util/sp-selection.h"
 
 struct _SpSelection
 {
diff --git a/lib/sp-selection.h b/lib/util/sp-selection.h
similarity index 100%
rename from lib/sp-selection.h
rename to lib/util/sp-selection.h
diff --git a/lib/sp-theme-manager.c b/lib/util/sp-theme-manager.c
similarity index 99%
rename from lib/sp-theme-manager.c
rename to lib/util/sp-theme-manager.c
index 5cf2108..f6320ec 100644
--- a/lib/sp-theme-manager.c
+++ b/lib/util/sp-theme-manager.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "sp-theme-manager"
 
-#include "sp-theme-manager.h"
+#include "util/sp-theme-manager.h"
 
 struct _SpThemeManager
 {
diff --git a/lib/sp-theme-manager.h b/lib/util/sp-theme-manager.h
similarity index 100%
rename from lib/sp-theme-manager.h
rename to lib/util/sp-theme-manager.h
diff --git a/lib/sp-zoom-manager.c b/lib/util/sp-zoom-manager.c
similarity index 99%
rename from lib/sp-zoom-manager.c
rename to lib/util/sp-zoom-manager.c
index 9baab00..39f2b63 100644
--- a/lib/sp-zoom-manager.c
+++ b/lib/util/sp-zoom-manager.c
@@ -21,7 +21,7 @@
 #include <glib/gi18n.h>
 #include <gio/gio.h>
 
-#include "sp-zoom-manager.h"
+#include "util/sp-zoom-manager.h"
 
 struct _SpZoomManager
 {
diff --git a/lib/sp-zoom-manager.h b/lib/util/sp-zoom-manager.h
similarity index 100%
rename from lib/sp-zoom-manager.h
rename to lib/util/sp-zoom-manager.h
diff --git a/lib/util/stackstash.c b/lib/util/stackstash.c
index 9b33359..3e338f4 100644
--- a/lib/util/stackstash.c
+++ b/lib/util/stackstash.c
@@ -17,7 +17,7 @@
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  */
 
-#include "stackstash.h"
+#include "util/stackstash.h"
 
 struct StackStash
 {
diff --git a/lib/sp-cpu-visualizer-row.c b/lib/visualizers/sp-cpu-visualizer-row.c
similarity index 97%
rename from lib/sp-cpu-visualizer-row.c
rename to lib/visualizers/sp-cpu-visualizer-row.c
index 6fe5e77..399fd25 100644
--- a/lib/sp-cpu-visualizer-row.c
+++ b/lib/visualizers/sp-cpu-visualizer-row.c
@@ -18,10 +18,10 @@
 
 #define G_LOG_DOMAIN "sp-cpu-visualizer-row"
 
-#include "sp-capture-condition.h"
-#include "sp-capture-cursor.h"
-#include "sp-color-cycle.h"
-#include "sp-cpu-visualizer-row.h"
+#include "capture/sp-capture-condition.h"
+#include "capture/sp-capture-cursor.h"
+#include "util/sp-color-cycle.h"
+#include "visualizers/sp-cpu-visualizer-row.h"
 
 struct _SpCpuVisualizerRow
 {
diff --git a/lib/sp-cpu-visualizer-row.h b/lib/visualizers/sp-cpu-visualizer-row.h
similarity index 95%
rename from lib/sp-cpu-visualizer-row.h
rename to lib/visualizers/sp-cpu-visualizer-row.h
index 7683caa..99b0485 100644
--- a/lib/sp-cpu-visualizer-row.h
+++ b/lib/visualizers/sp-cpu-visualizer-row.h
@@ -19,7 +19,7 @@
 #ifndef SP_CPU_VISUALIZER_ROW_H
 #define SP_CPU_VISUALIZER_ROW_H
 
-#include "sp-line-visualizer-row.h"
+#include "visualizers/sp-line-visualizer-row.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-line-visualizer-row.c b/lib/visualizers/sp-line-visualizer-row.c
similarity index 99%
rename from lib/sp-line-visualizer-row.c
rename to lib/visualizers/sp-line-visualizer-row.c
index b8e205b..b0d7658 100644
--- a/lib/sp-line-visualizer-row.c
+++ b/lib/visualizers/sp-line-visualizer-row.c
@@ -21,10 +21,10 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include "pointcache.h"
-#include "sp-capture-condition.h"
-#include "sp-capture-cursor.h"
-#include "sp-line-visualizer-row.h"
+#include "util/pointcache.h"
+#include "capture/sp-capture-condition.h"
+#include "capture/sp-capture-cursor.h"
+#include "visualizers/sp-line-visualizer-row.h"
 
 typedef struct
 {
diff --git a/lib/sp-line-visualizer-row.h b/lib/visualizers/sp-line-visualizer-row.h
similarity index 97%
rename from lib/sp-line-visualizer-row.h
rename to lib/visualizers/sp-line-visualizer-row.h
index fee9348..b4125f1 100644
--- a/lib/sp-line-visualizer-row.h
+++ b/lib/visualizers/sp-line-visualizer-row.h
@@ -19,7 +19,7 @@
 #ifndef SP_LINE_VISUALIZER_ROW_H
 #define SP_LINE_VISUALIZER_ROW_H
 
-#include "sp-visualizer-row.h"
+#include "visualizers/sp-visualizer-row.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-visualizer-list.c b/lib/visualizers/sp-visualizer-list.c
similarity index 98%
rename from lib/sp-visualizer-list.c
rename to lib/visualizers/sp-visualizer-list.c
index bb64fa1..1b2b6dc 100644
--- a/lib/sp-visualizer-list.c
+++ b/lib/visualizers/sp-visualizer-list.c
@@ -20,9 +20,9 @@
 
 #include <glib/gi18n.h>
 
-#include "sp-visualizer-list.h"
-#include "sp-visualizer-row.h"
-#include "sp-zoom-manager.h"
+#include "visualizers/sp-visualizer-list.h"
+#include "visualizers/sp-visualizer-row.h"
+#include "util/sp-zoom-manager.h"
 
 #define NSEC_PER_SEC              G_GUINT64_CONSTANT(1000000000)
 #define DEFAULT_PIXELS_PER_SECOND 20
diff --git a/lib/sp-visualizer-list.h b/lib/visualizers/sp-visualizer-list.h
similarity index 96%
rename from lib/sp-visualizer-list.h
rename to lib/visualizers/sp-visualizer-list.h
index 70ec415..0d2c41e 100644
--- a/lib/sp-visualizer-list.h
+++ b/lib/visualizers/sp-visualizer-list.h
@@ -21,8 +21,8 @@
 
 #include <gtk/gtk.h>
 
-#include "sp-capture-reader.h"
-#include "sp-zoom-manager.h"
+#include "capture/sp-capture-reader.h"
+#include "util/sp-zoom-manager.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-visualizer-row-private.h b/lib/visualizers/sp-visualizer-row-private.h
similarity index 95%
rename from lib/sp-visualizer-row-private.h
rename to lib/visualizers/sp-visualizer-row-private.h
index a2bed7b..53cdc45 100644
--- a/lib/sp-visualizer-row-private.h
+++ b/lib/visualizers/sp-visualizer-row-private.h
@@ -19,7 +19,7 @@
 #ifndef SP_VISUALIZER_ROW_PRIVATE_H
 #define SP_VISUALIZER_ROW_PRIVATE_H
 
-#include "sp-visualizer-row.h"
+#include "visualizers/sp-visualizer-row.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-visualizer-row.c b/lib/visualizers/sp-visualizer-row.c
similarity index 99%
rename from lib/sp-visualizer-row.c
rename to lib/visualizers/sp-visualizer-row.c
index 3272ccb..2da445d 100644
--- a/lib/sp-visualizer-row.c
+++ b/lib/visualizers/sp-visualizer-row.c
@@ -18,8 +18,8 @@
 
 #define G_LOG_DOMAIN "sp-visualizer-row"
 
-#include "sp-visualizer-row.h"
-#include "sp-visualizer-row-private.h"
+#include "visualizers/sp-visualizer-row.h"
+#include "visualizers/sp-visualizer-row-private.h"
 
 #define NSEC_PER_SEC              G_GINT64_CONSTANT(1000000000)
 #define DEFAULT_PIXELS_PER_SECOND 20
diff --git a/lib/sp-visualizer-row.h b/lib/visualizers/sp-visualizer-row.h
similarity index 97%
rename from lib/sp-visualizer-row.h
rename to lib/visualizers/sp-visualizer-row.h
index aa67847..68a30e1 100644
--- a/lib/sp-visualizer-row.h
+++ b/lib/visualizers/sp-visualizer-row.h
@@ -21,8 +21,8 @@
 
 #include <gtk/gtk.h>
 
-#include "sp-capture-reader.h"
-#include "sp-zoom-manager.h"
+#include "capture/sp-capture-reader.h"
+#include "util/sp-zoom-manager.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-visualizer-ticks.c b/lib/visualizers/sp-visualizer-ticks.c
similarity index 99%
rename from lib/sp-visualizer-ticks.c
rename to lib/visualizers/sp-visualizer-ticks.c
index 26665ed..5386c59 100644
--- a/lib/sp-visualizer-ticks.c
+++ b/lib/visualizers/sp-visualizer-ticks.c
@@ -18,7 +18,7 @@
 
 #include <glib/gi18n.h>
 
-#include "sp-visualizer-ticks.h"
+#include "visualizers/sp-visualizer-ticks.h"
 
 #define NSEC_PER_SEC G_GINT64_CONSTANT(1000000000)
 #define NSEC_PER_HOUR (NSEC_PER_SEC * 60 * 60)
diff --git a/lib/sp-visualizer-ticks.h b/lib/visualizers/sp-visualizer-ticks.h
similarity index 100%
rename from lib/sp-visualizer-ticks.h
rename to lib/visualizers/sp-visualizer-ticks.h
diff --git a/lib/sp-visualizer-view.c b/lib/visualizers/sp-visualizer-view.c
similarity index 98%
rename from lib/sp-visualizer-view.c
rename to lib/visualizers/sp-visualizer-view.c
index d1e2cfe..db1852c 100644
--- a/lib/sp-visualizer-view.c
+++ b/lib/visualizers/sp-visualizer-view.c
@@ -20,13 +20,13 @@
 
 #include <glib/gi18n.h>
 
-#include "sp-theme-manager.h"
-#include "sp-visualizer-list.h"
-#include "sp-visualizer-row.h"
-#include "sp-visualizer-row-private.h"
-#include "sp-selection.h"
-#include "sp-visualizer-ticks.h"
-#include "sp-visualizer-view.h"
+#include "util/sp-theme-manager.h"
+#include "visualizers/sp-visualizer-list.h"
+#include "visualizers/sp-visualizer-row.h"
+#include "visualizers/sp-visualizer-row-private.h"
+#include "util/sp-selection.h"
+#include "visualizers/sp-visualizer-ticks.h"
+#include "visualizers/sp-visualizer-view.h"
 
 #define NSEC_PER_SEC G_GINT64_CONSTANT(1000000000)
 #define DEFAULT_PIXELS_PER_SECOND 20
diff --git a/lib/sp-visualizer-view.h b/lib/visualizers/sp-visualizer-view.h
similarity index 95%
rename from lib/sp-visualizer-view.h
rename to lib/visualizers/sp-visualizer-view.h
index a809ed4..953558f 100644
--- a/lib/sp-visualizer-view.h
+++ b/lib/visualizers/sp-visualizer-view.h
@@ -21,9 +21,9 @@
 
 #include <gtk/gtk.h>
 
-#include "sp-visualizer-row.h"
-#include "sp-selection.h"
-#include "sp-zoom-manager.h"
+#include "visualizers/sp-visualizer-row.h"
+#include "util/sp-selection.h"
+#include "util/sp-zoom-manager.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-cell-renderer-percent.c b/lib/widgets/sp-cell-renderer-percent.c
similarity index 98%
rename from lib/sp-cell-renderer-percent.c
rename to lib/widgets/sp-cell-renderer-percent.c
index 4f5fe2b..5f9ceec 100644
--- a/lib/sp-cell-renderer-percent.c
+++ b/lib/widgets/sp-cell-renderer-percent.c
@@ -18,7 +18,7 @@
 
 #include <glib/gi18n.h>
 
-#include "sp-cell-renderer-percent.h"
+#include "widgets/sp-cell-renderer-percent.h"
 
 typedef struct
 {
diff --git a/lib/sp-cell-renderer-percent.h b/lib/widgets/sp-cell-renderer-percent.h
similarity index 100%
rename from lib/sp-cell-renderer-percent.h
rename to lib/widgets/sp-cell-renderer-percent.h
diff --git a/lib/sp-empty-state-view.c b/lib/widgets/sp-empty-state-view.c
similarity index 99%
rename from lib/sp-empty-state-view.c
rename to lib/widgets/sp-empty-state-view.c
index 9174b80..e98ebe6 100644
--- a/lib/sp-empty-state-view.c
+++ b/lib/widgets/sp-empty-state-view.c
@@ -20,7 +20,7 @@
 
 #include <string.h>
 
-#include "sp-empty-state-view.h"
+#include "widgets/sp-empty-state-view.h"
 
 typedef struct
 {
diff --git a/lib/sp-empty-state-view.h b/lib/widgets/sp-empty-state-view.h
similarity index 100%
rename from lib/sp-empty-state-view.h
rename to lib/widgets/sp-empty-state-view.h
diff --git a/lib/sp-failed-state-view.c b/lib/widgets/sp-failed-state-view.c
similarity index 96%
rename from lib/sp-failed-state-view.c
rename to lib/widgets/sp-failed-state-view.c
index 17021aa..7e32201 100644
--- a/lib/sp-failed-state-view.c
+++ b/lib/widgets/sp-failed-state-view.c
@@ -16,7 +16,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "sp-failed-state-view.h"
+#include "widgets/sp-failed-state-view.h"
 
 G_DEFINE_TYPE (SpFailedStateView, sp_failed_state_view, GTK_TYPE_BIN)
 
diff --git a/lib/sp-failed-state-view.h b/lib/widgets/sp-failed-state-view.h
similarity index 97%
rename from lib/sp-failed-state-view.h
rename to lib/widgets/sp-failed-state-view.h
index 43a4c98..d977490 100644
--- a/lib/sp-failed-state-view.h
+++ b/lib/widgets/sp-failed-state-view.h
@@ -21,7 +21,7 @@
 
 #include <gtk/gtk.h>
 
-#include "sp-profiler.h"
+#include "profiler/sp-profiler.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-multi-paned.c b/lib/widgets/sp-multi-paned.c
similarity index 99%
rename from lib/sp-multi-paned.c
rename to lib/widgets/sp-multi-paned.c
index 01d5928..7feee18 100644
--- a/lib/sp-multi-paned.c
+++ b/lib/widgets/sp-multi-paned.c
@@ -17,7 +17,7 @@
  * Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
-#include "sp-multi-paned.h"
+#include "widgets/sp-multi-paned.h"
 
 #define HANDLE_WIDTH  10
 #define HANDLE_HEIGHT 10
diff --git a/lib/sp-multi-paned.h b/lib/widgets/sp-multi-paned.h
similarity index 100%
rename from lib/sp-multi-paned.h
rename to lib/widgets/sp-multi-paned.h
diff --git a/lib/sp-process-model-row.c b/lib/widgets/sp-process-model-row.c
similarity index 99%
rename from lib/sp-process-model-row.c
rename to lib/widgets/sp-process-model-row.c
index a5b005f..b5edbb7 100644
--- a/lib/sp-process-model-row.c
+++ b/lib/widgets/sp-process-model-row.c
@@ -16,7 +16,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "sp-process-model-row.h"
+#include "widgets/sp-process-model-row.h"
 
 typedef struct
 {
diff --git a/lib/sp-process-model-row.h b/lib/widgets/sp-process-model-row.h
similarity index 97%
rename from lib/sp-process-model-row.h
rename to lib/widgets/sp-process-model-row.h
index fe290f5..a13faec 100644
--- a/lib/sp-process-model-row.h
+++ b/lib/widgets/sp-process-model-row.h
@@ -21,7 +21,7 @@
 
 #include <gtk/gtk.h>
 
-#include "sp-process-model-item.h"
+#include "util/sp-process-model-item.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-profiler-menu-button.c b/lib/widgets/sp-profiler-menu-button.c
similarity index 99%
rename from lib/sp-profiler-menu-button.c
rename to lib/widgets/sp-profiler-menu-button.c
index 90b3729..942d241 100644
--- a/lib/sp-profiler-menu-button.c
+++ b/lib/widgets/sp-profiler-menu-button.c
@@ -19,11 +19,11 @@
 #include <glib/gi18n.h>
 #include <string.h>
 
-#include "sp-model-filter.h"
-#include "sp-process-model.h"
-#include "sp-process-model-item.h"
-#include "sp-process-model-row.h"
-#include "sp-profiler-menu-button.h"
+#include "util/sp-model-filter.h"
+#include "util/sp-process-model.h"
+#include "util/sp-process-model-item.h"
+#include "widgets/sp-process-model-row.h"
+#include "widgets/sp-profiler-menu-button.h"
 
 typedef struct
 {
diff --git a/lib/sp-profiler-menu-button.h b/lib/widgets/sp-profiler-menu-button.h
similarity index 97%
rename from lib/sp-profiler-menu-button.h
rename to lib/widgets/sp-profiler-menu-button.h
index 64443a5..c7f9611 100644
--- a/lib/sp-profiler-menu-button.h
+++ b/lib/widgets/sp-profiler-menu-button.h
@@ -21,7 +21,7 @@
 
 #include <gtk/gtk.h>
 
-#include "sp-profiler.h"
+#include "profiler/sp-profiler.h"
 
 G_BEGIN_DECLS
 
diff --git a/lib/sp-recording-state-view.c b/lib/widgets/sp-recording-state-view.c
similarity index 99%
rename from lib/sp-recording-state-view.c
rename to lib/widgets/sp-recording-state-view.c
index 6762b5e..9094721 100644
--- a/lib/sp-recording-state-view.c
+++ b/lib/widgets/sp-recording-state-view.c
@@ -16,7 +16,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "sp-recording-state-view.h"
+#include "widgets/sp-recording-state-view.h"
 
 typedef struct
 {
diff --git a/lib/sp-recording-state-view.h b/lib/widgets/sp-recording-state-view.h
similarity index 97%
rename from lib/sp-recording-state-view.h
rename to lib/widgets/sp-recording-state-view.h
index ea7baf0..efa7c68 100644
--- a/lib/sp-recording-state-view.h
+++ b/lib/widgets/sp-recording-state-view.h
@@ -21,7 +21,7 @@
 
 #include <gtk/gtk.h>
 
-#include "sp-profiler.h"
+#include "profiler/sp-profiler.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/sp-window.c b/src/sp-window.c
index 2084426..ee77ff2 100644
--- a/src/sp-window.c
+++ b/src/sp-window.c
@@ -23,11 +23,12 @@
 #include <sysprof-ui.h>
 
 #include "sp-application.h"
-#include "sp-multi-paned.h"
-#include "sp-visualizer-view.h"
 #include "sp-window.h"
 #include "sp-window-settings.h"
 
+#include "widgets/sp-multi-paned.h"
+#include "visualizers/sp-visualizer-view.h"
+
 struct _SpWindow
 {
   GtkApplicationWindow  parent_instance;
diff --git a/tests/test-capture.c b/tests/test-capture.c
index 91c9591..236d875 100644
--- a/tests/test-capture.c
+++ b/tests/test-capture.c
@@ -17,9 +17,7 @@
  */
 
 #include <glib/gstdio.h>
-
-#include "sp-capture-reader.h"
-#include "sp-capture-writer.h"
+#include <sysprof.h>
 
 static void
 test_reader_basic (void)
diff --git a/tests/test-model-filter.c b/tests/test-model-filter.c
index f7f1cf0..d078146 100644
--- a/tests/test-model-filter.c
+++ b/tests/test-model-filter.c
@@ -1,6 +1,6 @@
 #include <sysprof-ui.h>
 
-#include "sp-model-filter.h"
+#include "util/sp-model-filter.h"
 
 #define TEST_TYPE_ITEM (test_item_get_type())
 
diff --git a/tests/test-zoom.c b/tests/test-zoom.c
index 519445d..701648e 100644
--- a/tests/test-zoom.c
+++ b/tests/test-zoom.c
@@ -1,4 +1,4 @@
-#include "sp-zoom-manager.h"
+#include "util/sp-zoom-manager.h"
 
 static void
 test_zoom_manager (void)
diff --git a/tools/sysprof-dump.c b/tools/sysprof-dump.c
index 8c1c674..cf110a2 100644
--- a/tools/sysprof-dump.c
+++ b/tools/sysprof-dump.c
@@ -18,8 +18,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
-
-#include "sp-capture-reader.h"
+#include <sysprof.h>
 
 #define NSEC_PER_SEC G_GINT64_CONSTANT(1000000000)
 


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