Issue #16517 has been updated by duerst (Martin D=FCrst). nobu (Nobuyoshi Nakada) wrote: > What is `devkit`? > Is it https://rubygems.org/gems/devkit ? I don't think so. Please have a look at https://github.com/oneclick/rubyins= taller/wiki/Development-Kit. ---------------------------------------- Feature #16517: mkmf.rb - changes for Windows ? https://bugs.ruby-lang.org/issues/16517#change-83968 * Author: MSP-Greg (Greg L) * Status: Open * Priority: Normal * Assignee: = * Target version: = ---------------------------------------- I propose two changes to mkmf.rb to make it more Windows friendly. 1) mingw - `devkit` has been the standard for 'enabling' compile tools in p= ublicly available MinGW builds for quite a while. Could something like the= following be added? Not sure whether to rescue on LoadError or not, or wh= ether to output anything if it doesn't load. ```ruby if $mingw begin require 'devkit' rescue end end ``` 2) mswin - most compile tools other than msvc will find libraries without a= lib prefix. Note the following code in extconf.rb for OpenSSL: ```ruby ret =3D have_library("crypto", "CRYPTO_malloc") && have_library("ssl", "SSL_new") return ret if ret if $mswin # OpenSSL >=3D 1.1.0: libcrypto.lib and libssl.lib. if have_library("libcrypto", "CRYPTO_malloc") && have_library("libssl", "SSL_new") return true end ``` If something like the following was added, the above wouldn't be needed: ```ruby if $mswin alias_method :orig_find_library, :find_library = def find_library(lib, func, *paths, &b) orig_find_library(lib, func, *paths, b) || orig_find_library("lib#{lib}= ", func, *paths, b) end alias_method :orig_have_library, :have_library def have_library(lib, func =3D nil, headers =3D nil, opt =3D "", &b) orig_have_library(lib, func, headers, opt, b) || orig_have_library("lib= #{lib}", func, headers, opt, b) end end ``` Adding something similar to above two items would remove the need for Windo= ws specific build code in many extension gems. -- = https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=3Dunsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>