1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
Commit graph

207 commits

Author SHA1 Message Date
nobu
dcdbe0f22a extmk.rb: extract CLEANFILES and DISTCLEANFILES
* ext/extmk.rb (extract_makefile): extract CLEANFILES and
  DISTCLEANFILES regardless previous configration succeeded, as
  ext/tk/extconf.rb makes config_list file always.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-21 04:22:07 +00:00
nobu
13e15287cb extmk.rb: do not exclude readline
* ext/extmk.rb: do not exclude readline by default on win32.  it
  would not be completely impossible.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-11 07:35:13 +00:00
nobu
ae752cc546 extmk.rb: default without-ext
* ext/extmk.rb: move the default execluded extensions from
  configure.in so that it works on win32 too.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-11 04:44:09 +00:00
nobu
5b6fc3f006 extmk.rb: replace current directory name
* ext/extmk.rb (extmake): replace "./" at beginning in LOCAL_LIBS
  with the current directory name for values cached in previous
  Makefile.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-23 13:05:47 +00:00
nobu
1e6a101237 extmk.rb: no EXTOBJS to main if enable-shared
* ext/extmk.rb: as all extension objects including initializations
  of ext and enc shouild be linked to libruby if enable-shared,
  EXTOBJS should not be linked to main programs.
  [ruby-core:66675] [Bug ]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-04 17:27:49 +00:00
nobu
c2228158c9 extmk.rb: include UPDATE_LIBRARIES
* ext/extmk.rb: include UPDATE_LIBRARIES in SUBMAKEOPTS for NMAKE
  which does not include macro definitions given by command line
  in MAKEFLAGS.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-31 03:49:43 +00:00
yugui
4883d12552 * ext/extmk.rb: generates the rule for extinit.$(OBJEXT).
extinit.$(OBJEXT) used to be generated by the builtin rule, thus
  didn't accept custom $(CC) and caused linkage error for cross
  compiling.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-11 13:33:19 +00:00
nobu
c2b0992156 configure.in: fix static-linked-ext
* configure.in (--with-static-linked-ext): fix for extensions to
  be linked statically.
* Makefile.in, common.mk: use ENCSTATIC for enc directory.
* ext/extmk.rb: supply dependencies of statically linked extension
  libraries.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-03 03:40:24 +00:00
nobu
0b4e4b20cb extmk.rb: GNU make -C option
* ext/extmk.rb: use -C option for GNU make instead of shell.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-03 03:38:13 +00:00
nobu
057186a986 extmk.rb: non-installed extensions when statick-linked-ext
* ext/extmk.rb: exclude extension libraries not to be installed if
  `--with-statick-linked-ext` is set, not only shared library is
  not built.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-22 14:34:56 +00:00
nobu
108aa6143e extmk.rb: non-installed extensions cannot link statically
* ext/extmk.rb: exclude extension libraries not to be installed
  unless shared library is built, as they cannot be linked
  statically.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-21 04:46:00 +00:00
nobu
e627a028f3 extmk.rb: discard empty Makefile
* ext/extmk.rb (extmake): discard empty Makefile which can be left
  accidentally.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45993 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-18 06:08:54 +00:00
nobu
77811031e5 extmk.rb: check if parent is build
* ext/extmk.rb (extmake): don't build nested libraries if parent
  library isn't build.

* ext/{dl/callback,tk/tkutil}/extconf.rb: no longer need to check
  if the parent is build.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-09 05:52:59 +00:00
nobu
ecb8b52f56 extmk.rb: fix extstatic
* ext/extmk.rb: fix variable name for --extstatic option.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-09 05:52:57 +00:00
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 ]

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 ]



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 ]

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 ]

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 ]

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 : 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 ]


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