Commit graph

1269 commits

Author SHA1 Message Date
nobu
e7184e7a53 * win32/README.win32 (Requirement): added unicows.lib and dll.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-04 15:06:39 +00:00
nobu
d34f9699fc * configure.in, win32/configure.bat (--enable-win95): new option
to enable/disable win95 support.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-04 14:29:58 +00:00
nobu
43ba7d0058 * configure.in (mingw): checks if unicows.lib is available.
* win32/Makefile.sub (LIBS): links unicows.lib if available.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-04 11:27:12 +00:00
nobu
6e7d7bf5dd * include/ruby/win32.h (WIN95): moved to config.h
* win32/Makefile.sub (config.h): defines WIN95 only if unicows.lib
  is available.

* win32/setup.mak (-unicows-): checks if unicows.lib is available.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-04 10:35:28 +00:00
nobu
a8c4a7e44c * win32/win32.c (init_env): keeps wide chars as wide chars.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-02 03:22:14 +00:00
nobu
25d66aebcc * common.mk (INSNS, newline.c, miniprelude.c, prelude.c),
(node_name.inc, known_errors.inc): unified from Makefile.in and
  win32/Makefile.sub.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-26 09:36:13 +00:00
usa
a898f0fb4b * io.c (sysopen_func, rb_sysopen_internal, rb_sysopen): open file
by UTF-16'ed filename on Windows.

	* io.c (rb_file_open_generic, rb_io_s_sysopen, rb_io_reopen,
	  argf_next_argv): follow above change.

	* io.c (rb_scan_open_args): no longer need to convert filepath here on
	  Windows.

	* win32/wio32.c (rb_w32_wopen): new function to open file by UTF-16'ed
	  filename.

	* win32/win32.c (rb_w32_open): call rb_w32_open().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-25 08:36:45 +00:00
usa
3540727af5 * win32/Makefile.sub (config.status): use un.rb as cp instead of
cmd.exe's copy command.

	* lib/mkmf.rb (create_makefile): no longer need to convert path
	  separator when copying file.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-25 06:07:10 +00:00
nobu
9632241261 * common.mk (main): split from exts and makes main program after
building exts with miniruby, to get rid of overwriting running
  program.  [ruby-core:22339]

* Makefile.in, win32/Makefile.sub (RUNCMD, MKMAIN_CMD): macros to
  run script file.

* ext/extmk.rb (parse_args): added --command-output option which
  creates script file to make main program.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-24 10:01:08 +00:00
nobu
6d3ceb6ce3 * configure.in, */Makefile.sub (LOAD_RELATIVE): moved from ruby.c
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-19 05:48:14 +00:00
nobu
1e5de389da * debug.c (set_debug_option): added rtc_error option.
* win32/Makefile.sub (CRTDEFFLAGS): separated from DEFS.

* win32/win32.c (rtc_error_handler): ignores RTC errors unless
  rtc_error debug option is given.

* win32/win32.c (rb_w32_sysinit): suppress useless CRT assertions.
  [ruby-core:22116]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-16 07:46:24 +00:00
nobu
82fa04e212 * win32/win32.c (_CrtDbgReportW): prevent from false positive
assertions in msvcrtd.  [ruby-core:22116]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-15 16:18:01 +00:00
usa
7e1050e604 * win32/win32.c (rb_w32_readdir_with_enc): fallback to OS convertion
when ASCII-8BIT is passed.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-06 09:18:46 +00:00
usa
6343c99a2e * win32/{dir.h, win32.c} (rb_w32_readdir_with_enc): new function to
read entry with specified enc.

	* win32/win32.c (readdir_internal): extract from rb_w32_opendir().

	* win32/win32.c (opendir_internal): extract from rb_w32_readdir().

	* dir.c (dir_read, dir_each): use new READDIR macro instead of readdir()
	  to pass enc for special version of readdir, such as above.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-06 08:23:00 +00:00
usa
1754ec8a59 * win32/Makefile.sub (config.h): follow recent changes about paths.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-05 07:05:05 +00:00
usa
fbea35aa47 * win32/mkexports.rb: shouldn't export DllMain.
reported at 1233686068/21



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-04 02:50:04 +00:00
nobu
5ac71d9f9e * cygwin/GNUmakefile.in (RUBYDEF): uses mkexports.rb on cygwin too.
* 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 23:18:30 +00:00
nobu
209cfdcfb5 * win32/win32.c (rb_w32_write): use of cast expressions as lvalues
is deprecated.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-02 23:01:43 +00:00
usa
b204d48f76 * mkconfig.rb: patchlevel is somtimes minus.
* win32/resource.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-02 08:14:06 +00:00
usa
197747f7d6 * win32/dir.h: forgot to commit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-02 05:19:51 +00:00
usa
41e770944e * win32/win32.c (open_dir_handle, rb_w32_opendir, move_to_next_entry,
rb_w32_readdir, check_valid_dir): change backend API from A to W.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-02 01:59:05 +00:00
usa
7a4a31064a * win32/win32.c (rb_w32_write): limit write size to 32KB if the file
seems to be console.  [ruby-core:21613]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-30 09:08:19 +00:00
nobu
9c29032c73 * cygwin/GNUmakefile.in (RUBYDEF): needs DATA marks to export
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-27 05:41:38 +00:00
nobu
d232a50435 * lib/mkmf.rb (try_header): checks the header depending on
platform.

* lib/mkmf.rb (have_header, find_header): use try_header.

* win32/Makefile.sub (try_header): uses try_compile to get rid of
  slow -E option of VC.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-27 02:09:47 +00:00
nobu
c938de20cd * common.mk (distclean-enc, realclean-enc): do not call clean of
enc.mk twice or more.

* enc/depend (cleanobjs): added deffile.

* lib/mkmf.rb (create_makefile): removes deffile at clean instead
  of distclean.

* win32/Makefile.sub (miniruby, LIBRUBY_SO): removes lib and exp
  files.

* win32/Makefile.sub (clean, distclean): have moved to common.mk.

* win32/rmdirs.bat: omits `not empty' message.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-27 02:03:54 +00:00
nobu
0243b1d29c * win32/Makefile.sub (clean-ext): condition of EXTS was inverted.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-25 03:03:00 +00:00
nobu
0834056aec * common.mk (clean-extout): removes extout directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-25 02:23:47 +00:00
nobu
97de7d1081 * Makefile.in, win32/Makefile.sub (RMDIRS): remove directory and
parents.

* Makefile.in, win32/Makefile.sub (distclean-rdoc): added to remove
  temprary rdoc.

* Makefile.in, win32/Makefile.sub (distclean): removes extout
  directory.

* Makefile.in, win32/Makefile.sub (clean-ext): skips non-existent
  directories.

* common.mk (clean, distclean): cleans rdoc.

* configure.in (RMDIRS, RMALL): added to clean extout.

* lib/fileutils.rb (FileUtils#rmdir): added :parents option.

* lib/mkmf.rb (create_makefile): cleans installed files at clean
  instead of distclean.

* lib/mkmf.rb (create_makefile): added clean-so and clean-rb.

* lib/mkmf.rb (def init_mkmf): added DISTCLEANDIRS.

* lib/un.rb (rmdir): added -p option.

* tool/rmdirs, win32/rmdirs.bat: removes directory and the parents.

* win32/rm.bat: added -r option.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-25 02:06:29 +00:00
usa
9e83ce20b1 * revert previous revision. it's already out-of-date.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-22 07:13:40 +00:00
usa
a3e8d63a75 * include/ruby/win32.h, win32/win32.c (rb_w32_is_valid_fd): new function
to validate fd.

	* io.c (rb_io_initialize): check fd with above function.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-22 06:55:20 +00:00
nobu
2d03f7274f * Makefile.in (miniruby): renames and then removes, to get rid of
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
2009-01-20 06:32:36 +00:00
yugui
fe011304e7 * configure.in (VCSUP): fixed the cases for git-svn or git.
* win32/Makefile.sub (VCSUP): ditto.

* Makefile.in (up): `cd' is necessary for git and git-svn.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-17 10:40:51 +00:00
usa
75412a4322 * win32/Makefile.sub (up): tell nmake that need to run command via
shell.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-16 09:53:17 +00:00
nobu
72aa4a8c46 * configure.in (Makefile): set VCS and VCSUP.
* Makefile.in, win32/Makefile.sub (up): split from common.mk.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21602 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-16 08:33:02 +00:00
usa
c68fdad473 * win32/Makefile.sub ($(INSNS), node_name.inc, known_errors.inc,
miniprelude.c, newline.c): if dependencies is newer than targets or
	  targets don't exist, try to create targets with BASERUBY. no need to
	  detect errors there because the absence of BASERUBY is not abnormal.
	  after the try, if the targets still don't exist, copy them from
	  $(srcdir).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-16 03:38:58 +00:00
usa
f1e87dd9ac * include/ruby/ruby.h (PRI_PTRDIFF_PREFIX): must define as string.
if not, cause compile error in using PRI?VALUE.

	* win32/Makefile.sub (config.h): add SIZEOF_INTPTR_T and
	  SIZEOF_UINTPTR_T for SIZEOF_VALUE.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-16 03:18:09 +00:00
usa
a9cd6cc0a1 * win32/Makefile.sub ($(INSNS), node_name.inc, known_errors.inc,
miniprelude.c, newline.c): shoudn't copy when $(srcdir) != ".", too.
	  (this is a workaround.  we need more strict check.)

	* win32/Makefile.sub ($(INSNS)): shound't remove BASERUBY.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-15 15:23:59 +00:00
usa
ec033198bf * win32/Makefile.sub (COMPILERFLAG): for enc/trans/gb18030.c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-15 04:14:18 +00:00
nobu
ece0628ebe * configure.in, win32/Makefile.sub (MISSING): added langinfo on mingw
and mswin.

* encoding.c (rb_locale_charmap): use environments on mingw and mswin.

* missing/langinfo.c (nl_langinfo_codeset): MS-Windows Japanese
  environment uses Windows-31J derived from Shift_JIS, not EUC-JP.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-15 04:10:16 +00:00
usa
9e99ce3831 * win32/Makefile.sub ($(INSNS), node_name.inc, known_errors.inc,
miniprelude.c, newline.c): copy only when $(srcdir) != pwd.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-15 03:11:42 +00:00
nobu
2717a2eb6e * win32/win32.c (rb_w32_aspawn): should not escape with carret
unless using cmd.exe.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-14 04:19:28 +00:00
usa
50258b19fd * include/ruby/intern.h, thread.c, win32/Makefile.sub (rb_fdset_t,
rb_fd_init, rb_fd_term, rb_fd_zero, rb_fd_set, rb_fd_clr, rb_fd_isset,
	  rb_fd_select, rb_fd_ptr, rb_fd_max, HAVE_RB_FD_INIT): new type,
	  functions, and macros for Windows.

	* win32/win32.c (extract_fd, rb_w32_select): use rb_fdset_t to expand
	  fd_array if needed.  [ruby-core:19946]

	* win32/win32.c (copy_fd): new funcion for rb_w32_select().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-13 07:52:22 +00:00
nobu
dea3ad3cba * win32/win32.c (internal_cmd_match): extracted from
is_internal_cmd.

* win32/win32.c (argv_size, join_argv): escapes redirection, pipe
  and carret punctuations with carrets.

* win32/win32.c (rb_w32_aspawn): ditto, and redirections and pipe
  have no meanings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-12 17:21:45 +00:00
nobu
729b4a813b * win32/win32.c (open_dir_handle): extracted from rb_w32_opendir.
* win32/win32.c (winnt_stat): gets rid of strange behavior of
  GetFileAttributes().  [ruby-core:21269]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-12 07:45:31 +00:00
nobu
97826efddd * win32/win32.c (init_env): use user profile folder than personal
folder.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-05 03:52:11 +00:00
usa
9282f9f9d4 * common.mk, Makefile.in, win32/Makefile.sub (INSNS): move the macro
definition from common.mk to {Makefile.in,win32/Makefile.sub}.
	  [ruby-dev:37678]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-03 13:26:11 +00:00
usa
0d1e85ee4b * common.mk, Makefile.in, win32/Makefile.sub ($(INSNS), node_name.inc,
known_errors.inc, miniprelude.c, newline.c): move rules from common.mk
	  to {Makefile.in,win32/Makefile.sub) for nmake.
	  [ruby-core:20993]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02 18:03:05 +00:00
nobu
fd855a082b * Makefile.in (distclean-ext, realclean-ext): use EXTS as default.
* win32/Makefile.sub (distclean-ext, realclean-ext): try to remove ext
  directory.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-31 22:16:51 +00:00
nobu
00cb692395 * win32/Makefile.sub (config.h): do not use snprintf/vsnprintf in
msvcrt.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21136 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-28 10:11:07 +00:00
usa
39c2cf2c81 * win32/win32.c (rb_w32_argv_size): if an argument is empty, it's size
is 2, not 0, because it will be converted to "".



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-27 11:28:18 +00:00