diff options
Diffstat (limited to 'cygwin/GNUmakefile.in')
-rw-r--r-- | cygwin/GNUmakefile.in | 45 |
1 files changed, 27 insertions, 18 deletions
diff --git a/cygwin/GNUmakefile.in b/cygwin/GNUmakefile.in index 095d9d8d1e..192a8cc711 100644 --- a/cygwin/GNUmakefile.in +++ b/cygwin/GNUmakefile.in @@ -2,20 +2,27 @@ gnumake = yes include Makefile -ENABLE_SHARED=@ENABLE_SHARED@ -DLLWRAP = @DLLWRAP@ --target=@target_os@ --driver-name="$(CC)" -windres-cpp := $(CPP) -xc -windres-cpp := --preprocessor=$(firstword $(windres-cpp)) \ - $(addprefix --preprocessor-arg=,$(wordlist 2,$(words $(windres-cpp)),$(windres-cpp))) +DLLWRAP = @DLLWRAP@ --target=$(target_os) --driver-name="$(CC)" +ifeq (@USE_LLVM_WINDRES@,yes) # USE_LLVM_WINDRES + # llvm-windres fails when preprocessor options are added + windres-cpp := +else + windres-cpp := $(CPP) -xc + windres-cpp := --preprocessor=$(firstword $(windres-cpp)) \ + $(addprefix --preprocessor-arg=,$(wordlist 2,$(words $(windres-cpp)),$(windres-cpp))) +endif WINDRES = @WINDRES@ $(windres-cpp) -DRC_INVOKED STRIP = @STRIP@ -ifeq (@target_os@,cygwin) +ifeq ($(target_os),cygwin) DLL_BASE_NAME := $(LIBRUBY_SO:.dll=) else DLL_BASE_NAME := $(RUBY_SO_NAME) DLLWRAP += -mno-cygwin VPATH := $(VPATH):$(srcdir)/win32 + ifneq ($(filter -flto%,$(LDFLAGS)),) + miniruby$(EXEEXT): XLDFLAGS += -Wno-maybe-uninitialized + endif endif ifneq ($(ENABLE_SHARED),yes) @@ -35,35 +42,36 @@ WPROGRAM = $(RUBYW_INSTALL_NAME)$(EXEEXT) include $(srcdir)/template/GNUmakefile.in -SOLIBS := $(DLL_BASE_NAME).res.@OBJEXT@ $(SOLIBS) +SOLIBS := $(DLL_BASE_NAME).res.$(OBJEXT) $(SOLIBS) override EXTOBJS += $(if $(filter-out $(RUBYW_INSTALL_NAME),$(@:$(EXEEXT)=)),$(RUBY_INSTALL_NAME),$(@:$(EXEEXT)=)).res.$(OBJEXT) RCFILES = $(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(DLL_BASE_NAME).rc RUBYDEF = $(DLL_BASE_NAME).def +override LIBRUBY_FOR_LEAKED_GLOBALS := # DLL shows symbols from import library ruby: $(PROGRAM) rubyw: $(WPROGRAM) $(LIBRUBY): $(RUBY_EXP) $(LIBRUBY_SO) -$(RUBY_EXP) $(LIBRUBY_SO): $(DLL_BASE_NAME).res.@OBJEXT@ +$(RUBY_EXP) $(LIBRUBY_SO): $(DLL_BASE_NAME).res.$(OBJEXT) -%.res.@OBJEXT@: %.rc +%.res.$(OBJEXT): %.rc $(ECHO) compiling $@ $(Q) $(WINDRES) --include-dir . --include-dir $(<D) --include-dir $(srcdir)/win32 $< $@ -%.rc: $(RBCONFIG) $(srcdir)/revision.h $(srcdir)/win32/resource.rb +%.rc: $(BOOTSTRAPRUBY_FAKE) $(RBCONFIG) $(srcdir)/revision.h $(srcdir)/win32/resource.rb $(ECHO) generating $@ - $(Q) $(MINIRUBY) $(srcdir)/win32/resource.rb \ + $(Q) $(BOOTSTRAPRUBY_COMMAND) $(srcdir)/win32/resource.rb \ -ruby_name=$(RUBY_INSTALL_NAME) -rubyw_name=$(RUBYW_INSTALL_NAME) \ -so_name=$(DLL_BASE_NAME) -output=$(*F) \ . $(icondirs) $(srcdir)/win32 -$(PROGRAM): $(RUBY_INSTALL_NAME).res.@OBJEXT@ -$(WPROGRAM): $(RUBYW_INSTALL_NAME).res.@OBJEXT@ +$(PROGRAM): $(RUBY_INSTALL_NAME).res.$(OBJEXT) +$(WPROGRAM): $(RUBYW_INSTALL_NAME).res.$(OBJEXT) @rm -f $@ $(ECHO) linking $@ $(Q) $(PURIFY) $(CC) -mwindows -e $(SYMBOL_PREFIX)mainCRTStartup $(LDFLAGS) $(XLDFLAGS) \ $(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(LIBS) -o $@ -$(STUBPROGRAM): $(RUBY_INSTALL_NAME).res.@OBJEXT@ +$(STUBPROGRAM): $(RUBY_INSTALL_NAME).res.$(OBJEXT) $(RUBY_EXP): $(LIBRUBY_A) $(ECHO) creating $@ @@ -75,7 +83,7 @@ $(RUBY_EXP): $(LIBRUBY_A) GNUmakefile: $(srcdir)/cygwin/GNUmakefile.in -ifeq (@target_os@,mingw32) +ifeq ($(target_os),mingw32) $(OBJS) $(MAINOBJ): win32.h dir.$(OBJEXT) win32/win32.$(OBJEXT): win32/dir.h @@ -86,16 +94,17 @@ MSYS2_ARG_CONV_EXCL_PARAM = --exclude=;--name= yes-test-ruby: export MSYS2_ARG_CONV_EXCL=$(MSYS2_ARG_CONV_EXCL_PARAM) yes-test-all: export MSYS2_ARG_CONV_EXCL=$(MSYS2_ARG_CONV_EXCL_PARAM) yes-test-almost: export MSYS2_ARG_CONV_EXCL=$(MSYS2_ARG_CONV_EXCL_PARAM) +test/% spec/%/ spec/%_spec.rb: export MSYS2_ARG_CONV_EXCL=$(MSYS2_ARG_CONV_EXCL_PARAM) endif $(LIBRUBY_SO): $(RUBYDEF) -$(RUBYDEF): $(LIBRUBY_A) $(PREP) $(RBCONFIG) +$(RUBYDEF): $(LIBRUBY_A) $(PREP) $(BOOTSTRAPRUBY_FAKE) $(RBCONFIG) $(ECHO) generating $@ - $(Q) $(MINIRUBY) $(srcdir)/win32/mkexports.rb -output=$@ $(LIBRUBY_A) + $(Q) $(BOOTSTRAPRUBY_COMMAND) $(srcdir)/win32/mkexports.rb -output=$@ $(LIBRUBY_A) clean-local:: @$(RM) $(RUBYDEF) - @$(RM) $(RUBY_EXP) $(RCFILES:.rc=.res.@OBJEXT@) + @$(RM) $(RUBY_EXP) $(RCFILES:.rc=.res.$(OBJEXT)) @$(RM) $(RCFILES) |