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

640 Коммитов

Автор SHA1 Сообщение Дата
Nobuyoshi Nakada 2b7409a2f2
Specify explicit separator not to be affected by $; 2020-03-08 17:38:37 +09:00
Nobuyoshi Nakada 6180f1fede
Added link_command for C++ 2019-09-19 19:06:18 +09:00
Nobuyoshi Nakada e2aac6a611
Separate @have_devel for C++ 2019-09-19 12:25:48 +09:00
Nobuyoshi Nakada 842f600a93
Look up the language module
Look up language module with `MakeMakefile.[]`, insted of a
accessing constant under that module directly, to get rid of
expose the constant to the toplevel inadvertently.
2019-09-19 00:03:18 +09:00
Nobuyoshi Nakada f9d0778fca
Removed MakeMakefile::C
It is exposed to the topleven namespace via included MakeMakefile.
2019-09-18 22:53:23 +09:00
Nobuyoshi Nakada 9bd77d7cf3
Removed a debug print [ci skip] 2019-09-18 22:53:22 +09:00
Nobuyoshi Nakada c3f03da494
[EXPERIMENTAL] MakeMakefile::CXX for C++ 2019-09-18 18:47:02 +09:00
Jeremy Evans 325f7b6008 Make pkg_config in mkmf include -I cflags in return value
This was the historical behavior, it was modified unintentionally
by 097c3e9cbb, which started storing
these flags in a different global variable.

Also, include the incflags when logging, and document that the
method modifies $INCFLAGS.

Fixes [Bug #10651]
2019-07-23 07:57:38 -07:00
Nobuyoshi Nakada fe3ff5afb0
Suppress paranoid warnings for external/3rd-party libraries
[Feature #15665]
2019-05-23 17:36:26 +09:00
Nobuyoshi Nakada c54d5872fb
Configure directories for headers and libraries automatically
[EXPERIMENTAL]
2019-05-08 17:00:12 +09:00
nobu 3d1c86a26f Removed moving toplevel header since r12501
Moving public headers was 12-years ago, no depend files would
expect ruby.h in the top source directory now.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-08 02:46:22 +00:00
kazu c01a5ee85e Use delete_prefix instead of `sub(/\Afixed-pattern/, '')`
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-04 08:22:10 +00:00
nobu 9b7d8947df Clear CC_WRAPPER in other than the toplevel
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-07 16:51:19 +00:00
nobu b0546f1cc6 Do not :stopdoc: entire classes/modules
It disables cross-references to the classes/modules, even if those
are defined in other places.  I suspect this is not an intentional
behavior, however make a workaround for the time being.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-26 17:08:30 +00:00
ngoto 5cc2ac98a9 mkmf.rb: set cppflags
* ext/mkmf.rb (configuration): set the default cppflags, which is
  referred from the default CPPFLAGS, for extension libraries.
  This fixes build failure of ext/zlib on Solaris 10.
  [Bug #14746] [ruby-dev:50539]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-11 15:46:21 +00:00
nobu f961bad191 Improve mkmf error message
* lib/mkmf.rb: Improve the error message when ruby.h is missing,
  to suggest installing separate packages.  [Feature #14656]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-04-02 04:44:35 +00:00
nobu 7184e03eb2 mkmf.rb: werror on mswin
* lib/mkmf.rb (MakeMakefile#try_ldflags): enable warning checking
  on mswin, link.exe warns -l options but does not fail.
  [Bug #13069]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-24 08:25:36 +00:00
nobu 4f03a239dc mkmf.rb: ignore linker warnings
* lib/mkmf.rb (try_ldflags): ignore linker warnings.  they cause
  unexpected failures on OpenBSD.  [ruby-core:78827] [Bug #13069]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-22 12:34:51 +00:00
shyouhei f03146dd70 int (*)(void) is incompatible with void*
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-02 06:41:42 +00:00
usa 61045e037e bccwin is no longer supported
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61108 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-11 02:30:42 +00:00
usa 4ed018d947 depend on win32.h on Windows
* lib/mkmf.rb (depend_rules): all objs should depend on win32.h on Windows.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-11 02:30:21 +00:00
nobu 7d4cdab8f8 mkmf.rb: get rid of error messages
* lib/mkmf.rb (create_makefile): add TARGET_SO to CLEANLIBS only
  when the extension library will be build, to get rid of trying
  to remove $(TARGET_SO_DIR).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-27 07:37:55 +00:00
nobu afdd2fa7e9 mkmf.rb: clean generated files
* lib/mkmf.rb (try_link0): remove generated files other than the
  executable file.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-27 05:55:32 +00:00
nobu e3e2a2c715 Makefile.in: verify-static-library
* Makefile.in (verify-static-library): separate from LIBRUBY_A.
  no check every times by default.

* lib/mkmf.rb (try_link): remove debugging symbol directory after
  linking, instead of try_do.

* lib/mkmf.rb (try_link): bccwin32 support has been removed long
  ago.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-27 05:14:30 +00:00
nobu df5d84bb41 mkmf.rb: message format string
* lib/mkmf.rb (checking_for): message needs format string.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-31 08:03:08 +00:00
nobu b3dbeb6e90 mkmf.rb: fix script installation
* lib/mkmf.rb (MakeMakefile): fix condition to install script
  files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-28 05:02:39 +00:00
nobu 0cc169d1de fid typos [ci skip]
* fix typos, "a" before "Integer" to "an".  [Fix GH-1438]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-24 02:28:25 +00:00
nobu f9b36a3958 mkmf.rb: fix for bundled gems
* lib/mkmf.rb (install_dirs): enable extout in RUBYARCHDIR only
  when extmk.

* lib/mkmf.rb (create_makefile): ditto for TIMESTAMP_DIR.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-18 05:21:05 +00:00
nobu c06ec0bc3d extmk.rb: fix conflict of timestamp files
* ext/extmk.rb (timestamp_file): move extmk.rb specific tricks
  from lib/mkmf.rb.  keep RUBYCOMMONDIR prefix not to conflict
  with a timestamp file in the toplevel.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-01 15:55:13 +00:00
nobu cea6c9d2f5 mkmf.rb: architecture timestamp directories
* lib/mkmf.rb (timestamp_file): substitute TARGET_SO_DIR with
  RUBYARCHDIR seprately from other normal paths, to make timestamp
  files for architecture dependent directories separately.  and
  remove RUBYCOMMONDIR prefix.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-01 07:02:32 +00:00
nobu e3590ddb86 mkmf.rb: fix up r56053
* lib/mkmf.rb (timestamp_file): TARGET_SO_DIR is defaulted to
  RUBYARCHDIR but different for each extension libraries.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-01 05:54:25 +00:00
nobu 68d5d0f372 extmk.rb: hacks for bundled gems
* ext/extmk.rb (gems): move dirty hacks for bundled gems from
  mkmf.rb.
* lib/mkmf.rb (create_makefile): yield all configuration strings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-01 05:24:19 +00:00
nobu 886bef681a no Borland make [ci skip]
* ext/extmk.rb: remove Borland make support.  Borland C++ has not
  been supported since years ago.

* lib/mkmf.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-01 03:58:01 +00:00
nobu a6447af4da mkmf.rb: fix up r56047
* lib/mkmf.rb (create_makefile): install to $(RUBYARCHDIR) other
  than bundled extension libraries.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-31 11:27:24 +00:00
nobu 3b5da7e574 mkmf.rb: fix up r56047
* lib/mkmf.rb (create_makefile): TARGET_SO_DIR should not be the
  root directory when sodir is empty.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-31 11:20:45 +00:00
nobu 1b6a42d968 mkmf.rb: TARGET_SO_DIR
* ext/extmk.rb: move TARGET_SO_DIR stuffs to mkmf.rb.
* lib/mkmf.rb (create_makefile): create target shared object files
  under $(TARGET_SO_DIR) which is $sodir if it is defined with
  $extout.  [ruby-core:77058] [Bug #12681]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-31 06:36:12 +00:00
nobu 506b45db9c mkmf.rb: separate timestamp files
* lib/mkmf.rb (timestamp_file): separate timestamp files for each
  architectures.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-31 02:41:31 +00:00
nobu 39e3db3510 mkmf.rb: use TARGET_SO
* lib/mkmf.rb (create_makefile): use TARGET_SO consistently.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-17 07:20:23 +00:00
usa 5e1ee25ad8 * configure.in, lib/mkmf.rb, win32/Makefile.sub (CSRCFLAG): make the
compiler option replacable in Makefile.

* win32/Makefile.sub (OUTFLAG, COUTFLAG): ditto.

* win32/Makeile.sub, win32/setup.mak (CC): should not append `-nologo`
  option forcely.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-11 16:30:03 +00:00
nobu 1bdc1a5529 Local header dependencies
* lib/mkmf.rb (create_makefile): store $headers in LOCAL_HDRS for
  depend files.
* ext/digest/digest_conf.rb (digest_conf): add implementation
  specific headers to $header.
* ext/digest/{md5,rmd160,sha1,sha2}/depend: add LOCAL_HDRS to the
  dependencies.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-06 05:44:58 +00:00
nobu 15dba481a2 mkmf.rb: sort lists of source and object files
* lib/mkmf.rb (create_makefile): sort lists of source and object
  files in generated Makefile, unless given by extconf.rb.
  [Fix GH-1367]

Without sorting the list of object files explicitely, its order is
indeterministic, because readdir() is also not deterministic.
When the list of object files varies between builds, they are
linked in a different order, which results in an unreproducible
build.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-03 08:44:27 +00:00
nobu f37f881a58 lib/mkmf.rb: use xsystem to pkg-config --exists
* lib/mkmf.rb (pkg_config): use xsystem consistently to set up
  library path environment variable as well as latter pkg-config
  calls.  [ruby-dev:49619] [Bug #12379]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-14 00:04:36 +00:00
nobu 6ff3a8e3bb mkmf.rb: fix conflict in have_library
* lib/mkmf.rb (try_func): get rid of conflict of declarations of
  main().  checking local symbol reference does not make sense.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-11 16:54:10 +00:00
nobu 22f1db4b8e mkmf: Unquote directory strings
* lib/mkmf.rb (find_executable0): On Windows, it is actually valid
  to surround individual PATH directory entries with double
  quotes. Remove these before joining the path as otherwise the
  literal quotes would become part of the path, resulting in the
  executable not to be found.  [Fix GH-1305]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-24 16:10:43 +00:00
nobu fdcc924fce mkmf.rb: Do not modify caller strings
* lib/mkmf.rb (with_{cpp,c,ld}flags): copy caller strings not to
  be modified, in append_{cpp,c,ld}flags respectively.
  [Fix GH-1246]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-14 08:32:15 +00:00
naruse 9bed6e8e8e * configure.in: improve ICC (Intel C Compiler) support.
* configure.in (CXX): The name of icc's c++ compiler is `icpc`.

* configure.in (warnings): Add `-diag-disable=2259` to suppress
  noisy warnings: "non-pointer conversion from "..." to "..." may
  lose significant bits".

* configure.in (optflags): Add `-fp-model precise` like -fno-fast-math.

* lib/mkmf.rb: icc supports -Werror=division-by-zero
  and -Werror=deprecated-declarations, but doesn't support
  -Wdivision-by-zero and -Wdeprecated-declarations.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-17 12:20:15 +00:00
naruse 84d9d4857e Additional fix of r53450
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-07 06:51:09 +00:00
nobu f2ba23ace5 mkmf.rb: fix for ODE make
* lib/mkmf.rb (create_makefile): get rid of placing @ at the
  beginning of replacement, which is the loop expansion mechanism
  from the OSF Development Environment (ODE) make.  fix failures
  with bmake by r53448.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-07 06:37:44 +00:00
nobu b032d111ab mkmf.rb: library installation messages
* lib/mkmf.rb (configuration, dummy_makefile, create_makefile):
  show library installation messages only when any files need to
  be updated.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-07 03:06:58 +00:00
naruse 63f486f1db remove duplicated frozen_string_literal magic comment
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 09:25:48 +00:00