summaryrefslogtreecommitdiff
path: root/cygwin/GNUmakefile.in
diff options
context:
space:
mode:
Diffstat (limited to 'cygwin/GNUmakefile.in')
-rw-r--r--cygwin/GNUmakefile.in8
1 files changed, 8 insertions, 0 deletions
diff --git a/cygwin/GNUmakefile.in b/cygwin/GNUmakefile.in
index 83f47f984c..5d87139b8d 100644
--- a/cygwin/GNUmakefile.in
+++ b/cygwin/GNUmakefile.in
@@ -55,3 +55,11 @@ GNUmakefile: $(srcdir)/cygwin/GNUmakefile.in
ifeq (@target_os@,mingw32)
$(OBJS) $(MAINOBJ): win32/win32.h
endif
+
+ifeq (@target_os@,cygwin)
+cygwin-$(RUBY_INSTALL_NAME)$(MAJOR)$(MINOR).dll: $(LIBRUBY_A)
+ @NM@ --extern --defined $(LIBRUBY_A) | \
+ $(MINIRUBY) -ne 'BEGIN{puts "EXPORTS"}; puts $$1+"=cyg$(RUBY_INSTALL_NAME)$(MAJOR)$(MINOR)."+$$1 if / [CDT] _(.*)$$/' >rubydll.def
+ @DLLWRAP@ --driver-name=$(CC) -s --def=rubydll.def -o $@
+ @rm -f rubydll.def
+endif