aboutsummaryrefslogtreecommitdiffstats
path: root/configure.ac
Commit message (Collapse)AuthorAgeFilesLines
* Makefile.in: drop MJIT_DLDFLAGS_NOCOMPRESSk0kubun2018-08-131-2/+0
| | | | | | which is obsoleted by r64331 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Re-apply wrongly reverted r64330naruse2018-08-131-6/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* support compressed debug_linenaruse2018-08-131-2/+9
| | | | | | | | re-commit r64328 https://blogs.oracle.com/solaris/elf_section_compression-v2 https://gnu.wildebeest.org/blog/mjw/2016/01/13/elf-libelf-compressed-sections-and-elfutils/ git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: use linker_flag to LIBRUBY_DLDFLAGSnobu2018-08-131-6/+2
| | | | | | | | | | * configure.ac: use a feature flag `linker_flag`, than checking if the compiler is `GCC`. * configure.ac: append to LIBRUBY_DLDFLAGS once after initialized with DLDFLAGS. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert "support compressed debug_line"naruse2018-08-131-3/+0
| | | | | | This reverts commit r64328 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* support compressed debug_linenaruse2018-08-131-0/+3
| | | | | | | https://blogs.oracle.com/solaris/elf_section_compression-v2 https://gnu.wildebeest.org/blog/mjw/2016/01/13/elf-libelf-compressed-sections-and-elfutils/ git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: use the correct argumentk0kubun2018-08-121-1/+1
| | | | | | | | | | | | for --compress-debug-sections. I thought "no" is the correct one because configure.ac has `AS_IF([test "x$compress_debug_sections" != xno]`, but it wasn't the case. This commit is needed to resolve errors like: /usr/bin/x86_64-linux-gnu-ld: invalid --compress-debug-sections option: `no' collect2: error: ld returned 1 exit status git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: MJIT_DLDFLAGS_NOCOMPRESSk0kubun2018-08-121-0/+2
| | | | | | | | | | | | | | 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
* upgrade the default WINNT versionnobu2018-08-111-2/+2
| | | | | | | | * configure.ac: set the default target Windows NT version to 0x0600, as well as mswin version since r50051. Windows XP has ended years ago. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* unrevert r63852 but keep SIGCHLD path disabled for win32normal2018-07-051-0/+2
| | | | | | | | | | | Reading win32/win32.c waitpid implementation, maybe waitpid(-1, ...) on that platform will never conflict with mjit use of waitpid. In any case, I've added WAITPID_USE_SIGCHLD macro to vm_core.h so it can be easy for Linux/BSD users to test (hopefully!) win32-compatible code. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert r63758 and related commitsnaruse2018-07-041-2/+0
| | | | | | | The change is unstable on Windows. Please re-commit it when it correctly supports Windows. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: [DOC] refine help messagesnobu2018-07-031-3/+3
| | | | | | | | | cflags, cppflags, and cxxflags are additional flags to auto configured flags, and ignored when the their respective autoconf default variables are given. [ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* use sigsetjmp on macOSnobu2018-06-301-0/+1
| | | | | | | SIGCHLD is used internally since r63758, the signal masks need to be restored. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* hijack SIGCHLD handler for internal usenormal2018-06-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use a global SIGCHLD handler to guard all callers of rb_waitpid. To work safely with multi-threaded programs, we introduce a VM-wide waitpid_lock to be acquired BEFORE fork/vfork spawns the process. This is to be combined with the new ruby_waitpid_locked function used by mjit.c in a non-Ruby thread. Ruby-level SIGCHLD handlers registered with Signal.trap(:CHLD) continues to work as before and there should be no regressions in any existing use cases. Splitting the wait queues for PID > 0 and groups (PID <= 0) ensures we favor PID > 0 callers. The disabling of SIGCHLD in rb_f_system is longer necessary, as we use deferred signal handling and no longer make ANY blocking waitpid syscalls in other threads which could "beat" the waitpid call made by rb_f_system. We prevent SIGCHLD from firing in normal Ruby Threads and only enable it in the timer-thread, to prevent spurious wakeups from in test/-ext-/gvl/test_last_thread.rb with MJIT enabled. I've tried to guard as much of the code for RUBY_SIGCHLD==0 using C "if" statements rather than CPP "#if" so to reduce the likelyhood of portability problems as the compiler will see more code. We also work to suppress false-positives from Process.wait(-1, Process::WNOHANG) to quiets warnings from spec/ruby/core/process/wait2_spec.rb with MJIT enabled. Lastly, we must implement rb_grantpt for ext/pty. We need a MJIT-compatible way of supporting grantpt(3) which may spawn the `pt_chown' binary and call waitpid(2) on it. [ruby-core:87605] [Ruby trunk Bug#14867] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* remove DISABLE_RUBYGEMS from config filesnobu2018-06-221-3/+2
| | | | | | | | | | | | | | * 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
* prefer clock_gettimenobu2018-06-141-2/+4
| | | | | | | | | | | * configure.ac: clock_gettime or gettimeofday must exist. * process.c (rb_clock_gettime): prefer clock_gettime over gettimeofday, as the latter is obsolete in SUSv4. * random.c (fill_random_seed): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: move the checks of _XOPEN_SOURCE on Solarisngoto2018-05-161-33/+33
| | | | | | | | | * configure.ac (solaris*): Move the checks of _XOPEN_SOURCE to the location before r63443, to cover non-GCC compilers on Solaris. This partly reverts r63443. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: move checks of -std=gnu99 and _XOPEN_SOURCE on Solarisngoto2018-05-161-42/+44
| | | | | | | | | | | | | | * configure.ac (ansi_options): On Solaris, "-std=gnu99" should be appended to CPPFLAGS instead of warnflags and strict_warnflags, because the flag affects existance of functions and macros. * configure.ac (solaris*): Check _XOPEN_SOURCE just after checking "-std=gnu99" on Solaris. Because _XOPEN_SOURCE also affects existance of many functions and macros, it is good to define it earlier. The check is simplified to use AC_TRY_COMPILE with RUBY_WERROR_FLAG. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: revert r63438ngoto2018-05-161-12/+11
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Change logic to check _XOPEN_SOURCE on Solarisngoto2018-05-151-11/+12
| | | | | | | | * configure.ac: Change logic to check _XOPEN_SOURCE on Solaris. With _XOPEN_SOURCE, "-std=gnu99" may also be added to CPPFLAGS. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: maybe with jemallocnobu2018-05-151-4/+10
| | | | | | | * configure.ac (--with-jemalloc): accept `maybe` (other than `yes` and `no`), check for jemalloc and use it if possible. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* -Wno-cast-function-typeshyouhei2018-05-151-0/+1
| | | | | | | | | | GCC 8.1+ introduced this warning in -Weverything. It does shed some lights on something, but rather annoying than useful ATM. Might be a subject to revert this option in a future. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: remove ineffective check on Solaris with GCCngoto2018-05-111-7/+0
| | | | | | | | | | * configure.ac (solaris): Remove ineffective check for -std=iso9899:1999 on Solaris with GCC. The "-std=iso9899:1999" was replaced by "-std=gnu99" by the commit r54895. The check is no longer effective after that, and two years have passed without error reports. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Remove the teeny part from the shared library name on macOSknu2018-04-291-4/+4
| | | | | | | | | | | | | | | | This will prevent macOS users from having to rebuild all extension libraries every time they upgrade ruby to a new teeny release. Before: - libruby.2.6.0.dylib - libruby.2.6.dylib -> libruby.2.6.0.dylib - libruby.dylib -> libruby.2.6.0.dylib After: - libruby.2.6.dylib - libruby.dylib -> libruby.2.6.dylib git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Prefer alignof() over _Alignof()shyouhei2018-04-091-2/+6
| | | | | | | to allow C++ programs include <ruby.h>. [Bug #14668] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Honor --silent optionnobu2018-04-031-2/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: string literal concatenationnobu2018-03-271-1/+1
| | | | | | | * configure.ac: bail out if string literal concatenation is not available, as it is used everywhere now. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: named blocksnobu2018-03-241-10/+5
| | | | | | | * configure.ac: turned section block comments into named blocks. http://c16e.com/1603281120/ git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: DLDFLAGS without arch flagsnobu2018-03-161-1/+3
| | | | | | | | * configure.ac (DLDFLAGS): copy LDFLAGS before adding arch flags. multiple arch flags on universal binary make mjit_header.h failed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: fix rb_cv_gcc_compiler_casnobu2018-03-151-23/+17
| | | | | | | | * configure.ac (rb_cv_gcc_compiler_cas): do not use one variable for multiple AC_CACHE_CHECK. in one check, select by different values. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: basic libsnobu2018-03-141-2/+5
| | | | | | | * configure.ac: basic libraries like -lm are necessary for some extension libraries on some platforms. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: --disable-mathn optionnobu2018-03-091-1/+6
| | | | | | | | | | * 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
* mjit_config.h: MJIT_LDSHAREDnobu2018-03-031-0/+3
| | | | | | | | | | * 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
* configure.ac: library options to MAINLIBSnobu2018-03-021-18/+15
| | | | | | | | | * configure.ac (MAINLIBS): moved library options for main program and static libruby, and append MAINLIBS to LIBRUBYARG_STATIC, as these libraries are not needed for linking to shared libruby. [ruby-core:85882] [Bug #14422] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: fix up r59130nobu2018-03-021-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* MJIT specific flagsnobu2018-03-011-0/+3
| | | | | | | | | 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
* mjit.c: no va_copynobu2018-02-181-18/+0
| | | | | | | * mjit.c (form_args): do not use va_copy, which cannot detect appropriate way to simulate when cross compiling. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: check clockid_t with necessary headersnobu2018-02-171-8/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread_pthread.c: Use `getpagesize()` when `pthread_attr_getguardsize` is ↵mame2018-02-151-1/+1
| | | | | | | | unavailable This is also for emscripten. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: Use `pthread_create` to determine if pthread is availablemame2018-02-151-1/+1
| | | | | | | Instead of `pthread_kill`. This is because emscripten supports `pthread_create` but not `pthread_kill`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* MJIT header for multiarchnobu2018-02-081-0/+4
| | | | | | | | | * 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
* configure.ac: removed unnecessary pushdef/popdefnobu2018-02-061-6/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* deal with aclocal(1)shyouhei2018-02-061-0/+7
| | | | | | | | | | | | | | | This commit updates files so that aclocal.m4 generated by aclocal(1) works well with our configure.ac * ac_checking.m4: merged back to configure.ac because aclocal(1) cannot handle this macro. * ruby_append_options.m4: no longer used. * ruby_check_va_copy.m4: define using AC_DEFUN so that aclocal(1) can find this macro. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* va_copy is a C99ismshyouhei2018-02-051-0/+20
| | | | | | Should provide appropriate fallback implementation. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: rb_mjit_header.hnobu2018-02-041-0/+3
| | | | | | | * common.mk (rb_mjit_header.h): moved from Makefile.in and win32/Makefile.sub. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix duplicated HAVE_NANkazu2018-01-271-14/+0
| | | | | | | And remove redundant `HAVE_*` macros, and use `USE_RB_*` macros instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* set AC_CONFIG_MACRO_DIRS [close GH-1793]shyouhei2018-01-201-45/+1
| | | | | | | | We do not use aclocal(1) by default. But in case users do so, AC_CONFIG_MACRO_DIRS help them reconstruct the same contents as this commit includes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* refactor split configure.ac into filesshyouhei2018-01-201-725/+33
| | | | | | | | This does not (yet) change anything. The generated configure file is the identical to previous one (except several empty lines added and deleted). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add missing/nan.cshyouhei2018-01-201-1/+1
| | | | | | | | | instead of scattering #ifdef HAVE_NANF here and there define our own nan() unless defined elsewhere. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* there is no guarantee that mode_t is as wide as intshyouhei2018-01-191-1/+4
| | | | | | | | | POSIX only defines mode_t to be "an integer typea", and in fact MacOS defines it to be uint16_t. We didn't have NUM2USHORT before so it did not make sense but now that we have it. Why not check apptopriately. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e