diff options
Diffstat (limited to 'ext/zlib/extconf.rb')
-rw-r--r-- | ext/zlib/extconf.rb | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/ext/zlib/extconf.rb b/ext/zlib/extconf.rb index 47a15b1b20..c59ef7fd44 100644 --- a/ext/zlib/extconf.rb +++ b/ext/zlib/extconf.rb @@ -21,11 +21,27 @@ else zsrc = dirs.max_by {|x| x.scan(/\d+/).map(&:to_i)} end if zsrc + addconf = [ + "ZSRC = $(srcdir)/#{File.basename(zsrc)}\n", + "all:\n", + ] $INCFLAGS << " -I$(ZSRC)" if $mswin or $mingw $libs = append_library($libs, "zdll") dll = "zlib1.dll" + $extso << dll + addconf.push( + "ZIMPLIB = zdll.lib\n", + "$(TARGET_SO): $(ZIMPLIB)\n", + "$(ZIMPLIB):\n", + "\t$(MAKE) -f $(ZSRC)/win32/Makefile.#{$nmake ? 'msc' : 'gcc'} TOP=$(ZSRC) $@\n", + "install-so: $(topdir)/#{dll}", + "$(topdir)/#{dll}: $(ZIMPLIB)\n", + "\t$(Q) $(COPY) #{dll} $(@D)\n", + ) end + Logging.message "using zlib in #{zsrc}\n" + $defs << "-DHAVE_ZLIB_H" have_zlib = true end end @@ -82,17 +98,7 @@ if have_zlib create_makefile('zlib') {|conf| if zsrc - conf << "ZSRC = $(srcdir)/#{File.basename(zsrc)}\n" - conf << "all:\n" - if $mingw or $mswin - conf << "ZIMPLIB = zdll.lib\n" - conf << "$(TARGET_SO): $(ZIMPLIB)\n" - conf << "$(ZIMPLIB):\n" - conf << "\t$(MAKE) -f $(ZSRC)/win32/Makefile.#{$nmake ? 'msc' : 'gcc'} TOP=$(ZSRC) $@\n" - conf << "install-so: $(topdir)/#{dll}" - conf << "$(topdir)/#{dll}: $(ZIMPLIB)\n" - conf << "\t$(Q) $(COPY) #{dll} $(@D)\n" - end + conf.concat addconf if addconf end conf } |