Commit graph

264 commits

Author SHA1 Message Date
nobu
77c4a51cef fix static-linked-ext
* ext/extmk.rb: EXTLDFLAGS also needs to be passed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-17 01:34:35 +00:00
usa
5950dd1967 * ext/extmk.rb (exts.mk): use double quotes instead of single quotes
for commandline because it's not recognized as quotes on Windows.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-16 06:45:00 +00:00
yugui
3fa3f9abb9 Supports static linking of extensions and encodings again.
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
2012-05-16 05:39:06 +00:00
naruse
57657a0b9b suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-25 07:08:47 +00:00
usa
f6a2a43116 * ext/extmk.rb (extract_makefile): should sort after map, not before
it.  in this case there is no difference, but we should write better
  code.  this bad smell was caught by nagachika.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-08 14:28:28 +00:00
usa
d9d841e353 * ext/extmk.rb (extract_makefile): need to sort the array of current
srcs before comparing to the sorted old srcs.
  fixed the problem that the configuring stage of exts were always
  run, introduced at r33801.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-08 13:34:33 +00:00
drbrain
8b7ecdc11e * lib/mkmf.rb: Use MakeMakefile's rm_f to avoid conflict with Rake or
FileUtils.
* test/ruby/test_module.rb:  Hide MakeMakefile's inclusion in Object


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-30 00:57:24 +00:00
naruse
302b6f6e02 Don't break tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-29 08:42:13 +00:00
drbrain
194882cc40 * lib/mkmf.rb: Wrap mkmf.rb in module MakeMakefile to clean up Object
documentation.  [Ruby 1.9 - Feature #5658]
* ext/extmk.rb:  Use MakeMakefile::CONFIG instead of Object::CONFIG
* test/mkmf/base.rb:  ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-28 21:54:33 +00:00
nobu
c2c6687ddb * ext/extmk.rb (extract_makefile, extmake): regenerate makefiels
if globbed source file list is changed.
* lib/mkmf.rb (create_makefile): store ORIG_SRCS.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-20 14:22:44 +00:00
yugui
3b63aee193 * ext/extmk.rb (extmake): suppresses outputs from extconf.rb.
(extmake) warns a failure in extconf.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-03 14:44:59 +00:00
usa
0dcb387abe * ext/extmk.rb: set MFLAGS from MAKEFLAGS when using nmake.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-28 02:08:18 +00:00
nobu
d9e5dd3b0f * ext/extmk.rb: nmake substitutes all occurences in macro.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-08 15:45:33 +00:00
nobu
c74a962aab * ext/extmk.rb: workaround for nmake.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-08 15:15:55 +00:00
nobu
acd036bcdc * common.mk (configure-ext, build-ext), ext/extmk.rb (extmake):
support paralell-make under ext.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-08 00:33:05 +00:00
nobu
f8b2f4e05d * ext/extmk.rb: strip current directory prefix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-29 11:37:47 +00:00
naruse
1cdcd40ec8 * ext/extmk.rb: remove $makeflags.defined?, it should be $mflags.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-02 01:46:42 +00:00
naruse
a04d93acc2 * ext/extmk.rb: define $makeflags.defined? like $mflags.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-02 01:03:55 +00:00
nobu
49959bfd62 * lib/mkmf.rb (create_makefile): make extension libraries messages
brief.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-17 10:13:25 +00:00
nobu
e4e9758aa5 * ext/extmk.rb (extract_makefile): follow the change of
install-rb-default line format at r28850, which causes second
  run to create dummy makefiles.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-07 08:18:42 +00:00
naruse
b5dc2576cc * ext/mkext.rb: remove purelib, fixes a bug in r28440, r28441.
* spec/default.mspec: ditto.

* template/Doxyfile.tmpl: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-03 05:48:05 +00:00
nobu
45992b4b25 * ext/purelib.rb: no longer used since the default load path of
miniruby is empty.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-02 22:52:25 +00:00
akr
fe98a03c53 * ext/socket/extconf.rb: suppress a warning.
* ext/extmk.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-26 12:34:51 +00:00
nobu
1b26041724 * Makefile.in (clean-ext): allow glob patterns.
* ext/extmk.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-19 05:29:18 +00:00
nobu
8de8d8b562 * ext/extmk.rb: fix for extstatic.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-30 16:58:51 +00:00
nobu
53e884f32d * ext/extmk.rb (command_output): $makeflags are already quoted.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25965 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-30 07:57:47 +00:00
akr
c42a5df5c1 * ext/extmk.rb: use RbConfig instead of Config.
* instruby.rb: ditto.

* lib/rubygems.rb: ditto.

* test/rubygems/test_config.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-30 16:34:01 +00:00
nobu
2b7279ba5f * ext/extmk.rb: quotes arguments with spaces always.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23125 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-03 03:45:58 +00:00
nobu
27cc677088 * ext/extmk.rb (extmake): removes object files no longer used and
files to be removed by old distclean.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-03 08:10:10 +00:00
nobu
2b3a204832 * ext/extmk.rb (extmake), lib/mkmf.rb (create_makefile): $objs and
$srcs are always Array or nil now.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-03 07:25:50 +00:00
nobu
2233d34b39 * ext/extmk.rb (extmake): initialize $objs before extrace_makefile.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-03 06:28:55 +00:00
nobu
078928bbdd * ext/extmk.rb (extmake): removes object files no longer used.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-03 05:57:30 +00:00
nobu
91c9a4becb * common.mk (main): passes $(MAKE) to mkmain_cmd
* ext/extmk.rb (command_output): uses arguments to invoke make.


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

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

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


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-24 10:01:08 +00:00
nobu
2478f1caaf * lib/xmlrpc/server.rb (Server#serve): gets rid of hardcoded
platform names.

* lib/resolv.rb (Resolv::Hosts::DefaultFileName),
  (Resolv::DNS::Config.default_config_hash): tries win32/resolv on
  mswin64 too.

* lib/rubygems/specification.rb (Gem::Specification#ruby_code):
  aded mswin64.

* lib/drb/extservm.rb (DRb::ExtServManager#invoke_service_command):
  spawn is better to start a process in background.

* ext/extmk.rb: uses FNM_SYSCASE.

* instruby.rb: installs win32.h on mswin64 platform.
  [ruby-core:21722]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-01 23:12:52 +00:00
nobu
a7999ab13c * ext/extmk.rb (extmake): does not use both of makefile.rb and
extconf.rb at the same time.

* lib/mkmf.rb (DLLIB): depends on Makefile.  [ruby-core:21096]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-04 02:11:33 +00:00
nobu
8e39257025 * lib/mkmf.rb ($config_h): now always defines for old libraries.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-05 14:34:37 +00:00
yugui
642e081879 * dln.c: Ruby no longer supports MacOS 9 or before.
* eval.c: ditto.

* eval_intern.h: ditto.

* ext/extmk.rb: ditto.

* ext/tk/sample/tkextlib/treectrl/demo.rb: ditto.

* ext/tk/stubs.c: ditto.

* file.c: ditto.

* hash.c: ditto.

* include/ruby/defines.h: ditto.

* ruby.c: ditto.

* signal.c: ditto.

* vm_core.h: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-04 13:42:00 +00:00
yugui
bbbd9c0b7b * x68/_dtos18.c: removed. Ruby no longer supports human68k.
* x68/_round.c: ditto.

* x68/fconvert.c: ditto.

* x68/select.c: ditto.

* ext/Setup.x68: ditto.

* missing/x68.c: ditto.

* dln.c (dln_find_exe_r): removed human68k supports.
  (dln_find_1): ditto.

* lib/mkmf.rb: ditto.

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

* ext/socket/socket.c (init_sock): ditto.

* gc.c (GC_MALLOC_LIMIT): ditto.
  (rb_setjmp, rb_jmpbuf): ditto.
  (mark_current_machine_context): ditto.

* include/ruby/defines.h (PATH_ENV): ditto.

* io.c: ditto.

* process.c: ditto.

* ruby.c: ditto.

* test/ruby/test_env.rb: ditto.

* test/ruby/test_path.rb: ditto.

* LEGAL


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-04 13:12:13 +00:00
nobu
8aa74a17ef * ext/extmk.rb (extmake): check if compile before showing message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-19 12:43:57 +00:00
nobu
f955217028 * ext/extmk.rb: negate default of --without-ext if --with-ext is
given.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-10 11:13:58 +00:00
nobu
6f8bf830b4 * ext/extmk.rb: negate default of --without-ext.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-10 09:12:19 +00:00
nobu
b745b792e6 * common.mk, ext/extmk.rb, lib/mkmf.rb: use absolute path for RUBYOPT.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-08 08:44:15 +00:00
nobu
279b358d00 * common.mk, ext/extmk.rb, lib/mkmf.rb: removed RUBYOPT.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-08 08:29:24 +00:00
nobu
f3ad9bf9b3 * configure.in (MINIRUBY), common.mk (RUBYOPT): add purelib.rb.
[ruby-core:16642]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-08 07:41:23 +00:00
nobu
9d014dc254 * ext/extmk.rb, enc/make_encmake.rb: load current mkmf.rb even if
cross-compiling.

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


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-26 18:56:00 +00:00
naruse
65615986ec * common.mk, ext/extmkf.rb: always make encdb.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-29 07:27:09 +00:00
nobu
b2d9f1e9d0 * common.mk (encs): new target to compile external encodings.
* enc/Makefile.in: became a serb template.

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

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

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

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

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


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

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

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


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-28 05:43:17 +00:00
nobu
341ae6ac3e * ext/extmk.rb (extmake): save all CONFIG values.
* ext/extmk.rb (extmake): remove mkmf.log at clean, and extconf.h at
  distclean, respectively.

* ext/extmk.rb: remove rdoc at clean, and installed list file at
  distclean, respectively.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-03 02:05:57 +00:00