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

504 Коммитов

Автор SHA1 Сообщение Дата
nobu 13b11810e2 mkmf.rb: fix merge_libs
* lib/mkmf.rb (MakeMakefile#merge_libs): insert following reversal
  ordered elements just after the duplicated element, not overwriting
  successive elements.  [ruby-core:50314] [Bug #7467]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-07 06:33:22 +00:00
nobu 67db06ba97 configure.in: arch dependent header directory options
* configure.in (rubyarchhdrdir, sitearchhdrdir, vendorarchhdrdir): add
  options to customize architecture dependent header directories.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39108 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-06 08:32:58 +00:00
drbrain c8a4d4b071 * lib/mkmf.rb: Documented MakeMakefile constants. Hid implementation
details from RDoc 


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-25 01:37:06 +00:00
nobu 894f6ba7f1 mkmf.rb: large unsigned
* lib/mkmf.rb (MakeMakefile#try_constant): fix for large unsigned.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-23 07:18:06 +00:00
nobu 5d223fabb7 mkmf.rb: larger constants
* lib/mkmf.rb (MakeMakefile#try_constant): fix for larger constants.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-23 07:18:01 +00:00
nobu d78a00cc0c mkmf.rb: $extmk for symlink
* lib/mkmf.rb ($extmk): traverse parent directories for the case
  srcdir is a symlink.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-21 04:51:24 +00:00
nobu c669931941 vpath.rb: hack for msys make
* tool/vpath.rb (VPath#def_options): hack for msys make, which
  converts a command line argument to non-msys command seems like a
  path list automagically.  [Bug #7710] [ruby-core:51489]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-20 13:24:31 +00:00
nobu 2b8485bc89 configure.in, mkmf.rb: sign extensions
* configure.in (codesign): check identifier at link time, not
  configure time.

* lib/mkmf.rb (LINK_SO): sign extensions too.  replace empty line with
  default command.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-10 04:18:13 +00:00
nobu 1692d49338 mkmf.rb: different strings from conflict markers
* lib/mkmf.rb (MakeMakefile#macro_defined?): use clearly different
  strings from conflict markers.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 02:37:41 +00:00
nobu a0f7f36a5a mkmf.rb: each_compile_rules
* lib/mkmf.rb (MakeMakefile#each_compile_rules): splat $(*VPATH*) for
  each VPATH elements.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 12:19:49 +00:00
nobu e54cd2bd97 mkmf.rb: mingw64+MSYS pkg-config fix
* lib/mkmf.rb (MakeMakefile#pkg_config): strip all white spaces for
  mingw64+MSYS pkg-config which errouneously emits extra newlines.
  [ruby-core:47998] [Bug #7163]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-23 14:44:45 +00:00
nobu 5f06ee7ea0 mkmf.rb: timestamp_file
* lib/mkmf.rb (MakeMakefile#timestamp_file): remove @ which looks like
  configure variables.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-02 11:11:21 +00:00
nobu e627955d14 mkmf.rb: timestamp_file
* lib/mkmf.rb (MakeMakefile#timestamp_file): use .-. instead of !, a
  special character of NMAKE and BSD make.  [Bug #7265]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-02 11:02:27 +00:00
nobu 1d4ec583c7 mkmf.rb: timestamp_file
* lib/mkmf.rb (MakeMakefile#timestamp_file): use ! instead of %, a GNU
  make special character.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-01 19:41:38 +00:00
naruse 072ab753ec lib/mkmf.rb: fix for if config["libdir"] is nil.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-01 18:24:39 +00:00
nobu e6c5b9f308 revert r37326 "remove string literal concatenation"
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-25 14:06:31 +00:00
nobu db1f7079b6 remove string literal concatenation
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-25 10:07:22 +00:00
nobu 1b4c99c057 mkmf.rb: use configured libdir value
* lib/mkmf.rb (dir_config, init_mkmf): use configured libdir value as
  default library path.  [ruby-core:43726] [Bug #6207]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-12 05:10:43 +00:00
nobu aed254f314 mkmf.rb: unspace
* lib/mkmf.rb (String#unspace): unescape with backslashes.  normal
  makes need to escape spaces with backslashes.  nmake is not the
  case.  [Bug #7036]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-23 12:52:01 +00:00
nobu ba3d600583 mkmf.rb: directory timestamp
* lib/mkmf.rb (create_makefile): use timestamp file dependencies for
  directories.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-23 12:48:15 +00:00
nobu 9f4f154501 mkmf.rb: unexpand macros
* lib/mkmf.rb: unexpand macros.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37015 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-23 12:46:48 +00:00
nobu 255e1b05b1 mkmf.rb: library path quote
* lib/mkmf.rb (LIBPATHFLAG): no needs to escape library path here.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-23 12:45:21 +00:00
nobu de9093ad29 mkmf.rb: use internal path
* lib/mkmf.rb (MakeMakefile#configuration): make prefix paths
  internal to deal with in Makefile.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-23 12:44:30 +00:00
nobu 87fe2bfdcf mkmf.rb: fallback mkintpath
* lib/mkmf.rb (MakeMakefile#mkintpath): not a global function now.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-23 12:42:29 +00:00
nobu ecc80b3cb4 mkmf.rb: untabify
* lib/mkmf.rb: untabify.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-21 00:35:09 +00:00
nobu 9445ab2d98 mkmf.rb: fix $LDFLAGS
* lib/mkmf.rb (have_framework): insert a space between options.
  add just one -ObjC option.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-11 00:44:30 +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 2e42f37a02 mkmf.rb: fix race conditions at install-ext
* lib/mkmf.rb (create_makefile): fix race conditions at install-ext.
  target files need to depend on destination directory timestamp
  files, not phony trgets.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-31 05:27:44 +00:00
nobu 51463abb68 mkmf.rb: timestamp for directories
* lib/mkmf.rb: (create_makefile): use timestamp file for install-rb
  dependenting directories.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-26 08:19:05 +00:00
nobu 22bb811a73 mkmf.rb: clean timestamps
* lib/mkmf.rb (MakeMakefile::CLEANINGS): clean timestamp files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-25 00:55:34 +00:00
nobu b903ab940c mkmf.rb: fix r36815
* lib/mkmf.rb (create_makefile): remove unnecessary rule and newline.
  [ruby-dev:46067] [Bug #6904]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36818 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-24 07:13:38 +00:00
nobu 83e728a74e mkmf.rb: timestamp for directories
* lib/mkmf.rb (create_makefile): use timestamp for destination
  directories.  [ruby-dev:46067] [Bug #6904]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-24 06:42:34 +00:00
usa ce5af582a0 * lib/mkmf.rb (create_makefile): add dependency to header files when
depend files don't exist.  now we can remove simple (and often
  wrong) depend files in most cases.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36797 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-23 07:15:27 +00:00
nobu 4b448d36ea lib/mkmf.rb: ruby_headers
* lib/mkmf.rb (configuration): extact least ruby headers list as
  ruby_headers.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-22 07:57:22 +00:00
nobu ea3edd2744 mkmf.rb: fix typo
* lib/mkmf.rb (configuration): fix typo, should never return nil.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-18 12:07:19 +00:00
nobu 5a03c25690 mkmf.rb: hack for -framework
* lib/mkmf.rb (have_framework): get rid of separating -framework
  option and its argument and dealing with the argument as a library
  or an object name.  if $LDFLAGS were an array...


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-18 07:17:43 +00:00
nobu 6684ade9a3 configure.in: EXTDLDFLAGS
* configure.in (EXTDLDFLAGS): split options for each extension
  libraries, and unused in ruby.pc.  [Bug #6734]
* lib/mkmf.rb (MakeMakefile#configuration): add EXTDLDFLAGS.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-18 05:53:23 +00:00
nobu 37c8b68555 mkmf.rb: add TARGET_NAME
* configure.in (DLDFLAGS): use TARGET_ENTRY to specify an entry point
  instead of TARGET which may contain non-identifer characters.
* lib/mkmf.rb (create_makefile): add TARGET_NAME which is the first
  part consists of only word characters.  [ruby-core:46248][Bug #6709]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-09 04:28:40 +00:00
naruse 720dc30458 * lib/mkmf.rb: add dummy clean-static target to prevent errors for the
case real clean-static target doesn't exist.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-12 14:46:29 +00:00
drbrain 5b2df41b35 * README.EXT (prepare extconf.rb): Added note to see MakeMakefile for
documentation of extconf.rb functions.  Patch by Zachary Scott.
  [ruby-trunk - Feature #6522]
* README.EXT (Appendix C):  Removed in favor of MakeMakefile.
  Patch by Zachary Scott.
* lib/mkmf.rb:  Merged documentation from README.EXT Appendix C.  Patch
  by Zachary Scott.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-08 23:21:50 +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 2641f1d19f [ruby-dev:45650]
* lib/mkmf.rb (MakeMakefile#configuration): keep space at end of
  OUTFLAG and COUTFLAG.  [ruby-dev:45650]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-18 09:13:47 +00:00
nobu 58e7c45fc7 fix static-linked-ext
* lib/mkmf.rb (MakeMakefile#have_framework): combine -framework option
  and its argument with an equal sign not to be separated in merge_libs.
* ext/tk/extconf.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-17 01:37:08 +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
nobu 74134f57b1 lib/mkmf.rb: check pkg-config result
* lib/mkmf.rb (MakeMakefile#pkg_config): check if libs resulted from
  pkg-config works actually.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-09 07:36:03 +00:00
nobu 28b7df7820 * revert r35510 and r35511 which caused removing the headers everytime.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-01 07:15:18 +00:00
nobu 1735969296 extconf.h dependency
* lib/mkmf.rb (MakeMakefile#depend_rules): deal with extconf.h
  dependency.  just remove it and bail out right now.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-01 06:52:25 +00:00
nobu 3417dd28a6 TRY_LINK needs EXEEXT
* lib/mkmf.rb (TRY_LINK): need EXEEXT for cross-compiling.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-22 04:57:04 +00:00
nobu 24513fe21e workaround for mingw
* lib/mkmf.rb (try_link0, try_compile, try_cpp): check if the target
  file get created actually.  workaround for the case that the exit
  status of a cygwin program seems lost on mingw.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-22 02:17:30 +00:00
nobu b1bdada158 remove conftest files
* lib/mkmf.rb (try_constant): remove conftest files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-22 02:17:26 +00:00