Граф коммитов

470 Коммитов

Автор SHA1 Сообщение Дата
shyouhei 1b62e5ec37 * lib/mkmf.rb (create_tmpsrc): we need to include COMMON_HEADERS,
namely inclusion of ruby.h, because _GNU_SOURCE is now defined
 	  there (if any) and socket.so requires it on Linux systems.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-01 12:13:13 +00:00
nobu ce29c17877 * lib/mkmf.rb (configuration): set flags.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-09 12:14:39 +00:00
nobu b745b792e6 * common.mk, ext/extmk.rb, lib/mkmf.rb: use absolute path for RUBYOPT.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-08 08:44:15 +00:00
nobu 279b358d00 * common.mk, ext/extmk.rb, lib/mkmf.rb: removed RUBYOPT.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-08 08:29:24 +00:00
nobu 983aea463f * lib/mkmf.rb: rdoc added. [ruby-Patches-9762]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-07 10:56:13 +00:00
nobu 9d014dc254 * ext/extmk.rb, enc/make_encmake.rb: load current mkmf.rb even if
cross-compiling.

* ext/extmk.rb, enc/make_encmake.rb, lib/mkmf.rb: need to be 1.8
  compatible for cross-compiling.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-26 18:56:00 +00:00
usa f6628871b5 * enc/depend: fix typo.
* lib/mkmf.rb: revert r15443. "\\1#{sep}\\2" is wrong if sep is ended
	  with "\\".



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-13 02:21:25 +00:00
naruse a10ded3ba0 * bootstraptest/runner.rb, bootstraptest/test_method.rb, enc/depend,
instruby.rb, lib/mkmf.rb, lib/test/unit/util/procwrapper.rb,
mkconfig.rb, sample/test.rb, template/vm.inc.tmpl,
test/ruby/test_stringchar.rb: fixes arround String#gsub.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-12 06:28:23 +00:00
nobu f3d18d8c4c * lib/mkmf.rb (xsystem): expand macros like as make.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-08 06:09:23 +00:00
nobu f0cc22e990 * lib/mkmf.rb (INSTALL_DIRS, install_dirs): added BINDIR.
* lib/mkmf.rb (install_files): rejects files matching to
  $NONINSTALLFILES.

* lib/mkmf.rb (init_mkmf): defaults $NONINSTALLFILES to backup and
  temporary filse.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-05 02:14:17 +00:00
usa 5b3b96bb19 * mkmf.rb (create_makefile): sorry, typo. orz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-22 12:00:15 +00:00
usa 8e2f164bd9 * mkmf.rb (create_makefile): typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-22 11:59:47 +00:00
usa 977eac0fe8 * lib/mkmf.rb (create_makefile): need to output sodir rule.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-22 11:58:42 +00:00
usa 385c5ffacc * lib/mkmf.rb (create_makefile): lib files shoudn't depend on install
dir because if the dir is newer than lib files, lib files will be
	  always copied.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-22 10:40:23 +00:00
usa 99a24e9e15 * lib/mkmf.rb (depend_rules): need to convert `/' to `\' for windows
native commands.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-29 21:28:53 +00:00
usa fc9a7983cf * lib/mkmf.rb (create_tmpsrc): retry to create file if Errno::EACCES
occurs. this is a workaround for mswin32.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-26 17:32:22 +00:00
knu c40d4252ce * lib/mkmf.rb (create_makefile): Add a missing dependency on the
target directory for each .rb file.  This will hopefully fix
  parallel make (-jN).  Tested on FreeBSD.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-25 08:37:13 +00:00
matz df914b2fef lib/mkmf.rb: revert last change
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-25 05:37:25 +00:00
matz 73b8faf7b9 * lib/mkmf.rb (map_dir): should generate path including $top_srcdir.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-25 05:21:39 +00:00
nobu 8d292a08df * Makefile.in, configure.in, lib/mkmf.rb, */Makefile.sub: specify
compiled output file name explicitly.

* enc/Makefile.in, enc/depend: now makes compiler to put generated
  files under directories corresnponding to the each source.
  enc/trans supported.

* enc/make_encmake.rb: evaluates depend file before Makefile.in so
  that the former can influence to CONFIG.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-24 03:49:56 +00:00
usa bc0963a204 * lib/mkmf.rb ($extmk): fixed broken condition.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-22 08:39:26 +00:00
usa eff45d2cc8 * lib/mkmf.rb ($extmk): fixed broken condition.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-22 08:32:53 +00:00
usa 366b82dde8 * lib/mkmf.rb ($extmk): set true only when under ext/ or tool/.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-22 06:19:11 +00:00
usa fede8b213b * lib/mkmf.rb (depend_rules): suffixes list broken. fixed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-21 14:49:56 +00:00
nobu acaa4a431e * lib/mkmf.rb (depend_rules): inserts ruby to only headers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-17 16:40:22 +00:00
nobu 6ed9bdd463 * common.mk (encs): added dependencies.
* enc/Makefile.in, enc/depend, enc/make_encmake.rb: moved serb code.

* lib/mkmf.rb (depend_rules): now takes content string, not file name.

* win32/enc-setup.mak: overrides default target.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14276 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-17 16:15:46 +00:00
nobu b2d9f1e9d0 * common.mk (encs): new target to compile external encodings.
* enc/Makefile.in: became a serb template.

* enc/make_encmake.rb: creates enc.mk from enc/Makefile.in using serb.

* lib/mkmf.rb (relative_from): moved from ext/extmk.rb.

* lib/mkmf.rb ($extmk): true if under to top source directory, not
  only ext.

* lib/mkmf.rb (depend_rules): extracted from create_makefile.

* tool/serb.rb (serb): splitted from tool/compile_prelude.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-17 08:47:28 +00:00
nobu 3cce5965da * lib/mkmf.rb (try_var): should fail for functions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-14 02:54:08 +00:00
nobu 49b1513d1e * ext/extmk.rb (extract_makefile): use dldflags instead of DLDFLAGS to
get rid of mixing $LDFLAGS and $ARCH_FLAG.

* lib/mkmf.rb (configuration): ditto.

* lib/mkmf.rb (create_makefile): support for extensions which has no
  shared object.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-28 05:43:17 +00:00
nobu 16dc06014c * lib/mkmf.rb (String#tr_cpp): make preprocessor identifiers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-18 00:09:50 +00:00
akr aa7ce1ece1 * lib/mkmf.rb (have_struct_member): define HAVE_type_member.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-17 20:20:44 +00:00
nobu bbad2d22ea * lib/mkmf.rb (create_makefile): rdoc about srcprefix. a patch from
Daniel Berger <djberg96 AT gmail.com> in [ruby-core:13378].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-12 07:52:31 +00:00
akr 9435853daf * configure.in: --with-vendor-hdrdir implemented.
* lib/mkmf.rb: check --vendor argument.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-03 13:30:59 +00:00
nobu b933a5348b * configure.in (AC_SYS_LARGEFILE): keep results also in command
options, to vail out of mismatch.  [ruby-list:44114]

* mkconfig.rb, lib/mkmf.rb (configuration): add DEFS.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-13 19:08:37 +00:00
nobu 18c9e590c3 * lib/mkmf.rb: initialize $top_srcdir always. [ruby-dev:31682]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-30 04:49:27 +00:00
nobu 10084a3e61 * lib/mkmf.rb (try_const, have_const): check for a const is defined.
[ruby-core:04422]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-30 04:13:16 +00:00
nobu f3a1a4a4ba * lib/mkmf.rb (find_type): new method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-02 22:09:08 +00:00
nobu 3322974196 * lib/mkmf.rb (have_type): suppress a warning with -Wall.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-02 21:40:06 +00:00
nobu 899742b269 * lib/mkmf.rb: more verbose message. [ruby-Bugs-12766]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-02 21:17:37 +00:00
nobu 021660e442 * lib/mkmf.rb (create_makefile): make OBJS depend on RUBY_EXTCONF_H
only if extconf.h is created.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-21 08:07:37 +00:00
nobu 90ae4b364b * lib/mkmf.rb (init_mkmf): should remove mkmf.log too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-21 03:06:50 +00:00
nobu b53224b493 * lib/mkmf.rb (link_command, cc_command, cpp_command): do not expand
::CONFIG which is an alias of MAKEFILE_CONFIG.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-13 01:10:48 +00:00
akr 38f9878b59 fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-16 13:30:58 +00:00
nobu 13349fd176 * lib/mkmf.rb (Logging.quiet, Logging.message): added quiet flag and
use it.  [ruby-core:10909]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-12 05:52:19 +00:00
nobu 8cc8c9f9a1 * lib/mkmf.rb (find_header): use header names in the message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-12 05:43:06 +00:00
nobu 2b592580bf * include/ruby: moved public headers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-10 03:06:15 +00:00
nobu 80a0e2f753 * ext/extmk.rb, ext/purelib.rb, lib/mkmf.rb, runruby.rb: clear default
load path to get rid of load pre-installed extensions/libraries.
  [ruby-core:11017]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-22 20:48:34 +00:00
nobu 692010a235 * lib/mkmf.rb (libpathflag): not to append RPATHFLAG to current
directory.

* lib/mkmf.rb (init_mkmf): add current directory to default
  library path with highest priority.  [ruby-core:10960]

* lib/mkmf.rb (LINK_SO): LIBPATH to be placed before DLDFLAGS.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-04-23 13:08:29 +00:00
usa bcb0b021e3 * lib/mkmf.rb ($DEFLIBPATH): default library paths ($(topdir), etc)
should be the first elements of library paths list.
  reported by KOBAYASHI Yasuhiro [ruby-list:43225]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-28 09:26:07 +00:00
nobu f41d55aec8 * lib/mkmf.rb (create_makefile): make object files depend on
extconf.h even if depend file exists.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-02 17:36:59 +00:00
ko1 a3e1b1ce7e * Merge YARV
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-31 15:02:22 +00:00
nobu d63cf3fa2a * lib/mkmf.rb (create_makefile): remove static library before update,
to get rid of sludge of Borland tlib.exe.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11392 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-14 15:20:14 +00:00
eban 03f19e27ed * lib/mkmf.rb: fixed the bug of handling COMMON_MACROS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-20 02:33:49 +00:00
matz f8a90f1c0c * ext/tk/tkutil/tkutil.c (cbsubst_table_setup): need to handle new
character literal (1 char string).

* lib/mkmf.rb: shut up some warnings from tk's extconf.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-12 09:28:28 +00:00
nobu 88d6c083ea * ext/extmk.rb, lib/fileutils.rb, lib/mkmf.rb, lib/optparse.rb,
lib/shellwords.rb: get rid of shadowing outer local variable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-09 14:41:24 +00:00
nobu 5f1caf89e4 * lib/mkmf.rb (try_func): revert fallback checking undeclared function.
fixed: [ruby-core:08949]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-29 02:44:37 +00:00
nobu 4f6f0b1066 * lib/mkmf.rb (try_func): check function pointer first and macro next.
* lib/mkmf.rb (have_type): simplified with typedef and sizeof.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11037 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-26 16:05:52 +00:00
nobu c7908b19b0 * lib/mkmf.rb (rm_f): get rid of NUL.
* lib/mkmf.rb (init_mkmf): set default $LDFLAGS.  Patch by Michal
  Suchanek <hramrach at centrum.cz>.  [ruby-talk:216256]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-25 13:26:40 +00:00
nobu 8978bfe7f9 * common.mk (pre-install-doc): create data directory before install.
* lib/mkmf.rb (dir_re): fixed typo.

* lib/mkmf.rb (install_dirs): remove extra slash.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-20 14:18:19 +00:00
nobu 4b6a1b7f9c * lib/mkmf.rb (checking_for): improved the messages.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-16 07:22:49 +00:00
nobu f06362a4f9 * Makefile.in, common.in, instruby.rb, ext/extmk.rb, lib/mkmf.rb:
use instruby.rb to install extensions instead of ext/extmk.rb.

* instruby.rb: store installed list into the file.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-16 07:06:57 +00:00
nobu f594f850a4 * Makefile.in, win32/Makefile.sub (MINIRUBY): append MINIRUBYOPT.
* mkconfig.rb, ext/extmk.rb, lib/mkmf.rb, win32/mkexports.rb: suppress
  warnings with $VERBOSE.

* win32/resource.rb: only file which has more than one icon is DLL.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-08 19:48:22 +00:00
usa 3d1b573946 * ext/extmk.rb (extmake): follow Array#to_s.
* lib/mkmf.rb (create_makefile): ditto.

* win32/resource.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-08 07:38:53 +00:00
matz d1cb9e75d0 * array.c (Init_Array): #to_s to be an alias to #inspect.
[EXPERIMENTAL] [ruby-dev:29520]

* hash.c (Init_Hash): ditto.

* lib/mkmf.rb (create_makefile): replace "print array" by
  "print *array".

* mkconfig.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-07 16:33:08 +00:00
nobu 0dbe495044 * lib/mkmf.rb: get rid of nil.to_s.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-03 06:34:13 +00:00
nobu 079ec46b4b * lib/mkmf.rb (configuration): follow nil.to_s.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10814 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-31 14:59:43 +00:00
usa 6790891ef0 * ext/Win32API/Win32API.c (Win32API_initialize): use RSTRING_PTR and
RSTRING_LEN.

* ext/tk/stubs.c, ext/tk/tcltklib.c, ext/tk/tkutil/tkutil.c: ditto.

* ext/win32ole/win32ole.c (ole_val2olevariantdata): ditto.

* lib/mkmf.rb (create_makefile): follow nil.to_s.

* win32/resource.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-31 11:56:42 +00:00
matz e8f43ad081 * object.c (rb_Integer): Integer(nil) should raise TypeError.
[ruby-talk:210205]

* object.c (nil_to_s): no longer returns empty string but "nil".
  [ruby-talk:210205]

* lib/mkmf.rb: avoid COMMON_HEADERS being nil.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-30 09:46:57 +00:00
nobu 74eced22e9 * lib/mkmf.rb: added rdoc by Daniel Berger. [ruby-core:08177]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-17 05:47:50 +00:00
usa c0eb19d91a * lib/mkmf.rb (configuration): typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-25 05:50:45 +00:00
nobu 53f6b89e7e * ext/extmk.rb, lib/mkmf.rb (with_destdir): remove drive letter before
prepending destdir on DOSISH.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-21 03:12:45 +00:00
nobu 624ae68379 * lib/mkmf.rb (create_makefile): prevent substitution of macro
definition.  fixed: http://www.yotabanana.com/lab/20060624.html#p02


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-09 09:07:42 +00:00
nobu c27f8d5b3a * lib/mkmf.rb (try_constant): fix for value 1 at cross compiling.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-09 09:05:47 +00:00
nobu 3e5f70a815 * math.c (log2): may be a macro.
* parse.y (args, block_param, f_args): pass f_post_arg to #params.

* util.c (powersOf10): constified.

* ext/readline/readline.c: include extconf.h first.

* ext/ripper/eventids2.c: removed tLAMBDA_ARG.

* ext/tk/tcltklib.c (lib_fromUTF8_core): removed conflict.

* ext/tk/tkutil/tkutil.c (cbsubst_get_subst_arg): rb_id2name() is
  defined as const now.

* ext/win32ole/win32ole.c (fole_missing): ditto.

* lib/mkmf.rb (create_makefile): force to create extconf header.

* lib/optparse.rb (order!): use Proc#yield.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-09 23:18:04 +00:00
matz 9b383bd6cf * sprintf.c (rb_str_format): allow %c to print one character
string (e.g. ?x).

* lib/tempfile.rb (Tempfile::make_tmpname): put dot between
  basename and pid.  [ruby-talk:196272]
* parse.y (do_block): remove -> style block.

* parse.y (parser_yylex): remove tLAMBDA_ARG.

* eval.c (rb_call0): binding for the return event hook should have
  consistent scope.  [ruby-core:07928]

* eval.c (proc_invoke): return behavior should depend whether it
  is surrounded by a lambda or a mere block.

* eval.c (formal_assign): handles post splat arguments.

* eval.c (rb_call0): ditto.

* st.c (strhash): use FNV-1a hash.

* parse.y (parser_yylex): removed experimental ';;' terminator.

* eval.c (rb_node_arity): should be aware of post splat arguments.

* eval.c (rb_proc_arity): ditto.

* parse.y (f_args): syntax rule enhanced to support arguments
  after the splat.

* parse.y (block_param): ditto for block parameters.

* parse.y (f_post_arg): mandatory formal arguments after the splat
  argument.

* parse.y (new_args_gen): generate nodes for mandatory formal
  arguments after the splat argument.

* eval.c (rb_eval): dispatch mandatory formal arguments after the
  splat argument.

* parse.y (args): allow more than one splat in the argument list.

* parse.y (method_call): allow aref [] to accept all kind of
  method argument, including assocs, splat, and block argument.

* eval.c (SETUP_ARGS0): prepare block argument as well.

* lib/mathn.rb (Integer): remove Integer#gcd2. [ruby-core:07931]

* eval.c (error_line): print receivers true/false/nil specially.

* eval.c (rb_proc_yield): handles parameters in yield semantics.

* eval.c (nil_yield): gives LocalJumpError to denote no block
  error.

* io.c (rb_io_getc): now takes one-character string.

* string.c (rb_str_hash): use FNV-1a hash from Fowler/Noll/Vo
  hashing algorithm.

* string.c (rb_str_aref): str[0] now returns 1 character string,
  instead of a fixnum.	[Ruby2]

* parse.y (parser_yylex): ?c now returns 1 character string,
  instead of a fixnum.	[Ruby2]

* string.c (rb_str_aset): no longer support fixnum insertion.

* eval.c (umethod_bind): should not update original class.
  [ruby-dev:28636]

* eval.c (ev_const_get): should support constant access from
  within instance_eval().  [ruby-dev:28327]

* time.c (time_timeval): should round for usec floating
  number.  [ruby-core:07896]

* time.c (time_add): ditto.

* dir.c (sys_warning): should not call a vararg function
  rb_sys_warning() indirectly.	[ruby-core:07886]

* numeric.c (flo_divmod): the first element of Float#divmod should
  be an integer. [ruby-dev:28589]

* test/ruby/test_float.rb: add tests for divmod, div, modulo and remainder.

* re.c (rb_reg_initialize): should not allow modifying literal
  regexps.  frozen check moved from rb_reg_initialize_m as well.

* re.c (rb_reg_initialize): should not modify untainted objects in
  safe levels higher than 3.

* re.c (rb_memcmp): type change from char* to const void*.

* dir.c (dir_close): should not close untainted dir stream.

* dir.c (GetDIR): add tainted/frozen check for each dir operation.

* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_symbol_arg):
  typo fixed.  a patch from Florian Gross <florg at florg.net>.

* eval.c (EXEC_EVENT_HOOK): trace_func may remove itself from
  event_hooks.	no guarantee for arbitrary hook deletion.
  [ruby-dev:28632]

* util.c (ruby_strtod): differ addition to minimize error.
  [ruby-dev:28619]

* util.c (ruby_strtod): should not raise ERANGE when the input
  string does not have any digits.  [ruby-dev:28629]

* eval.c (proc_invoke): should restore old ruby_frame->block.
  thanks to ts <decoux at moulon.inra.fr>.  [ruby-core:07833]
  also fix [ruby-dev:28614] as well.

* signal.c (trap): sig should be less then NSIG.  Coverity found
  this bug.  a patch from Kevin Tew <tewk at tewk.com>.
  [ruby-core:07823]

* math.c (math_log2): add new method inspired by
  [ruby-talk:191237].

* math.c (math_log): add optional base argument to Math::log().
  [ruby-talk:191308]

* ext/syck/emitter.c (syck_scan_scalar): avoid accessing
  uninitialized array element.	a patch from Pat Eyler
  <rubypate at gmail.com>.  [ruby-core:07809]

* array.c (rb_ary_fill): initialize local variables first.  a
  patch from Pat Eyler <rubypate at gmail.com>.	 [ruby-core:07810]

* ext/syck/yaml2byte.c (syck_yaml2byte_handler): need to free
  type_tag.  a patch from Pat Eyler <rubypate at gmail.com>.
  [ruby-core:07808]

* ext/socket/socket.c (make_hostent_internal): accept ai_family
  check from Sam Roberts <sroberts at uniserve.com>.
  [ruby-core:07691]

* util.c (ruby_strtod): should not cut off 18 digits for no
  reason.  [ruby-core:07796]

* array.c (rb_ary_fill): internalize local variable "beg" to
  pacify Coverity.  [ruby-core:07770]

* pack.c (pack_unpack): now supports CRLF newlines.  a patch from
  <tommy at tmtm.org>.	[ruby-dev:28601]

* applied code clean-up patch from Stefan Huehner
  <stefan at huehner.org>.  [ruby-core:07764]

* lib/jcode.rb (String::tr_s): should have translated non
  squeezing character sequence (i.e. a character) as well.  thanks
  to Hiroshi Ichikawa <gimite at gimite.ddo.jp> [ruby-list:42090]

* ext/socket/socket.c: document update patch from Sam Roberts
  <sroberts at uniserve.com>.  [ruby-core:07701]

* lib/mathn.rb (Integer): need not to remove gcd2.  a patch from
  NARUSE, Yui <naruse at airemix.com>.	[ruby-dev:28570]

* parse.y (arg): too much NEW_LIST()

* eval.c (SETUP_ARGS0): remove unnecessary access to nd_alen.

* eval.c (rb_eval): use ARGSCAT for NODE_OP_ASGN1.
  [ruby-dev:28585]

* parse.y (arg): use NODE_ARGSCAT for placeholder.

* lib/getoptlong.rb (GetoptLong::get): RDoc update patch from
  mathew <meta at pobox.com>.  [ruby-core:07738]

* variable.c (rb_const_set): raise error when no target klass is
  supplied.  [ruby-dev:28582]

* prec.c (prec_prec_f): documentation patch from
  <gerardo.santana at gmail.com>.  [ruby-core:07689]

* bignum.c (rb_big_pow): second operand may be too big even if
  it's a Fixnum.  [ruby-talk:187984]

* README.EXT: update symbol description.  [ruby-talk:188104]

* COPYING: explicitly note GPLv2.  [ruby-talk:187922]

* parse.y: remove some obsolete syntax rules (unparenthesized
  method calls in argument list).

* eval.c (rb_call0): insecure calling should be checked for non
  NODE_SCOPE method invocations too.

* eval.c (rb_alias): should preserve the current safe level as
  well as method definition.

* process.c (rb_f_sleep): remove RDoc description about SIGALRM
  which is not valid on the current implementation. [ruby-dev:28464]

 Thu Mar 23 21:40:47 2006  K.Kosako  <sndgk393 AT ybb.ne.jp>

* eval.c (method_missing): should support argument splat in
  super.  a bug in combination of super, splat and
  method_missing.  [ruby-talk:185438]

* configure.in: Solaris SunPro compiler -rapth patch from
  <kuwa at labs.fujitsu.com>.  [ruby-dev:28443]

* configure.in: remove enable_rpath=no for Solaris.
  [ruby-dev:28440]

* ext/win32ole/win32ole.c (ole_val2olevariantdata): change behavior
  of converting  OLE Variant object with VT_ARRAY|VT_UI1 and Ruby
  String object.

* ruby.1: a clarification patch from David Lutterkort
  <dlutter at redhat.com>.  [ruby-core:7508]

* lib/rdoc/ri/ri_paths.rb (RI::Paths): adding paths from rubygems
  directories.	a patch from Eric Hodel <drbrain at segment7.net>.
  [ruby-core:07423]

* eval.c (rb_clear_cache_by_class): clearing wrong cache.

* ext/extmk.rb: use :remove_destination to install extension libraries
  to avoid SEGV.  [ruby-dev:28417]

* eval.c (rb_thread_fd_writable): should not re-schedule output
  from KILLED thread (must be error printing).

* array.c (rb_ary_flatten_bang): allow specifying recursion
  level.  [ruby-talk:182170]

* array.c (rb_ary_flatten): ditto.

* gc.c (add_heap): a heap_slots may overflow.  a patch from Stefan
  Weil <weil at mail.berlios.de>.

* eval.c (rb_call): use separate cache for fcall/vcall
  invocation.

* eval.c (rb_eval): NODE_FCALL, NODE_VCALL can call local
  functions.

* eval.c (rb_mod_local): a new method to specify newly added
  visibility "local".

* eval.c (search_method): search for local methods which are
  visible only from the current class.

* class.c (rb_class_local_methods): a method to list local methods.

* object.c (Init_Object): add BasicObject class as a top level
  BlankSlate class.

* ruby.h (SYM2ID): should not cast to signed long.
  [ruby-core:07414]

* class.c (rb_include_module): allow module duplication.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-09 21:20:17 +00:00
nobu 5fc8821161 * lib/mkmf.rb (CLEANINGS): remove extconf.h by distclean if created.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-02 08:16:44 +00:00
nobu 2ad6b5a887 * ext/extmk.rb (extmake): remove extinit files if no statically linked
extensions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-05-27 02:30:10 +00:00
nobu 3449f576f4 * lib/mkmf.rb (configuration): add $defs unless extconf.h was created.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-05-26 00:05:23 +00:00
nobu e34b2a73e6 * ruby.h, lib/mkmf.rb (create_header): clear command line options for
macros moved to extconf.h.

* ext/extmk.rb (extract_makefile, extmk): made RUBY_EXTCONF_H and
  EXTSTATIC permanent.

* ext/{dbm,digest/*,socket,zlib}/extconf.rb: used $defs and $INCFLAGS.

* {bcc32,win32,wince}/Makefile.sub (COMPILE_C, COMPILE_CXX): added
  $(INCFLAGS).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-05-25 23:44:08 +00:00
nobu 0ca603c1bc * mkconfig.rb: merge multiple entries to an entry with multiple lines.
* lib/mkmf.rb: allow a series of commands to link.

* win32/Makefile.sub: embed manifests.

* win32/setup.mak: suffix OS name by runtime version.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-05-24 16:52:00 +00:00
nobu 18cf07cc7c * lib/mkmf.rb (pkg_config): particular config commands support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-05-24 15:51:03 +00:00
nobu fbbc511d65 * ext/extmk.rb, lib/mkmf.rb: use BUILD_FILE_SEPARATOR in Makefiles.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-05-17 15:42:21 +00:00
usa 597cfafb88 * lib/mkmf.rb (create_makefile): support libraries without *.so.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-03-15 07:55:10 +00:00
akr 04946de81b * mkconfig.rb: generate RbConfig instead of Config.
* instruby.rb, rubytest.rb, runruby.rb, bcc32/Makefile.sub,
  ext/extmk.rb, ext/dl/extconf.rb, ext/iconv/charset_alias.rb,
  lib/mkmf.rb, lib/rdoc/ri/ri_paths.rb,
  lib/webrick/httpservlet/cgihandler.rb,
  test/dbm/test_dbm.rb, test/gdbm/test_gdbm.rb,
  test/ruby/envutil.rb, test/soap/calc/test_calc_cgi.rb,
  test/soap/header/test_authheader_cgi.rb, test/soap/ssl/test_ssl.rb,
  win32/mkexports.rb, win32/resource.rb: Use RbConfig instead of
  Config.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-20 08:34:53 +00:00
ocean 258f80c82f * lib/mkmf.rb (create_makefile): Kernel#sub! was removed on HEAD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-05 07:37:38 +00:00
ocean bb4507588c * lib/mkmf.rb (create_makefile): should not change sodir with
dir.gsub!. (bccwin32 failed to install third party exntesions)
  [ruby-dev:27834]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-28 00:22:53 +00:00
nobu d6837060be * ext/extmk.rb, lib/mkmf.rb (with_config): support --with-extension
options.  [ruby-dev:27449]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-22 14:55:07 +00:00
ocean 7f60c0289c * lib/mkmf.rb (create_makefile): Borland make seems not to allow
empty dependency list. If this change is not good, please correct
  it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-20 00:42:43 +00:00
nobu 834bd9db0b * lib/mkmf.rb (create_makefile): get rid of a restriction
of Borland make.  fixed: [ruby-dev:27460]

* ext/ripper/depend: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-19 22:55:51 +00:00
nobu 23ac67ac43 * lib/mkmf.rb (create_makefile): do not create unnecessary empty
directories. fixed: [ruby-dev:27451]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-19 14:58:57 +00:00
nobu 4857e1d300 * lib/mkmf.rb (find_executable0): default path if environment is not
set.  [ruby-dev:27281]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-22 14:37:02 +00:00
nobu c6b5ca0e21 * lib/mkmf.rb (configuration): generalized nmake dependent code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9266 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-21 14:31:20 +00:00
nobu 757c6fa4c9 * lib/mkmf.rb (what_type?): guesstimate type.
* ext/etc/etc.c (setup_passwd), ext/etc/extconf.rb: pw_age might be
  char*.  fixed: [ruby-core:05470]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-06 23:35:31 +00:00
nobu 624842f6a0 * lib/mkmf.rb (xsystem, xpopen): no longer expand by Config.
* lib/mkmf.rb (link_command, cc_command, cpp_command): expand
  variables at once, and quote hdrdir.  fixed: [ruby-core:05680]

* lib/mkmf.rb (libpathflag): quote paths.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-30 14:21:18 +00:00
usa 107e177cb8 * lib/mkmf.rb (create_makefile): need to convert path separetor
before invoking install command.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-05 03:43:34 +00:00
nobu d00d9606d1 * lib/mkmf.rb: keep curdir unexpanded.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-12 14:33:10 +00:00
nobu f36783751b * lib/mkmf.rb (create_makefile): add .SUFFIXES from depend file.
fixed: [ruby-dev:26294]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-07 09:30:35 +00:00
eban aee4253e70 * lib/mkmf.rb: use the semicolon as the path separator
in the environment of MSYS.  fixed: [ruby-dev:26232]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-27 07:49:06 +00:00
nobu 2c716f2b47 * ext/extmk.rb: keep srcdir unexpanded.
* lib/mkmf.rb (create_makefile): quote topdir and hdrdir if necessary.
  fixed: [ruby-core:04932]

* lib/mkmf.rb (configuration), {bcc32,win32,wince}/Makefile.sub: make
  also INSTALL_PROG and INSTALL_DATA system dependent.
  fixed: [ruby-core:04931]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-13 14:44:59 +00:00
nobu d88a67866c * lib/mkmf.rb (have_var): no libs argument is given.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-07 13:58:26 +00:00
nobu dbbfbc5a21 * configure.in, lib/mkmf.rb, {bcc32,win32,wince}/Makefile.sub: improve
C++ support.  [ruby-dev:26089]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-20 21:45:43 +00:00
nobu 514df9097e * lib/mkmf.rb (create_makefile): support platforms have file separator
other than /.

* {bcc32,win32,wince}/Makefile.sub (BUILD_FILE_SEPARATOR): separator
  of building platform.

* {bcc32,win32,wince}/Makefile.sub (CP, INSTALL): use COPY command.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-20 15:08:36 +00:00
usa 07f61642e4 * lib/mkmf.rb (configuration): shouldn't output hdrdir twice.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-11 06:26:49 +00:00
nobu 06c1a64ebb * ext/extmk.rb (extmake): hdrdir needs to be defined also in
Config::CONFIG.

* lib/mkmf.rb (configuration, create_makefile): get rid of recursive
  macro reference.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-08 11:18:17 +00:00
nobu 9ea857d7ee * ext/extmk.rb (extmake): keep directory names in Makefile as macros.
* lib/mkmf.rb (configuration, create_makefile): ditto.

* lib/mkmf.rb (CXX_EXT): separate C++ extensions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8266 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-07 14:59:24 +00:00
nobu df9cf4fc67 * lib/mkmf.rb (create_makefile): ensure library directories get made
before copying libraries there.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-02 14:39:38 +00:00
nobu fb707a7704 * configure.in (CP, INSTALL): get rid of less portable options.
* lib/mkmf.rb (configuration, create_makefile): correct configuration
  variable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-02 13:30:49 +00:00
nobu 0f52655b06 * lib/mkmf.rb (SRC_EXT): exclude just case different suffixes on case
insensitive file system platforms.

* README.EXT, README.EXT.ja (Appendix C): utility functions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-31 13:24:27 +00:00
nobu 15df6bd4f7 * lib/mkmf.rb (macro_defined?): try to compile for an old compiler
which doesn't bail out at #error directive.  [ruby-dev:25818]

* lib/mkmf.rb (check_sizeof): refine logging messages.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8188 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-24 14:11:27 +00:00
nobu 25012d5420 * lib/mkmf.rb (mkmf_failed): check if Makefile is created without
create_makefile.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8178 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-20 13:51:48 +00:00
nobu 4783944876 * lib/mkmf.rb (create_makefile): allow putting spaces between target
and colon in depend file.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-05 03:52:21 +00:00
kou 6b68105ab2 * lib/mkmf.rb (mkmf_failed): fixed typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8015 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-22 15:39:40 +00:00
nobu 984f9a0df1 * configure.in, lib/mkmf.rb: use simple commands if available.
* mkconfig.rb: remove autoconf internal variables from rbconfig.rb.

* lib/mkmf.rb (create_makefile): substitute implicit rules in depend
  file.

* {bcc32,win32,wince}/Makefile.sub (COMPILE_RULES, RULE_SUBST):
  include $(topdir) and $(hdrdir) to search path.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-22 14:52:59 +00:00
nobu 74240f58c3 * lib/mkmf.rb (create_makefile): reverted wrongly removed lines.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-19 04:31:36 +00:00
nobu 9648e68d88 * ext/extmk.rb (extract_makefile): remove no longer existing installed
files.

* lib/mkmf.rb (install_dirs): return installation directory list.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-19 01:43:58 +00:00
usa 0de2877326 * lib/mkmf.rb (create_makefile): fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-10 03:58:50 +00:00
nobu 80f4330973 * bcc32/Makefile.sub (COMMON_LIBS): add libraries included in
import32.lib.

* lib/mkmf.rb (create_makefile): restrict prefixing with srcdir to
  rule lines, add search path to implicit rules, and set Borland make
  special macros for search path.

* win32/win32.c, win32/win32.h (read): aboid a BCC runtime bug.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-10 03:07:24 +00:00
nobu ef8f1ff3df * lib/mkmf.rb (with_cppflags, with_cflags, with_ldflags): keep flags
modified if the block returned true.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-06 16:23:03 +00:00
nobu 7a07ffe479 * ext/extmk.rb (extract_makefile): extract previously collected
informations from existing Makefile.

* ext/socket/extconf.rb: check if getaddrinfo() works fine only when
  wide-getaddrinfo option is not given.  fixed: [ruby-dev:25422]

* ext/tk/extconf.rb: separate tkutil configuration.

* lib/mkmf.rb ($extmk): check if under ext directory.

* lib/mkmf.rb (Logging.postpone): allow recursive operation.

* lib/mkmf.rb (try_constant): make sure if really a constant, reduce
  the number of times of compile.

* lib/mkmf.rb (have_macro, have_var, byte_order): new functions.

* lib/mkmf.rb (find_library): allow directory list with separators.

* lib/mkmf.rb (arg_config): manage provided configuration options.

* lib/mkmf.rb (dir_config): accept arrays of directory names as
  default values.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-06 14:51:44 +00:00
nobu 420a708098 * Makefile.in, configure.in: made EXTOUT configurable.
* ext/extmk.rb (extmake), lib/mkmf.rb: keep topdir as relative style.

* lib/mkmf.rb: make extensions in depth order.  [ruby-dev:25522]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-31 15:19:27 +00:00
nobu 326ebac3db * lib/mkmf.rb (create_makefile): create RUBYARCHDIR also when no extension
is installed.  fixed: [ruby-dev:25215]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-16 14:31:21 +00:00
eban 19f57ce144 * process.c (rb_spawn): support for DJGPP.
* lib/mkmf.rb (VPATH): specify the implicit path separator for DJGPP.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-08 11:14:53 +00:00
nobu 740b2d99ce * lib/mkmf.rb (create_makefile): install-rb is needed for statically
linked extensions.  [ruby-dev:24491]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-16 01:56:44 +00:00
matz e77ddaf0d1 * array.c (rb_ary_delete): element comparison might change array
size. [ruby-dev:24273]

* parse.y: make ruby parser reentrant. merge ripper parser to the
  real one.  this change makes ruby require bison.

* file.c (rb_file_truncate): clear stdio buffer before truncating
  the file.  [ruby-dev:24191]

* ext/digest/digest.c: use rb_obj_class() instead of CLASS_OF
  which might return singleton class.  [ruby-dev:24202]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-17 09:24:13 +00:00
nobu 7e28ad63ff * ext/tcltklib/extconf.rb (find_tcl, find_tk): find stub library.
* lib/mkmf.rb (arg_config, with_config): deal with '-' and '_'
  uniformly.  [ruby-dev:24118]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-20 21:42:21 +00:00
knu db850b21fd * lib/mkmf.rb (init_mkmf): Do not add $(libdir) to $LIBPATH in
extmk mode.

* lib/mkmf.rb (dir_config): Prepend a new library path instead of
  appending so it is tried first.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-13 06:54:01 +00:00
nobu 6f9195ec91 * configure.in, lib/mkmf.rb (LIBPATHFLAG): use double quotes due to
DOSISH compilers.  [ruby-core:03107]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-28 05:58:13 +00:00
nobu 1f16f35849 * lib/mkmf.rb (libpathflag): should not quote here.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-26 03:43:26 +00:00
nobu 4cf1e8654d * lib/mkmf.rb (libpathflag, find_header, dir_config): quote directory
names if necessary.  [ruby-talk:104505]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-26 02:07:30 +00:00
nobu fc04396ea3 * lib/mkmf.rb (check_sizeof): define result size. [ruby-core:02911]
* lib/mkmf.rb (create_header): macro name should not include equal
  sign.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-20 08:02:11 +00:00
matz a6a8847190 * numeric.c (flo_eq): alway check if operands are NaN.
[ruby-list:39685]

* lib/cgi/session.rb: use LOCK_SH to read, and a few other
  improvements.  [ruby-core:02328]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-20 04:34:14 +00:00
nobu 41e4c5de36 * lib/mkmf.rb (have_type): do not check pointer to incomplete type,
which always get compiled.
  [ruby-list:39683]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6368 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-20 03:22:20 +00:00
nobu 93472ba0ed * lib/mkmf.rb (have_type, check_sizeof): replace unusable characters.
[ruby-talk:99788]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-12 10:59:52 +00:00
nobu 7792d9026a * lib/mkmf.rb: $hdrdir should not contain macros, for backward
compatibility.  [bruby-dev:28]

* lib/mkmf.rb (create_makefile): in the case of extout, just copy
  script files, without comparison.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-23 14:24:51 +00:00
nobu fa7a5d5477 * ext/extmk.rb (extmake): skip uncompiled extensions.
* lib/mkmf.rb (create_makefile): emit no rules for static library if
  $static is nil, e.g., outside of ext/.

* lib/test/unit/ui/console/testrunner.rb (test_started): show test
  name via $0.

* runruby.rb: set environments to use the compiled binary.

* test/runner.rb: do nothing while cross-compiling.

* test/drb/drbtest.rb, test/soap/calc/test_calc_cgi.rb: use envutil to
  know ruby binary.

* test/ruby/envutil.rb: give priority to RUBY environment variable to
  use just compiled binary and libraries.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6125 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-08 10:45:21 +00:00
nobu 5c51ccc35c * ext/extmk.rb (extmake): extract necessary variables for static link
from Makefile.

* lib/mkmf.rb (create_makefile): save preload and libpath for next
  compile.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-02 09:00:12 +00:00
nobu 5e23ff603f * lib/mkmf.rb ($ruby, $topdir, $hdrdir): should not be affected by
DESTDIR after installed.

* lib/mkmf.rb (dummy_makefile): default file lists to be cleaned.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-24 09:48:09 +00:00
nobu 52a67fe60d * Makefile.in, */Makefile.sub, common.mk (clean-local, distclean-local):
separate files under directories due to directory separator.

* */Makefile.sub (MKFILES): common.mk and */Makefile.sub should not be
  removed.

* win32/Makefile.sub, wince/Makefile.sub: $* cannot appear in explicit
  rules.

* cygwin/GNUmakefile.in: some mingw stuffs were missed.

* lib/mkmf.rb (create_makefile): Borland make wrongly removes braces
  from command lines.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-23 05:32:01 +00:00
usa 5af30c19a4 * lib/mkmf.rb ($beos, $solaris): add OS flags.
* lib/mkmf.rb (RUBY): / is not recognized as path separator on
   nmake/bmake. [ruby-list:39388]

* lib/mkmf.rb (CLEANLIBS, CLEANOBJS): should remove *.exp with *.so.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-19 02:35:27 +00:00
nobu 311fdfdfea * mkconfig.rb: no longer embed srcdir and compile_dir into
rbconfig.rb.

* ext/extmk.rb, lib/mkmf.rb: obtain top_srcdir and topdir from library
  paths.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-18 09:50:14 +00:00
nobu 21410f4dfe * configure.in (rb_cv_noreturn): default for platforms not support
prototypes.

* ruby.c (ruby_init_loadpath): buffer for path name should have
  MAXPATHLEN.

* lib/mkmf.rb (configuration): include topdir and hdrdir in VPATH.

* lib/mkmf.rb (create_makefile): default dependency rule.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-12 11:19:22 +00:00
nobu 1184dd33d5 * lib/mkmf.rb ($topdir): use compile_dir only when not installed yet.
[ruby-talk:94098]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-03 00:52:10 +00:00
nobu e10564a578 * lib/mkmf.rb (init_mkmf): $INCFLAGS also should be lazy-evaluated.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-22 05:58:10 +00:00
nobu bab1372a33 * ext/extmk.rb (extmake): $extout_prefix doesn't vary for libraries.
* ext/extmk.rb (extmake): remove compile directory if empty.

* ext/extmk.rb (parse_args) lib/mkmf.rb (create_makefile): move
  initialization of $extout_prefix from lib/mkmf.rb.  [ruby-dev:22928]

* ext/extmk.rb: clear ext and extout directory when cleaning.

* lib/mkmf.rb (CLEANLIBS): should be under $(arch) directory.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-17 10:34:31 +00:00
nobu 33f78212ce * ext/extmk.rb (parse_args): delay expanding $(extout) until invoking
make.

* lib/mkmf.rb (CLEANLIBS): should remove files have specific
  extensions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-17 03:12:53 +00:00
usa cab6d2dadd * win32/Makefile.sub (config.status): should create *.pdb on ext/,
not .ext/.

* win32/Makefile.sub (config.status): convert the name of import
  library.

* lib/mkmf.rb (create_makefile): now don't need to remove
  $(TARGET).lib.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-16 09:39:48 +00:00
gotoyuzo 19cb7ffd6c * lib/mkmf.rb: absolute path of ruby is assigned to $(RUBY).
[ruby-dev:22870]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-14 16:51:12 +00:00
matz 829a44822d * re.c (KR_REHASH): wrong hash value on sizeof(long) > sizeof(int).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-13 16:03:15 +00:00
nobu 8bc9475793 * lib/mkmf.rb (create_tmpsrc): cpp32 of Borland C++ ignores #error
directives in DOS line-ending files at all.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-12 11:31:52 +00:00
nobu 3d4b83aaba * ext/extmk.rb, lib/mkmf.rb: rename $outdir to $extout.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-09 09:20:52 +00:00
nobu ff9c34b3f4 * Makefile.in, bcc32/Makefile.sub, win32/Makefile.sub, configure.in,
runruby.rb: run rdoc, test and so on with compiled extension
  libraries.  [ruby-dev:22688]

* ext/extmk.rb, lib/mkmf.rb: make extension libraries in separated
  directory, similar to the actual directory structure.

* lib/fileutils.rb (FileUtils.copy_file): use the mode of the original
  file to create new file.

* lib/rdoc/ri/ri_paths.rb (RI::Paths::SYSDIR): get rid of unexpected
  influence by envirionment variable.

* bcc32/configure.bat, win32/configure.bat: add install-doc options.

* win32/win32.c, win32/win32.h (rb_w32_fstat): fix Borland C runtime
  bug which returns wrong mode.  [ruby-dev:22846]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-09 08:48:55 +00:00
nobu f3e0252e5e * lib/mkmf.rb (merge_libs): squeeze successive same libraries.
[ruby-dev:22652]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-21 07:44:24 +00:00
nobu 482b9c2ce7 * configure.in (LIBPATHFLAG, RPATHFLAG): enclose paths with single
quotes.  [ruby-dev:22564]

* lib/mkmf.rb (libpathflag): do not enclose with quotes always.

* {bcc32,win32,wince}/Makefile.sub (LIBPATHFLAG): quoted.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-10 14:01:50 +00:00
nobu bafe6d8504 * ext/extmk.rb (extmake): should not reduce necessary libraries.
[ruby-dev:22440]

* lib/mkmf.rb (merge_libs): merge libraries according to
  dependency.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-09 02:20:28 +00:00
nobu 6f69b2b00a * lib/mkmf.rb (libpathflag): use single quotes. [ruby-dev:22440]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-09 01:05:27 +00:00
usa d110f97055 * lib/mkmf.rb (create_makefile): remove duplicated object files
from $objs on DOSISH platforms.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5370 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-04 16:48:45 +00:00
matz b9a79bc020 * io.c (rb_f_backquote): need not to check nil result.
[ruby-core:02078]

* io.c (rb_io_getline): should return nil on eof, even when nil rs is
  specified. [ruby-core:02077]

* pack.c (pack_pack): add sign check for 'i', and 'l'.
  [ruby-dev:22427]

* bignum.c (rb_quad_pack): add range check for 'quad int'.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5308 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-26 15:34:33 +00:00
usa b3b5b5e6b6 * eval.c (stack_extend): ignore inline optimization on VC7.
* win32/Makefile.sub (OS, RT): can override.

* win32/Makefile.sub (LDFLAGS): ditto. shouldn't use pdb:none
  option. based on Tietew's patch [ruby-dev:22289]

* lib/mkmf.rb (create_makefile): should remove deffile if it's
  made by miniruby. based on nobu's patch.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-18 12:48:43 +00:00
nobu b1fd732b4f * ext/extmk.rb (MTIMES): let makefiles depend to mkmf.rb.
* lib/mkmf.rb (configuration): DLDFLAGS was duplicated.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-03 02:36:48 +00:00
eban c93b7ae9bd * lib/mkmf.rb (TRY_LINK, link_command): added support for DLDFLAGS
and ARCH_FLAG.  [ruby-dev:22085]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-30 16:09:42 +00:00
eban 21e9506b22 * lib/mkfm.rb (configuration): add ARCH_FLAG to DLDFLAGS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-30 14:00:05 +00:00
eban c3f1c5280b * configure.in: keep ARCH_FLAG separate. export ARCH_FLAG.
[ruby-core:01819]

* Makefile.in: add ARCH_FLAG to CFLAGS.

* Makefile.in: add @CPPFLAGS@ to CPPFLAGS.

* lib/mkmf.rb (link_command, cc_command): use ARCH_FLAG.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-30 11:27:34 +00:00
eban 9a8cc1f4ab * configure.in: do not override CCDLDFLAGS, LDFLAGS, XLDFLAGS,
DLDFLAGS and LDSHARED.

* configure.in: XCFLAGS for compiling ruby itself.  ARCH_FLAG is
  reflected in CFLAGS.

* lib/mkmf.rb: ditto.  do not import XCFLAGS from config.status.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-30 09:33:03 +00:00
matz 6212cfb9c5 * gc.c (Init_stack): stack region is far smaller than usual if
pthread is used.

* marshal.c (w_extended): singleton methods should not be checked
  when dumping via marshal_dump() or _dump(). [ruby-talk:85909]

* file.c (getcwdofdrv): avoid using getcwd() directly, use
  my_getcwd() instead.

* merged NeXT, OpenStep, Rhapsody ports patch from Eric Sunshine
  <sunshine@sunshineco.com>.  [ruby-core:01596]

* marshal.c (w_object): LINK check earlier than anything else,
  i.e. do not dump TYPE_IVAR for already dumped objects.
  (ruby-bugs PR#1220)

* eval.c (rb_eval): call "inherited" only when a new class is
  generated; not on reopening.

* eval.c (eval): prepend error position in evaluating string to

* configure.in: revived NextStep, OpenStep, and Rhapsody ports which
  had become unbuildable; enhanced --enable-fat-binary option so that
  it accepts a list of desired architectures (rather than assuming a
  fixed list), or defaults to a platform-appropriate list if user does
  not provide an explicit list; made the default list of architectures
  for MAB (fat binary) more comprehensive; now uses -fno-common even
  when building the interpreter (in addition to using it for
  extensions), thus allowing the interpreter to be embedded into a
  plugin module of an external project (in addition to allowing
  embedding directly into an application); added checks for
  <netinet/in_systm.h> (needed by `socket' extension) and getcwd(); now
  ensures that -I/usr/local/include is employed when extensions'
  extconf.rb scripts invoke have_header() since extension checks on
  NextStep and OpenStep will fail without it if the desired resource
  resides in the /usr/local tree; fixed formatting of --help message.

* Makefile.in: $(LIBRUBY_A) rule now deletes the archive before
  invoking $(AR) since `ar' on Apple/NeXT can not "update" MAB archives
  (see configure's --enable-fat-binary option); added rule for new
  missing/getcwd.c.

* defines.h: fixed endian handling during MAB build (see configure's
  --enable-fat-binary option) to ensure that all portions of the
  project see the correct WORDS_BIGENDIAN value (some extension modules
  were getting the wrong endian setting); added missing constants
  GETPGRP_VOID, WNOHANG, WUNTRACED, X_OK, and type pid_t for NextStep
  and OpenStep; removed unnecessary and problematic HAVE_SYS_WAIT_H
  define in NeXT section.

* dir.c: do not allow NAMLEN() macro to trust dirent::d_namlen on
  NextStep since, on some installations, this value always resolves
  uselessly to zero.

* dln.c: added error reporting to NextStep extension loader since the
  previous behavior of failing silently was not useful; now ensures
  that NSLINKMODULE_OPTION_BINDNOW compatibility constant is defined
  for OpenStep and Rhapsody; no longer includes <mach-o/dyld.h> twice
  on Rhapsody since this header lacks multiple-include protection,
  which resulted in "redefinition" compilation errors.

* main.c: also create hard reference to objc_msgSend() on NeXT
  platforms (in addition to Apple platforms).

* lib/mkmf.rb: now exports XCFLAGS from configure script to extension
  makefiles so that extensions can be built MAB (see configure's
  --enable-fat-binary option); also utilize XCFLAGS in cc_command()
  (but not cpp_command() because MAB flags are incompatible with
  direct invocation of `cpp').

* ext/curses/extconf.rb: now additionally checks for presence of these
  curses functions which are not present on NextStep or Openstep:
  bkgd(), bkgdset(), color(), curs(), getbkgd(), init(), scrl(), set(),
  setscrreg(), wattroff(), wattron(), wattrset(), wbkgd(), wbkgdset(),
  wscrl(), wsetscrreg()

* ext/curses/curses.c: added appropriate #ifdef's for additional set of
  curses functions now checked by extconf.rb; fixed curses_bkgd() and
  window_bkgd() to correctly return boolean result rather than numeric
  result; fixed window_getbkgd() to correctly signal an error by
  returning nil rather than -1.

* ext/etc/etc.c: setup_passwd() and setup_group() now check for null
  pointers before invoking rb_tainted_str_new2() upon fields extracted
  from `struct passwd' and `struct group' since null pointers in some
  fields are common on NextStep/OpenStep (especially so for the
  `pw_comment' field) and rb_tainted_str_new2() throws an exception
  when it receives a null pointer.

* ext/pty/pty.c: include "util.h" for strdup()/ruby_strdup() for
  platforms such as NextStep and OpenStep which lack strdup().

* ext/socket/getaddrinfo.c: cast first argument of getservbyname(),
  gethostbyaddr(), and gethostbyname() from (const char*) to non-const
  (char*) for older platforms such as NextStep and OpenStep.

* ext/socket/socket.c: include "util.h" for strdup()/ruby_strdup() for
  platforms such as NextStep and OpenStep which lack strdup(); include
  <netinet/in_systm.h> if present for NextStep and OpenStep; cast first
  argument of gethostbyaddr() and getservbyname() from (const char*) to
  non-const (char*) for older platforms.

* ext/syslog/syslog.c: include "util.h" for strdup()/ruby_strdup() for
  platforms such as NextStep and OpenStep which lack strdup().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-22 04:00:03 +00:00
eban 0dfe20d3d4 * configure.in, lib/mkmf.rb: add RPATHFLAG for NetBSD. [ruby-dev:21791]
* bcc32/Makefile.sub, win32/Makefile.sub, win32/Makefile.sub: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-31 03:58:21 +00:00
matz 8ef5da3be1 consistent parentheses in assignment RHS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-16 17:47:19 +00:00
matz 87025fdd43 * marshal.c (w_object): dump extended modules as well.
* marshal.c (r_object0): TYPE_USRMARSHAL should restore extended
  modules before invoking marshal_load.  these two fixes are done
  by Masatoshi Seki <m_seki@mva.biglobe.ne.jp>.

* parse.y (yylex): argument parentheses preceded by spaces should
  be warned; not error.  [ruby-talk:84103]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-15 02:27:56 +00:00
matz 56235e083d * marshal.c (w_object): should pass "weak" value to next level.
[ruby-dev:21496]

* eval.c (proc_alloc): should not use cached object if klass is
  different. [ruby-talk:83685]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-06 01:50:41 +00:00
matz 4699b4afbb * eval.c (rb_thread_atfork): wrong format specifier.
[ruby-dev:21428]

* process.c (pst_inspect): better description.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-29 02:44:49 +00:00
nobu ac8ef7a5c8 * defines.h (flush_register_windows): use volatile only for gcc on
Solaris.  [ruby-dev:21403]

* lib/mkmf.rb (xsystem): use system directly to honor shell meta
  charaters.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-26 00:52:49 +00:00
matz fc8e62d0df * bignum.c (rb_big_and): convert argument using 'to_int'.
* bignum.c (rb_big_or): ditto.

* bignum.c (rb_big_xor): ditto.

* eval.c (rb_f_require): allow "require" on $SAFE>0, if feature
  name is not tainted.

* lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser::stream):
  Supports StringIO.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-12 03:16:31 +00:00
nobu 01e3a55648 * lib/mkmf.rb (have_library, find_library): configure by library
name.

* win32/win32.c (isInternalCmd): distinguish command.com and
  cmd.exe.

* win32/win32.c (make_cmdvector): a character just after wildcard
  was ignored.  [ruby-core:01518]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-05 15:00:33 +00:00
nobu 4abb183807 * lib/mkmf.rb (create_tmpsrc): add the hook for source.
[ruby-list:38122]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-26 11:03:53 +00:00
nobu 8695612caf * marshal.c (w_symbol, w_object): get rid of warnings.
* re.c (rb_memsearch): ditto.

* time.c (time_dump): ditto.

* ext/extmk.rb (extmake): not continue making when extconf.rb
  failed.

* ext/openssl/extconf.rb: check __VA_ARGS__ macro more precisely.

* ext/openssl/ossl.h: remove version.h dependency.

* ext/openssl/ruby_missing.h: ditto.

* lib/mkmf.rb (pkg_config): use --libs output except with
  only-L for other options.  [ruby-list:38099]

* lib/mkmf.rb (create_makefile): separate rule for static
  library from shared object.

* win32/Makefile.sub, bcc32/Makefile.sub, wince/Makefile.sub:
  define exec_prefix and libdir.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-16 14:58:34 +00:00
nobu fb5efbaaec * lib/mkmf.rb (have_library): treat nil function name as "main".
(ruby-bugs:PR#1083)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-06 08:28:52 +00:00
nobu 94d17c1f1f * ext/extmk.rb (extmake): pass LIBPATH to make ruby. [ruby-dev:21137]
* ext/extmk.rb (extmake): set library name as source file name in
  Init_ext().  [ruby-dev:21137]

* lib/mkmf.rb (Logging::postpone): postpone logging messages after
  heading message as the result of the block.

* lib/mkmf.rb (macro_defined?): append newline to src unless ended
  with it.

* lib/mkmf.rb (have_library): allow nil function name to just
  append a library.  (ruby-bugs:PR#1083)

* lib/mkmf.rb (pkg_config): should append additional libraries to
  $libs but not $LIBS.  [ruby-dev:21137]

* ext/io/wait/extconf.rb: check DOSISH macro instead of platform.

* ext/digest/sha1/extconf.rb: have_library already appends library
  name.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-06 03:11:14 +00:00
nobu 63f5a7164b * lib/mkmf.rb (pkg_config): get configuration by pkg-config. [new]
* ext/openssl/extconf.rb: use pkg_config.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-02 05:54:00 +00:00
nobu 59b2d551e8 * lib/mkmf.rb (dir_config): allow multiple directories separated
by File::PATH_SEPARATOR.

* lib/mkmf.rb (create_makefile): DLDFLAGS include $LDFLAGS again.
  [ruby-talk:76894]

* lib/mkmf.rb (init_mkmf): not default $LDFLAGS to LDFLAGS for
  ruby itself, but default $DLDFLAGS to DLDFLAGS.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-30 13:35:23 +00:00
nobu d197683232 commit miss
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-30 06:39:06 +00:00
eban 3fbbec0c39 * lib/fileutils.rb (install): support preserve timestamp.
* instruby.rb (install): use FileUtils::install preserve mode.

* lib/un.rb: new.  % ruby -run -e cp -- -p foo bar

* lib/mkmf.rb: use un.rb instead of ftools.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-29 10:24:28 +00:00
nobu 1a890d82c3 * lib/mkmf.rb (have_type): check if a type is defined.
* lib/mkmf.rb (check_sizeof): check size of a type.

* ext/dbm/extconf.rb: check if type DBM is defined.
  [ruby-talk:76693]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-24 07:41:36 +00:00
nobu cabf75ae6a * lib/mkmf.rb (log_src, checking_for, create_header):
Logging.message is printf like format.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-23 05:19:22 +00:00
nobu b31bca1b45 * lib/mkmf.rb (init_mkmf): clear $INSTALLFILES. [ruby-dev:20727]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-18 09:44:28 +00:00
nobu c1c86a37df * lib/mkmf.rb (rm_f): use FileUtils.
* lib/mkmf.rb (modified?): return mtime of the target if
  it exists and newer than times.

* lib/mkmf.rb (install_files): add a current directory
  file even if it does not exist yet.

* lib/mkmf.rb (configuration): do not add $LDFLAGS to
  DLDFLAGS.

* ext/extmk.rb (extmake): check whether Makefile is newer
  than depend and MANIFEST.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-18 08:34:45 +00:00
eban 40f3699376 lib/mkmf.rb (VPATH): use '&&' instead of 'and'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-03 11:07:55 +00:00
matz 9d22a06ea0 * array.c (rb_values_at): extract common procedure from
rb_ary_values_at.  follow DRY principle.

* re.c (match_values_at): values_at should understand ranges.

* struct.c (rb_struct_values_at): ditto.

* struct.c (inspect_struct): inspect format changed; add "struct "
  at the top.

* sprintf.c (rb_f_sprintf): "%p" specifier for inspect output.
  (RCR#68)

* eval.c (rb_mod_undef_method): allow "undef_method" to accept
  multiple arguments. (RCR#146)

* lib/timeout.rb: put timeout in Timeout module. (RCR#121)
  [ruby-talk:61028]

* re.c (match_groups): new method added. (RCR#139)

* variable.c (rb_mod_const_of): should exclude constant defined
  in Object, unless retrieving constants of Object.

* string.c (rb_str_new4): do not allocate new string if original
  is frozen or already have copy-on-write entry. [ruby-talk:74940]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-03 11:02:53 +00:00
eban a11ab83884 * lib/mkmf.rb (VPATH): convert from Windows form to Unix form on
MinGW.  This fixes the build with GNU make 3.80-1 for Cygwin.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-03 03:20:32 +00:00
matz 0c4fe2b522 * variable.c (autoload_delete): should delete Qundef from iv_tbl.
(ruby-bugs-ja PR#504)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-25 05:28:24 +00:00
matz 590a37880c * eval.c (proc_alloc): re-unification of Block and Proc. Block
class is no longer available.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-16 07:14:50 +00:00
matz 6125313d69 * array.c (push_values_at): Array#values_at should work with
ranges too.

* range.c (rb_range_beg_len): length calculation was wrong.

* eval.c (rb_call): should set T_ICLASS in the frame->last_class.
  [ruby-core:01110]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-02 04:49:46 +00:00
nobu 7712407048 * lib/mkmf.rb, lib/optparse.rb, lib/tracer.rb: use Method#to_block
instead of deprecated Method#to_proc.  (ruby-bugs-ja:PR#477)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-26 13:17:07 +00:00
eban 534c5a2910 * parse.y (void_expr0): node might become NULL after calling remove_begin().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-19 18:17:59 +00:00
eban d39d90f86a * lib/mkmf.rb (try_func): remove COMMON_HEADERS at first for performance.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-12 18:24:55 +00:00
nobu 7aa4cb1f06 * lib/mkmf.rb (init_mkmf): add libdir to LIBPATH unless cross
compiling.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-09 03:28:22 +00:00
michal c80a51e89f makes possible to add files to clean and distclean targets
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-21 19:33:19 +00:00
nobu 971d5f8480 * lib/mkmf.rb (egrep_cpp): use inspect to show options.
* lib/mkmf.rb (dir_config): prior configured directories to
  defaults.

* lib/mkmf.rb (dir_config): extract first word to determin
  make command type.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-19 19:14:22 +00:00
eban 86c90aea36 * Makefile.in, {win32,bcc32}/Makefile.sub: add new target:
what-where, no-install.

* mkconfig.rb: add const: CROSS_COMPILING.

* ext/extmk.rb: no-install support.  add MAKEDIRS macro.

* lib/mkmf.rb: add !ifdef .. !endif for Borland make.

* process.c: improve DJGPP support.  system "ls", "-l".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-31 12:31:12 +00:00
eban 2672d0cc28 * instruby.rb: remove junk args.
* lib/mkmf.rb (create_makefile): remove a trouble library
  before making a shared library.
* win32/Makefile.sub: invoke instruby.rb with the --make-flags option.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-28 10:32:05 +00:00
eban a36b7eea8a * lib/mkmf.rb (create_makefile): accept pure ruby libraries.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-21 15:42:10 +00:00
eban 0e1b92874b * lib/mkmf.rb (init_mkmf): add $(topdir) to $LIBPATH if $extmk.
remove adding $(archdir) to $LIBPATH.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-15 12:20:34 +00:00