aboutsummaryrefslogtreecommitdiffstats
path: root/ruby.c
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 /ruby.c
parent33e9601938a79dae149caa88ff1bc06d376dd376 (diff)
downloadruby-5e22f873ed26092522f9bfc617d729bac88b284f.tar.gz
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).
Diffstat (limited to 'ruby.c')
-rw-r--r--ruby.c55
1 files changed, 35 insertions, 20 deletions
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 <windows.h>
-#include <sys/cygwin.h>
-#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 <ctype.h>
#include <stdio.h>
#include <sys/types.h>
-#include <ctype.h>
+
+#ifdef __CYGWIN__
+# include <windows.h>
+# include <sys/cygwin.h>
+#endif
#ifdef __hpux
-#include <sys/pstat.h>
+# include <sys/pstat.h>
#endif
+
#if defined(LOAD_RELATIVE) && defined(HAVE_DLADDR)
-#include <dlfcn.h>
+# include <dlfcn.h>
#endif
#ifdef HAVE_UNISTD_H
-#include <unistd.h>
+# include <unistd.h>
#endif
+
#if defined(HAVE_FCNTL_H)
-#include <fcntl.h>
+# include <fcntl.h>
#elif defined(HAVE_SYS_FCNTL_H)
-#include <sys/fcntl.h>
+# include <sys/fcntl.h>
#endif
+
#ifdef HAVE_SYS_PARAM_H
# include <sys/param.h>
#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