summaryrefslogtreecommitdiff
path: root/Makefile.in
AgeCommit message (Collapse)Author
2018-10-20rename configure option `--disable-mjit` to `--disable-mjit-support`ko1
* 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-20add disabling MJIT features option.ko1
* 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-19configure.ac: add --disable-install-mjit-headerk0kubun
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-15Pass cflags given to configure to mjitnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-16Makefile.in: dependencies to config.statusnobu
* 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-13Makefile.in: drop MJIT_DLDFLAGS_NOCOMPRESSk0kubun
which is obsoleted by r64331 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-12configure.ac: MJIT_DLDFLAGS_NOCOMPRESSk0kubun
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-08fix mjit_min_header for universal binarynobu
* 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-04common.mk: stop building MJIT min header for mswink0kubun
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-07-31Makefile.in: remove GNU-make dependencynobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-31mjit.c: allow using MJIT header in build directoryk0kubun
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-08benchmark: introduce benchmark_driver.gemk0kubun
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-02Makefile.in: ARCH_FLAG may contain "-m64" etc.ngoto
* 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-06-22remove DISABLE_RUBYGEMS from config filesnobu
* 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-17Makefile.in: MJIT_DLDFLAGSnobu
* 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-02gmake.mk: update in the source directory properlynobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-06-01Skip colliding filenames in LIBRUBY_ALIASESknu
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-05-20goruby build was brokenusa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-04-28mjit_config.h: expand min header namenobu
* 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-22Makefile.in: MJIT_ARCHFLAGnobu
* 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-03-09configure.ac: --disable-mathn optionnobu
* 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-03mjit_config.h: MJIT_LDSHAREDnobu
* 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-02Makefile.in (ruby.pc): phony target [ci skip]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-03-01MJIT specific flagsnobu
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-02-26Makefile.in: fix portability issuenobu
* 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-21Makefile.in (mjit_config.h): fix duplicated outputnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-21Makefile.in: empty commentnobu
* 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-20Makefile.in: fix for Solarisnobu
* Makefile.in (mjit_config.h): expand for each words. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-20common.mk: moved macros to mjit_config.hnobu
* Makefile.in, common.mk, win32/Makefile.sub: moved MJIT macros to mjit_config.h from XCFLAGS. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-20Makefile.in: function to quote for mjit_config.hnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-17LIBRUBY_A with extsnobu
* Makefile.in, win32/Makefile.sub (LIBRUBY_A): link with extension libraries if EXTSTATIC is set, so that static-ruby would work too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-17separate PRE_LIBRUBY_UPDATEnobu
* Makefile.in, win32/Makefile.sub (PRE_LIBRUBY_UPDATE): separate definitions without miniruby. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-15Avoid using `@` in macro substitution that confuses FreeBSD makeknu
``` making mjit_config.h make: Unknown modifier ' ' make: Unclosed variable specification (expecting ')') for "Q" (value "") modifier /bin/sh: Syntax error: end of file unexpected (expecting "}") *** Error code 2 Stop. ``` The at sign probably conflicts the `:@temp@string@` modifier syntax supported by FreeBSD make. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-12Makefile.in: drop obsoleted debug outputk0kubun
mjit_config.h errors are already fixed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-11Makefile.in: prevent from building `"",` macrok0kubun
Loop removal in r62373 caused the CI failure like: https://travis-ci.org/ruby/ruby/builds/340136977 mjit_config.h was: #ifndef RUBY_MJIT_CONFIG_H #define RUBY_MJIT_CONFIG_H 1 #define MJIT_CC_COMMON "gcc", #define MJIT_CFLAGS "-w", #define MJIT_OPTFLAGS "-O3", #define MJIT_DEBUGFLAGS "-ggdb3", #define MJIT_LDSHARED "gcc", "-shared", #define MJIT_DLDFLAGS "", #endif /* RUBY_MJIT_CONFIG_H */ git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-11Makefile.in: debug mjit_config.h againk0kubun
Somehow r62373 is failing on travis... git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-11Makefile.in: use "%s"nobu
* Makefile.in (mjit_config.h): use "%s" not to interprete % in arguments. and `set` and `loop` are not needed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-11Makefile.in: use printfk0kubun
`echo -n` is sometimes not available. https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11s/ruby-trunk/log/20180211T132503Z.log.html.gz#miniruby git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-11Makefile.in: define macro in one linek0kubun
Having macro definition in multiple definitions makes compiler error output hard to read, like the commit message of r62367. Probably build failures will be fixed by r62370, but let me simplify the mjit_config.h content for future debugging. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-11mjit_config.h: moved backslashs outside quotesnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62370 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-11Makefile.in: add output to debug rubycik0kubun
build failure. From current output, I can't know what's wrong from current error log. https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos7/ruby-trunk/log/20180211T110003Z.log.html.gz#miniruby compiling mjit.c mjit.c:573:1: error: stray ‘\’ in program static const char *const CC_DEBUG_ARGS[] = {MJIT_DEBUGFLAGS NULL}; ^ mjit.c:573:1: error: stray ‘\’ in program mjit.c:574:1: error: stray ‘\’ in program static const char *const CC_OPTIMIZE_ARGS[] = {MJIT_OPTFLAGS NULL}; ^ mjit.c:574:1: error: stray ‘\’ in program mjit.c:584:5: error: stray ‘\’ in program MJIT_CC_COMMON MJIT_CFLAGS GCC_PIC_FLAGS ^ mjit.c:584:5: error: stray ‘\’ in program mjit.c:584:5: error: stray ‘\’ in program mjit.c:584:5: error: stray ‘\’ in program mjit.c:588:1: error: stray ‘\’ in program static const char *const CC_LDSHARED_ARGS[] = {MJIT_LDSHARED GCC_PIC_FLAGS NULL}; ^ mjit.c:588:1: error: stray ‘\’ in program mjit.c:588:1: error: stray ‘\’ in program mjit.c:589:1: error: stray ‘\’ in program static const char *const CC_DLDFLAGS_ARGS[] = {MJIT_DLDFLAGS NULL}; ^ cc1: warning: unrecognized command line option "-Wno-self-assign" [enabled by default] cc1: warning: unrecognized command line option "-Wno-constant-logical-operand" [enabled by default] cc1: warning: unrecognized command line option "-Wno-parentheses-equality" [enabled by default] cc1: warning: unrecognized command line option "-Wno-tautological-compare" [enabled by default] gmake: *** [mjit.o] Error 1 exit 2 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-11mjit_config.h: include trailing comma for empty listnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-11mjit_config.h: more macrosnobu
* Makefie.in, win32/Makefile.sub: add more macros for compiler to mjit_config.h. * mjit.c: unification VC and GCC in progress. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-10mjit_config.h: show content if verbosenobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-10mjit_config.hnobu
* Makefie.in, win32/Makefile.sub: make mjit_config.h from configured variables, including necessary options, e.g., `-m32` for 32bit binary on 64bit platform. * mjit.c: always use configured CC command. as config.h depends on the compiler, different compilers cannot work. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-09Makefile.in: removed duplicate SET_LC_MESSAGESnobu
[ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-08MJIT header for multiarchnobu
* configure.ac: MJIT_HEADER_INSTALL_DIR to rubyarchhdrdir to support multiarch. * Makefile.in (MJIT_HEADER_INSTALL_DIR): configured by multiarch. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06moved MJIT_CPPFLAGSnobu
* Makefile.in, win32/Makefile.sub (XCFLAGS): moved MJIT_CPPFLAGS from CPPFLAGS. MJIT_CPPFLAGS is only for mjit.c, unused in extension libraries. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06common.mk: MJIT_CPPFLAGSnobu
* common.mk (MJIT_CPPFLAGS): moved common definition flags for mjit compilation. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06mjit headers for universal binarynobu
* common.mk (MJIT_HEADER, MJIT_MIN_HEADER): added hook to separate intermediate headers per archs. * defs/gmake.mk: build mjit headers per -arch options, and then merge the headers with `#ifdef`s. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e