aboutsummaryrefslogtreecommitdiffstats
path: root/configure.ac
Commit message (Collapse)AuthorAgeFilesLines
* Move -ljemalloc to DLDLIBS [Bug #18391]Nobuyoshi Nakada2021-12-071-2/+2
| | | | | Set the alternative memory management library only as a platform specific library, without other libraries.
* Delete #if line during checking madvise() on SolarisNaohisa Goto2021-11-301-1/+0
| | | | | | | | The madvise() declaration should always be compiled on Solaris to check whether the declaration is good on the environment. For the purpose, the #if line is unnecessary. (There was also a trivial typo that the #if was not closed by #endif and the check always failed with preprocessor error.)
* Enable load-relative on SolarisNobuyoshi Nakada2021-11-301-1/+7
|
* Cache wheather madvise declaration is needed on SolarisNobuyoshi Nakada2021-11-301-2/+5
|
* Fix conflicting declaration on SolarisNobuyoshi Nakada2021-11-301-0/+9
| | | | | | | | | | | | | | | | | | | | SunC ``` "cont.c", line 24: identifier redeclared: madvise current : function(pointer to char, unsigned int, int) returning int previous: function(pointer to void, unsigned int, int) returning int : "/usr/include/sys/mman.h", line 232 ``` GCC ``` cont.c:24:12: error: conflicting types for 'madvise' 24 | extern int madvise(caddr_t, size_t, int); | ^~~~~~~ In file included from cont.c:16: /usr/include/sys/mman.h:232:12: note: previous declaration of 'madvise' was here 232 | extern int madvise(void *, size_t, int); | ^~~~~~~ ```
* Workaround for implicit declaration of function 'madvise' on SolarisNaohisa Goto2021-11-301-0/+1
| | | | | | | | On Solaris, madvise(3C) is NOT defined for SUS (XPG4v2) or later, but MADV_* macros are defined when __EXTENSIONS__ is defined. This may cause compile error on Solaris 10 with GCC when "-Werror=implicit-function-declaration" and "-D_XOPEN_SOURCE=600" are added by configure.
* configure.ac: don't use shutdown on emscriptenYusuke Endoh2021-11-031-0/+1
| | | | ... to absorb a change on Ubuntu 21.10
* Split thread-model config into another ac fileYuta Saito2021-10-301-9/+2
| | | | | This is a first step to allow the thread-model implementation to be switched by configure's option
* Check old-style definitionsNobuyoshi Nakada2021-10-271-0/+1
|
* Mention YJIT in Capstone autoconf checkAlan Wu2021-10-201-1/+1
|
* conditionally add libcapstoneAaron Patterson2021-10-201-2/+0
|
* Directly link libcapstone for easier developmentAaron Patterson2021-10-201-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This lets us use libcapstone directly from miniruby so we don't need a Ruby Gem to to dev work. Example usage: ```ruby def foo(x) if x < 1 "wow" else "neat" end end iseq = RubyVM::InstructionSequence.of(method(:foo)) puts UJIT.disasm(iseq) 100.times { foo 1 } puts UJIT.disasm(iseq) ``` Then in the terminal ``` $ ./miniruby test.rb == disasm: #<ISeq:foo@test.rb:1 (1,0)-(7,3)> (catch: FALSE) local table (size: 1, argc: 1 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1]) [ 1] x@0<Arg> 0000 getlocal_WC_0 x@0 ( 2)[LiCa] 0002 putobject_INT2FIX_1_ 0003 opt_lt <calldata!mid:<, argc:1, ARGS_SIMPLE> 0005 branchunless 10 0007 putstring "wow" ( 3)[Li] 0009 leave ( 7)[Re] 0010 putstring "neat" ( 5)[Li] 0012 leave ( 7)[Re] == ISEQ RANGE: 10 -> 10 ======================================================== 0x0: movabs rax, 0x7fe816e2d1a0 0xa: mov qword ptr [rdi], rax 0xd: mov r8, rax 0x10: mov r9, rax 0x13: mov r11, r12 0x16: jmp qword ptr [rax] == ISEQ RANGE: 0 -> 7 ========================================================== 0x0: mov rax, qword ptr [rdi + 0x20] 0x4: mov rax, qword ptr [rax - 0x18] 0x8: mov qword ptr [rdx], rax 0xb: mov qword ptr [rdx + 8], 3 0x13: movabs rax, 0x7fe817808200 0x1d: test byte ptr [rax + 0x3e6], 1 0x24: jne 0x3ffff7b 0x2a: test byte ptr [rdx], 1 0x2d: je 0x3ffff7b 0x33: test byte ptr [rdx + 8], 1 0x37: je 0x3ffff7b 0x3d: mov rax, qword ptr [rdx] 0x40: cmp rax, qword ptr [rdx + 8] 0x44: movabs rax, 0 0x4e: movabs rcx, 0x14 0x58: cmovl rax, rcx 0x5c: mov qword ptr [rdx], rax 0x5f: test qword ptr [rdx], -9 0x66: jne 0x3ffffd5 ``` Make sure to `brew install pkg-config capstone`
* haiku configure fix (again).David CARLIER2021-10-181-0/+3
|
* haiku build update stack overflow check in libroot (haiku's libc) nowDavid CARLIER2021-10-171-3/+0
|
* Do not allow configuration where neither static or shared library is installedJeremy Evans2021-10-081-1/+4
| | | | Fixes [Bug #18000]
* [Win32] Prefer Cryptography Next Generation APINobuyoshi Nakada2021-10-021-1/+1
| | | | | | | | | | | | | [BCryptGenRandom] is available since Windows Vista / Windows Server 2008. Regarding [CryptGenRandom]: > This API is deprecated. New and existing software should start > using Cryptography Next Generation APIs. Microsoft may remove > this API in future releases. [BCryptGenRandom]: https://docs.microsoft.com/en-us/windows/win32/api/bcrypt/nf-bcrypt-bcryptgenrandom [CryptGenRandom]: https://docs.microsoft.com/en-us/windows/win32/api/wincrypt/nf-wincrypt-cryptgenrandom
* Checks for CPU specific header on universal buildNobuyoshi Nakada2021-10-011-0/+1
|
* Define ACTION-IF-UNIVERSAL of `AC_C_BIGENDIAN` [Bug #18156]Nobuyoshi Nakada2021-10-011-1/+1
| | | | | As we do not use config.h.in, just define the helper macro instead.
* Needs `AC_PROG_CC`Nobuyoshi Nakada2021-09-301-1/+1
| | | | | Although `AC_PROG_CC_C99` has been obsolete, `AC_PROG_CC` is not and the latter is necessary not to make C++ compiler mandatory.
* MINGW-UCRT: Set CONFIG['arch'] and RUBY_PLATFORM to "x64-mingw-ucrt"Lars Kanis2021-09-201-1/+5
| | | | | | | | | This allows easy differentiation between ABI incompatible platforms like MSWIN64 and MSVCRT-based MINGW32. This also implicates a distinct rubygem platform which is also "x64-mingw-ucrt". Although the term "mingw32" is the OS-part for 64 bit systems as well, the "32" is misleading and confusing for many users. Therefore the new platform string drops the "32" from the OS part to just "mingw". This conforms to the common practice of windows platform testing per RUBY_PLATFORM=~/mswin|mingw/ .
* MINGW: More permissive pattern matching for coroutinextkoba (Tee KOBAYASHI)2021-09-201-2/+2
| | | | Pattern matching for target_os in configure script should be permissive if we consider suffixing something onto "mingw32".
* MINGW: set rb_cv_msvcrt=ucrt and RT_VER=140 when UCRT is usedxtkoba (Tee KOBAYASHI)2021-09-201-1/+3
|
* coroutine enables assembly version for dragonflybsd.DC2021-09-131-0/+3
|
* Remove stale DLEXT2Nobuyoshi Nakada2021-09-101-4/+1
| | | | | | Actually disabled at 181a3a2af5df88d145b73a060d51fe437c8c4ad4 in 2004, it has remained in config.status and been carried over to rbconfig.rb.
* Make ruby.pc from makeNobuyoshi Nakada2021-08-291-15/+0
| | | | | Expand variables undefined in configure.ac, RUBY_RELEASE_DATE and so on.
* Move DEFFILE to EXTDLDFLAGSNobuyoshi Nakada2021-08-291-1/+1
| | | | So that it is no longer needed in ruby.pc.in.
* Use C99-defined signbit macroNobuyoshi Nakada2021-08-271-11/+1
|
* Use C99-defined macros to classify a floating-point numberNobuyoshi Nakada2021-08-271-4/+2
|
* netbsd coroutine uses assembly instead and little build fix.David Carlier2021-08-241-0/+9
|
* Fix COROUTINE_SRC on emscriptenNobuyoshi Nakada2021-08-161-8/+3
| | | | | Select the C source if exists, otherwise the assembler source, instead of selecting by the coroutine type.
* coroutine use asm version for handful of architectures for freebsd.DC2021-08-161-0/+9
|
* Shared libruby also needs MAINLIBS for jemallocNobuyoshi Nakada2021-07-071-0/+1
|
* Refactor --with-jemalloc optionNobuyoshi Nakada2021-07-071-33/+41
| | | | | | Find jemalloc header first, then using the found header, try [with mangle, without mangle] x [no more additional libraries, adding jemalloc] combination.
* comment about the situation [ci skip]卜部昌平2021-07-071-0/+6
|
* configure: add -Wl,--no-as-needed卜部昌平2021-07-071-0/+5
| | | | | | | | | | | | | | | | | | | | It is reported that combination of `--enable-shared --with-jemalloc` breaks on Debian bullseye (testig). Deeper investigation revealed that this system's `ld(1)` is patched, to turn `ld --as-needed` on by default. This linker flag strips "unnecessary" library dependencies from an executable. In case of `ruby(1)` (of `--enable-shared`), because everything is in `libruby.so`, the binary itself doesn't include any calls to `malloc(3)` at all. So in spite of our explicit `-ljemalloc` flag, it is ignored. Libc's one is chosen instead. This is not what we want. Let's force our `ruby(1)` link what we want. Fixes https://github.com/ruby/ruby/pull/4627 The author would like to acknowledge Akihiko Odaki <akihiko.odaki@gmail.com> for their contributions.
* Enable libruby-relative on FreeBSDNobuyoshi Nakada2021-07-061-0/+4
|
* Fix check for malloc_conf when no library is requiredNobuyoshi Nakada2021-07-061-3/+6
|
* Moved native coroutine type checking messageNobuyoshi Nakada2021-07-061-1/+1
| | | | Not to be interleaved by fallback checking messages
* Replace copy coroutine with pthread implementation.Samuel Williams2021-07-011-4/+4
|
* Remove also debug symbol directory at clean on macOSNobuyoshi Nakada2021-06-241-0/+3
|
* Run ifchange with shell explicitly, workaround of noexec mountNobuyoshi Nakada2021-06-221-1/+1
|
* Configure ioctl request argument type [Bug #17759]Nobuyoshi Nakada2021-06-161-0/+30
|
* prefer cc/gcc over clang on solaris卜部昌平2021-06-141-1/+8
| | | | requested by tankf33der at https://bugs.ruby-lang.org/issues/17949#change-92430
* Refix PAGE_SIZENobuyoshi Nakada2021-05-141-7/+4
| | | | | * honor actually used headers * include sys/user.h only when `PAGE_SIZE` is not defined
* Fix compilation with jemalloc on macosJohn Hawthorn2021-05-131-1/+1
| | | | | | | | | | On darwin we avoid including sys/user.h to avoid a conflict. Previously we still ended up with PAGE_SIZE being defined because the headers for system malloc define it. However, when compiling with jemalloc nothing would define PAGE_SIZE. This commit changes configure.ac so that we never use the PAGE_SIZE constant on darwin and to always use the sysconf fallback.
* Removed missing/dup2.cNobuyoshi Nakada2021-05-101-2/+7
| | | | | | This function should be always available, as POSIX-compliant or Windows platform are required since 1.9. Also the code in this file is MT-unsafe.
* Check only whether PAGE_SIZE is compile-time constNobuyoshi Nakada2021-05-061-14/+8
|
* Get rid of including sys/user.h on macOSNobuyoshi Nakada2021-05-061-1/+4
| | | | | | | | | | | LIST_HEAD in ccan/list conflicts with sys/queue.h. ``` ./ccan/list/list.h:75:9: warning: 'LIST_HEAD' macro redefined [-Wmacro-redefined] ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/queue.h:465:9: note: previous definition is here ^ ```
* Fix PAGE_SIZE macro detection in autoconfPeter Zhu2021-05-051-8/+11
| | | | | | | | | | | | The current fix for PAGE_SIZE macro detection in autoconf does not work correctly. I see the following output with running configure on Linux: ``` checking PAGE_SIZE is defined... no ``` Linux has PAGE_SIZE macro. This is happening because the macro exists in sys/user.h and not in the malloc headers.
* Fix compilation on M1 MacNobuyoshi Nakada2021-05-051-0/+18
| | | | | As PAGE_SIZE may not be a preprocessor constant, dispatch at runtime in that case.