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). --- template/prelude.c.tmpl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'template') diff --git a/template/prelude.c.tmpl b/template/prelude.c.tmpl index b582e2ddd6..a8b53d05c9 100644 --- a/template/prelude.c.tmpl +++ b/template/prelude.c.tmpl @@ -87,10 +87,11 @@ Prelude.new(output, ARGV, vpath).instance_eval do sources: <%= @preludes.map {|n,*| prelude_base(n)}.join(', ') %><%=%> */ %unless @preludes.empty? -#include "ruby/ruby.h" #include "internal.h" -#include "vm_core.h" +#include "internal/warnings.h" #include "iseq.h" +#include "ruby/ruby.h" +#include "vm_core.h" % preludes = @preludes.values.sort % preludes.each {|i, prelude, lines, sub| -- cgit v1.2.3