* lib/mkmf.rb (xsystem): expand environment variable in all macros not
expanded with RbConfig. [Bug #8702]
* test/mkmf/test_framework.rb (create_framework): replace all $@ not
only once.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (have_framework): get rid of newer syntax to run with
ruby 1.8 for cross compiling. [ruby-core:55745] [Bug #8593]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (install_dirs): revert DESTDIR prefix by r39841, since
it is fixed by r41648. [ruby-core:55760] [Bug #8115]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb: should use expanded values for header directories
unless extmk. patch by vo.x (Vit Ondruch) at [ruby-core:55653]
[Bug #8115], rhbz#921650.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
than nmke.
* ext/ripper/depend: use VPATH expecting removed by above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (timestamp_file): gather timestamp files in one
directory from each extension directories.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
disthdrdir to specify the path of id.h, parse.h and etc.
* ext/ripper/depend: use above macro.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
If it is given, it returns the result of
`pkg-config --<option> <pkgname>`.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (timestamp_file): gather timestamp files in one
directory from each extension directories, with considering
target_prefix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (timestamp_file): gather timestamp files in one
directory from each extension directories.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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 #8209]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (configuration): not include all CFLAGS in CXXFLAGS, to
use different set than C for C++. [ruby-core:45273] [Bug #6504]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39994 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (MAIN_DOES_NOTHING): force to refer symbols for tests
to be preserved. [ruby-core:53745] [Bug #8169]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39958 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (MakeMakefile#libpath_env): set runtime library path for
the case rpath is disabled.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb: remove extra topdir in VPATH, which was in
win32/Makefile.sub for some reason and moved from there.
[ruby-dev:46998] [Bug #7864]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (MakeMakefile#try_run): bail out explicitly if cross
compiling, because it cannot work of course.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (MakeMakefile#configuration): set all ruby names.
hdrdir now needs RUBY_VERSION_NAME.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
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
* 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
* 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
* 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
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
* 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
* 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
* 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
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
* 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
* 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
* 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
* 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
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
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
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
--
* lib/mkmf.rb (configuration:ECHO1): Same as the recent fix in
common.mk.
":" in a make variable replacement cause a syntax error with
/usr/ccs/bin/make on Solaris. Uses $(NULLCMD) instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
TARGET to generate init function name.
this is followup of r30464.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
warnings into errors only for bundled extensions.
[ruby-core:33815]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/mkmf/base.rb (TestMkmf::MKMFLOG): show mkmf.log at failures.
* test/mkmf/base.rb (TestMkmf#teardown): close log file for each tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
warnings as errors.
* lib/mkmf.rb (Logging.postpone): yield log file object.
* lib/mkmf.rb (xsystem): add options, :werror only right now.
* lib/mkmf.rb (with_werror): check as if warnings are errors.
* lib/mkmf.rb (convertible_int): make declaration conflict
warnings errors not to pass wrong type. [ruby-dev:42684]
* lib/mkmf.rb (COMMON_MACROS): get rid of conflicts.
* win32/Makefile.sub (WARNFLAGS): make declaration conflict
warnings errors if possible.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
at each library file. this change makes making ext faster.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e