Commit graph

176 commits

Author SHA1 Message Date
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
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