summaryrefslogtreecommitdiff
path: root/ext/objspace
diff options
context:
space:
mode:
author卜部昌平 <shyouhei@ruby-lang.org>2019-12-04 17:16:30 +0900
committer卜部昌平 <shyouhei@ruby-lang.org>2019-12-26 20:45:12 +0900
commit5e22f873ed26092522f9bfc617d729bac88b284f (patch)
tree8d66856526cd7efa87b46c966298e6f42d67e68f /ext/objspace
parent33e9601938a79dae149caa88ff1bc06d376dd376 (diff)
decouple internal.h headers
Saves comitters' daily life by avoid #include-ing everything from internal.h to make each file do so instead. This would significantly speed up incremental builds. We take the following inclusion order in this changeset: 1. "ruby/config.h", where _GNU_SOURCE is defined (must be the very first thing among everything). 2. RUBY_EXTCONF_H if any. 3. Standard C headers, sorted alphabetically. 4. Other system headers, maybe guarded by #ifdef 5. Everything else, sorted alphabetically. Exceptions are those win32-related headers, which tend not be self- containing (headers have inclusion order dependencies).
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/2711
Diffstat (limited to 'ext/objspace')
-rw-r--r--ext/objspace/objspace.c12
-rw-r--r--ext/objspace/objspace_dump.c10
2 files changed, 14 insertions, 8 deletions
diff --git a/ext/objspace/objspace.c b/ext/objspace/objspace.c
index 311e687..6d5f6c0 100644
--- a/ext/objspace/objspace.c
+++ b/ext/objspace/objspace.c
@@ -12,12 +12,16 @@
**********************************************************************/
-#include <ruby/io.h>
+#include "gc.h"
#include "internal.h"
-#include <ruby/st.h>
-#include <ruby/re.h>
+#include "internal/class.h"
+#include "internal/compilers.h"
+#include "internal/hash.h"
+#include "internal/imemo.h"
#include "node.h"
-#include "gc.h"
+#include "ruby/io.h"
+#include "ruby/re.h"
+#include "ruby/st.h"
#include "symbol.h"
/*
diff --git a/ext/objspace/objspace_dump.c b/ext/objspace/objspace_dump.c
index 5fa9d98..d753b48 100644
--- a/ext/objspace/objspace_dump.c
+++ b/ext/objspace/objspace_dump.c
@@ -12,13 +12,15 @@
**********************************************************************/
-#include "ruby/io.h"
-#include "internal.h"
-#include "ruby/debug.h"
#include "gc.h"
+#include "internal.h"
+#include "internal/hash.h"
+#include "internal/string.h"
#include "node.h"
-#include "vm_core.h"
#include "objspace.h"
+#include "ruby/debug.h"
+#include "ruby/io.h"
+#include "vm_core.h"
static VALUE sym_output, sym_stdout, sym_string, sym_file;
static VALUE sym_full;