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). --- ruby.c | 55 +++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 20 deletions(-) (limited to 'ruby.c') diff --git a/ruby.c b/ruby.c index 7903f583fe..2d1a437e7d 100644 --- a/ruby.c +++ b/ruby.c @@ -11,38 +11,57 @@ **********************************************************************/ -#ifdef __CYGWIN__ -#include -#include -#endif -#include "ruby/encoding.h" -#include "ruby/thread.h" -#include "ruby/version.h" -#include "internal.h" -#include "eval_intern.h" -#include "dln.h" +#include "ruby/config.h" + +#include #include #include -#include + +#ifdef __CYGWIN__ +# include +# include +#endif #ifdef __hpux -#include +# include #endif + #if defined(LOAD_RELATIVE) && defined(HAVE_DLADDR) -#include +# include #endif #ifdef HAVE_UNISTD_H -#include +# include #endif + #if defined(HAVE_FCNTL_H) -#include +# include #elif defined(HAVE_SYS_FCNTL_H) -#include +# include #endif + #ifdef HAVE_SYS_PARAM_H # include #endif + +#include "dln.h" +#include "eval_intern.h" +#include "internal.h" +#include "internal/error.h" +#include "internal/file.h" +#include "internal/inits.h" +#include "internal/io.h" +#include "internal/load.h" +#include "internal/loadpath.h" +#include "internal/missing.h" +#include "internal/object.h" +#include "internal/parse.h" +#include "mjit.h" +#include "ruby/encoding.h" +#include "ruby/thread.h" +#include "ruby/util.h" +#include "ruby/version.h" + #ifndef MAXPATHLEN # define MAXPATHLEN 1024 #endif @@ -50,10 +69,6 @@ # define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR) #endif -#include "ruby/util.h" - -#include "mjit.h" - void Init_ruby_description(void); #ifndef HAVE_STDLIB_H -- cgit v1.2.3