diff options
author | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-10-25 08:16:34 +0000 |
---|---|---|
committer | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-10-25 08:16:34 +0000 |
commit | 2c40007895871728245d608b25bfdfe449e9afd4 (patch) | |
tree | f2c42644163b44300b12c712c8315b859f73c76b /win32/Makefile.sub | |
parent | 9b1d07629dd10bba5b70e48ad059543fc9bd60b0 (diff) |
merge revision(s) 34849,34853,34854,34855,34859,34862,35384,35385,36811,36812,36850,36907,36908: [Backport #7174]
* Makefile.in (PLATFORM_DIR): add a variable for `win32` directory.
* Makefile.in (clean-platform): add new target.
It cleans `win32` directory.
* common.mk (clean): add a dependency for `win32` directory.
* common.mk (distclean): ditto.
* common.mk (distclean-platform): add new target.
It cleans `win32` directory.
* common.mk ($(PLATFORM_D)): add new target to make `win32` directory.
* common.mk (win32/win32.$(OBJEXT)): move win32.o into `win32`
directory.
* common.mk (win32/file.$(OBJEXT)): add new target for win32/file.c.
* configure.in: move win32.o into `win32` directory and add
win32/file.o to MISSING.
* file.c (file_load_ok, rb_file_load_ok): replace static
file_load_ok() with public rb_file_load_ok().
It's to link Windows implementation in win32/file.c.
* file.c (rb_find_file_ext_safe): ditto.
* file.c (rb_find_file_safe): ditto.
* win32/file.c (rb_file_load_ok): new file. Add Windows specific
optimized implementation of rb_file_load_ok(). We created a
separated file to avoid too many #ifdef macro which is unreadable.
* win32/Makefile.sub (PLATFORM_DIR): add a variable for `win32`
directory.
* win32/Makefile.sub (MISSING): move win32.obj into `win32`
directory and add win32/file.obj to MISSING.
* win32/Makefile.sub (MAKEDIRS): replace MINIRUBY with BASERUBY.
It's because miniruby doesn't exist when making `win32` directory.
* win32/Makefile.sub (clean-platform): add new target to clean `win32`
directory.
* win32/Makefile.sub ({$(srcdir)}.c{}.obj): make it not match
win32/file.c to build properly.
* win32/Makefile.sub (win32/win32.$(OBJEXT)): move win32.obj into
`win32` directory.
Patch created with Luis Lavena.
[ruby-core:42480] [Feature #5999]
* win32/Makefile.sub (MAKEDIRS): use mkdir of cmd.exe instead of ruby.
[Bug #6103] [ruby-core:43012]
* win32/README.win32: added a notice about command extension of cmd.exe.
* win32/makedirs.bat: new command to make intermediate
directories, and not to report any errors if the directory
already exists.
* win32/Makefile.sub (MAKEDIRS): enable command extensions.
* win32/file.c (INVALID_FILE_ATTRIBUTES): define for old SDK.
* configure.in (mingw): add shlwapi to the list of dependency
libs for Windows.
* win32/Makefile.sub (EXTSOLIBS): ditto.
* internal.h: declare internal functions rb_w32_init_file,
rb_file_expand_path_internal and rb_file_expand_path_fast.
* file.c (Init_File): invoke Windows initialization rb_w32_init_file
* win32/file.c (rb_file_load_path_internal): new function.
Windows-specific implementation that replaces file_expand_path.
[Bug #6836][ruby-core:46996]
* win32/file.c (rb_w32_init_file): new function. Initialize codepage
cache for faster conversion encodings lookup.
* file.c (file_expand_path): rename to rb_file_expand_path_internal.
Conditionally exclude from Windows.
* file.c (rb_file_expand_path_fast): new function. delegates to
rb_file_expand_path_internal without performing a hit to the
filesystem.
* file.c (file_expand_path_1): use rb_file_expand_path_internal without
path expansion (used by require).
* file.c (rb_find_file_ext_safe): ditto.
* file.c (rb_find_file_safe): ditto.
* load.c (rb_get_expanded_load_path): use rb_file_expand_path_fast.
* load.c (rb_feature_provided): ditto.
* file.c (rb_file_expand_path): use rb_file_expand_path_internal with
path expansion.
* file.c (rb_file_absolute_path): ditto.
* test/ruby/test_file_exhaustive.rb: new tests to exercise
rb_file_expand_path_internal implementation and compliance with
existing behaviors.
* test/ruby/test_file_exhaustive.rb: fix test introduced in r36811 for
posix environments where HOME is not defined. [ruby-core:47322]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'win32/Makefile.sub')
-rw-r--r-- | win32/Makefile.sub | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/win32/Makefile.sub b/win32/Makefile.sub index 3733dc8a47..ce354ca3e4 100644 --- a/win32/Makefile.sub +++ b/win32/Makefile.sub @@ -74,6 +74,7 @@ RM = $(COMSPEC) /C $(srcdir:/=\)\win32\rm.bat RMDIR = $(COMSPEC) /C $(srcdir:/=\)\win32\rmdirs.bat RMDIRS = $(COMSPEC) /C $(srcdir:/=\)\win32\rmdirs.bat RMALL = $(COMSPEC) /C $(srcdir:/=\)\win32\rmall.bat +MAKEDIRS = $(COMSPEC) /E:ON /C $(srcdir:/=\)\win32\makedirs.bat CP = copy > nul MV = move > nul !if !defined(BASERUBY) @@ -122,6 +123,9 @@ PLATFORM = mswin32 !ifdef NTVER ARCHDEFS = -D_WIN32_WINNT=$(NTVER) $(ARCHDEFS) !endif +!if !defined(PLATFORM_DIR) +PLATFORM_DIR = win32 +!endif arch = $(ARCH)-$(PLATFORM) sitearch = $(ARCH)-$(RT) @@ -219,13 +223,13 @@ RFLAGS = -r EXTLIBS = !endif !if !defined(LIBS) -LIBS = oldnames.lib user32.lib advapi32.lib shell32.lib ws2_32.lib imagehlp.lib $(EXTLIBS) +LIBS = oldnames.lib user32.lib advapi32.lib shell32.lib ws2_32.lib imagehlp.lib shlwapi.lib $(EXTLIBS) !endif !if "$(ENABLE_WIN95)" == "yes" LIBS = unicows.lib $(LIBS) !endif !if !defined(MISSING) -MISSING = acosh.obj cbrt.obj crypt.obj erf.obj ffs.obj langinfo.obj lgamma_r.obj strlcat.obj strlcpy.obj tgamma.obj win32.obj setproctitle.obj +MISSING = acosh.obj cbrt.obj crypt.obj erf.obj ffs.obj langinfo.obj lgamma_r.obj strlcat.obj strlcpy.obj tgamma.obj win32/win32.obj win32/file.obj setproctitle.obj !endif ARFLAGS = -machine:$(MACHINE) -out: @@ -286,8 +290,6 @@ DEFAULT_PRELUDES = $(NO_GEM_PRELUDE) DEFAULT_PRELUDES = $(YES_GEM_PRELUDE) !endif -MAKEDIRS = $(MINIRUBY) -run -e mkdir -- -p - !if !defined(STACK) !if "$(ARCH)" == "x64" || "$(ARCH)" == "ia64" STACK = 0x400000 @@ -920,6 +922,10 @@ clean-rdoc distclean-rdoc realclean-rdoc: clean-capi distclean-capi realclean-capi: -$(Q)$(RMALL) $(CAPIOUT:/=\) +clean-platform: + $(Q)$(RM) $(PLATFORM_D:/=\) + -$(Q)$(RMDIR) $(PLATFORM_DIR:/=\) + clean-ext distclean-ext realclean-ext:: !if "$(EXTS)" != "" @for %I in ($(EXTS)) \ @@ -993,7 +999,7 @@ $(ruby_pc): $(RBCONFIG) {$(win_srcdir)/sys}.c.obj: $(ECHO) compiling $(<:\=/) $(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c -Tc$(<:\=/) -{$(srcdir)}.c.obj: +{$(srcdir)}.c{}.obj: $(ECHO) compiling $(<:\=/) $(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c -Tc$(<:\=/) .c.obj: @@ -1040,7 +1046,7 @@ enc/unicode/name2ctype.h: {$(srcdir)}enc/unicode/name2ctype.h.blt $(OBJS): {$(hdrdir)/ruby}win32.h -dir.$(OBJEXT) win32.$(OBJEXT): {$(srcdir)}win32/dir.h +dir.$(OBJEXT) win32/win32.$(OBJEXT): {$(srcdir)}win32/dir.h ext/extinit.obj: ext/extinit.c $(SETUP) $(ECHO) compiling ext/extinit.c |