[前][次][番号順一覧][スレッド一覧]

ruby-changes:60687

From: =E5=8D=9C=E9=83=A8=E6=98=8C=E5=B9=B3 <ko1@a...>
Date: Wed, 8 Apr 2020 13:28:30 +0900 (JST)
Subject: [ruby-changes:60687] 9e6e39c351 (master): Merge pull request #2991 from shyouhei/ruby.h

https://git.ruby-lang.org/ruby.git/commit/?id=9e6e39c351

From 9e6e39c3512f7a962c44dc3729c98a0f8be90341 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=8D=9C=E9=83=A8=E6=98=8C=E5=B9=B3?=
 <shyouhei@r...>
Date: Wed, 8 Apr 2020 13:28:13 +0900
Subject: Merge pull request #2991 from shyouhei/ruby.h

Split ruby.h

diff --git a/.github/workflows/compilers.yml b/.github/workflows/compilers.yml
new file mode 100644
index 0000000..24de5d6
--- /dev/null
+++ b/.github/workflows/compilers.yml
@@ -0,0 +1,201 @@ https://github.com/ruby/ruby/blob/trunk/.github/workflows/compilers.yml#L1
+name: Compilations
+
+on: [push, pull_request]
+
+# Github actions does not support YAML anchors.  This creative use of
+# environment variables (plus the "echo ::set-env" hack) is to reroute that
+# restriction.
+env:
+  default_cc: clang-11
+  append_cc: ''
+
+  # -O1 is faster than -O3 in our tests... Majority of time are consumed trying
+  # to optimize binaries.  Also Github Actions runs on a relatively modern CPU
+  # compared to, say, GCC 4 or Clang 3.  We don't specify `-march=native`
+  # because compilers tend not understand what the CPU is.
+  optflags: '-O1 -march=x86-64 -mtune=generic'
+
+  # -g0 disables backtraces when SEGV.  Do not set that.
+  debugflags: '-ggdb3'
+
+  default_configure: >-
+    --enable-debug-env
+    --disable-install-doc
+    --with-ext=-test-/cxxanyargs,+
+  append_configure: >-
+    --without-valgrind
+    --without-jemalloc
+    --without-gmp
+
+  UPDATE_UNICODE: >-
+    UNICODE_FILES=.
+    UNICODE_PROPERTY_FILES=.
+    UNICODE_AUXILIARY_FILES=.
+    UNICODE_EMOJI_FILES=.
+  CONFIGURE_TTY: never
+  RUBY_DEBUG: ci rgengc
+  RUBY_TESTOPTS: >-
+    -q
+    --color=always
+    --tty=no
+
+jobs:
+  compile:
+    strategy:
+      fail-fast: false
+      matrix:
+        entry:
+          - { key: default_cc, name: gcc-9,     value: gcc-9 }
+          - { key: default_cc, name: gcc-8,     value: gcc-8 }
+          - { key: default_cc, name: gcc-7,     value: gcc-7 }
+          - { key: default_cc, name: gcc-6,     value: gcc-6 }
+          - { key: default_cc, name: gcc-5,     value: gcc-5 }
+          - { key: default_cc, name: gcc-4.8,   value: gcc-4.8 }
+          - { key: default_cc, name: clang-11,  value: clang-11 }
+          - { key: default_cc, name: clang-10,  value: clang-10 }
+          - { key: default_cc, name: clang-9,   value: clang-9 }
+          - { key: default_cc, name: clang-8,   value: clang-8 }
+          - { key: default_cc, name: clang-7,   value: clang-7 }
+          - { key: default_cc, name: clang-6.0, value: clang-6.0 }
+          - { key: default_cc, name: clang-5.0, value: clang-5.0 }
+          - { key: default_cc, name: clang-4.0, value: clang-4.0 }
+          - { key: default_cc, name: clang-3.9, value: clang-3.9 }
+
+          - { key: append_cc, name: c99,   value: '-std=c99   -Werror=pedantic -pedantic-errors' }
+          - { key: append_cc, name: c11,   value: '-std=c11   -Werror=pedantic -pedantic-errors' }
+          - { key: append_cc, name: c17,   value: '-std=c17   -Werror=pedantic -pedantic-errors' }
+          - { key: append_cc, name: c2x,   value: '-std=c2x   -Werror=pedantic -pedantic-errors' }
+          - { key: CXXFLAGS,  name: c++98, value: '-std=c++98 -Werror=pedantic -pedantic-errors -Wno-c++11-long-long' }
+          - { key: CXXFLAGS,  name: c++11, value: '-std=c++11 -Werror=pedantic -pedantic-errors -Wno-c++11-long-long' }
+          - { key: CXXFLAGS,  name: c++14, value: '-std=c++14 -Werror=pedantic -pedantic-errors -Wno-c++11-long-long' }
+          - { key: CXXFLAGS,  name: c++17, value: '-std=c++17 -Werror=pedantic -pedantic-errors -Wno-c++11-long-long' }
+          - { key: CXXFLAGS,  name: c++2a, value: '-std=c++2a -Werror=pedantic -pedantic-errors -Wno-c++11-long-long' }
+
+          - { key: optflags, name: '-O0', value: '-O0 -march=x86-64 -mtune=generic' }
+          - { key: optflags, name: '-O3', value: '-O3 -march=x86-64 -mtune=generic' }
+
+          - { key: append_configure, name: gmp,                  value: '--with-gmp' }
+          - { key: append_configure, name: jemalloc,             value: '--with-jemalloc' }
+          - { key: append_configure, name: valgrind,             value: '--with-valgrind' }
+          - { key: append_configure, name: 'coroutine=ucontext', value: '--with-coroutine=ucontext' }
+          - { key: append_configure, name: 'coroutine=copy',     value: '--with-coroutine=copy' }
+          - { key: append_configure, name: disable-mathn,        value: '--disable-mathn' }
+          - { key: append_configure, name: disable-jit-support,  value: '--disable-jit-support' }
+          - { key: append_configure, name: disable-dln,          value: '--disable-dln' }
+          - { key: append_configure, name: disable-rubygems,     value: '--disable-rubygems' }
+
+          - { key: cppflags, name: OPT_THREADED_CODE=1,            value: '-DOPT_THREADED_CODE=1' }
+          - { key: cppflags, name: OPT_THREADED_CODE=2,            value: '-DOPT_THREADED_CODE=2' }
+          - { key: cppflags, name: OPT_THREADED_CODE=3,            value: '-DOPT_THREADED_CODE=3' }
+
+          - { key: cppflags, name: NDEBUG,                         value: '-DNDEBUG' }
+          - { key: cppflags, name: RUBY_DEBUG,                     value: '-DRUBY_DEBUG' }
+          - { key: cppflags, name: ARRAY_DEBUG,                    value: '-DARRAY_DEBUG' }
+          - { key: cppflags, name: BUGNUM_DEBUG,                   value: '-DBUGNUM_DEBUG' }
+          - { key: cppflags, name: CCAN_LIST_DEBUG,                value: '-DCCAN_LIST_DEBUG' }
+          - { key: cppflags, name: CPDEBUG=-1,                     value: '-DCPDEBUG=-1' }
+          - { key: cppflags, name: ENC_DEBUG,                      value: '-DENC_DEBUG' }
+          - { key: cppflags, name: GC_DEBUG,                       value: '-DGC_DEBUG' }
+          - { key: cppflags, name: HASH_DEBUG,                     value: '-DHASH_DEBUG' }
+          - { key: cppflags, name: ID_TABLE_DEBUG,                 value: '-DID_TABLE_DEBUG' }
+          - { key: cppflags, name: RGENGC_DEBUG=-1,                value: '-DRGENGC_DEBUG=-1' }
+          - { key: cppflags, name: SYMBOL_DEBUG,                   value: '-DSYMBOL_DEBUG' }
+          - { key: cppflags, name: THREAD_DEBUG=-1,                value: '-DTHREAD_DEBUG=-1' }
+
+          - { key: cppflags, name: RGENGC_CHECK_MODE,              value: '-DRGENGC_CHECK_MODE' }
+          - { key: cppflags, name: TRANSIENT_HEAP_CHECK_MODE,      value: '-DTRANSIENT_HEAP_CHECK_MODE' }
+          - { key: cppflags, name: VM_CHECK_MODE,                  value: '-DVM_CHECK_MODE' }
+
+          - { key: cppflags, name: USE_EMBED_CI=0,                 value: '-DUSE_EMBED_CI=0' }
+          - { key: cppflags, name: USE_FLONUM=0,                   value: '-DUSE_FLONUM=0' }
+#         - { key: cppflags, name: USE_GC_MALLOC_OBJ_INFO_DETAILS, value: '-DUSE_GC_MALLOC_OBJ_INFO_DETAILS' }
+          - { key: cppflags, name: USE_LAZY_LOAD,                  value: '-DUSE_LAZY_LOAD' }
+          - { key: cppflags, name: USE_RINCGC=0,                   value: '-DUSE_RINCGC=0' }
+          - { key: cppflags, name: USE_SYMBOL_GC=0,                value: '-DUSE_SYMBOL_GC=0' }
+          - { key: cppflags, name: USE_THREAD_CACHE=0,             value: '-DUSE_THREAD_CACHE=0' }
+          - { key: cppflags, name: USE_TRANSIENT_HEAP=0,           value: '-DUSE_TRANSIENT_HEAP=0' }
+
+          - { key: cppflags, name: DEBUG_FIND_TIME_NUMGESS,        value: '-DDEBUG_FIND_TIME_NUMGESS' }
+          - { key: cppflags, name: DEBUG_INTEGER_PACK,             value: '-DDEBUG_INTEGER_PACK' }
+          - { key: cppflags, name: ENABLE_PATH_CHECK,              value: '-DENABLE_PATH_CHECK' }
+
+          - { key: cppflags, name: GC_DEBUG_STRESS_TO_CLASS,       value: '-DGC_DEBUG_STRESS_TO_CLASS' }
+          - { key: cppflags, name: GC_ENABLE_LAZY_SWEEP=0,         value: '-DGC_ENABLE_LAZY_SWEEP=0' }
+          - { key: cppflags, name: GC_PROFILE_DETAIL_MEMOTY,       value: '-DGC_PROFILE_DETAIL_MEMOTY' }
+          - { key: cppflags, name: GC_PROFILE_MORE_DETAIL,         value: '-DGC_PROFILE_MORE_DETAIL' }
+
+          - { key: cppflags, name: CALC_EXACT_MALLOC_SIZE,         value: '-DCALC_EXACT_MALLOC_SIZE' }
+          - { key: cppflags, name: MALLOC_ALLOCATED_SIZE_CHECK,    value: '-DMALLOC_ALLOCATED_SIZE_CHECK' }
+
+          - { key: cppflags, name: IBF_ISEQ_ENABLE_LOCAL_BUFFER,   value: '-DIBF_ISEQ_ENABLE_LOCAL_BUFFER' }
+
+          - { key: cppflags, name: RGENGC_ESTIMATE_OLDMALLOC,      value: '-DRGENGC_ESTIMATE_OLDMALLOC' }
+          - { key: cppflags, name: RGENGC_FORCE_MAJOR_GC,          value: '-DRGENGC_FORCE_MAJOR_GC' }
+          - { key: cppflags, name: RGENGC_OBJ_INFO,                value: '-DRGENGC_OBJ_INFO' }
+          - { key: cppflags, name: RGENGC_OLD_NEWOBJ_CHECK,        value: '-DRGENGC_OLD_NEWOBJ_CHECK' }
+          - { key: cppflags, name: RGENGC_PROFILE,                 value: '-DRGENGC_PROFILE' }
+
+          - { key: cppflags, name: VM_DEBUG_BP_CHECK,              value: '-DVM_DEBUG_BP_CHECK' }
+          - { key: cppflags, name: VM_DEBUG_VERIFY_METHOD_CACHE,   value: '-DVM_DEBUG_VERIFY_METHOD_CACHE' }
+
+    name: ${{ matrix.entry.name }}
+    runs-on: ubuntu-latest
+    container: shyouhei/c-compilers:latest
+    if: "!contains(github.event.head_commit.message, '[ci skip]')"
+    steps:
+      - name: setenv
+        run: |
+          echo ::set-env name=${{ matrix.entry.key }}::${{ matrix.entry.value }}
+          echo ::set-env name=make::make -sj$((1 + $(nproc --all)))
+      - run: mkdir build
+      - uses: actions/checkout@v2
+        with:
+          fetch-depth: 128
+          path: src
+      - run: autoconf
+        working-directory: src
+      - name: Run configure
+        working-directory: build
+        run: |
+          ../src/configure -C \
+            ${default_configure} \
+            ${append_configure} \
+            --with-gcc="${default_cc} ${append_cc}"
+      - run: $make incs
 (... truncated)

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]