Commit graph

533 commits

Author SHA1 Message Date
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
nobu
ce2211bf04 * lib/mkmf.rb (try_cppflags, try_cflags, try_ldflags): replace the
target flags if the given flag is accepted.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-27 01:54:23 +00:00
nobu
7d0066c542 * lib/mkmf.rb (create_header): log the content of header.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-17 00:56:25 +00:00
nobu
912b6606b3 * lib/mkmf.rb: fix r33904 and revert r33905. initialize global
variables with init_mkmf before initializing constants.
  [ruby-dev:45124] [Bug #5879]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34279 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-12 09:44:34 +00:00
kazu
c6fb7c1c87 * lib/mkmf.rb: verbose-mode can use by RM, RMDIRS, etc.
(e.g. make V=1 realclean)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-11 16:04:25 +00:00
usa
3fbc62445e * common.mk,Makefile.in,win32/Makefile.sub (ECHO1): move platform
specific hack from common.mk to Makefile.in (and win32/Makefile.sub).
  [Bug #5711]

* lib/mkmf.rb: we can generate Makefile as we like.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-14 11:02:00 +00:00
nobu
53df70d92b * Makefile.in (CFLAGS): append ARCH_FLAG.
* configure.in (ARCH_FLAG): exclude from CFLAGS.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-02 22:17:34 +00:00
nobu
b5be930979 * lib/mkmf.rb (MakeMakefile#try_func): fix broken patch at r33834.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-01 07:20:20 +00:00
naruse
6a894686d6 Fix r33904.
It breaks following tests if RUBYOPT=-w
* test_class_build(TestGemExtExtConfBuilder)
* test_class_build_rbconfig_make_prog(TestGemExtExtConfBuilder)
* test_class_build_env_make(TestGemExtExtConfBuilder)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-30 03:20:04 +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
2ba247275a * lib/mkmf.rb: Fix indentations of constants at end of module.
Document some constants.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-29 01:08:16 +00:00
drbrain
b1f1e46ce2 * lib/mkmf.rb: Wrap comments to 78 columns and clean up formatting.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-28 23:45:42 +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
kosaki
b418bc9be4 * lib/mkmf.rb: get rid of warnings of mkmf.rb if -Wmissing-declarations
and/or -Wold-style-definition warnings if specified.
  Patch by Nikolai Weibull. Thank you! [Bug #5459] [ruby-core:40200]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-24 23:02:44 +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
nobu
a0146d1e87 * lib/mkmf.rb (checking_for): should not modify the result.
* lib/mkmf.rb (have_struct_member): accept compiler opttions.
* lib/mkmf.rb (convertible_int): add restricted support of struct
  member, and TYPEOF_ macro.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-13 14:46:01 +00:00
nobu
214fd6ce77 * lib/mkmf.rb (have_library, find_library, have_func): allow
arguments of function to be checked.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-11 08:21:17 +00:00
nobu
fc5f37f0e1 * lib/mkmf.rb (try_func): ignore empty opts.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-10 06:13:37 +00:00
nobu
cfe220d8f3 * lib/mkmf.rb (have_library, have_func, have_var, have_header):
add compiler option parameter.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-10 06:02:40 +00:00
nobu
7c7514b206 * lib/mkmf.rb (cpp_command): remove multiple -arch flags since cpp
cannot work.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-08 08:30:53 +00:00
ktsj
c3749b6a6d * ext/pathname/lib/pathname.rb, ext/tk/lib/multi-tk.rb,
ext/tk/sample/demos-en/widget, lib/benchmark.rb, lib/irb/cmd/fork.rb,
  lib/mkmf.rb, lib/net/ftp.rb, lib/net/smtp.rb, lib/open3.rb,
  lib/pstore.rb, lib/rexml/element.rb, lib/rexml/light/node.rb,
  lib/rinda/tuplespace.rb, lib/rss/maker/base.rb,
  lib/rss/maker/entry.rb, lib/scanf.rb, lib/set.rb, lib/shell.rb,
  lib/shell/command-processor.rb, lib/shell/process-controller.rb,
  lib/shell/system-command.rb, lib/uri/common.rb: remove unused block
  arguments to avoid creating Proc objects.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-05 07:37:47 +00:00