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

245 Коммитов

Автор SHA1 Сообщение Дата
usa 66b6366e1c * configure.in, win32/Makefile.sub (LIBS): need to link shell32
library for SH* functions on mswin32 and mingw32.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-19 00:24:43 +00:00
matz 67232b2151 * io.c (rb_io_reopen): should clear allocated OpenFile. pointed
out by Guy Decoux. [ruby-core:03288]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-17 09:02:40 +00:00
eban 39516ae717 * configure.in (RPATHFLAG): stop setting RPATHFLAG on Interix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-11 08:21:39 +00:00
nobu aa4878589c * configure.in (rb_cv_stack_end_address): detect stack end address
variable supplied by system.  [ruby-core:03115]

* gc.c (Init_stack): use system provided address if possible.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-08 10:27:23 +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 11fa3bf8c7 * configure.in (TRY_LINK): commit miss.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-26 06:10:52 +00:00
nobu 95084622ff * configure.in (TRY_LINK): export.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-26 03:47:10 +00:00
nobu 89b572762d * configure.in (aix): -b must come at the start of the command line,
and -e must not appear while testing libraries.  [ruby-talk:104501]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-26 02:05:54 +00:00
eban 4fb0b08ffd * configure.in (target_os): strip -gnu suffix on Linux.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-12 02:17:24 +00:00
knu d918f9f34f * configure.in: Add support for DragonFly BSD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-09 06:41:08 +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
eban 6075e128e6 * configure.in (ac_cv_func_fork): set to no on DJGPP.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-25 09:28:07 +00:00
akr 383964bc30 * configure.in: check the size of time_t.
* time.c (time_add): new function.
  (time_plus): use time_add.
  (time_minus): use time_add.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6108 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-06 07:48:38 +00:00
nobu 3b79d34d99 * common.mk, */Makefile.sub (lib, dll): phony targets.
* configure.in (ruby, miniruby): ditto.

* cygwin/GNUmakefile.in (rubyw): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-25 05:01:15 +00:00
nobu 71f46f0724 * Makefile.in, */Makefile.sub, common.mk: extract common portions.
* Makefile.in, cygwin/GNUmakefile.in, */Makefile.sub (RBCONFIG):
  separated time stamp file for rbconfig.rb.

* configure.in: append common.mk to Makefile.

* mkconfig.rb: keep mtime of rbconfig.rb if unchanged.

* win32/rm.bat: remove multiple files.

* wince/mkconfig_wce.rb: use fake.rb instead.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-21 23:21:31 +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 1c77623b1b * configure.in (PREP): ./miniruby and miniruby are distinguished by
OpenBSD make.  [ruby-dev:23148]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-06 00:53:04 +00:00
nobu d6ad092f0e * Makefile.in: miniruby is not needed for cross compile.
* configure.in (PREP): miniruby for native compile.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-04 13:31:45 +00:00
nobu 03d8c88b87 * configure.in: check functions, fork spawnv.
* io.c (rb_io_s_popen): accept argv not only single command line.

* process.c (rb_proc_exec_n): export.

* process.c (rb_check_argv): check if arguments are safe to invoke.

* process.c (rb_fork): retry to fork.

* process.c (rb_spawn): spawn child process asynchronously.

* process.c (rb_f_system): raise an exception if the command could not
  execute.

* win32/win32.c (rb_w32_argv_size): count necessary size for joined
  arguments.

* win32/win32.c (rb_w32_join_argv): join arguments with quoting.

* win32/win32.c (rb_w32_pipe_exec, rb_w32_spawn, rb_w32_aspawn):
  accept program name adding to command line.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-16 06:45:32 +00:00
eban 0b97d6f458 * configure.in: set ac_cv_func_link to yes to enable link() on MinGW.
[ruby-dev:22241]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-12 05:20:09 +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
eban 35d62eb6a5 * configure.in (RPATHFLAG): set to -Wl,-R like NetBSD on Interix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-30 17:39:04 +00:00
eban 181a3a2af5 * configure.in (DLEXT2): removed. Ruby does not treat
".dll" as a extention library anymore.

* bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub (DLEXT2):
  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-29 14:18:42 +00:00
siena 357d0ffc29 * configure.in: check availability of link(). [ruby-dev:22237]
* file.c (rb_file_s_link): raise an exception when link() is unavailable.
* missing/os2.c (link): removed. File#link isn't supported.
* bcc32/Makefile.sub: define HAVE_LINK to enable link(). [ruby-dev:22241]
* win32/Makefile.sub: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5532 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-21 16:09:40 +00:00
eban 72592e35ae * configure.in: Interix(SFU) support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-21 14:53:31 +00:00
matz b07337fcb3 * configure.in: install rdoc by default. if you do not want to
install rdoc, specify --disable-install-doc.

* eval.c (eval): need to add message delimiter. [ruby-dev:22561]

* defines.h (__NeXT__): Ensure that all standard S_IRUSR, S_IWGRP,
  S_IRWXO, etc. macros are defined since future code might require
  them (even though present code only requires a subset).

* defines.h (__NeXT__): Bug fix: WORDS_BIGENDIAN was not being set
  correctly on Rhapsody when -arch compiler flag was used (via
  configure's --enable-fat-binary option).

* ext/socket/socket.c (make_hostent): getaddrinfo(3) on BSD do not
  fill ai_canonname if serv is not supplied.  (ruby-bugs PR#1243)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-10 17:39:07 +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
eban 50fe8ab6aa * configure.in (RDOCTARGET): new macro. if you want to install
rdoc documentation, you need to run configure with
  --enable-install-doc.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-08 14:58:57 +00:00
matz 59dbfa3e4c * dir.c: merge tuning from H.Yamamoto <ocean@m2.ccsnet.ne.jp>.
[ruby-dev:22476]

* io.c (argf_eof): ARGF.eof? should not have any side effect.
  [ruby-dev:22469]

* io.c (argf_each_byte): should return self.  [ruby-dev:22465]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-02 16:21:26 +00:00
eban 9eca8a4a5f * configure.in: fix "test: too many arguments" error.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-27 14:45:48 +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
nobu ab0c37d0cf * configure.in: check if getcontext and setcontext are available.
* eval.c: use presence of getcontext/setcontext.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-26 09:34:03 +00:00
matz cecdab3bf0 * configure.in: check for nanosleep, -lrt if required.
[ruby-core:02059]

* eval.c (thread_timer): use select(2) if nanosleep(2) is not
  available.

* eval.c: check __stub_getcontext for glibc on some platforms.
  [ruby-list:38984]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-24 19:38:15 +00:00
eban 42da260543 * configure.in (LDSHARED): Fixed typographical error in assignment of
LDSHARED for Rhapsody which caused linking of extension modules to
  fail.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-24 11:54:12 +00:00
matz dbc5af97c7 * pack.c (pack_pack): remove unnecessary negative value check.
[ruby-dev:22329]

* io.c (rb_io_ungetc): need fflush before ungetc if write buffer
  is filled. [ruby-dev:22330]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-23 10:02:17 +00:00
nobu 748b699d1b * configure.in (ac_cv_func_setitimer): moved from defines.h
* defines.h, rubysig.h, signal.c: removed macro handling which
  should be done in configure.

* configure.in (intrinsics.h): check if present.

* ruby.h: include intrinsics.h if available.

* bignum.c, marshal.c: include ieeefp.h if available.

* missing.h (isinf): define as a macro if finite() and isnan()
  are available.  [ruby-core:02032]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-22 08:23:55 +00:00
eban 25b6ac95f2 * configure.in (mingw): set isnan, finite and isinf to yes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-22 08:09:14 +00:00
matz e91e9e7bbf * eval.c (rb_with_disable_interrupt): prohibit thread context
switch during proc execution.  [ruby-dev:21899]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-20 15:45:15 +00:00
matz e78cb14774 * lib/cgi.rb (CGI::QueryExtension::Value::[]): should work like
String#[] if more than one arguments are specified.

* lib/delegate.rb: avoid using common instance name as "@obj".

* lib/cgi.rb (CGI::QueryExtension::Value): Value is no longer
  subclass of String, but DelegateClass(String).

* ext/curses/extconf.rb: restore function check for init_color.
  [ruby-list:38905]

* Makefile.in: need to specify $(MAINLIBS) for the miniruby
  generation rule.

* configure.in: better FreeBSD -lc_r support.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-17 06:38:18 +00:00
nobu 9fdbc41973 * configure.in: check ucontext.h.
* eval.c: use getcontext/setcontext() instead of setjmp/longjmp()
  on ia64 or with native thread enabled.  [ruby-core:01932]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-13 00:01:28 +00:00
nobu faab8f264d * configure.in (ieeefp.h), numeric.c: needed for finite() on
Solaris.  [ruby-core:01921]

* file.c (rb_stat_inspect): adjust format specifier.

* parse.c (arg_prepend): nodetype() is for debug use.

* ruby.h (ISASCII, etc): cast to int to get rid of warning.

* ruby.h (alloca.h): include even in GCC.  [ruby-core:01925]

* ext/bigdecimal/bigdecimal.c (GetVpValue): adjust format
  specifier.

* ext/bigdecimal/bigdecimal.c (BigDecimal_prec, BigDecimal_coerce,
  BigDecimal_divmod): use rb_assoc_new() to suppress memory usage.

* ext/bigdecimal/bigdecimal.c (BigDecimal_split): ditto.

* ext/dl/sym.c (rb_dlsym_guardcall): guard itself should be
  volatile.

* ext/iconv/iconv.c (iconv_convert): ensure actual parameter with
  format specifier.

* ext/pty/pty.c (MasterDevice, SlaveDevice, deviceNo): do not
  define unless used.

* ext/pty/pty.c (getDevice): get rid of warning.

* ext/socket/socket.c (port_str, sock_s_getaddrinfo,
  sock_s_getnameinfo): FIX2INT() now returns long.

* ext/socket/socket.c (init_inetsock_internal): uninitialized
  variable.

* ext/syck/rubyext.c (syck_parser_assign_io): add prototype.

* ext/syck/rubyext.c (rb_syck_mktime, yaml_org_handler): use
  ISDIGIT() instead of isdigit() to avoid warnings and for
  platforms which don't support non-ascii charater.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-11 02:39:59 +00:00
eban a971d184ce * io.c (flush_before_seek): flush before seek on any platform.
* configure.in: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-06 12:48:51 +00:00
matz 2f4c13b0f0 * configure.in (AC_PROG_YACC): AC_DEFINE(OLD_YACC) if Yacc is found
instead of Bison or byacc.

* parse.y: If OLD_YACC is defined, ensure that YYMAXDEPTH is at least
  10000 (Bison's default) since some old versions of Yacc define it as
  low as 150 by default, which is too low for Ruby to parse some files,
  such as date/format.rb.  Among other issues, the parse problem causes
  "make test" to fail.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-03 07:55:54 +00:00
eban bf090992e0 * configure.in: should put getcwd in AC_CHECK_FUNCS, not
AC_REPLACE_FUNCS.  [ruby-core:01826]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-30 14:47:55 +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
nagai ab8e998216 * configure.in: change default value of --enable-pthread (default: no)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-25 06:26:38 +00:00
eban e2c4261204 * configure.in: set enable_pthread to no on MinGW.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-22 14:24:35 +00:00
nagai 3e6ec62611 * configure.in: add --enable-pthread option (default: yes)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-22 13:58:57 +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