Fixes --with-static-linked-ext.
Patch by Google Inc. [ruby-core:45073].
* Makefile.in (ENCOBJS, EXTOBJS): New variables to specify static
linked libraries. Also reintroduces extinit.o, introduces encinit.o
introduces encinit.o
* common.mk: Builds static libraries rather than shared objects if
specified.
* configure.in (LD): new substitution.
Avoids PIE if s
* enc/depend: Supports static linked libraries
(libencs, libenc, libtrans): New target.
* enc/encinit.c.erb: new template to generate the initialization of
statically linked encodings.
* enc/make_encmake.rb (--module): new flag to specify whether static
or dynamic.
* transcode_data.h (TRANS_INIT): New macro to get rid of the name
collision of encoding initializers and transcoder initializers.
* ext/extmk.rb: Fixes the behavior on $extstatic is true.
* lib/mkmf.rb (clean-static): new target to clean up static linked
libraries.
* ruby.c (process_options): New initializes statically linked
encodings here.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.in (PROGRAM), configure.in (POSTLINK): sign built program
using RUBY_CODESIGN identity.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.in (clean-platform): add new target.
It cleans `win32` directory.
* common.mk (clean): add a dependency for `win32` directory.
* common.mk (distclean): ditto.
* common.mk (distclean-platform): add new target.
It cleans `win32` directory.
* common.mk ($(PLATFORM_D)): add new target to make `win32` directory.
* common.mk (win32/win32.$(OBJEXT)): move win32.o into `win32`
directory.
* common.mk (win32/file.$(OBJEXT)): add new target for win32/file.c.
* configure.in: move win32.o into `win32` directory and add
win32/file.o to MISSING.
* file.c (file_load_ok, rb_file_load_ok): replace static
file_load_ok() with public rb_file_load_ok().
It's to link Windows implementation in win32/file.c.
* file.c (rb_find_file_ext_safe): ditto.
* file.c (rb_find_file_safe): ditto.
* win32/file.c (rb_file_load_ok): new file. Add Windows specific
optimized implementation of rb_file_load_ok(). We created a
separated file to avoid too many #ifdef macro which is unreadable.
* win32/Makefile.sub (PLATFORM_DIR): add a variable for `win32`
directory.
* win32/Makefile.sub (MISSING): move win32.obj into `win32`
directory and add win32/file.obj to MISSING.
* win32/Makefile.sub (MAKEDIRS): replace MINIRUBY with BASERUBY.
It's because miniruby doesn't exist when making `win32` directory.
* win32/Makefile.sub (clean-platform): add new target to clean `win32`
directory.
* win32/Makefile.sub ({$(srcdir)}.c{}.obj): make it not match
win32/file.c to build properly.
* win32/Makefile.sub (win32/win32.$(OBJEXT)): move win32.obj into
`win32` directory.
Patch created with Luis Lavena.
[ruby-core:42480] [Feature #5999]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
specific hack from common.mk to Makefile.in (and win32/Makefile.sub).
[Bug #5711]
* lib/mkmf.rb: we can generate Makefile as we like.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: add --no-undefined if --enable-shared is specified.
Gentoo enabled this option long time. Also, export EXTLDFALGS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
generate *.inc. because insns.def encoding has been changed SJIS to
UTF-8. if $BASERUBY is 1.9, -Ks cause an error. [Feature #5128]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (ECHO1): ":" in a make variable replacement cause a syntax
error with /usr/ccs/bin/make on Solaris. Uses $(NULLCMD) instead.
* configure.in (NULLCMD): new check.
* Makefile.in (NULLCMD): Reflects checking in configure.
* win32/Makefile.sub (NULLCMD): new assignment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (showconfig): show configure flags, like as
`config.status --config' generated by recent autoconf.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (rb_cv_dynamic_alloca): check if extra source for
dynamic size alloca.
* missing/x86_64-chkstk.s (___chkstk): necessary for alloca of
amd64-mingw32msvc-gcc on Ubutu.
* thread_win32.c (ruby_alloca_chkstk): check stack overflow
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/rbinstall.rb: install pc file only if non-empty.
[ruby-core:32901] #3983
* win32/Makefile.sub (ruby_pc): create pc file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
from test-rubyspec.
* common.mk (test-rubyspec): moved from Makefile.in.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
semicolon when omitting "in WORDS" of FOR-statement.
* tool/rmdirs: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28615 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
FOR-statement is not allowed in /bin/sh on Solaris. fore-ported
r28609 from 1.9.2.
* tool/rmdirs: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
has been failing when doxygen(1) is found by configure but the
variable is not defined by the system and make(1) does not allow
an empty command. ("@$(DOXYGEN)" was the cause)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* defs/dtrace.d: new file. defined a dtrace provider "ruby".
* include/ruby/ruby.h (LIKELY): moved from vm.c.
(UNLIKELY): ditto.
(OBJSETUP): probe "object-create".
(RUBY_EVENT_RESCUE): new event.
* vm_exec.c (DEBUG_ENTER_INSN): embeded a probe insn-entry into it.
(DEBUG_END_INSN): insn-return.
* vm.c (LIKELY): moved into ruby.h.
(UNLIKELY): ditto.
(Init_BareVM): embeded a probe "raise" into it.
* variable.c (rb_class2name_without_alloc): new utility function.
* tool/rbinstall.rb (install?(:ext, :arch, :'ext-arch')): installs
dtrace.d if necessary.
* thread_pthread.c (add_signal_thread_list): probe "raise".
(rb_thread_create_timer_thread): ditto.
* thread.c (rb_thread_schedule_rec): probes "thread-enter" and
"thread-leave",
(thread_start_func_2): ditto.
(thread_cleanup_func): probe "thread-term"
* lib/mkmf.rb: supports dtrace postprocessor on making an extension.
* iseq.c (rb_vm_insn_name): new utility function.
(rb_vm_insn_len): ditto.
* insns.def (hook): probes "method-etnry", "method-return", "line",
and "rescue".
* compile.c (iseq_compile_each): adds a trace op for "rescue" probe.
* gc.c (garbage_collect): probes "gc-begin" and "gc-end".
(obj_free): probe "object-free"
(garbage_collect_with_gvl): probe "raise"
(negative_size_allocation_error): ditto.
(rb_memerror): ditto.
* eval.c (rb_rescue2): probe "rescue"
(rb_longjmp): probe "raise"
* ext/probe/probe.c: new extension for application defined probes.
* ext/probe/extconf.rb: ditto.
* configure.in (--with-tracing-model): new option to choose a tracing
mechanism.
(DTRACE): new substitution. name of dtrace(1).
(RUBY_TRACING_MODEL): new substitution.
(DTRACE_OBJ): ditto.
(MINIDTRACE_OBJ): ditto.
(GOLFDTRACE_OBJ): ditto.
(LIBRUBY_DTRACE_OBJ): ditto.
(RUBY_DTRACE_POSTPROCESS): new macro. checks whether the dtrace on
the system needs postprocessing.
(RUBY_DTRACE_BSD_BROKEN): new macro. checks whether the dtrace
supports USDT.
* Makefile.in:
(DTRACE): new variable. name of dtrace(1).
(TRACING_MODEL): new variable. name of the chosen tracing mechanism.
(DTRACE_OBJ): same as the one in configure.in.
(MINIDTRACE_OBJ): ditto.
(GOLFDTRACE_OBJ): ditto.
(LIBRUBY_DTRACE_OBJ): ditto.
(CPPOUTFILE): new substitution. necessary for generating dtrace.d
(trace_none.h): new target for TRACING_MODEL=none
(RUBY_H_INCLUDES): appended a header for tracing.
(distclean-local): also removes preprocessed version of dtrace.d
($(LIBRUBY_A)): needs $(LIBRUBY_DTRACE_OBJ) if dtrace needs
postprocessing.
($(PROGRAM)): ditto.
(golf): ditto.
(miniruby): ditto.
($(arch_hdrdir)/ruby/dtrace.d): new target. preprocessed verson
of defs/dtrace.d. generated if necessary.
($(arch_hdrdir)/ruby/trace_dtrace.h): new target.
definition of probes.
($(LIBRUBY_DTRACE_OBJ)): new target. generated if dtrace needs
postprocessing.
($(DTRACE_OBJ)): ditto.
($(MINIDTRACE_OBJ)): ditto.
($(GOLFDTRACE_OBJ)): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ruby without current libraries.
* common.mk (rdoc): use XRUBY.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (INSTALLDOC): enable if rdoc or doxygen are enabled.
* common.mk (docs): target to make documents.
* Makefile.in, win32/Makefile.sub (install-{all,nodoc}): trigger
by $(INSTALLDOC) from install.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
remove rules to generate name2ctype.kwd from
UnicodeData.txt and Scripts.txt.
if you want to generate, use tool/enc-unicode.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/enc-unicode.rb: added for generate name2ctype.kwd.
contributed by Run Paint Run Run [ruby-core:24775]
use like following:
ruby19 tool/enc-unicode.rb enc/unicode/UnicodeData.txt \
enc/unicode/Scripts.txt > enc/unicode/name2ctype.kwd
* enc/unicode.c (CodeRanges): move definitions to name2ctype.h.
* enc/unicode/name2ctype.h.blt, enc/unicode/name2ctype.kwd,
enc/unicode/name2ctype.src: updated to v5.1.
* enc/unicode/UnicodeData.txt, enc/unicode/Scripts.txt: added v5.1.
* Makefile.in: add rule to generate name2ctype.kwd from
UnicodeData.txt and Scripts.txt.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
result of diff and turns -e option off, because *BSD make passes
it by default.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
c.f. [ruby-core:23519].
(--with-ridir): new configure option.
* tool/instruby.rb (:doc, :rdoc): uses $ridir instead of
a fixed path.
* lib/rdoc/ri/paths.rb: follows $ridir.
* Makefile.in: removes RIDATADIR which is no longer used.
* bcc32/Makefile.sub: generates the 'ridir' entry for RbConfig.
removes RIDATADIR which is no longer used.
* win32/Makefile.sub: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
program base name. [ruby-dev:38241]
* configure.in (--with-soname): base name of shared library.
[ruby-dev:38290]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23368 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (Makefile): works even if RUBY_INSTALL_NAME
contains macro.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(node_name.inc, known_errors.inc): unified from Makefile.in and
win32/Makefile.sub.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
building exts with miniruby, to get rid of overwriting running
program. [ruby-core:22339]
* Makefile.in, win32/Makefile.sub (RUNCMD, MKMAIN_CMD): macros to
run script file.
* ext/extmk.rb (parse_args): added --command-output option which
creates script file to make main program.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
universal binary. replaced --enable-fat-binary option which
didn't work actually.
* configure.in (RUBY_FUNC_ATTRIBUTE): added conditional test.
* configure.in (ac_cv_type_getgroups): decalared because getgroups()
fills rest of the buffer with garbages on Rosetta.
* configure.in (alloca): defines only for powerpc, but always
create empty object to suppress ld warning.
* configure.in (LIBRUBY_DLDFLAGS): set compatibility version with
TEENY.
* configure.in (CFLAGS, LDFLAGS): separates ARCH_FLAG.
* configure.in (arch): renamed to "universal" from "fat".
* Makefile.in (ARCH_FLAG): added.
* include/ruby/defines.h (WORDS_BIGENDIAN): uses
AC_APPLE_UNIVERSAL_BUILD.
* missing/alloca.c (alloca): defines only if C_ALLOCA is defined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
EPERM on cygwin and mingw.
* Makefile.in ($(LIBRUBY_SO)): use wildcard option of objcopy.
* configure.in (DLDFLAGS): do not export all symbols.
* cygwin/GNUmakefile.in (RUBYDEF): rejects symbols prefixex with
Init_.
* win32/mkexports.rb (Exports::Mingw): includes all symbols except for
prefixed with Init_ as well as mswin32.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
definition from common.mk to {Makefile.in,win32/Makefile.sub}.
[ruby-dev:37678]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
known_errors.inc, miniprelude.c, newline.c): move rules from common.mk
to {Makefile.in,win32/Makefile.sub) for nmake.
[ruby-core:20993]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Doxygen.
Intorduces C-level API reference generation with Doxygen.
* tool/file2lastrev.rb: wrapper script that abstracts subversion
and git-svn.
* tool/strip-rdoc.rb: filter for preventing doxygen from processing
rdoc comments.
* configure.in: (Doxyfile): Doxyfile is generated together with
Makefile.
(PACKAGE): configuration $(PACKAGE) is necessary for $(docdir).
* instruby.rb: adds a new install target 'capi'
* common.mk (capi): new target that generates C API documents with
Doxygen.
(install-capi): new target.
(pre-install-capi): ditto.
(do-install-capi): ditto.
(post-install-capi): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
input files for code generators into defs/ directory.
* Makefile.in (lex.c): followed keywords and lex.c.src.
* common.mk (parser.o): followed keywords.
(INSNS): followed opt_*.def
* tools/instruction.rb: followed opt_*.def.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (enc.mk, prelude.c): not depend on $(RBCONFIG) on mswin32
to get of compiling twice each time.
* win32/Makefile.sub (prelude.c): not depend on $(PREP).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
rid of depending PREP with nmake.
* common.mk (encs): depends on libruby.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (up): target to update from the repository.
* Makefile.in, {win,bcc}32/Makefile.sub (IFCHANGE): tool to update a
file if changed.
* tool/ifchange: for unixen.
* win32/ifchange.bat: some fix
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
removing rule of ext/ripper/y.output from common.mk to Makefiles
that depend on platforms.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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
* common.mk (.y.c): not discard the old target until successfully
created.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
bison with sed. [ruby-dev:32204]
* ruby.c (proc_options): use yydebug in cmdline_options.
* ruby.c (process_options): set yydebug flag of parser.
* parse.y (yydebug): moved into struct parser_params.
* parse.y (rb_parser_get_yydebug, rb_parser_set_yydebug): parser
generic methods.
* */Makefile.sub (parse.c): moved to common.mk.
* tool/ytab.sed: comment out yydebug definition, and substitute
yyerror with parser_yyerror.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lex.c.src: copied from keywords. This is the source of lex.c.blt.
* Makefile.in (lex.c): use lex.c.blt if keywords is same as lex.c.src.
* win32/Makefile.sub (lex.c): re-introduce copy rule.
* bcc32/Makefile.sub (lex.c): ditto.
* wince/Makefile.sub (lex.c): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(MINIOBJS): set to dln.o if dmydln.o is not used.
* Makefile.in (miniruby): use MINIOBJS instead of MINIDLNOBJS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.in (miniruby): use DLNOBJS and COMMONOBJS instead of
MINIOBJS and OBJS to avoid linking both dmydln.o and dln.o.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Although this may cause non-updated lex.c,
svn co may generate keywords newer than lex.c especially on
a file system which can record fractional mtime such as XFS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: generate ext_prelude.c by prelude.rb and gem_prelude.rb.
ruby (not miniruby) is linked with ext_prelude.o instead of prelude.o.
* inits.c (rb_call_inits): don't call Init_prelude.
* ruby.c: support --disable-gems option.
(ruby_init_gems): new function to define Gem::Enable and
invoke Init_prelude.
(process_options): call ruby_init_gems just after
ruby_init_loadpath.
* tool/compile_prelude.rb: support multiple files.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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
* 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
* main.c (always_gc): dllimport is required for VC to import a DLL
symbol. fixed: [ruby-dev:28051]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
macro definitions.
* bcc32/Makefile.sub: LIBRUBY_SO should use DLDOBJS, not EXTOBJS.
* {win32,wince}/Makefile.sub: separate config.h for compiler versions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* array.c (rb_ary_update): a[n,m]=nil no longer works as element
deletion.
* enum.c (enum_sort_by): protect continuation jump in.
[ruby-dev:24642]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7145 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
doesn't work for object files on VC.
* */Makefile.sub (config.h): need SIZEOF_TIME_T now.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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
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
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
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
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