* 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
* 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
* 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
* 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 #10566]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 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
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
* 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
* 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
* 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
* 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
* 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
* 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
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
* ext/extmk.rb (extmake): should make static libraries for extensions
to be statically linked. [Bug #7948]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 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
* 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
* 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
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
* 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
* 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
* 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
* 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 #7165]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37246 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
* 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
* 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
* 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
* 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 #6462]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 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
* 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
* 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
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
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
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
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
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