* configure.in (LIBDIR_BASENAME): use configured libdir value to fix
--enable-load-relative on systems where libdir is not default value,
overridden in config.site files. [ruby-core:47267] [Bug #6903]
* ruby.c (ruby_init_loadpath_safe): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- omit ANSI standard flags to compile socket extension where
anonymous union is required.
- remove redundant -be flags.
by Takashi Toyoshima <toyoshim@gmail.com>
https://github.com/ruby/ruby/pull/168
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Rewrites these variables instead of PATH.
NaCl port uses a toolchain which is specified by NACL_SDK_ROOT
environment variable. Originally, NaCl build added the toolchain
under the NACL_SDK_ROOT to the PATH. But updating PATH doesn't work
on Mac.
(RBCONFIG): Replaces configs with the variable updates above.
* configure.in: Thus it is no longer necessary to check $PATH.
Based on a patch by Takashi Toyoshima <toyoshim AT gmail.com>.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (mingw): add shlwapi to the list of dependency
libs for Windows.
* win32/Makefile.sub (EXTSOLIBS): ditto.
* internal.h: declare internal functions rb_w32_init_file,
rb_file_expand_path_internal and rb_file_expand_path_fast.
* file.c (Init_File): invoke Windows initialization rb_w32_init_file
* win32/file.c (rb_file_load_path_internal): new function.
Windows-specific implementation that replaces file_expand_path.
[Bug #6836][ruby-core:46996]
* win32/file.c (rb_w32_init_file): new function. Initialize codepage
cache for faster conversion encodings lookup.
* file.c (file_expand_path): rename to rb_file_expand_path_internal.
Conditionally exclude from Windows.
* file.c (rb_file_expand_path_fast): new function. delegates to
rb_file_expand_path_internal without performing a hit to the
filesystem.
* file.c (file_expand_path_1): use rb_file_expand_path_internal without
path expansion (used by require).
* file.c (rb_find_file_ext_safe): ditto.
* file.c (rb_find_file_safe): ditto.
* load.c (rb_get_expanded_load_path): use rb_file_expand_path_fast.
* load.c (rb_feature_provided): ditto.
* file.c (rb_file_expand_path): use rb_file_expand_path_internal with
path expansion.
* file.c (rb_file_absolute_path): ditto.
* test/ruby/test_file_exhaustive.rb: new tests to exercise
rb_file_expand_path_internal implementation and compliance with
existing behaviors.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- -lbe is not required for linking
- stack protector doesn't work for now because of the default gcc's bug
by Takashi Toyoshima <toyoshim@gmail.com>
https://github.com/ruby/ruby/pull/167
* signal.c (ruby_signal): haiku doesn't have SIGBUS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
implementation but has no declaration and does not work in
NativeClient SDK pepper_20.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: use noral blocks instead of dnl, so that matching
parentheses would match.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: escape #-marks, so that matching parentheses would
match.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (RUBY_CHECK_SIZEOF): use single test instead of split
bare case statement, so that matching parentheses would match.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (MINIRUBY): use real path for include path.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
the use of Snow Leopard's old clang. see also r36594, r36610, r36611.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: use clang prior to gcc only when self-compiling on
darwin. search default compilers on other platforms. [Bug #6816]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
RUBY_MINGW32 uses AC_TRY_CPP and it sets CC and CPP. [Bug #6816]
* configure.in: don't use AC_PROG_CC in AS_CASE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
RUBY_MINGW32 uses AC_TRY_CPP and it sets CC and CPP. [Bug #6816]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (DLDFLAGS): on Darwin, deprecate -flat_namespace to get
rid of huge imported symbols table.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (LIBRUBY_RELATIVE): libruby_so is not made when
disable-shared, so no absolute path is used for it and executable
file is runnable anywhere.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (RUBY_CPPOUTFILE): get rid of variable conflict so
CPPFLAGS is not duplicated. [ruby-core:43097] [Bug #6119]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (LIBPATHENV): LIBPATH is used on AIX, but not
SHLIB_PATH which was carelessly copied from HP/UX. suggested by
Perry Smith at [ruby-core:46397]. [Bug #6728]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36499 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
* common.mk (runnable): make symbolic links to run in build directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (RUBY_CPPOUTFILE): check if output is really sent to
specified file to tell if -o option works. [ruby-dev:45742]
[Bug#6591]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This prevents errors introduced by disabling bulitin functions,
which is the sub-effect of -ansi/-std.
Now NetBSD can use -ansi -std=iso9899:199409.
Maybe mingw, cygwin and darwin can also.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: remove -ansi and -std options for lgamma_r() and
finite().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: cygwin does not provide some declarations in strict
ANSI mode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
VC++ optimized. That is, C++ habits are often contaminated into
various headers. Most frequent situation is the use of //
comments. We bypass ANSI C mode for them. Otherwise extension
libs cannot include those headers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (RUBY_NACL_CHECK_PEPPER_TYPES): check only on nacl.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
On FreeBSD people must specify --with-opt-dir or --with-execinfo-dir.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36032 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread_pthread.c (timer_thread_sleep): Extracted out a function from
thread_timer(). Added an alternative implementation for platforms
that lacks select(2) or pipe(2).
(rb_thread_create_timer_thread, native_cond_initialize,
native_cond_destroy): Replaced wrong HAVE_XXX checks.
* configure.in (pthread_attr_init): New check.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
to NativeClient SDK. PATH variable redefinition in GNUmakefile does
not work for GNU make 3.81.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: no ext/libext.a, an archive library cannot be made
from other archive libraries.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: fix function name to be checked, to initialize
rb_thread_cond_t properly.
* thread_pthread.c (native_cond_initialize, native_cond_destroy):
fix macro name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35676 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
* configure.in (LD): enclose with single qoutes but not double quotes
not to expand command substitution.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e