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

264 Коммитов

Автор SHA1 Сообщение Дата
nobu a96b6f0604 * common.mk (realclean): separate local and ext.
* ext/extmk.rb: not remove unrelated directories.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-15 13:31:54 +00:00
nobu 6b95829d71 * ext/extmk.rb: prepend also topdir to mflags at last.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-10 06:09:40 +00:00
nobu c389b3bb63 * Makefile.in, win32/Makefile.sub (XCFLAGS): -I. is needed for *.inc.
* ext/extmk.rb (parse_args): add also topdir to mflags.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-10 05:47:12 +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 1a89cc308d * configure.in, defines.h, eval_load.c (rb_feature_p, rb_provided,
search_required, rb_require_safe), ext/extmk.rb: Fix
  a bug where a statically linked extension cannot be autoloaded.
  [ruby-dev:30023] / [ruby-dev:30239]

* thread.c: added an internal class, Barrier.

* yarvcore.h (struct rb_vm_struct): moved loading_table from global.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-03 13:19:11 +00:00
nobu 42b3d60056 * ext/extmk.rb ($ruby): add extout directory to include path.
[ruby-core:11003]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-04-23 13:13:53 +00:00
nobu 96117996a0 * ext/extmk.rb: Borland make needs also -D flags to override variables
in Makefile.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-19 16:03:45 +00:00
nobu bbb0bf8049 * bcc32/Makefile.sub ($(LIBRUBY_SO)): execute pre-link hook.
* ext/extmk.rb: workaround for Borland make.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-19 15:38:31 +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 b004fa2428 * Makefile.in, common.mk, ext/extmk.rb, win{32,ce}/Makefile.in: keep
LIBRUBY_SO unless need to be removed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-01 15:00:45 +00:00
nobu d5195959bf * ext/extmk.rb: extout is needed for also clean.
fixed: [ruby-core:08944]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-29 00:37:20 +00:00
nobu e8454ae776 * common.mk (no-install): not install rdoc actually.
* common.mk (install-doc, no-install-doc): use instruby.rb.

* instruby.rb: rdoc installation.

* ext/extmk.rb: expand ruby executable names.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-21 13:58:33 +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 25c50cd193 * ruby.h (struct RString): embed small strings.
(RSTRING_LEN): defined for accessing string members.
  (RSTRING_PTR): ditto.

* string.c: use RSTRING_LEN and RSTRING_PTR.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-31 10:30:33 +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 99f9ac64a7 * ext/extmk.rb: remove LIBRUBY_SO if static linked extensions exist.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-17 15:03:19 +00:00
matz 2ca2a4a43b * parse.y (block_param): do not use multiple assignment for a sole
block parameter.  [ruby-dev:28710]

* eval.c (rb_yield_0): pass a raw yielded value to a sole block
  parameter if a value is passed by yield.

* eval.c (proc_invoke): args may not be an array.

* eval.c (rb_proc_yield): pass original value without wrapping
  it in an array.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-21 08:08:36 +00:00
matz 7b5d9d7086 * parse.y (method_call): remove (fn)(args) style lambda
invocation, add fn.(args) instead.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-21 05:13:48 +00:00
nobu 8446b6c59b * ext/extmk.rb (parse_args): provisional catch-up for the recent changes.
* lib/optparse.rb (OptionParser::List#summarize, OptionParser#order!): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-20 14:28:49 +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 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 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 32a75c9dcb * ext/extmk.rb: deal with $static set in extconf.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10188 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-05-24 16:43:45 +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
akr 192fcacebf * lib/fileutils.rb (FileUtils.cp_r): implement :remove_destination
option.

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


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-03-03 12:24:53 +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
nobu f3727f5928 * common.mk (static-ruby): overridable.
* ext/extmk.rb (parse_args): force to link extensions statically only
  if static is given for extstatic.

* ext/extmk.rb (RUBY, RUBYW): overridable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-16 14:25:53 +00:00
nobu 8a2612b335 * configure.in (RUBY_EXTERN): macro to export symbols in shared
library.  [ruby-core:05528]

* defines.h, {bcc32,win32,wince}/Makefile.sub (RUBY_EXTERN): moved to
  configuration pass.

* ext/extmk.rb (extmake): RUBY_EXTERN for static linked extensions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-25 17:00:03 +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
nobu 64a1809ce2 * ext/extmk.rb: omit non-existing directories.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-16 13:17:43 +00:00
nobu 7c2dad9c1f * extmk.rb (extmake): needs to be wrapped in an Array.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-04 15:20:10 +00:00
nobu b7f6c8989a * ext/extmk.rb (extmake): should not modify $mflags for each
extentions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-03 23:04:16 +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 8121738943 * eval.c (search_required, rb_require_safe): expand path in
rb_features.  [ruby-dev:26079]

* file.c (rb_find_file_ext): return absolute path.

* ext/extmk.rb: expand path for ext/**/extconf.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-18 15:01:21 +00:00
nobu 3403d175d9 * ext/extmk.rb (relative_from): treat mere drive letter as an absolute
path.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-17 14:58:16 +00:00
nobu b567351aff * ext/extmk.rb (extmake, parse_args): do not expand destdir.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-17 13:57:52 +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 69af75c28f * ext/extmk.rb (extmake): top_srcdir is based from ext directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-07 15:21:04 +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 5c47cc1f0a * ext/extmk.rb (extract_makefile): nothing to be removed when no file
was deleted.

* ext/extmk.rb (extmake): restore srcdir.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-28 11:53:52 +00:00
nobu b930458666 * ext/extmk.rb (parse_args): return false if nothing matched.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-02 10:53:53 +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
nobu 0bb45af103 * ext/extmk.rb (extract_makefile): default to true if not compiled
previously.

* ext/extmk.rb (extmake): create dummy makefile if extconf failed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-10 03:09:27 +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
eban a39967d062 * ext/extmk.rb (MANIFEST): do not use anymore, use extconf.rb instead.
* ext/enumerator/extconf.rb, ext/fcntl/extconf.rb,
  ext/stringio/extconf.rb: added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-01 05:04:04 +00:00
nobu a7ec244cc7 * ext/extmk.rb (extmake): extact target prefix from Makefiles.
* ext/extmk.rb: already built-in libraries satisfy dependencies.
  [ruby-dev:24028]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-02 16:54:35 +00:00
nobu b21aa86d5c * ext/extmk.rb: get rid of side effect of Config.expand, patched by
<tttt01@infoseek.jp>  (ruby-bugs:PR#597)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-06 04:32:49 +00:00
nobu 7b9431d98d * common.mk, ext/extmk.rb: make ext and .ext get removed by distclean.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-22 09:25:16 +00:00
nobu 6bfa557f8e * ext/extmk.rb: skip linking when libraries to be preloaded not
compiled.  [ruby-list:39561]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-15 23:27:12 +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 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
eban 38fc76574a * ext/extmk.rb: rm -rf $extout, not extout.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-20 12:22:48 +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 0990e0e8fc * ext/extmk.rb: $extstatic is Array or nil now. [ruby-talk:93383]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-22 05:33:36 +00:00
nobu 883857d842 * ext/extmk.rb: use optparse instead of getopts.
* Makefile.in, bcc32/Makefile.sub, win32/Makefile.sub: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-22 03:58:44 +00:00
nobu cf8cd080e4 * ext/extmk.rb: prefer relative path. [ruby-talk:93037]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5797 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-21 05:33:24 +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
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 6e0b3ca606 * ext/extmk.rb: Makefiles should depend on also rbconfig.rb.
(ruby-bugs:PR#1256)

* ext/win32ole/win32ole.c (set_argv): set real arguments to
  WIN32OLE::ARGV.  [ruby-list:39073]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-26 02:35:30 +00:00
usa fe5b6676b1 * ext/extmk.rb, win32/Makefile.sub, win32/configure.bat,
win32/setup.mak: --with-static-linked-ext support on mswin32.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-19 04:10:53 +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 44e22e8d78 * ext/extmk.rb: preserve order in Setup. [ruby-dev:22503]
* ext/extmk.rb: move dependent libraries just after depended
  libraries.

* ext/digest/*/extconf.rb: depend on digest.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-07 22:06:38 +00:00
usa 923b55d35b * instruby.rb: fix install directory if destdir and compile_dir are
not in the same drive.

* ext/extmk.rb: ditto.

* win32/Makefile.sub, win32/README.win32, win32/configure.bat,
  win32/setup.mak: new configure scheme. use ``configure --prefix=dir''
  instead of ``nmake DESTDIR=dir install''.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-28 17:25:31 +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
nobu 7d7f1ef157 * ext/extmk.rb (extmake): should not force to remake Makefile when
installation and so on.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-17 02:32:07 +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 1efae2f585 commit miss
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-12 08:06:22 +00:00
nobu cc4f2f8fcb * ext/extmk.rb (extmake): compact $extlibs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-12 07:55:14 +00:00
nobu fd36ed94f3 * Makefile.in: static link libraries to LIBRUBY_SO with static linked
ext.  [ruby-dev:21157]

* ext/extmk.rb (extmake): sort extension library initialization order.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-12 02:12:48 +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
eban 1038c25a09 * ext/extmk.rb (--no-undefined): annoying option removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-02 06:14:53 +00:00
eban 1a291e4544 * ext/extmk.rb (INSTALL_PROG, INSTALL_DATA): modify verbose messages.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-29 10:38:30 +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 ab6e5c655c * ext/extmk.rb: add -Wl,--no-undefined to LDSHARED only
if GNU ld is 2.11 or later.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-24 10:49:57 +00:00
akr 0977fe1705 * instruby.rb, ext/extmk.rb, lib/benchmark.rb, lib/cgi.rb,
lib/debug.rb, lib/getoptlong.rb, lib/optparse.rb, lib/time.rb,
  lib/date/format.rb, lib/irb/ruby-lex.rb lib/uri/common.rb: revert
  escape for `-' in character class.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-29 06:39:50 +00:00
akr 58ef7c2088 * regex.c (re_compile_pattern): fix previous change.
* instruby.rb, ext/extmk.rb, ext/tk/lib/tk.rb, lib/benchmark.rb,
  lib/cgi.rb, lib/debug.rb, lib/getoptlong.rb, lib/jcode.rb,
  lib/optparse.rb, lib/time.rb, lib/date/format.rb,
  lib/irb/ruby-lex.rb: escape `[', `]', `-' in chracter class in
  regexp to avoid warning.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-21 15:13:23 +00:00
eban 986bfd904c * ext/extmk.rb (parse_args): add '-n' to $mflags BEFORE "--".
do not add DESTDIR if already included in $fmlags.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-10 11:59:26 +00:00
knu 79862de363 * instruby.rb (parse_args), ext/extmk.rb (parse_args): Prepend a
hyphen to the first argument of MAKEFLAGS only if appropriate.
  Remove wrong comments.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-27 19:48:02 +00:00
usa 18caa8f178 * instruby.rb ($mflags.set?): Check $make instead of $nmake, sinse
there is no such a variable.

* instruby.rb ($mflags.set?), ext/extmk.rb ($mflags.set?): Return
  false if unmatched.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-26 10:29:05 +00:00
knu 91758efa95 * instruby.rb (parse_args), ext/extmk.rb (parse_args): Detect -n
and emulate a dry run.  Use 'make' in case no --make argument is
  given.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-26 08:56:01 +00:00
knu 78f457a5d5 * instruby.rb, ext/extmk.rb, Makefile.in, win32/Makefile.sub,
bcc32/Makefile.sub: Replace the complicated MFLAGS/MAKEFLAGS
  parser with something plain and comprehensible.  This fixes a
  bug where make flags were wrongly reordered and the resulted
  command line often did not make sense especially when BSD make
  is used with extra arguments given.  Tested with FreeBSD and
  Linux by me and mswin32, bccwin32 and mingw by usa.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-25 18:59:34 +00:00
nobu a01112eafe *** empty log message ***
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-05 20:11:20 +00:00
nobu 1fbea3bef7 * ext/extmk.rb (extmake): set $0 temporarily while loading
extconf.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-05 08:50:21 +00:00
eban 15774ab1fb * instruby.rb: need paren in regexp(make -n install).
* ext/extmk.rb (sysquote): do not need to quote on mswin/bccwin/mingw.

* ext/extm.rb ($mflags): uniq items and remove '-' and '--'.
  move options to the lead.

* lib/fileutils.rb (install): model on the real install
  command(message).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3292 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-05 07:04:10 +00:00
eban 5ec897d306 * wrong regexp.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-31 13:22:46 +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 67a7c34524 * typofix
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-30 12:23:11 +00:00
nobu fb0b931709 * ext/extmk.rb: split --make argument contains options, assume
the first word of --make-flags is always options even unless
  preceeded by -, and ignore letter-case of options if nmake.

* instruby.rb: extract -n option also from --make and
  --make-flags.

* bcc32/Makefile.sub, win32/Makefile.sub: not prepend - to
  $(MFLAGS)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-30 10:16:53 +00:00
eban 220a9926c5 * ext/extmk.rb (create_makefile): check only `-' option.
* configure.in: cleanups for MinGW. remove -D__NO_ISOCEXT in $CFLAGS.
* win32/win32.h: prototypes for isinf, isnan are not needed on MinGW.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-26 14:59:35 +00:00
eban 3d70ef2648 * ext/extmk.rb (create_makefile): -no-undefined -> --no-undefined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-11 15:12:52 +00:00
eban ee8addc13f * ext/extmk.rb (extmake): return true if not dynamic and not static.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-11-25 11:00:03 +00:00
nobu 8699e3e525 * configure.in (DLDFLAGS): removed -Wl,-no-undefined to
ext/extmk.rb, in order to allow references to symbols in other
	  extension libraries for mkmf.rb.  [ruby-dev:18724]

	* ext/extmk.rb (extmake): ditto.

	* ext/extmk.rb (extmake): exit when make failed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-11-13 07:30:24 +00:00
knu 0d572fc9b7 * ext/extmk.rb: Properly pass the given target to
make(1). [pointed out by eban]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-11-04 15:47:35 +00:00
knu 6cff858589 Fix a bogon in the last commit. (reported by WATANABE Tetsuya in
[ruby-dev:18634])


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-11-03 23:16:52 +00:00
knu cdce29bf0f * Makefile.in, ext/extmk.rb, bcc32/Makefile.sub,
win32/Makefile.sub: Introduce better command line syntax
  (--make/--make-flags/--extstatic) to extmk.rb and instruby.rb.
  Previously such command as 'make -j3 install' with pmake doesn't
  fail.  Formerly extmk.rb was receiving "make -j 3 -j 3" via the
  command line arguments and just ended up recognizing the first
  "3" as destdir. [with help of usa]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-11-03 21:42:14 +00:00
nobu 97eafefb4a * ext/extmk.rb (extmake): use dummy_makefile to create dummy
Makefile.

* lib/mkmf.rb (find_executable0): EXEEXT is optional.

* lib/mkmf.rb (dummy_makefile): make dummy Makefile content.

* lib/mkmf.rb (create_makefile): define EXTLIB replacing -l.

* lib/mkmf.rb ($bccwin): detect Borland make by help message.

* lib/mkmf.rb (CLEANINGS): common rules to clean.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-28 17:01:23 +00:00
H_Konishi ccfb459b7d ext/extmk.rb(78) : The unnecessary error when installing by bccwin32 is controlled.
lib/mkmf.rb(773) : Also in the case of bccwin32, the path was added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-27 14:05:25 +00:00
eban c87332937b * djgpp/*: sync with the latest.
* ext/extmk.rb, lib/mkmf.rb: flush $stdout.
* io.c (READ_DATA_PENDING_COUNT, READ_DATA_PENDING_PTR):
  undef these macros on DJGPP.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-27 09:04:55 +00:00
nobu d45f226da9 * configure.in (LIBPATHFLAG): avoid $ substitution.
[ruby-dev:18577]

* ext/extmk.rb (extmake): expand $srcdir.

* ext/win32ole/extconf.rb: should not override $CFLAGS, but
  append.

* lib/mkmf.rb (config_string): use given config hash.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-24 12:58:42 +00:00
nobu 6073c68242 * ext/extmk.rb (extmake): add install: target to dummy Makefile.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-22 06:24:19 +00:00
nobu db1c27bb37 * instruby.rb: add dryrun mode.
* ext/extmk.rb (extmake): avoid Borland make's quirk behavior.

* lib/mkmf.rb (link_command): opt is not a makefile macro.

* bcc32/Makefile.sub ($(LIBRUBY_SO) $(LIBRUBY)): EXTOBJS were not
  linked.

* bcc32/Makefile.sub (ext/extinit.obj): missing.

* bcc32/Makefile.sub (TRY_LINK): options have to place before any
  non-option arguments.

* win32/Makefile.sub (TRY_LINK): need -link and -libpath options.

* bcc32/Makefile.sub, win32/Makefile.sub (RANLIB): logical
  operator never work with command.com.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-22 04:19:26 +00:00
nobu e7ce523bb1 * configure.in (XCFLAGS): CFLAGS to comile ruby itself.
* configure.in (LIBEXT): suffix for static libraries.

* configure.in (LIBPATHFLAG): switch template to specify library
  path.

* configure.in (LINK_SO): command to link shared objects.

* configure.in (DEFFILE, ARCHFILE): miscellaneous system dependent
  files.

* configure.in (EXPORT_PREFIX): prefix to exported symbols on
  Windows.

* configure.in (COMMON_LIBS, COMMON_MACROS, COMMON_HEADERS):
  libraries, macros and headers used in common.

* configure.in (RUBYW_INSTALL_NAME, rubyw_install_name): GUI mode
  excutable name.

* Makefile.in (CFLAGS): append XCFLAGS.

* Makefile.in (PREP): miscellaneous system dependent files.

* Makefile.in (ruby.imp, ext/extinit.o): moved from ext/extmk.rb.

* Makefile.in (fake.rb): CROSS_COMPILING keeps building platform.

* Makefile.in (MAKEFILES): depend on *.in and config.status.

* Makefile.in (parse.c): replace "y.tab.c" with actual name for
  byacc.

* ext/extmk.rb, lib/mkmf.rb: integrated.

* ext/extmk.rb: propagate MFLAGS.

* ext/extmk.rb (extmake): make dummy Makefile to clean even if no
  Makefile is made.

* lib/mkmf.rb (older): accept multiple file names and Time
  objects.

* lib/mkmf.rb (xsystem): split and qoute.

* lib/mkmf.rb (cpp_include): make include directives.

* lib/mkmf.rb (try_func): try wheather specified function is
  available.

* lib/mkmf.rb (install_files): default to site-install.

* lib/mkmf.rb (checking_for): added.

* lib/mkmf.rb (find_executable0): just find executable file with
  no message.

* lib/mkmf.rb (create_header): output header file is variable.

* lib/mkmf.rb (create_makefile): separate sections.

* lib/mkmf.rb (init_mkmf): initialize global variables.

* win32/Makefile.sub, bcc32/Makefile.sub (CPP, AR): added.

* bcc32/Makefile.sub (ARCH): fixed to i386.

* win32/Makefile.sub, bcc32/Makefile.sub (miniruby): should not
  link EXTOBJS.

* ext/dl/extconf.rb: use try_cpp to cross compile.

* ext/dl/extconf.rb: not modify files in source directory.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 14:03:46 +00:00
eban 5c57848093 * configure.in (RUBY_PROG_GNU_LD): check whether the linker is GNU ld.
* ext/extmk.rb (create_makefile): add -Wl,-no-undefined to $DLDFLAGS
  on Linux if GNU ld is used and --enable-shared is specified.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-04 05:18:05 +00:00
H_Konishi 56201383cd * ext/extmk.rb: The condition judgment without necessity was deleted.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-28 00:53:05 +00:00
eban d54331b0af * ext/extmk.rb, lib/mkmf.rb ($INCFLAGS): new var for -I$(topdir).
* lib/mkmf.rb: add #define WIN32_LEAN_AND_MEAN to improve compile
  times.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-10 09:30:50 +00:00
eban 73d4f4b0bb * time.c (time_free): prototype; struct time_object -> void *.
avoid GCC warnings.
* lib/mkmf.rb, ext/extmk.rb ($LINK, $CPP): move to lib/mkmf.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-08 12:59:08 +00:00
eban 4f26f3b890 * configure.in: modify program_prefix only if specified
--program-prefix.

* configure.in: don't generate ext/extmk.rb.

* Makefile.in: execute directly $(srcdir)/ext/extmk.rb.
  remove -Cext option, "Dir::chdir 'ext'" in ext/extmk.rb.

* {win32,bccwin32}/Makefile.sub: ditto.

* instruby.rb: ditto.

* ext/extmk.rb: renamed from ext/extmk.rb.in.

* lib/mkmf.rb (module Logging): create log files (mkmf.log)
  in each extension module directories.

* ext/extmk.rb: ditto.

* lib/mkmf.rb (macro_defined?): new method.

* ext/.cvsignore: remove extmk.rb.

* ext/*/.cvsignore: add "*.def".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-08 09:08:15 +00:00