[sysprof/wip/chergert/sysprof-3] libsysprof: add inside guards to prevent stray includes



commit 86a860e485cd2ce358f6f39a4c9795d8f2d4c041
Author: Christian Hergert <chergert redhat com>
Date:   Wed May 8 17:06:56 2019 -0700

    libsysprof: add inside guards to prevent stray includes
    
    This requires that things use #include <sysprof.h> now instead
    of individual includes. A few cases are still allowed in the
    libsysprof-capture library to make copy/paste embedding easier.

 src/libsysprof-ui/sysprof-callgraph-view.h       | 5 +----
 src/libsysprof-ui/sysprof-cpu-visualizer-row.c   | 4 ++--
 src/libsysprof-ui/sysprof-failed-state-view.h    | 4 +---
 src/libsysprof-ui/sysprof-line-visualizer-row.c  | 3 +--
 src/libsysprof-ui/sysprof-process-model-row.c    | 2 ++
 src/libsysprof-ui/sysprof-process-model-row.h    | 4 +---
 src/libsysprof-ui/sysprof-profiler-menu-button.c | 3 +--
 src/libsysprof-ui/sysprof-recording-state-view.h | 4 +---
 src/libsysprof-ui/sysprof-ui.h                   | 2 --
 src/libsysprof-ui/sysprof-visualizer-view.c      | 1 -
 src/libsysprof/sysprof-callgraph-profile.h       | 4 ++++
 src/libsysprof/sysprof-capture-gobject.h         | 4 ++++
 src/libsysprof/sysprof-elf-symbol-resolver.h     | 4 ++++
 src/libsysprof/sysprof-gjs-source.h              | 4 ++++
 src/libsysprof/sysprof-hostinfo-source.h         | 4 ++++
 src/libsysprof/sysprof-jitmap-symbol-resolver.h  | 4 ++++
 src/libsysprof/sysprof-kallsyms.h                | 4 ++++
 src/libsysprof/sysprof-kernel-symbol-resolver.h  | 4 ++++
 src/libsysprof/sysprof-kernel-symbol.h           | 4 ++++
 src/libsysprof/sysprof-local-profiler.h          | 4 ++++
 src/libsysprof/sysprof-map-lookaside.h           | 4 ++++
 src/libsysprof/sysprof-memory-source.h           | 4 ++++
 src/libsysprof/sysprof-perf-counter.h            | 4 ++++
 src/libsysprof/sysprof-perf-source.h             | 4 ++++
 src/libsysprof/sysprof-proc-source.h             | 4 ++++
 src/libsysprof/sysprof-process-model-item.c      | 3 +++
 src/libsysprof/sysprof-process-model-item.h      | 4 ++++
 src/libsysprof/sysprof-process-model.h           | 4 ++++
 src/libsysprof/sysprof-profile.h                 | 4 ++++
 src/libsysprof/sysprof-profiler.h                | 4 ++++
 src/libsysprof/sysprof-selection.h               | 4 ++++
 src/libsysprof/sysprof-source.h                  | 4 ++++
 src/libsysprof/sysprof-symbol-dirs.h             | 4 ++++
 src/libsysprof/sysprof-symbol-resolver.h         | 4 ++++
 src/libsysprof/sysprof.h                         | 2 ++
 35 files changed, 107 insertions(+), 22 deletions(-)
---
diff --git a/src/libsysprof-ui/sysprof-callgraph-view.h b/src/libsysprof-ui/sysprof-callgraph-view.h
index 068af87..d2df247 100644
--- a/src/libsysprof-ui/sysprof-callgraph-view.h
+++ b/src/libsysprof-ui/sysprof-callgraph-view.h
@@ -21,10 +21,7 @@
 #pragma once
 
 #include <gtk/gtk.h>
-
-#include "sysprof-callgraph-profile.h"
-
-#include "sysprof-version-macros.h"
+#include <sysprof.h>
 
 G_BEGIN_DECLS
 
diff --git a/src/libsysprof-ui/sysprof-cpu-visualizer-row.c b/src/libsysprof-ui/sysprof-cpu-visualizer-row.c
index 43f8d80..f93d9d0 100644
--- a/src/libsysprof-ui/sysprof-cpu-visualizer-row.c
+++ b/src/libsysprof-ui/sysprof-cpu-visualizer-row.c
@@ -22,8 +22,8 @@
 
 #include "config.h"
 
-#include "sysprof-capture-condition.h"
-#include "sysprof-capture-cursor.h"
+#include <sysprof.h>
+
 #include "sysprof-color-cycle.h"
 #include "sysprof-cpu-visualizer-row.h"
 
diff --git a/src/libsysprof-ui/sysprof-failed-state-view.h b/src/libsysprof-ui/sysprof-failed-state-view.h
index 252f449..650518e 100644
--- a/src/libsysprof-ui/sysprof-failed-state-view.h
+++ b/src/libsysprof-ui/sysprof-failed-state-view.h
@@ -21,9 +21,7 @@
 #pragma once
 
 #include <gtk/gtk.h>
-
-#include "sysprof-profiler.h"
-#include "sysprof-version-macros.h"
+#include <sysprof.h>
 
 G_BEGIN_DECLS
 
diff --git a/src/libsysprof-ui/sysprof-line-visualizer-row.c b/src/libsysprof-ui/sysprof-line-visualizer-row.c
index 3f82ef0..5fefa98 100644
--- a/src/libsysprof-ui/sysprof-line-visualizer-row.c
+++ b/src/libsysprof-ui/sysprof-line-visualizer-row.c
@@ -24,10 +24,9 @@
 
 #include <stdlib.h>
 #include <string.h>
+#include <sysprof.h>
 
 #include "pointcache.h"
-#include "sysprof-capture-condition.h"
-#include "sysprof-capture-cursor.h"
 #include "sysprof-line-visualizer-row.h"
 
 typedef struct
diff --git a/src/libsysprof-ui/sysprof-process-model-row.c b/src/libsysprof-ui/sysprof-process-model-row.c
index 55b404e..aa046f3 100644
--- a/src/libsysprof-ui/sysprof-process-model-row.c
+++ b/src/libsysprof-ui/sysprof-process-model-row.c
@@ -18,6 +18,8 @@
  * SPDX-License-Identifier: GPL-3.0-or-later
  */
 
+#define G_LOG_DOMAIN "sysprof-process-model-row"
+
 #include "config.h"
 
 #include "sysprof-process-model-row.h"
diff --git a/src/libsysprof-ui/sysprof-process-model-row.h b/src/libsysprof-ui/sysprof-process-model-row.h
index 8f3858a..fd600ce 100644
--- a/src/libsysprof-ui/sysprof-process-model-row.h
+++ b/src/libsysprof-ui/sysprof-process-model-row.h
@@ -21,9 +21,7 @@
 #pragma once
 
 #include <gtk/gtk.h>
-
-#include "sysprof-process-model-item.h"
-#include "sysprof-version-macros.h"
+#include <sysprof.h>
 
 G_BEGIN_DECLS
 
diff --git a/src/libsysprof-ui/sysprof-profiler-menu-button.c 
b/src/libsysprof-ui/sysprof-profiler-menu-button.c
index 38c01c0..395d739 100644
--- a/src/libsysprof-ui/sysprof-profiler-menu-button.c
+++ b/src/libsysprof-ui/sysprof-profiler-menu-button.c
@@ -22,10 +22,9 @@
 
 #include <glib/gi18n.h>
 #include <string.h>
+#include <sysprof.h>
 
 #include "sysprof-model-filter.h"
-#include "sysprof-process-model.h"
-#include "sysprof-process-model-item.h"
 #include "sysprof-process-model-row.h"
 #include "sysprof-profiler-menu-button.h"
 
diff --git a/src/libsysprof-ui/sysprof-recording-state-view.h 
b/src/libsysprof-ui/sysprof-recording-state-view.h
index 30ade80..dc2aa93 100644
--- a/src/libsysprof-ui/sysprof-recording-state-view.h
+++ b/src/libsysprof-ui/sysprof-recording-state-view.h
@@ -21,9 +21,7 @@
 #pragma once
 
 #include <gtk/gtk.h>
-
-#include "sysprof-profiler.h"
-#include "sysprof-version-macros.h"
+#include <sysprof.h>
 
 G_BEGIN_DECLS
 
diff --git a/src/libsysprof-ui/sysprof-ui.h b/src/libsysprof-ui/sysprof-ui.h
index 6e27882..df9c24d 100644
--- a/src/libsysprof-ui/sysprof-ui.h
+++ b/src/libsysprof-ui/sysprof-ui.h
@@ -35,8 +35,6 @@ G_BEGIN_DECLS
 # include "sysprof-model-filter.h"
 # include "sysprof-multi-paned.h"
 # include "sysprof-recording-state-view.h"
-# include "sysprof-process-model.h"
-# include "sysprof-process-model-item.h"
 # include "sysprof-process-model-row.h"
 # include "sysprof-profiler-menu-button.h"
 # include "sysprof-visualizer-row.h"
diff --git a/src/libsysprof-ui/sysprof-visualizer-view.c b/src/libsysprof-ui/sysprof-visualizer-view.c
index 8d8dee1..8b935ee 100644
--- a/src/libsysprof-ui/sysprof-visualizer-view.c
+++ b/src/libsysprof-ui/sysprof-visualizer-view.c
@@ -28,7 +28,6 @@
 #include "sysprof-visualizer-list.h"
 #include "sysprof-visualizer-row.h"
 #include "sysprof-visualizer-row-private.h"
-#include "sysprof-selection.h"
 #include "sysprof-visualizer-ticks.h"
 #include "sysprof-visualizer-view.h"
 
diff --git a/src/libsysprof/sysprof-callgraph-profile.h b/src/libsysprof/sysprof-callgraph-profile.h
index bb1d849..1d8a2a9 100644
--- a/src/libsysprof/sysprof-callgraph-profile.h
+++ b/src/libsysprof/sysprof-callgraph-profile.h
@@ -20,6 +20,10 @@
 
 #pragma once
 
+#if !defined (SYSPROF_INSIDE) && !defined (SYSPROF_COMPILATION)
+# error "Only <sysprof.h> can be included directly."
+#endif
+
 #include "sysprof-version-macros.h"
 
 #include "sysprof-profile.h"
diff --git a/src/libsysprof/sysprof-capture-gobject.h b/src/libsysprof/sysprof-capture-gobject.h
index 30f5994..80a2f4c 100644
--- a/src/libsysprof/sysprof-capture-gobject.h
+++ b/src/libsysprof/sysprof-capture-gobject.h
@@ -20,6 +20,10 @@
 
 #pragma once
 
+#if !defined (SYSPROF_INSIDE) && !defined (SYSPROF_COMPILATION)
+# error "Only <sysprof.h> can be included directly."
+#endif
+
 #include <glib-object.h>
 
 #include "sysprof-version-macros.h"
diff --git a/src/libsysprof/sysprof-elf-symbol-resolver.h b/src/libsysprof/sysprof-elf-symbol-resolver.h
index e2d2eae..3a108f6 100644
--- a/src/libsysprof/sysprof-elf-symbol-resolver.h
+++ b/src/libsysprof/sysprof-elf-symbol-resolver.h
@@ -20,6 +20,10 @@
 
 #pragma once
 
+#if !defined (SYSPROF_INSIDE) && !defined (SYSPROF_COMPILATION)
+# error "Only <sysprof.h> can be included directly."
+#endif
+
 #include "sysprof-version-macros.h"
 
 #include "sysprof-symbol-resolver.h"
diff --git a/src/libsysprof/sysprof-gjs-source.h b/src/libsysprof/sysprof-gjs-source.h
index 1c111b6..1f12a6f 100644
--- a/src/libsysprof/sysprof-gjs-source.h
+++ b/src/libsysprof/sysprof-gjs-source.h
@@ -20,6 +20,10 @@
 
 #pragma once
 
+#if !defined (SYSPROF_INSIDE) && !defined (SYSPROF_COMPILATION)
+# error "Only <sysprof.h> can be included directly."
+#endif
+
 #include "sysprof-source.h"
 
 G_BEGIN_DECLS
diff --git a/src/libsysprof/sysprof-hostinfo-source.h b/src/libsysprof/sysprof-hostinfo-source.h
index 220c4bd..ebfd987 100644
--- a/src/libsysprof/sysprof-hostinfo-source.h
+++ b/src/libsysprof/sysprof-hostinfo-source.h
@@ -20,6 +20,10 @@
 
 #pragma once
 
+#if !defined (SYSPROF_INSIDE) && !defined (SYSPROF_COMPILATION)
+# error "Only <sysprof.h> can be included directly."
+#endif
+
 #include "sysprof-version-macros.h"
 
 #include "sysprof-source.h"
diff --git a/src/libsysprof/sysprof-jitmap-symbol-resolver.h b/src/libsysprof/sysprof-jitmap-symbol-resolver.h
index ad97e0a..355c439 100644
--- a/src/libsysprof/sysprof-jitmap-symbol-resolver.h
+++ b/src/libsysprof/sysprof-jitmap-symbol-resolver.h
@@ -20,6 +20,10 @@
 
 #pragma once
 
+#if !defined (SYSPROF_INSIDE) && !defined (SYSPROF_COMPILATION)
+# error "Only <sysprof.h> can be included directly."
+#endif
+
 #include "sysprof-symbol-resolver.h"
 
 G_BEGIN_DECLS
diff --git a/src/libsysprof/sysprof-kallsyms.h b/src/libsysprof/sysprof-kallsyms.h
index 99d33da..2a7bb5e 100644
--- a/src/libsysprof/sysprof-kallsyms.h
+++ b/src/libsysprof/sysprof-kallsyms.h
@@ -20,6 +20,10 @@
 
 #pragma once
 
+#if !defined (SYSPROF_INSIDE) && !defined (SYSPROF_COMPILATION)
+# error "Only <sysprof.h> can be included directly."
+#endif
+
 #include "sysprof-version-macros.h"
 
 G_BEGIN_DECLS
diff --git a/src/libsysprof/sysprof-kernel-symbol-resolver.h b/src/libsysprof/sysprof-kernel-symbol-resolver.h
index 3761d91..df4fd48 100644
--- a/src/libsysprof/sysprof-kernel-symbol-resolver.h
+++ b/src/libsysprof/sysprof-kernel-symbol-resolver.h
@@ -20,6 +20,10 @@
 
 #pragma once
 
+#if !defined (SYSPROF_INSIDE) && !defined (SYSPROF_COMPILATION)
+# error "Only <sysprof.h> can be included directly."
+#endif
+
 #include "sysprof-symbol-resolver.h"
 
 G_BEGIN_DECLS
diff --git a/src/libsysprof/sysprof-kernel-symbol.h b/src/libsysprof/sysprof-kernel-symbol.h
index 67359a6..6856e90 100644
--- a/src/libsysprof/sysprof-kernel-symbol.h
+++ b/src/libsysprof/sysprof-kernel-symbol.h
@@ -20,6 +20,10 @@
 
 #pragma once
 
+#if !defined (SYSPROF_INSIDE) && !defined (SYSPROF_COMPILATION)
+# error "Only <sysprof.h> can be included directly."
+#endif
+
 #include "sysprof-capture-types.h"
 
 G_BEGIN_DECLS
diff --git a/src/libsysprof/sysprof-local-profiler.h b/src/libsysprof/sysprof-local-profiler.h
index e1f10a2..a778423 100644
--- a/src/libsysprof/sysprof-local-profiler.h
+++ b/src/libsysprof/sysprof-local-profiler.h
@@ -20,6 +20,10 @@
 
 #pragma once
 
+#if !defined (SYSPROF_INSIDE) && !defined (SYSPROF_COMPILATION)
+# error "Only <sysprof.h> can be included directly."
+#endif
+
 #include "sysprof-profiler.h"
 
 #include "sysprof-version-macros.h"
diff --git a/src/libsysprof/sysprof-map-lookaside.h b/src/libsysprof/sysprof-map-lookaside.h
index 9ceaf7e..0e05a56 100644
--- a/src/libsysprof/sysprof-map-lookaside.h
+++ b/src/libsysprof/sysprof-map-lookaside.h
@@ -20,6 +20,10 @@
 
 #pragma once
 
+#if !defined (SYSPROF_INSIDE) && !defined (SYSPROF_COMPILATION)
+# error "Only <sysprof.h> can be included directly."
+#endif
+
 #include <glib.h>
 
 #include "sysprof-capture-types.h"
diff --git a/src/libsysprof/sysprof-memory-source.h b/src/libsysprof/sysprof-memory-source.h
index cd02491..5c33dbc 100644
--- a/src/libsysprof/sysprof-memory-source.h
+++ b/src/libsysprof/sysprof-memory-source.h
@@ -20,6 +20,10 @@
 
 #pragma once
 
+#if !defined (SYSPROF_INSIDE) && !defined (SYSPROF_COMPILATION)
+# error "Only <sysprof.h> can be included directly."
+#endif
+
 #include "sysprof-version-macros.h"
 
 #include "sysprof-source.h"
diff --git a/src/libsysprof/sysprof-perf-counter.h b/src/libsysprof/sysprof-perf-counter.h
index a325f7c..8837649 100644
--- a/src/libsysprof/sysprof-perf-counter.h
+++ b/src/libsysprof/sysprof-perf-counter.h
@@ -20,6 +20,10 @@
 
 #pragma once
 
+#if !defined (SYSPROF_INSIDE) && !defined (SYSPROF_COMPILATION)
+# error "Only <sysprof.h> can be included directly."
+#endif
+
 #include <gio/gio.h>
 #include <linux/perf_event.h>
 
diff --git a/src/libsysprof/sysprof-perf-source.h b/src/libsysprof/sysprof-perf-source.h
index 11af876..a69f631 100644
--- a/src/libsysprof/sysprof-perf-source.h
+++ b/src/libsysprof/sysprof-perf-source.h
@@ -20,6 +20,10 @@
 
 #pragma once
 
+#if !defined (SYSPROF_INSIDE) && !defined (SYSPROF_COMPILATION)
+# error "Only <sysprof.h> can be included directly."
+#endif
+
 #include "sysprof-version-macros.h"
 
 #include "sysprof-source.h"
diff --git a/src/libsysprof/sysprof-proc-source.h b/src/libsysprof/sysprof-proc-source.h
index 6124245..743cf27 100644
--- a/src/libsysprof/sysprof-proc-source.h
+++ b/src/libsysprof/sysprof-proc-source.h
@@ -20,6 +20,10 @@
 
 #pragma once
 
+#if !defined (SYSPROF_INSIDE) && !defined (SYSPROF_COMPILATION)
+# error "Only <sysprof.h> can be included directly."
+#endif
+
 #include "sysprof-version-macros.h"
 
 #include "sysprof-source.h"
diff --git a/src/libsysprof/sysprof-process-model-item.c b/src/libsysprof/sysprof-process-model-item.c
index 3b3c8f2..6575528 100644
--- a/src/libsysprof/sysprof-process-model-item.c
+++ b/src/libsysprof/sysprof-process-model-item.c
@@ -18,11 +18,14 @@
  * SPDX-License-Identifier: GPL-3.0-or-later
  */
 
+#define G_LOG_DOMAIN "sp-process-model-item"
+
 #include "config.h"
 
 #include <string.h>
 
 #include "sysprof-process-model-item.h"
+
 #ifdef __linux__
 # include "sysprof-proc-source.h"
 #endif
diff --git a/src/libsysprof/sysprof-process-model-item.h b/src/libsysprof/sysprof-process-model-item.h
index 71f5121..0e8a096 100644
--- a/src/libsysprof/sysprof-process-model-item.h
+++ b/src/libsysprof/sysprof-process-model-item.h
@@ -20,6 +20,10 @@
 
 #pragma once
 
+#if !defined (SYSPROF_INSIDE) && !defined (SYSPROF_COMPILATION)
+# error "Only <sysprof.h> can be included directly."
+#endif
+
 #include "sysprof-version-macros.h"
 
 #include <gio/gio.h>
diff --git a/src/libsysprof/sysprof-process-model.h b/src/libsysprof/sysprof-process-model.h
index 593748c..040e3a1 100644
--- a/src/libsysprof/sysprof-process-model.h
+++ b/src/libsysprof/sysprof-process-model.h
@@ -20,6 +20,10 @@
 
 #pragma once
 
+#if !defined (SYSPROF_INSIDE) && !defined (SYSPROF_COMPILATION)
+# error "Only <sysprof.h> can be included directly."
+#endif
+
 #include <gio/gio.h>
 
 #include "sysprof-version-macros.h"
diff --git a/src/libsysprof/sysprof-profile.h b/src/libsysprof/sysprof-profile.h
index 4096365..a924d82 100644
--- a/src/libsysprof/sysprof-profile.h
+++ b/src/libsysprof/sysprof-profile.h
@@ -20,6 +20,10 @@
 
 #pragma once
 
+#if !defined (SYSPROF_INSIDE) && !defined (SYSPROF_COMPILATION)
+# error "Only <sysprof.h> can be included directly."
+#endif
+
 #include <gio/gio.h>
 
 #include "sysprof-version-macros.h"
diff --git a/src/libsysprof/sysprof-profiler.h b/src/libsysprof/sysprof-profiler.h
index 7f18734..42193eb 100644
--- a/src/libsysprof/sysprof-profiler.h
+++ b/src/libsysprof/sysprof-profiler.h
@@ -20,6 +20,10 @@
 
 #pragma once
 
+#if !defined (SYSPROF_INSIDE) && !defined (SYSPROF_COMPILATION)
+# error "Only <sysprof.h> can be included directly."
+#endif
+
 #include "sysprof-version-macros.h"
 
 #include "sysprof-capture-writer.h"
diff --git a/src/libsysprof/sysprof-selection.h b/src/libsysprof/sysprof-selection.h
index e4f8c07..e623ff9 100644
--- a/src/libsysprof/sysprof-selection.h
+++ b/src/libsysprof/sysprof-selection.h
@@ -20,6 +20,10 @@
 
 #pragma once
 
+#if !defined (SYSPROF_INSIDE) && !defined (SYSPROF_COMPILATION)
+# error "Only <sysprof.h> can be included directly."
+#endif
+
 #include <glib-object.h>
 
 #include "sysprof-version-macros.h"
diff --git a/src/libsysprof/sysprof-source.h b/src/libsysprof/sysprof-source.h
index c04f850..8218138 100644
--- a/src/libsysprof/sysprof-source.h
+++ b/src/libsysprof/sysprof-source.h
@@ -20,6 +20,10 @@
 
 #pragma once
 
+#if !defined (SYSPROF_INSIDE) && !defined (SYSPROF_COMPILATION)
+# error "Only <sysprof.h> can be included directly."
+#endif
+
 #include <glib-object.h>
 
 #include "sysprof-capture-writer.h"
diff --git a/src/libsysprof/sysprof-symbol-dirs.h b/src/libsysprof/sysprof-symbol-dirs.h
index d721977..0185361 100644
--- a/src/libsysprof/sysprof-symbol-dirs.h
+++ b/src/libsysprof/sysprof-symbol-dirs.h
@@ -20,6 +20,10 @@
 
 #pragma once
 
+#if !defined (SYSPROF_INSIDE) && !defined (SYSPROF_COMPILATION)
+# error "Only <sysprof.h> can be included directly."
+#endif
+
 #include "sysprof-version-macros.h"
 
 #include <glib.h>
diff --git a/src/libsysprof/sysprof-symbol-resolver.h b/src/libsysprof/sysprof-symbol-resolver.h
index 9b9bd0e..d63c836 100644
--- a/src/libsysprof/sysprof-symbol-resolver.h
+++ b/src/libsysprof/sysprof-symbol-resolver.h
@@ -20,6 +20,10 @@
 
 #pragma once
 
+#if !defined (SYSPROF_INSIDE) && !defined (SYSPROF_COMPILATION)
+# error "Only <sysprof.h> can be included directly."
+#endif
+
 #include <glib-object.h>
 
 #include "sysprof-address.h"
diff --git a/src/libsysprof/sysprof.h b/src/libsysprof/sysprof.h
index 7245d67..b0ca8fd 100644
--- a/src/libsysprof/sysprof.h
+++ b/src/libsysprof/sysprof.h
@@ -31,6 +31,8 @@ G_BEGIN_DECLS
 # include "sysprof-profile.h"
 # include "sysprof-profiler.h"
 # include "sysprof-map-lookaside.h"
+# include "sysprof-process-model.h"
+# include "sysprof-process-model-item.h"
 # include "sysprof-source.h"
 # include "sysprof-elf-symbol-resolver.h"
 # include "sysprof-jitmap-symbol-resolver.h"


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