summaryrefslogtreecommitdiff
path: root/cygwin
AgeCommit message (Collapse)Author
2023-11-23windows-arm64 support (#8995)Pierrick Bouvier
* [win32] fix compilation for windows-arm64 Credits to MSYS2 Ruby package using this patch. * [win32] nm use full options Fix compilation error when using MSYS2 environment. Credits to MSYS2 Ruby package using this patch. * [win32] detect llvm-windres (used for windows-arm64) When adding preprocessor option for llvm-windres (using clang as parameter), it fails. Thus, do not add this. It's needed to be able to compile windows-arm64 version, because MSYS2 toolchain is LLVM based (instead of GCC/binutils). * [win32] pioinfo detection for windows-arm64 This fixes "unexpected ucrtbase.dll" for native windows-arm64 ruby binary. It does not solve issue with x64 version emulated on this platform. Value of pioinfo pointer can be found in ucrtbase.dll at latest adrp/add sequence before return of _isatty function. This works for both release and debug ucrt. Due to the nature of aarch64 ISA (vs x86 or x64), it's needed to disassemble instructions to retrieve offset value, which is a bit more complicated than matching specific string patterns. Details about adrp/add usage can be found in this blog post: https://devblogs.microsoft.com/oldnewthing/20220809-00/?p=106955 For instruction decoding, the Arm documentation was used as a reference.
2023-07-08leaked-globals: check leaked symbols in libruby.so if enable-sharedNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/8040
2022-09-10Fix parallel build on MINGWLars Kanis
When the build is running with a base ruby then generating `x64-ucrt-ruby320.rc` could fail due to a missing dependency to `x64-mingw-ucrt-fake.rb`. This commit adds this dependency. A failing build looks like so: ``` generating x64-mingw-ucrt-fake.rb generating x64-ucrt-ruby320.rc ../snapshot-master/win32/resource.rb:in `require': cannot load such file -- ./x64-mingw-ucrt-fake (LoadError) make: *** [GNUmakefile:57: x64-ucrt-ruby320.rc] Error 1 make: *** Waiting for unfinished jobs.... linking miniruby.exe x64-mingw-ucrt-fake.rb updated ``` Notes: Merged: https://github.com/ruby/ruby/pull/6347
2022-09-03Make sources by BASERUBY if available instead of minirubyNobuyoshi Nakada
2022-09-03Reuse macros defined in Makefile.inNobuyoshi Nakada
2022-07-06Suppress msys2 pathname conversion also at single test runs [ci skip]Nobuyoshi Nakada
2021-10-02Suppress maybe-uninitialized warning on mingwNobuyoshi Nakada
The compilation time pragma seems not applied to inline functions expanded by the link time optimization. The local variable `mi` in thread_win32.c:native_thread_init_stack is warned.
2021-03-21Share variables defined in common GNUmakefile also in cygwin/mingwNobuyoshi Nakada
2021-02-01Fix for windres 2.36 [Bug #17602]Nobuyoshi Nakada
Add --preprocessor and --preprocessor-arg for each preprocessor command arguments, as windres 2.36 requires preprocessor name and arguments to be separated to respect spaces in these paths.
2020-05-27Merged recipes for the same targetNobuyoshi Nakada
2020-05-27Removed obsolete forwarding DLL recipeNobuyoshi Nakada
It has never been created by default, and no reason to keep binary compatibility against extension libraries for ruby 1.8. 1. `LIBRUBY_SO` on Cygwin was named originally. - 94089e82a12:: `$(RUBY_INSTALL_NAME)-cygwin.dll` - f0ba57341ac:: `$(RUBY_INSTALL_NAME).cygwin.dll` - c74a3b21f59:: `cygwin-$(RUBY_INSTALL_NAME)-$(MAJOR).$(MINOR).dll` 2. And then renamed to be net distribution compliant. - 6f059f33ef1:: `cyg$(RUBY_SO_NAME)$(MAJOR)$(MINOR).dll` 3. Next at 430eabfe139, forwarding DLL was added for binary compatibility against extension libraries.
2020-03-29Set `gnumake` in GNUmakefile for cygwinNobuyoshi Nakada
It was moved from defs/gmake.mk at 88f4ebac83a, for use in dependency rule lines.
2017-02-10MFLAGS for nmakenobu
* common.mk (mflags): pass make flags to sub-makes, for nmake which cannot pass them by the environment variable. * defs/gmake.mk (mflags): filter out -j option for sub-makes. * template/exts.mk.tmpl (MFLAGS): extract MFLAGS from sub extmk files for nmake. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-20Keep -jN optionnobu
* {cygwin,template}/GNUmakefile.in (MFLAGS, MAKEFLAGS): keep -jN option. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-20rubystubnobu
* rubystub.c: generalize win32/stub.c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-19Revert r55968 "scriptbin on cygwin"nobu
win32/stub.c only works with malloced argv as win32/win32.c, to realloc it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55969 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-19scriptbin on cygwinnobu
* cygwin/GNUmakefile.in (scriptbin): enable on cygwin. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-19strip stub programnobu
* cygwin/GNUmakefile.in (STUBPROGRAM): strip. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55967 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-26Remove -jN optionnobu
* {cygwin,template}/GNUmakefile.in (MAKEFLAGS): remove -jN option from MAKEFLAGS as well as MFLAGS. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-20Update cygwin/GNUmakefile.innobu
* cygwin/GNUmakefile.in: remove -jN option from submake, and include defs/gmake.mk to serialize test targets. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-23GNUmakefile.in: fix MSYS2_ARG_CONV_EXCLnobu
* cygwin/GNUmakefile.in (MSYS2_ARG_CONV_EXCL_PARAM): * add missing parentheses and remove double quotes. * rename to get rid of recursive references. * as --excludes-dir option is for a path name, its argument should be converted. [ruby-dev:49526] [Bug #12199] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-21suppress msys2 pathname conversionnobu
* common.mk (TEST_EXCLUDES, EXCLUDE_TESTFRAMEWORK): use full spell long option. * cygwin/GNUmakefile.in (MSYS2_ARG_CONV_EXCL): suppress path name conversions by msys2. [ruby-dev:49525] [Bug #12199] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-09fix rc files conflict in parallel buildnobu
* cygwin/GNUmakefile.in (%.rc): generate .rc files separately to get rid of conflict in parallel build. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-09fix library teenynobu
* configure.in, win32/Makefile.sub: fix teeny of library version to 0. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-26win32.c: fake lchownnobu
* win32/win32.c (lchown, rb_w32_ulchown): fake lchown. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-04stub.o: under win32nobu
* cygwin/GNUmakefile.in, win32/Makefile.sub (stub.o): make under win32 directory. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-08GNUmakefile.in: fix dependencynobu
* cygwin/GNUmakefile.in: fix dependency, win32.o should be under win32 directory. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-28GNUmakefile.in: append resources alwaysnobu
* cygwin/GNUmakefile.in (EXTOBJS): override to add resource files always. [ruby-core:67153] [Bug #10657] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-05* cygwin/GNUmakefile.in (uncommon.mk): link *.res.o.shirosaki
EXTOBJES is defined in uncommon.mk. *.res.o setting should be below uncommon.mk. [ruby-core:48858] [Bug #7277] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-17extmk.rb: fix mingw make failure with make -jNshirosaki
* common.mk (WPROGRAM): need same dependencies as PROGRAM. * cygwin/GNUmakefile.in (uncommon.mk): move include position below WPROGRAM definition to be defined in uncommon.mk. * ext/extmk.rb (all, static): fix make rubyw.exe failure with make -jN. If make of ruby.exe and rubyw.exe run in parallel, link dll and link exe run in parallel, which causes link failure on mingw. To fix this, we make ruby.exe and rubyw.exe in one make process. [ruby-core:48007] [Bug #7165] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-10* cygwin/GNUmakefile.in (SCRIPTPROGRAMS): ignore backup files and etc.nobu
* cygwin/GNUmakefile.in (scriptbin): set executable bit. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-19* cygwin/GNUmakefile.in, win32/Makefile.sub (clean): rc files arenobu
made at compile time, so should be removed by clean. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-18* cygwin/GNUmakefile.in (SCRIPTPROGRAMS): no needs on cygwin.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-12* Makefile.in, common.mk, cygwin/GNUmakefile.in, enc/depend,nobu
ext/ripper/depend, lib/mkmf.rb, win32/Makefile.sub: caddle up. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-11 * cygwin/GNUmakefile.in: shorten messages.nobu
* Makefile.in (install-cross, ext/extinit.o): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-11* configure.in (SYMBOL_PREFIX): separate from EXPORT_PREFIX.nobu
* win32/mkexports.rb (Exports#each_export): use SYMBOL_PREFIX. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-09* cygwin/GNUmakefile.in (scriptbin): make executable file fromnobu
scripts with stub. * ruby.c (load_file_internal): assume xflag for exe file as well as no-shebang file. * tool/rbinstall.rb: install script programs. * win32/mkexports.rb (Exports#initialize): alias ruby_sysinit for stub. * win32/stub.c: stub for scripts. [EXPERIMENTAL] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-16* Makefile.in (CPP): already used in .c.i rule.nobu
* cygwin/GNUmakefile.in (DLLWRAP, WINDRES): add --driver-name and --preprocessor options explicitly. [ruby-core:32776] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-08git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29425 ↵nobu
b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-07* cygwin/GNUmakefile.in, win32/Makefile.sub (RCFILES): depend onnobu
real config.rb file. [ruby-core:32709] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-02* cygwin/GNUmakefile.in (RUBYDEF): uses mkexports.rb on cygwin too.nobu
* win32/mkexports.rb (Exports::Cygwin): added. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-02* cygwin/GNUmakefile.in (dir.o, win32.o): depend on win32/dir.h.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21964 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-30* cygwin/GNUmakefile.in (RUBYDEF): depends on makefiles.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-30* cygwin/GNUmakefile.in (RUBYDEF): adds DATA to non-function symbolsnobu
which is not marked as T. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-27* cygwin/GNUmakefile.in (RUBYDEF): needs DATA marks to exportnobu
non-function symbols. [ruby-core:21582] * win32/mkexports.rb (Exports::Mingw#each_export): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-25* cygwin/GNUmakefile.in (RUBYDEF): needs read-only section too.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-20* Makefile.in (miniruby): renames and then removes, to get rid ofnobu
EPERM on cygwin and mingw. * Makefile.in ($(LIBRUBY_SO)): use wildcard option of objcopy. * configure.in (DLDFLAGS): do not export all symbols. * cygwin/GNUmakefile.in (RUBYDEF): rejects symbols prefixex with Init_. * win32/mkexports.rb (Exports::Mingw): includes all symbols except for prefixed with Init_ as well as mswin32. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-22* cygwin/GNUmakefile.in (rubydll.def), win32/mkexports.rbnobu
(Exports#exports): added VERSION. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-17* common.mk (ID_H_TARGET): phony target to update id.h.nobu
* tool/ifchange, win32/ifchange.bat: --timestamp option added. * tool/generic_erb.rb: --timestamp, --output and --if-change options added. * template/id.h.tmpl: moved from id.h. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-17* configure.in (uncommon.mk): ignores failures at loading.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e