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

193 Коммитов

Автор SHA1 Сообщение Дата
akr 07b12e1ee2 * ext/extmk.rb: Re-generate extmk.mk and dummy makefiles only if
really required.
  This fixes a problem to run multiple test-all concurrently as:
  make test-all & make test-all & make test-all & ...


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-15 10:29:01 +00:00
nobu 5c2f4fbcbd extmk.rb: static extensions
* ext/extmk.rb (extmake): should make static libraries for extensions
  to be statically linked.  [Bug #7948]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-28 11:10:52 +00:00
nobu b0e7ec8c9a extmk.rb: untouch makefiles
* ext/extmk.rb (extmake): leave makefiles untouched if the content is
  not changed, to get rid of unnecessary re-linking.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-28 02:30:13 +00:00
nobu 4ea690ea3b extmk.rb: don't duplicate
* ext/extmk.rb (extract_makefile): do not add dldflags if duplicated.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-23 15:18:05 +00:00
zzak c09172f395 * ext/extmk.rb: nodoc this file
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-20 12:42:02 +00:00
nobu 262669e6c6 extmk.rb: always dynamic non-install extensions
* ext/extmk.rb (extmake): extensions not to be installed should not
  make static libraries, but make dynamic libraries always.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-01 07:17:53 +00:00
akr ee2b218293 * ext/extmk.rb (extmake): Invoke Logging::log_close in a ensure
clause.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-03 11:28:10 +00:00
akr 1d339ff212 * ext/extmk.rb (extmake): Use Logging.open to switch stdout and
stderr.  Delay Logging::log_close until the failure message is
  written.  Write the failure message only if log file is opened.

* lib/mkmf.rb (Logging.log_opened?): New method.

  [ruby-dev:47215] [Bug #8209]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-03 10:00:49 +00:00
nobu 9041f262e0 extmk.rb: extract SUBMAKEOPTS
* ext/extmk.rb (SUBMAKEOPTS): extract common sub make options.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-20 12:06:13 +00:00
nobu ffdb70a696 extmk.rb: rename variables
* ext/extmk.rb: rename working variables as more descriptive so no
  shadowing local variable warnings, and remove unused variables.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-20 12:06:10 +00:00
nobu 3677a68d81 extmk.rb: fix mixing mkmf.log
* ext/extmk.rb (extmake): close mkmf.log for each libraries so that
  failure messages are not mixed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-27 00:59:19 +00:00
nobu 943b664eea extmk.rb: git rid of post-1.8 features
* ext/extmk.rb (extmake): git rid of post-1.8 features for cross
  compilation.  [ruby-core:50160] [Bug #7439]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-26 19:12:55 +00:00
shirosaki 14d59c122f extmk.rb: fix mingw make failure with make -jN
* common.mk (WPROGRAM): need same dependencies as PROGRAM.

* cygwin/GNUmakefile.in (uncommon.mk): move include position
  below WPROGRAM definition to be defined in uncommon.mk.

* ext/extmk.rb (all, static): fix make rubyw.exe failure with make -jN.
  If make of ruby.exe and rubyw.exe run in parallel, link dll and link
  exe run in parallel, which causes link failure on mingw. To fix this,
  we make ruby.exe and rubyw.exe in one make process.
  [ruby-core:48007] [Bug #7165]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-17 12:20:57 +00:00
nagachika 9dd9041fcf * ext/extmk.rb: revert r36468. replacing NUL character is not necessary after
r36918,

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-07 14:34:40 +00:00
nobu d0d68df7d0 mkmf.rb: fix splitting options with an argument
* ext/extmk.rb (extmake), lib/mkmf.rb (have_framework): fix splitting
  options with an argument, not using NUL as special character.
  [ruby-core:47447] [Bug #6987]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-06 16:21:57 +00:00
nobu f0810814bd extmk.rb: hack for -framework
* ext/extmk.rb (mf.macro): replace NULs with spaces also in exts.mk
  which is used when dissable-shared.  fix r36437.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-19 12:21:49 +00:00
nobu c9e4da2afc enc/encinit.c for static-linked-ext
* ext/extmk.rb: append ENCOBJS to DLDOBJS but not EXTSOLIBS which is
  not a target, to compile enc/encinit.c.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-11 08:36:41 +00:00
nobu 03570f8091 ext/extmk.rb: workaround for -framework option
* ext/extmk.rb (extmake): assume non-option words are arguments.
  workaround for -framework option.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-20 15:58:03 +00:00
nobu e95d690380 ext/extmk.rb: reopen stdout
* ext/extmk.rb (extmake): reopen $stdout to NULL, since setting
  $stdout cannot affect child processes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-20 14:00:15 +00:00
nobu 2dc01a5f2f ext/extmk.rb: Shellwords.join
* ext/extmk.rb (system): use Shellwords.join.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-20 14:00:13 +00:00
nobu a906a9d9be Bug #6462: EXTSOLIBS
* Makefile.in (LIBRUBY_SO): link EXTSOLIBS too.
* ext/extmk.rb (mf.macro): use EXTSOLIBS instead of SOLIBS to get rid
  of discard libraries needed by default.  [Bug #6462]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-20 03:25:14 +00:00
nobu 15bf3182c6 static-linked-ext: all linked ruby
* ext/extmk.rb (command_output): ENCOBJS is needed for all linked
  ruby, if --disable-shared and --with-static-linked-ext.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-19 10:04:40 +00:00
nobu a99bf256ff static-linked-ext: into libruby
* ext/extmk.rb (command_output): dmyext is needed as DLDOBJS if no
  static lined extensions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-19 05:57:32 +00:00
nobu 0e60b2c6a3 static-linked-ext: into libruby
* Makefile.in, common.mk (PROGRAM): no extension libraries.
* common.mk (build-ext): pass macros for libruby.so.
* ext/extmk.rb (command_output): link extension libraries and encoding
  libraries into libruby.so, not ruby executable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-19 02:37:21 +00:00
nobu 1a6b07d716 ext/extmk.rb: fold long macro
* ext/extmk.rb (command_output): fold long macro lines.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-19 02:36:25 +00:00
nobu c7c7dfd2fc ext/extmk.rb: link archives only
* ext/extmk.rb (extmake): link archives only, skip script only
  extension libraries.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-18 08:41:02 +00:00
kosaki 899bf4981a * ext/extmk.rb: Show a message when extconf.rb raised an exception.
* ext/openssl/extconf.rb: Use exception raising instead of message
  and/or abort. We want to display error message to console _and_
  logging into mkmf.log.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-18 06:19:25 +00:00
nobu 291f3a10f2 * ext/extmk.rb (extmake): remove particular platform specific condition.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-18 04:50:09 +00:00
yugui 76bc2d1ed7 Imports Ruby's port to NativeClient (a.k.a NaCl).
Patch by Google Inc. [ruby-core:45073].

* configure.in (RUBY_NACL): New M4 func to configure variables for
  NaCl.
  (RUBY_NACL_CHECK_PEPPER_TYPES): New M4 func to check the old names
  of Pepper interface types.
  (BTESTRUBY): New variable to specify which ruby should be run on
  "make btest". NaCl can run the built binary by sel_ldr, but it need
  rbconfig.rb. So this variable is distinguished from $MINIRUBY.
  
* thread_pthread.c: Disabled some features on NaCl.

* io.c: ditto.

* process.c: ditto.

* signal.c: ditto.

* file.c: ditto.

* missing/flock.c: ditto.

* nacl/pepper_main.c: An example implementation of Pepper application
  that embeds Ruby.

* nacl/example.html: An example of web page that uses the Pepper
  application.

* nacl/nacl-config.rb: Detects variants of NaCl SDK.

* nacl/GNUmakefile.in: Makefile template for NaCl specific build
  process.

* nacl/package.rb: script for packaging a NaCl-Ruby embedding
  application. 

* nacl/reate_nmf.rb: Wrapper script of create_nmf.py

* dln.c (dln_load): Added a hack to call on NaCl.

* util.c (ruby_getcwd): Path to the current directort is not available
  on NaCl.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-17 02:48:59 +00:00
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