Commit graph

971 commits

Author SHA1 Message Date
shyouhei
0284e64922 * configure.in: enable strict ANSI mode by default in case of GCC,
requested by _ko1.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-12 09:41:07 +00:00
naruse
f658207fe3 * configure.in: on checking libexecinfo, don't specify /use/local.
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
2012-06-11 11:27:08 +00:00
yugui
c3f3d77225 Fixes threading on NativeClient.
* 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
2012-06-10 12:51:37 +00:00
yugui
c541ff3223 * configure.in (RUBY_NACL): Warns if $PATH does not contain the path
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
2012-06-10 09:39:17 +00:00
naruse
5c45a1373a * configure.in: NetBSD 6 adds libexecinfo but it only works on amd64.
http://www.mail-archive.com/source-changes-full@netbsd.org/msg38729.html

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-10 05:28:51 +00:00
nobu
1102fd2f3e * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-08 22:44:01 +00:00
nobu
e990086711 static-linked-ext: no ext/libext.a
* 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
2012-05-19 06:02:43 +00:00
nobu
0a6700fec2 use LIBEXT
* Makefile.in (LIBEXT): add macro.
* configure.in (ENCOBJS, EXTOBJS): use LIBEXT, not hardcoded suffix.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-19 02:35:37 +00:00
nobu
7788d102c9 fix NaCl support
* 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
2012-05-17 14:04:02 +00:00
yugui
76bc2d1ed7 Imports Ruby's port to NativeClient (a.k.a NaCl).
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
2012-05-17 02:48:59 +00:00
nobu
b85e3e70ee * configure.in (PIE): fix operator.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-16 09:05:59 +00:00
yugui
a2976afa0e configure.in: Fix an unbalanced quote.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-16 06:47:49 +00:00
nobu
4407beaef9 configure.in: use single quotes
* 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
2012-05-16 06:15:56 +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
f8599f92e7 configure.in: fix for BSD make
* configure.in (POSTLINK): default to : command to get rid of flag
  only command, since BSD make does not work with it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-08 04:36:04 +00:00
nobu
0be8f81921 codesign
* Makefile.in (PROGRAM), configure.in (POSTLINK): sign built program
  using RUBY_CODESIGN identity.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-07 04:41:02 +00:00
nobu
0f1181a539 Bug #6370
* configure.in (optflags): fixed typo. [ruby-core:44679][Bug #6370]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-30 20:14:26 +00:00
nobu
7d45d3f84d * configure.in (optflags): disable unsafe optimizations.
[ruby-core:44679][Bug #6370]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-30 20:02:34 +00:00
nobu
860cf7b812 * configure.in (optflags): disable unsafe optimizations.
[ruby-core:44679][Bug #6370]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-30 12:09:09 +00:00
nobu
e2b54072b5 * configure.in: disable rubygems not to load rbconfig.rb before
fake.rb.  [ruby-core:44492][Bug #6329]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-23 01:43:35 +00:00
nobu
7cfc4be298 * configure.in (DOT, DOXYGEN): use AC_CHECK_PROGS instead of
AC_CHECK_PROG which needs the third argument.  [ruby-core:44433]
  [Bug #6316]
* configure.in (PKG_CONFIG): fix condition to skip older version
  of pkg-config.  continue in backticks does not affect outside.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-18 13:59:00 +00:00
nobu
561e61a430 * configure.in (RUBY_SO_NAME): expand version numbers in Makefile.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-17 04:55:12 +00:00
nobu
f2979f3101 * win32/win32.c (gmtime_r, localtime_r): POSIX compliant reentrant
versions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-16 07:22:43 +00:00
nobu
72fffe5cee * configure.in (RUBY_MSVCRT_VERSION): define on mingw too.
* win32/Makefile.sub (config.h): prefix RT_VER with RUBY and make
  more descriptive to get rid of potential conflict.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-16 07:08:27 +00:00
nobu
8b25f42046 * configure.in (NO_RUBY_VENDOR_LIB): fix missing comma.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-16 06:19:46 +00:00
nobu
d2e2b309e8 * configure.in (UNREACHABLE): gcc 4.4 eliminates unreachable code
if -O3 is given.
* win32/win32.c (child_result): dropped colon.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-14 03:55:06 +00:00
nobu
9bf9b3ef95 * process.c (obj2uid, obj2gid): allow strings as input user/group id.
[ruby-core:40923][Feature #5610]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-28 07:40:02 +00:00
nobu
61dc4a8dbc * configure.in (verconf.h): separate load path specific stuff from
config.h.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-27 13:44:25 +00:00
nobu
6d8580fe25 * configure.in (Makefile): get rid of confliction with -j.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35115 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-23 00:56:46 +00:00
naruse
4725c9880d Revert "* configure.in (Makefile): get rid of confliction with -j."
This reverts commit r35104 because it breaks build on FreeBSD.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-22 22:52:05 +00:00
nobu
9accaad5c4 * configure.in (Makefile): add missing test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-22 06:04:09 +00:00
nobu
cd71db0ad6 * configure.in (Makefile): check with svn info, since svn 1.7 doesn't
have .svn under descendent directories.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-22 05:59:48 +00:00
nobu
11c57111f9 * configure.in (Makefile): get rid of confliction with -j.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-22 05:59:45 +00:00
nobu
5c9d7c54ab * configure.in (ruby_pc): make configurable. [Bug #6051]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-02 21:57:16 +00:00
nobu
23008fcc2e define PLATFORM_DIR if needed
* Makefile.in, configure.in (PLATFORM_DIR): define if needed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-29 04:07:06 +00:00
shirosaki
4b1e9f0c47 * Makefile.in (PLATFORM_DIR): add a variable for win32 directory.
* Makefile.in (clean-platform): add new target.
  It cleans `win32` directory.

* common.mk (clean): add a dependency for `win32` directory.
* common.mk (distclean): ditto.
* common.mk (distclean-platform): add new target.
  It cleans `win32` directory.
* common.mk ($(PLATFORM_D)): add new target to make `win32` directory.
* common.mk (win32/win32.$(OBJEXT)): move win32.o into `win32`
  directory.
* common.mk (win32/file.$(OBJEXT)): add new target for win32/file.c.

* configure.in: move win32.o into `win32` directory and add
  win32/file.o to MISSING.

* file.c (file_load_ok, rb_file_load_ok): replace static
  file_load_ok() with public rb_file_load_ok().
  It's to link Windows implementation in win32/file.c.
* file.c (rb_find_file_ext_safe): ditto.
* file.c (rb_find_file_safe): ditto.

* win32/file.c (rb_file_load_ok): new file. Add Windows specific
  optimized implementation of rb_file_load_ok(). We created a
  separated file to avoid too many #ifdef macro which is unreadable.

* win32/Makefile.sub (PLATFORM_DIR): add a variable for `win32`
  directory.
* win32/Makefile.sub (MISSING): move win32.obj into `win32`
  directory and add win32/file.obj to MISSING.
* win32/Makefile.sub (MAKEDIRS): replace MINIRUBY with BASERUBY.
  It's because miniruby doesn't exist when making `win32` directory.
* win32/Makefile.sub (clean-platform): add new target to clean `win32`
  directory.
* win32/Makefile.sub ({$(srcdir)}.c{}.obj): make it not match
  win32/file.c to build properly.
* win32/Makefile.sub (win32/win32.$(OBJEXT)): move win32.obj into
 `win32` directory.

  Patch created with Luis Lavena.
  [ruby-core:42480] [Feature #5999]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-28 15:51:25 +00:00
nobu
1c85a648fe * configure.in (debugflags): check if -ggdb is accepted.
[ruby-core:42875][Bug #6080]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-28 02:44:52 +00:00
nobu
d573446841 * configure.in (__builtin_unreachable): check for clang.
[ruby-core:42849]
* include/ruby/ruby.h (UNREACHABLE): fallback definition.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-24 06:49:09 +00:00
naruse
a23f06358e * configure.in: allow llvm-gcc because it work fine with r34278.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-22 03:22:08 +00:00
nobu
032d0a4cf7 * configure.in: check if -fstack-protector is really available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-20 06:50:36 +00:00
nari
a42cc41ba1 * configure.in (HEAP_ALIGN_LOG): HEAP_ALIGN_LOG should be page
size in OpenBSD. [ruby-core:42158][Bug #5901]

* gc.c : avoid to redefine.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-31 12:36:50 +00:00
nobu
e58d77bdda * configure.in (SPT_TYPE): enable as SPT_REUSEARGV on Darwin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-17 08:18:46 +00:00
nobu
eec5d2014f * confiugre.in (setproctitle): removed dupcated checks.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-17 08:10:00 +00:00
naruse
411fa36c73 * configure.in: check posix_memalign(3) and menalign(3).
* gc.c (aligned_malloc): use configure's result instead of
  _POSIX_C_SOURCE and _XOPEN_SOURCE because they can't be used
  to check availability at least on FreeBSD.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-07 15:13:37 +00:00
nagachika
3ba49c9ebb * configure.in: always define CANONICALIZATION_FOR_MATHN.
[ruby-dev:45100] [Bug #5852]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-06 15:52:44 +00:00
luislavena
60b99d05c6 * configure.in: change --with-ntver to --with-winnt-ver to be more
descriptive in the context. [ruby-core:41794]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-24 15:05:33 +00:00
luislavena
3cbf3e207d * configure.in: add --with-ntver option to match win32/configure.bat
functionality. Set 0x0501 as default. [ruby-core:35010]
  [ruby-core:35035]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-24 14:24:32 +00:00
nobu
f2747b5782 * configure.in (RUBY_WERROR_FLAG): append all warning flags which
are enabled to compile, so that printf format modifiers properly
  fail.  [ruby-core:41351] [Bug #5679]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-08 03:11:11 +00:00
nobu
aecd98a212 * configure.in (rpath): fix typo in the help string. a patch from
Yuji Yamano <yyamano AT kt.rim.or.jp> in [ruby-list:48568].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-07 10:04:26 +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