From 5e22f873ed26092522f9bfc617d729bac88b284f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=9C=E9=83=A8=E6=98=8C=E5=B9=B3?= Date: Wed, 4 Dec 2019 17:16:30 +0900 Subject: 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). --- ext/objspace/objspace.c | 12 ++++++++---- ext/objspace/objspace_dump.c | 10 ++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) (limited to 'ext/objspace') diff --git a/ext/objspace/objspace.c b/ext/objspace/objspace.c index 311e687206..6d5f6c073a 100644 --- a/ext/objspace/objspace.c +++ b/ext/objspace/objspace.c @@ -12,12 +12,16 @@ **********************************************************************/ -#include +#include "gc.h" #include "internal.h" -#include -#include +#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 5fa9d98e38..d753b48a80 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; -- cgit v1.2.3