summaryrefslogtreecommitdiff
path: root/configure.ac
Commit message (Collapse)AuthorAgeFilesLines
* Check if `__assume` is supportedNobuyoshi Nakada2022-02-191-0/+12
|
* Define `HAVE___BUILTIN_UNREACHABLE` instead of `UNREACHABLE`Nobuyoshi Nakada2022-02-191-1/+1
| | | | | `UNREACHABLE` in ruby/internal/has/builtin.h is only used as just a flag now, and redefined in ruby/backward/2/assume.h then.
* Do not search for commands with double tool prefixes [Bug #18504]Nobuyoshi Nakada2022-02-171-19/+23
| | | | | | The `CC` found by `AC_CHECK_TOOL` is prefixed by the host triplet when cross compiling. To search for commands with `AC_CHECK_TOOL` based on that `CC` means to search also doubly prefixed names.
* Check if `execv` is available for ruby/missing.hNobuyoshi Nakada2022-01-261-0/+2
| | | | | | | | | | | As MinGW has the declaration, the `dllimport` attribute difference is warned when compiling missing/*.c without including ruby/win32.h. ``` ../src/include/ruby/missing.h:316:17: warning: 'execv' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] 316 | RUBY_EXTERN int execv(const char *, char *const []); | ^~~~~ ```
* Use the prefixed pkg-config commandNobuyoshi Nakada2022-01-261-4/+4
|
* GCC provides -Wdiv-by-zeroNobuyoshi Nakada2022-01-221-1/+1
|
* MinGW also uses `rb_w32_shutdown`Nobuyoshi Nakada2022-01-201-0/+1
| | | | | | Winsock's `shutdown` is incompatible with the other platforms. And autoconf fails to detect WINAPI functions on 32bit Windows, probably due to the argument size suffixes.
* Fix a missing commaNobuyoshi Nakada2022-01-191-1/+1
|
* [wasm] configure.ac: disable mjit on wasi by defaultYuta Saito2022-01-191-6/+9
|
* [wasm] configure.ac: don't require dup and dup2 only for wasiYuta Saito2022-01-191-1/+8
|
* configure.ac: stop overwriting cc wrapper by darwin-cc everytimeYuta Saito2022-01-191-2/+1
|
* [wasm] add coroutine/asyncify implementationYuta Saito2022-01-191-0/+3
| | | | set the default coroutine_type as asyncify when wasi
* [wasm] wasm/missing.{c,h}: add missing libc stubs for wasi-libcYuta Saito2022-01-191-0/+23
|
* [wasm] add asyncify based setjmp, fiber, register scan emulationYuta Saito2022-01-191-0/+24
| | | | | | | | | | | | | | | | | | configure.ac: setup build tools and register objects main.c: wrap main with rb_wasm_rt_start to handle asyncify unwinds tool/m4/ruby_wasm_tools.m4: setup default command based on WASI_SDK_PATH environment variable. checks wasm-opt which is used for asyncify. tool/wasm-clangw wasm/wasm-opt: a clang wrapper which replaces real wasm-opt with do-nothing wasm-opt to avoid misoptimization before asyncify. asyncify is performed at POSTLINK, but clang linker driver tries to run optimization by wasm-opt unconditionally. inlining pass at wasm level breaks asyncify's assumption, so should not optimize before POSTLIK. wasm/GNUmakefile.in: wasm specific rules to compile objects
* [wasm] configure.ac: setup platform specific librariesYuta Saito2022-01-191-0/+4
| | | | | | | These flags are very wasi-libc version specific, so updating wasi-libc may break the build. But supporting multiple wasi-libc versions in ruby doesn't have much benefit because wasi-libc is not installed in most systems.
* [wasm] configure.ac: disable stack-protectorYuta Saito2022-01-191-1/+1
| | | | clang does not yet support stack-protector for wasm
* [Feature #18491] Drop support for HP-UXPeter Zhu2022-01-181-23/+0
| | | | | IA64 support was dropped in ticket #15894, so we can drop support for HP-UX.
* io_buffer.c: use mremap based resizing only when mremap availableYuta Saito2022-01-071-0/+1
| | | | | some libc implementations (e.g. wasi-libc) define MREMAP_MAYMOVE, but don't have mremap itself, so guard the use of mremap by HAVE_MREMAP
* configure.in: unexpand exec_prefix in includedirNobuyoshi Nakada2021-12-241-1/+1
| | | | | Replace `exec_prefix` in includedir as well as bindir, libdir, and so on. [Bug #18373]
* 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
|