Граф коммитов

519 Коммитов

Автор SHA1 Сообщение Дата
samuel 42575570a9 Try using compiler for assembling.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:16:49 +00:00
samuel 11b672f337 Print out what the assembler is doing to figure out why it's not working.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:16:45 +00:00
samuel 4aa44a762e Create output directory when assembling file
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:06:54 +00:00
nobu 3f84ef9740 fix for Solaris sh
* Makefile.in (mjit_config.h): removed unnecessary assignment.

* tool/mjit_archflag.sh (define_arch_flags): need to quote on
  Solaris.  [ruby-dev:50669] [Bug #15319]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-19 13:43:44 +00:00
nobu 74564fbe74 Makefile.in: reconfig with the original warnflags
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-19 06:52:55 +00:00
nobu 9cbfb17754 Also clean ruby-runner.o and ruby.imp [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-18 23:29:41 +00:00
nobu f632ecd0ff Makefile.in: test-almost also needs mjit_build_dir.so
[ruby-core:89830] [Bug #15311]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-16 12:11:23 +00:00
nobu a42784000e . command in some sh cannot take arguments
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-15 06:22:17 +00:00
nobu 3dac8eda41 tool/mjit_archflag.sh: separated, too many escapes
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-15 05:22:44 +00:00
nobu 2c989a6ff4 Makefile.in: update-known-errors
* Makefile.in (update-known-errors): update defs/known_errors.def
  by using errno(1).

* defs/known_errors.def: sort alphabetically for merger.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-14 02:27:16 +00:00
nobu 27f4058f92 Makefile.in: `$` for shell needs to be escaped in Makefile
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-13 14:56:49 +00:00
kazu b93023f8ff Remove duplicated assignment
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-13 14:35:19 +00:00
shyouhei 3b257773a5 .travis.yml: specify --tty=no
To reduce the amount of output, prefer --tty=no instead of
--color=never.  This option not only disables color output but also
kill some tty-related features, like spinners.  Travis limits its
output by the physical size of the log, not by the number of lines.
This change should make more room for new logs.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-13 04:55:43 +00:00
nobu f84577ba84 clean mjit_build_dir.dylib.dSYM directory on macOS
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65602 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-07 10:55:23 +00:00
nobu f837601cdb mjit_build_dir: separate MJIT_BUILD_DIR
* Makefile.in (mjit_build_dir.so): separate MJIT_BUILD_DIR to
  eliminate the feature for test-all after installation.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-07 02:49:26 +00:00
nobu 78bf275c56 Expand MJIT_CC in configure
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-06 12:08:54 +00:00
nobu e0a3558668 Makefile.in: do not expand MJIT_CC if cross compiling
* Makefile.in (mjit_config.h): expand MJIT_CC only if native
  build, the path on cross compiling host is useless.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-06 07:28:11 +00:00
nobu 9f17712d2c Makefile.in: convert MJIT_CC to Windows path
* Makefile.in (mjit_config.h): convert MJIT_CC to Windows path on
  mingw.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-06 07:03:24 +00:00
nobu b11b804f8f Revert "mjit_build_dir: separate MJIT_BUILD_DIR"
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-06 05:14:36 +00:00
nobu a39080f59c mjit_build_dir: separate MJIT_BUILD_DIR
* Makefile.in (mjit_build_dir.so): separate MJIT_BUILD_DIR to
  eliminate the feature for test-all after installation.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-06 04:13:48 +00:00
nobu a4b73e7e9f Makefile.in: make MJIT_CC_COMMON an absolute path
* Makefile.in (mjit_config.h): expand MJIT_CC_COMMON path to
  mitigate potential security risks.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-06 04:13:47 +00:00
nobu 67de434219 configure.ac: insert DLDSHARED
* configure.ac (DLDSHARED): `.dylib` (created by `-dynamiclib`)
  and `.bundle` (created by `-dynamic -bundle`) on macOS are
  different.  `LIBRUBY_LDSHARED` should be the former always.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-06 03:32:57 +00:00
nobu 7d9623eb24 Makefile.in: use CC_WRAPPER
* Makefile.in (CC_WRAPPER): use the wrapper to suppress warnings
  by Apple's broken packages when linking in the toplevel
  directory.

* configure.ac (CC_WRAPPER): separate from CC.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-03 23:43:17 +00:00
ko1 0b19e15a12 rename configure option `--disable-mjit` to `--disable-mjit-support`
* configure.ac: rename configure option `--disable-mjit` to
  `--disable-mjit-support` because `--disable-mjit` is ambiguous that
  runtime MJIT default enable option or supporting MJIT features.
  `ENABLE_MJIT` is also renamed to `MJIT_SUPPORT`

* Makefile.in: catch up this fix.

* common.mk: ditto.

* test/ruby/test_jit.rb: ditto.

* win32/Makefile.sub: catch up this fix on mswin.

* tool/mkconfig.rb: fix to pass `MJIT_SUPPORT` key.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-20 08:00:42 +00:00
ko1 b710785f1a add disabling MJIT features option.
* configure.ac: introduce new configure option `--enable-mjit` and
  `--disable-mjit`. Default is "enable".
  `--disable-mjit` disables all of MJIT features so that `ruby --jit`
  can't enable MJIT.
  This option affect a macro `USE_MJIT`.
  This change remove `--enable/disable-install-mjit-header` option.

* Makefile.in: introduce the `ENABLE_MJIT` variable.

* common.mk: use `ENABLE_MJIT` option.

* internal.h: respect `USE_MJIT`. Same as other *.c, *.h.

* test/ruby/test_jit.rb: check `ENABLE_MJIT` key of rbconfg.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-20 06:53:00 +00:00
k0kubun 6e11415b9c configure.ac: add --disable-install-mjit-header
and substitute INSTALL_MJIT_HEADER. This would be convenient as a workaround
for user if we found a platform that can't compile Ruby after Ruby 2.6.0 release.

common.mk: Install MJIT header only when INSTALL_MJIT_HEADER
Makefile.in: ditto
win32/Makefile.sub: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-19 12:31:02 +00:00
nobu 9067330c6d Pass cflags given to configure to mjit
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-15 00:11:45 +00:00
nobu ae59620bbc Makefile.in: dependencies to config.status
* Makefile.in (ruby.pc, ruby-runner.h): fix missing dependencies.
  config.status is needed to be up to date, to run it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-16 09:27:53 +00:00
k0kubun 0ab6266c9d Makefile.in: drop MJIT_DLDFLAGS_NOCOMPRESS
which is obsoleted by r64331

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-13 11:02:37 +00:00
k0kubun 422f4e3e1b configure.ac: MJIT_DLDFLAGS_NOCOMPRESS
is configured now, to force -Wl,--compress-debug-sections=no
for MJIT only when the option is used in MJIT_DLDFLAGS.

This needs to be done in configure.ac to resolve build failure like
https://travis-ci.org/ruby/ruby/builds/415120662.

Makefile.in: define it in mjit_config.h

mjit_worker.c: replace hard-coded flag to MJIT_DLDFLAGS_NOCOMPRESS

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64325 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-12 15:13:06 +00:00
nobu 8778e9267c fix mjit_min_header for universal binary
* common.mk: rules using MJIT_HEADER_SUFFIX, which to be overriden
  in defs/universal.mk, must be in common.mk, not Makefile.in.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-08 14:34:24 +00:00
k0kubun be38f53bae common.mk: stop building MJIT min header for mswin
Since it's impossible to leave macro when preprocessing C source file
with cl.exe, I decided to create precompiled header on Ruby's build time
instead.

We're not doing it for non-mswin environment for 2 reasons:
1) Precompiled header may not be able to be used when CC is upgraded.
2) We need to create as many precompiled headers as the patterns of
   compile options. (Probably only 2, for with and without --jit-debug)

I'll ignore them for mswin for now, and solve it later by including CC
version and --jit-debug information in precompiled header filename.
After that, non-mswin environment may follow it to simplify build system.

Makefile.in: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64182 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-04 15:12:30 +00:00
nobu d99fb784ab Makefile.in: remove GNU-make dependency
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-31 15:02:31 +00:00
k0kubun 11974fc010 mjit.c: allow using MJIT header in build directory
when $MJIT_SEARCH_BUILD_DIR is set.

If prefix path is owned by root, `make install` needs to be run by root.
But in general we don't want to run `make test-all`, and also running
`make test-all` currently fails due to permission tests of rdoc and rubygems.
Thus, prior to this commit, specifying a prefix like "/usr/local" could
mean there was no way to pass test-all.

So we should not depend on `make install` for `make test-all`. Thus I
reverted r64104 and r64103, and applied this workaround to pass `make
test-all` without `make install`.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-31 12:43:06 +00:00
k0kubun 3293322a39 benchmark: introduce benchmark_driver.gem
Makefile.in: Clone benchmark-driver repository in benchmark/benchmark-driver
  `make update-benchmark-driver`, like simplecov.
win32/Makefile.sub: Roughly do the same thing.
.gitignore: Ignore the cloned repository.
common.mk: Trigger `make update-benchmark-driver` to run `make benchmark`
  and adjust arguments for benchmark_driver.gem.

benchmark/require.yml: renamed from benchmark/bm_require.rb, benchmark/prepare_require.rb
benchmark/require_thread.yml: renamed from benchmark/bm_require_thread.rb, benchmark/prepare_require_thread.rb
benchmark/so_count_words.yml: renamed from benchmark/bm_so_count_words.rb, benchmark/prepare_so_count_words.rb,
  benchmark/wc.input.base
benchmark/so_k_nucleotide.yml: renamed from benchmark/bm_so_k_nucleotide.rb, benchmark/prepare_so_k_nucleotide.rb,
  benchmark/make_fasta_output.rb
benchmark/so_reverse_complement.yml: renamed from benchmark/bm_so_reverse_complement.rb, benchmark/prepare_so_reverse_complement.rb,
  benchmark/make_fasta_output.rb

I'm sorry but I made some duplications between benchmark/require.yml and benchmark/require_thread.yml,
and between benchmark/so_k_nucleotide.yml and benchmark/so_reverse_complement.yml.

If you're not comfortable with it, please combine these YAMLs to share
the same prelude. One YAML file can have multiple benchmark definitions
sharing prelude.

benchmark/driver.rb: Replace its core feature with benchmark_driver.gem.
  Some old features are gone for now, but I'll add them again later.

[Misc #14902]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-08 14:38:05 +00:00
ngoto 2c68033a6d Makefile.in: ARCH_FLAG may contain "-m64" etc.
* Makefile.in (mjit_config.h): ARCH_FLAG may contain "-m64", "-m32",
  "-march=i486" and so on, but the change made with r63232 only
  supports "-arch AAA -arch BBB" mainly used on Mac OS X.
  To solve the issue, ARCH_FLAG is parsed and the architectures
  specified in "-arch XXX" are added to $archs and the rest is
  stored to $arch_flag. The $arch_flag is defined as MJIT_ARCHFLAG
  if $archs is empty or the target architecture is not listed in $arch.
  Fix build failure on Solaris 10 with ./configure CFLAGS="-m64".
  [Bug #14876] [ruby-dev:50583]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-02 13:50:53 +00:00
nobu 64a189d207 remove DISABLE_RUBYGEMS from config files
* configure.ac: removed DISABLE_RUBYGEMS macro from config.h, not
  to rebuild everything when the flag changed.

* configure.ac, win32/configure.bat: make USE_RUBYGEMS lowercase.

* tool/mkconfig.rb: remove RUBYGEMS stuff from rbconfig.rb, not to
  reconfigure and rebuild all extension libraries.

* Makefile.in (CPPFLAGS): enable/disable Rubygems by USE_RUBYGEMS.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-06-22 04:13:02 +00:00
nobu cdca211b19 Makefile.in: MJIT_DLDFLAGS
* Makefile.in (mjit_config.h): needs -arch flag to link, as well
  as precompiling the header, when compiling for i386 on x86_64
  mac.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-06-17 02:40:32 +00:00
nobu 8a4656c9be gmake.mk: update in the source directory properly
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-06-02 12:17:16 +00:00
knu 6251615c12 Skip colliding filenames in LIBRUBY_ALIASES
This allows user to specify any name in `--with-so-name` that might
cause a name clash with LIBRUBY_ALIASES on the platform.

Without this, for example, configuring with `--with-soname=ruby
--enable-shared` on macOS would end up running `ln -sf libruby.dylib
libruby.dylib` only to fail with the following error in installation:

```
make[2]: stat: libruby.dylib: Too many levels of symbolic links
```

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-06-01 07:13:38 +00:00
usa 9fe9ffb842 goruby build was broken
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-20 18:13:08 +00:00
nobu 13dc8e4ef0 mjit_config.h: expand min header name
* Makefile.in, win32/Makefile.sub (mjit_config.h): expand min
  header name, including the version number and the suffix.

* mjit.c (init_header_filename): the version number and the suffix
  are now included in the header name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63279 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-04-28 01:45:52 +00:00
nobu 0b429ad269 Makefile.in: MJIT_ARCHFLAG
* Makefile.in (mjit_config.h): separate MJIT_ARCHFLAG for each
  architecture on universal binary.  cannot use precompiled-header
  with multiple -arch options.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-04-22 00:02:56 +00:00
nobu 2dafe8df55 configure.ac: --disable-mathn option
* Makefile.in, win32/Makefile.sub: move CANONICALIZATION_FOR_MATHN
  from config.h which affects all extension libraries to XCFLAGS
  for the core only.

* configure.ac: added --disable-mathn option.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-03-09 04:24:48 +00:00
nobu 3bc92b8eac mjit_config.h: MJIT_LDSHARED
* configure.in (MJIT_LDSHARED): define based on LDSHARED with
  replacing CC with MJIT_CC.

* Makefile.in, win32/Makefile.sub (mjit_config.h): instead of the
  default LDSHARED, use MJIT_LDSHARED to link mjit shared objects.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-03-03 05:09:32 +00:00
nobu 55d2c5a824 Makefile.in (ruby.pc): phony target [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-03-02 01:16:37 +00:00
nobu f6ff45ceb3 MJIT specific flags
Passing options to configure like as `configure MJIT_OPTFLAGS=-O
MJIT_DEBUGFLAGS=-g` overrides options to be used to compile JIT
code, separately from the default options to be used for ruby
itself.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-03-01 22:49:26 +00:00
nobu 19022bef01 Makefile.in: fix portability issue
* Makefile.in (mjit_config.h): Alternative value with $@ and
  printf without argument are not portable, could fail on some
  platforms.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-26 08:37:02 +00:00
nobu 4eaf69858b Makefile.in (mjit_config.h): fix duplicated output
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-21 00:36:29 +00:00
nobu 9e42f78198 Makefile.in: empty comment
* Makefile.in (mjit_config.h): add an empty comment if no content,
  to tell the empty content explicitly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-21 00:17:54 +00:00