Issue #14445 has been updated by k0kubun (Takashi Kokubun).


Thank you for the initial Windows port and your work on this patch. I agree that we need support for pre-compiled binary.
As this patch worked well on my MinGW environment, I merged your patch at r62238 with a comment and #ifdef addition.

----------------------------------------
Bug #14445: MJIT: Determine path of mjit header and libruby at runtime
https://bugs.ruby-lang.org/issues/14445#change-70194

* Author: larskanis (Lars Kanis)
* Status: Closed
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.6.0dev (2018-02-05 trunk 62211) [x64-mingw32]
* Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN
----------------------------------------
I'm pleased to see that the MJIT pull request has been merged and that my [initial Windows port](https://github.com/vnmakarov/ruby/pull/4) has been integrated as well! One part of this patch was to avoid builtin absolute paths in the binary. This part was not merged.

The current MJIT implementation uses the install prefix at build time as part of the include and library paths for gcc/clang at runtime. If ruby is distributed as pre-compiled binary, these paths can differ between build and runtime. This applies in particular to the Windows RubyInstaller, where a user defined directory is used to store the binaries.

So for RubyInstaller I'm using [this patch](https://github.com/oneclick/rubyinstaller2-packages/blob/master/mingw-w64-ruby-head/0001-MJIT-Determine-path-of-mjit-header-and-libruby-at-ru.patch) to determine the paths based on the ruby top directory and to compile only relative paths into the binary. There's probably a cleaner approach to do this, but since ruby has always been fully path-relocatable, I think this should be fixed for MJIT as well.


---Files--------------------------------
0001-MJIT-Determine-path-of-mjit-header-and-libruby-at-ru.patch (6.29 KB)


-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>