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).
This commit is contained in:
卜部昌平 2019-12-04 17:16:30 +09:00
parent 33e9601938
commit 5e22f873ed
Notes: git 2019-12-26 20:45:55 +09:00
113 changed files with 1363 additions and 725 deletions

View file

@ -5,23 +5,32 @@
which is written in ruby.
*/
#include "internal.h"
#include "id.h"
#include <math.h>
#include "ruby/config.h"
#include <ctype.h>
#include <float.h>
#include <math.h>
#ifdef HAVE_IEEEFP_H
#include <ieeefp.h>
#endif
#define NDEBUG
#include "ruby_assert.h"
#if defined(HAVE_LIBGMP) && defined(HAVE_GMP_H)
#define USE_GMP
#include <gmp.h>
#endif
#define NDEBUG
#include "id.h"
#include "internal.h"
#include "internal/complex.h"
#include "internal/error.h"
#include "internal/gc.h"
#include "internal/numeric.h"
#include "internal/object.h"
#include "internal/rational.h"
#include "ruby_assert.h"
#define ZERO INT2FIX(0)
#define ONE INT2FIX(1)
#define TWO INT2FIX(2)
@ -2299,8 +2308,6 @@ float_rationalize(int argc, VALUE *argv, VALUE self)
}
}
#include <ctype.h>
inline static int
issign(int c)
{