rice 1.7.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Doxyfile +1 -1
- data/Makefile.in +29 -18
- data/README +59 -129
- data/aclocal.m4 +32 -29
- data/config.guess +103 -217
- data/config.sub +42 -25
- data/configure +10 -14
- data/depcomp +3 -2
- data/extconf.rb +39 -21
- data/install-sh +170 -196
- data/missing +3 -3
- data/rice/Makefile.am +0 -5
- data/rice/Makefile.in +21 -15
- data/rice/detail/env.hpp +0 -8
- data/rice/detail/method_data.cpp +0 -20
- data/rice/detail/ruby.hpp +0 -13
- data/rice/detail/ruby_version_code.hpp +1 -1
- data/ruby.ac +3 -8
- data/ruby/Makefile.in +17 -5
- data/ruby/lib/Makefile.in +17 -6
- data/ruby/lib/mkmf-rice.rb.in +9 -13
- data/ruby/lib/version.rb +1 -1
- data/sample/Makefile.am +4 -4
- data/sample/Makefile.in +21 -9
- data/test/Makefile.am +2 -7
- data/test/Makefile.in +32 -41
- data/test/ext/Makefile.am +12 -14
- data/test/ext/Makefile.in +29 -19
- data/test/test_To_From_Ruby.cpp +6 -0
- data/test/test_rice.rb +0 -4
- metadata +3 -12
- data/rice/Critical_Guard.hpp +0 -40
- data/rice/Critical_Guard.ipp +0 -26
- data/rice/VM.cpp +0 -82
- data/rice/VM.hpp +0 -32
- data/rice/detail/mininode.cpp +0 -1220
- data/rice/detail/mininode.hpp +0 -320
- data/rice/detail/rubysig.hpp +0 -19
- data/test/test_Critical_Guard.cpp +0 -51
- data/test/test_VM.cpp +0 -26
data/config.sub
CHANGED
@@ -1,10 +1,8 @@
|
|
1
1
|
#! /bin/sh
|
2
2
|
# Configuration validation subroutine script.
|
3
|
-
# Copyright
|
4
|
-
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
5
|
-
# 2011, 2012, 2013 Free Software Foundation, Inc.
|
3
|
+
# Copyright 1992-2014 Free Software Foundation, Inc.
|
6
4
|
|
7
|
-
timestamp='
|
5
|
+
timestamp='2014-12-03'
|
8
6
|
|
9
7
|
# This file is free software; you can redistribute it and/or modify it
|
10
8
|
# under the terms of the GNU General Public License as published by
|
@@ -27,7 +25,7 @@ timestamp='2012-12-29'
|
|
27
25
|
# of the GNU General Public License, version 3 ("GPLv3").
|
28
26
|
|
29
27
|
|
30
|
-
# Please send patches
|
28
|
+
# Please send patches to <config-patches@gnu.org>.
|
31
29
|
#
|
32
30
|
# Configuration subroutine to validate and canonicalize a configuration type.
|
33
31
|
# Supply the specified configuration type as an argument.
|
@@ -70,9 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>."
|
|
70
68
|
version="\
|
71
69
|
GNU config.sub ($timestamp)
|
72
70
|
|
73
|
-
Copyright
|
74
|
-
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
|
75
|
-
2012, 2013 Free Software Foundation, Inc.
|
71
|
+
Copyright 1992-2014 Free Software Foundation, Inc.
|
76
72
|
|
77
73
|
This is free software; see the source for copying conditions. There is NO
|
78
74
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
@@ -256,12 +252,12 @@ case $basic_machine in
|
|
256
252
|
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
|
257
253
|
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
|
258
254
|
| am33_2.0 \
|
259
|
-
| arc \
|
255
|
+
| arc | arceb \
|
260
256
|
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
|
261
257
|
| avr | avr32 \
|
262
258
|
| be32 | be64 \
|
263
259
|
| bfin \
|
264
|
-
| c4x | clipper \
|
260
|
+
| c4x | c8051 | clipper \
|
265
261
|
| d10v | d30v | dlx | dsp16xx \
|
266
262
|
| epiphany \
|
267
263
|
| fido | fr30 | frv \
|
@@ -269,6 +265,7 @@ case $basic_machine in
|
|
269
265
|
| hexagon \
|
270
266
|
| i370 | i860 | i960 | ia64 \
|
271
267
|
| ip2k | iq2000 \
|
268
|
+
| k1om \
|
272
269
|
| le32 | le64 \
|
273
270
|
| lm32 \
|
274
271
|
| m32c | m32r | m32rle | m68000 | m68k | m88k \
|
@@ -286,23 +283,26 @@ case $basic_machine in
|
|
286
283
|
| mips64vr5900 | mips64vr5900el \
|
287
284
|
| mipsisa32 | mipsisa32el \
|
288
285
|
| mipsisa32r2 | mipsisa32r2el \
|
286
|
+
| mipsisa32r6 | mipsisa32r6el \
|
289
287
|
| mipsisa64 | mipsisa64el \
|
290
288
|
| mipsisa64r2 | mipsisa64r2el \
|
289
|
+
| mipsisa64r6 | mipsisa64r6el \
|
291
290
|
| mipsisa64sb1 | mipsisa64sb1el \
|
292
291
|
| mipsisa64sr71k | mipsisa64sr71kel \
|
292
|
+
| mipsr5900 | mipsr5900el \
|
293
293
|
| mipstx39 | mipstx39el \
|
294
294
|
| mn10200 | mn10300 \
|
295
295
|
| moxie \
|
296
296
|
| mt \
|
297
297
|
| msp430 \
|
298
298
|
| nds32 | nds32le | nds32be \
|
299
|
-
| nios | nios2 \
|
299
|
+
| nios | nios2 | nios2eb | nios2el \
|
300
300
|
| ns16k | ns32k \
|
301
|
-
| open8 \
|
302
|
-
| or32 \
|
301
|
+
| open8 | or1k | or1knd | or32 \
|
303
302
|
| pdp10 | pdp11 | pj | pjl \
|
304
303
|
| powerpc | powerpc64 | powerpc64le | powerpcle \
|
305
304
|
| pyramid \
|
305
|
+
| riscv32 | riscv64 \
|
306
306
|
| rl78 | rx \
|
307
307
|
| score \
|
308
308
|
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
|
@@ -313,6 +313,7 @@ case $basic_machine in
|
|
313
313
|
| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
|
314
314
|
| ubicom32 \
|
315
315
|
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
|
316
|
+
| visium \
|
316
317
|
| we32k \
|
317
318
|
| x86 | xc16x | xstormy16 | xtensa \
|
318
319
|
| z8k | z80)
|
@@ -327,7 +328,10 @@ case $basic_machine in
|
|
327
328
|
c6x)
|
328
329
|
basic_machine=tic6x-unknown
|
329
330
|
;;
|
330
|
-
|
331
|
+
leon|leon[3-9])
|
332
|
+
basic_machine=sparc-$basic_machine
|
333
|
+
;;
|
334
|
+
m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
|
331
335
|
basic_machine=$basic_machine-unknown
|
332
336
|
os=-none
|
333
337
|
;;
|
@@ -369,13 +373,13 @@ case $basic_machine in
|
|
369
373
|
| aarch64-* | aarch64_be-* \
|
370
374
|
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
|
371
375
|
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
|
372
|
-
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
|
376
|
+
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
|
373
377
|
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
|
374
378
|
| avr-* | avr32-* \
|
375
379
|
| be32-* | be64-* \
|
376
380
|
| bfin-* | bs2000-* \
|
377
381
|
| c[123]* | c30-* | [cjt]90-* | c4x-* \
|
378
|
-
| clipper-* | craynv-* | cydra-* \
|
382
|
+
| c8051-* | clipper-* | craynv-* | cydra-* \
|
379
383
|
| d10v-* | d30v-* | dlx-* \
|
380
384
|
| elxsi-* \
|
381
385
|
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
|
@@ -384,6 +388,7 @@ case $basic_machine in
|
|
384
388
|
| hexagon-* \
|
385
389
|
| i*86-* | i860-* | i960-* | ia64-* \
|
386
390
|
| ip2k-* | iq2000-* \
|
391
|
+
| k1om-* \
|
387
392
|
| le32-* | le64-* \
|
388
393
|
| lm32-* \
|
389
394
|
| m32c-* | m32r-* | m32rle-* \
|
@@ -403,18 +408,22 @@ case $basic_machine in
|
|
403
408
|
| mips64vr5900-* | mips64vr5900el-* \
|
404
409
|
| mipsisa32-* | mipsisa32el-* \
|
405
410
|
| mipsisa32r2-* | mipsisa32r2el-* \
|
411
|
+
| mipsisa32r6-* | mipsisa32r6el-* \
|
406
412
|
| mipsisa64-* | mipsisa64el-* \
|
407
413
|
| mipsisa64r2-* | mipsisa64r2el-* \
|
414
|
+
| mipsisa64r6-* | mipsisa64r6el-* \
|
408
415
|
| mipsisa64sb1-* | mipsisa64sb1el-* \
|
409
416
|
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
|
417
|
+
| mipsr5900-* | mipsr5900el-* \
|
410
418
|
| mipstx39-* | mipstx39el-* \
|
411
419
|
| mmix-* \
|
412
420
|
| mt-* \
|
413
421
|
| msp430-* \
|
414
422
|
| nds32-* | nds32le-* | nds32be-* \
|
415
|
-
| nios-* | nios2-* \
|
423
|
+
| nios-* | nios2-* | nios2eb-* | nios2el-* \
|
416
424
|
| none-* | np1-* | ns16k-* | ns32k-* \
|
417
425
|
| open8-* \
|
426
|
+
| or1k*-* \
|
418
427
|
| orion-* \
|
419
428
|
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
|
420
429
|
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
|
@@ -432,6 +441,7 @@ case $basic_machine in
|
|
432
441
|
| ubicom32-* \
|
433
442
|
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
|
434
443
|
| vax-* \
|
444
|
+
| visium-* \
|
435
445
|
| we32k-* \
|
436
446
|
| x86-* | x86_64-* | xc16x-* | xps100-* \
|
437
447
|
| xstormy16-* | xtensa*-* \
|
@@ -769,6 +779,9 @@ case $basic_machine in
|
|
769
779
|
basic_machine=m68k-isi
|
770
780
|
os=-sysv
|
771
781
|
;;
|
782
|
+
leon-*|leon[3-9]-*)
|
783
|
+
basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
|
784
|
+
;;
|
772
785
|
m68knommu)
|
773
786
|
basic_machine=m68k-unknown
|
774
787
|
os=-linux
|
@@ -796,7 +809,7 @@ case $basic_machine in
|
|
796
809
|
os=-mingw64
|
797
810
|
;;
|
798
811
|
mingw32)
|
799
|
-
basic_machine=
|
812
|
+
basic_machine=i686-pc
|
800
813
|
os=-mingw32
|
801
814
|
;;
|
802
815
|
mingw32ce)
|
@@ -824,6 +837,10 @@ case $basic_machine in
|
|
824
837
|
basic_machine=powerpc-unknown
|
825
838
|
os=-morphos
|
826
839
|
;;
|
840
|
+
moxiebox)
|
841
|
+
basic_machine=moxie-unknown
|
842
|
+
os=-moxiebox
|
843
|
+
;;
|
827
844
|
msdos)
|
828
845
|
basic_machine=i386-pc
|
829
846
|
os=-msdos
|
@@ -832,7 +849,7 @@ case $basic_machine in
|
|
832
849
|
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
|
833
850
|
;;
|
834
851
|
msys)
|
835
|
-
basic_machine=
|
852
|
+
basic_machine=i686-pc
|
836
853
|
os=-msys
|
837
854
|
;;
|
838
855
|
mvs)
|
@@ -1354,7 +1371,7 @@ case $os in
|
|
1354
1371
|
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
1355
1372
|
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
|
1356
1373
|
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
|
1357
|
-
| -sym* | -kopensolaris* \
|
1374
|
+
| -sym* | -kopensolaris* | -plan9* \
|
1358
1375
|
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
1359
1376
|
| -aos* | -aros* \
|
1360
1377
|
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
@@ -1369,14 +1386,14 @@ case $os in
|
|
1369
1386
|
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
1370
1387
|
| -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
|
1371
1388
|
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
|
1372
|
-
| -uxpv* | -beos* | -mpeix* | -udk* \
|
1389
|
+
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
|
1373
1390
|
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
|
1374
1391
|
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
1375
1392
|
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
|
1376
1393
|
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
1377
1394
|
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
|
1378
1395
|
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
|
1379
|
-
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
|
1396
|
+
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
|
1380
1397
|
# Remember, each alternative MUST END IN *, to match a version number.
|
1381
1398
|
;;
|
1382
1399
|
-qnx*)
|
@@ -1500,9 +1517,6 @@ case $os in
|
|
1500
1517
|
-aros*)
|
1501
1518
|
os=-aros
|
1502
1519
|
;;
|
1503
|
-
-kaos*)
|
1504
|
-
os=-kaos
|
1505
|
-
;;
|
1506
1520
|
-zvmoe)
|
1507
1521
|
os=-zvmoe
|
1508
1522
|
;;
|
@@ -1551,6 +1565,9 @@ case $basic_machine in
|
|
1551
1565
|
c4x-* | tic4x-*)
|
1552
1566
|
os=-coff
|
1553
1567
|
;;
|
1568
|
+
c8051-*)
|
1569
|
+
os=-elf
|
1570
|
+
;;
|
1554
1571
|
hexagon-*)
|
1555
1572
|
os=-elf
|
1556
1573
|
;;
|
data/configure
CHANGED
@@ -1922,7 +1922,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
|
1922
1922
|
|
1923
1923
|
|
1924
1924
|
|
1925
|
-
am__api_version='1.
|
1925
|
+
am__api_version='1.15'
|
1926
1926
|
|
1927
1927
|
ac_aux_dir=
|
1928
1928
|
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
|
@@ -2123,8 +2123,8 @@ test "$program_suffix" != NONE &&
|
|
2123
2123
|
ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
|
2124
2124
|
program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
|
2125
2125
|
|
2126
|
-
#
|
2127
|
-
am_aux_dir=`cd $ac_aux_dir && pwd`
|
2126
|
+
# Expand $ac_aux_dir to an absolute path.
|
2127
|
+
am_aux_dir=`cd "$ac_aux_dir" && pwd`
|
2128
2128
|
|
2129
2129
|
if test x"${MISSING+set}" != xset; then
|
2130
2130
|
case \"$am_aux_dir\" in
|
@@ -2143,7 +2143,7 @@ else
|
|
2143
2143
|
$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
|
2144
2144
|
fi
|
2145
2145
|
|
2146
|
-
if test x"${install_sh}" != xset; then
|
2146
|
+
if test x"${install_sh+set}" != xset; then
|
2147
2147
|
case \"$am_aux_dir\" in
|
2148
2148
|
*\ * | *\ *)
|
2149
2149
|
install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
|
@@ -2471,8 +2471,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
|
|
2471
2471
|
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
|
2472
2472
|
mkdir_p='$(MKDIR_P)'
|
2473
2473
|
|
2474
|
-
# We need awk for the "check" target
|
2475
|
-
# some platforms.
|
2474
|
+
# We need awk for the "check" target (and possibly the TAP driver). The
|
2475
|
+
# system "awk" is bad on some platforms.
|
2476
2476
|
# Always define AMTAR for backward compatibility. Yes, it's still used
|
2477
2477
|
# in the wild :-( We should find a proper way to deprecate it ...
|
2478
2478
|
AMTAR='$${TAR-tar}'
|
@@ -2530,6 +2530,7 @@ END
|
|
2530
2530
|
fi
|
2531
2531
|
fi
|
2532
2532
|
|
2533
|
+
|
2533
2534
|
ac_config_headers="$ac_config_headers rice/config.hpp"
|
2534
2535
|
|
2535
2536
|
|
@@ -3717,14 +3718,9 @@ RUBY_CONFIG_LIBRUBYARG_STATIC=`
|
|
3717
3718
|
RUBY_CONFIG_CCDLFLAGS=`
|
3718
3719
|
$RUBY -rrbconfig -e "puts(RbConfig::CONFIG['CCDLFLAGS'] || '')"`
|
3719
3720
|
|
3720
|
-
|
3721
|
-
|
3722
|
-
|
3723
|
-
RUBY_CPPFLAGS="${RUBY_CPPFLAGS} -I${RUBY_CONFIG_RUBYHDRDIR}/${RUBY_CONFIG_ARCH}"
|
3724
|
-
else
|
3725
|
-
# 1.8
|
3726
|
-
RUBY_CPPFLAGS="-I${RUBY_CONFIG_ARCHDIR}"
|
3727
|
-
fi
|
3721
|
+
RUBY_CPPFLAGS="-I${RUBY_CONFIG_RUBYHDRDIR}"
|
3722
|
+
RUBY_CPPFLAGS="${RUBY_CPPFLAGS} -I${RUBY_CONFIG_RUBYHDRDIR}/${RUBY_CONFIG_ARCH}"
|
3723
|
+
|
3728
3724
|
if test "x${RUBY_CONFIG_RUBYARCHHDRDIR}x" != "xx"; then
|
3729
3725
|
RUBY_CPPFLAGS="${RUBY_CPPFLAGS} -I${RUBY_CONFIG_RUBYARCHHDRDIR}"
|
3730
3726
|
fi
|
data/depcomp
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
#! /bin/sh
|
2
2
|
# depcomp - compile a program generating dependencies as side-effects
|
3
3
|
|
4
|
-
scriptversion=
|
4
|
+
scriptversion=2013-05-30.07; # UTC
|
5
5
|
|
6
|
-
# Copyright (C) 1999-
|
6
|
+
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
|
7
7
|
|
8
8
|
# This program is free software; you can redistribute it and/or modify
|
9
9
|
# it under the terms of the GNU General Public License as published by
|
@@ -552,6 +552,7 @@ $ {
|
|
552
552
|
G
|
553
553
|
p
|
554
554
|
}' >> "$depfile"
|
555
|
+
echo >> "$depfile" # make sure the fragment doesn't end with a backslash
|
555
556
|
rm -f "$tmpdepfile"
|
556
557
|
;;
|
557
558
|
|
data/extconf.rb
CHANGED
@@ -1,15 +1,11 @@
|
|
1
|
-
# To allow Rice to be installed on non-system installs of Ruby (
|
2
|
-
#
|
1
|
+
# To allow Rice to be installed on non-system installs of Ruby (rbenv or rvm),
|
2
|
+
# the rice gem uses the extconf version of deployment
|
3
3
|
# rather than configure. This file will get the appropriate values from CONFIG
|
4
4
|
# for the Ruby that this library is being installed into and generate
|
5
5
|
# the proper arguments to ./configure.
|
6
6
|
#
|
7
7
|
# With this, installing on any of the Ruby versions installed on a machine is as
|
8
8
|
# easy as /path/to/the/gem install rice.
|
9
|
-
#
|
10
|
-
# This isn't actually an extconf.rb file, all it needs to do is create a Makefile
|
11
|
-
# for gem to continue 'make'-ing. It needs to be named 'extconf.rb' to fit Rubygem's
|
12
|
-
# expectations
|
13
9
|
|
14
10
|
$:.unshift File.expand_path(File.dirname(__FILE__))
|
15
11
|
|
@@ -19,32 +15,54 @@ require 'ruby/lib/version.rb'
|
|
19
15
|
prefix_dir = File.join(File.dirname(File.expand_path(__FILE__)), "ruby", "lib")
|
20
16
|
with_ruby = File.join(RbConfig::CONFIG["bindir"], RbConfig::CONFIG["RUBY_INSTALL_NAME"])
|
21
17
|
|
18
|
+
other_opts = ""
|
19
|
+
env = ""
|
20
|
+
|
22
21
|
if RbConfig::CONFIG["ENABLE_SHARED"] == "no"
|
23
|
-
|
24
|
-
Unfortunately Rice does not
|
22
|
+
abort <<EOC.chomp
|
23
|
+
Unfortunately Rice does not build against a staticly linked Ruby.
|
25
24
|
You'll need to rebuild Ruby with --enable-shared to use this library.
|
26
25
|
|
27
26
|
If you're on rvm: rvm reinstall [version] -- --enable-shared
|
28
27
|
If you're on rbenv: CONFIGURE_OPTS="--enable-shared" rbenv install [version]
|
29
|
-
|
28
|
+
|
29
|
+
If you are using Heroku, they use a own custom configured, staticly linked Ruby
|
30
|
+
for their stack and it unfortunately does not work with Rice. You will need to use
|
31
|
+
a custom Ruby build pack that builds and uses a non-static version of Ruby.
|
30
32
|
EOC
|
31
33
|
end
|
32
34
|
|
33
|
-
|
34
|
-
|
35
|
+
if RUBY_PLATFORM =~ /darwin(\d+)/
|
36
|
+
# TY Nokogiri!
|
37
|
+
if !File.exist?('/usr/include/iconv.h')
|
38
|
+
abort <<EOM.chomp
|
39
|
+
-----
|
40
|
+
The file "/usr/include/iconv.h" is missing in your build environment,
|
41
|
+
which means you haven't installed Xcode Command Line Tools properly.
|
42
|
+
To install Command Line Tools, try running `xcode-select --install` on
|
43
|
+
terminal and follow the instructions. If it fails, open Xcode.app,
|
44
|
+
select from the menu "Xcode" - "Open Developer Tool" - "More Developer
|
45
|
+
Tools" to open the developer site, download the installer for your OS
|
46
|
+
version and run it.
|
47
|
+
-----
|
48
|
+
EOM
|
49
|
+
end
|
35
50
|
|
36
|
-
|
37
|
-
arch = RbConfig::CONFIG["arch"].split("-")[0]
|
51
|
+
darwin_version = $1.to_i
|
38
52
|
|
39
|
-
if
|
40
|
-
arch =
|
41
|
-
end
|
53
|
+
if darwin_version >= 10
|
54
|
+
arch = RbConfig::CONFIG["arch"].split("-")[0]
|
42
55
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
56
|
+
if arch == "universal"
|
57
|
+
arch = `uname -m`.strip
|
58
|
+
end
|
59
|
+
|
60
|
+
other_opts = "--disable-dependency-tracking"
|
61
|
+
env = "ARCHFLAGS='-arch #{arch}' CPPFLAGS='-arch #{arch}'"
|
62
|
+
else
|
63
|
+
arch = `uname -p`.chomp
|
64
|
+
env = "ARCHFLAGS='-arch #{arch}' CPPFLAGS='-arch #{arch}'"
|
65
|
+
end
|
48
66
|
end
|
49
67
|
|
50
68
|
system "sh bootstrap"
|
data/install-sh
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/bin/sh
|
2
2
|
# install - install a program, script, or datafile
|
3
3
|
|
4
|
-
scriptversion=
|
4
|
+
scriptversion=2013-12-25.23; # UTC
|
5
5
|
|
6
6
|
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
7
7
|
# later released in X11R6 (xc/config/util/install.sh) with the
|
@@ -41,19 +41,15 @@ scriptversion=2011-11-20.07; # UTC
|
|
41
41
|
# This script is compatible with the BSD install script, but was written
|
42
42
|
# from scratch.
|
43
43
|
|
44
|
+
tab=' '
|
44
45
|
nl='
|
45
46
|
'
|
46
|
-
IFS="
|
47
|
+
IFS=" $tab$nl"
|
47
48
|
|
48
|
-
#
|
49
|
+
# Set DOITPROG to "echo" to test this script.
|
49
50
|
|
50
|
-
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
51
51
|
doit=${DOITPROG-}
|
52
|
-
|
53
|
-
doit_exec=exec
|
54
|
-
else
|
55
|
-
doit_exec=$doit
|
56
|
-
fi
|
52
|
+
doit_exec=${doit:-exec}
|
57
53
|
|
58
54
|
# Put in absolute file names if you don't have them in your path;
|
59
55
|
# or use environment vars.
|
@@ -68,17 +64,6 @@ mvprog=${MVPROG-mv}
|
|
68
64
|
rmprog=${RMPROG-rm}
|
69
65
|
stripprog=${STRIPPROG-strip}
|
70
66
|
|
71
|
-
posix_glob='?'
|
72
|
-
initialize_posix_glob='
|
73
|
-
test "$posix_glob" != "?" || {
|
74
|
-
if (set -f) 2>/dev/null; then
|
75
|
-
posix_glob=
|
76
|
-
else
|
77
|
-
posix_glob=:
|
78
|
-
fi
|
79
|
-
}
|
80
|
-
'
|
81
|
-
|
82
67
|
posix_mkdir=
|
83
68
|
|
84
69
|
# Desired mode of installed file.
|
@@ -97,7 +82,7 @@ dir_arg=
|
|
97
82
|
dst_arg=
|
98
83
|
|
99
84
|
copy_on_change=false
|
100
|
-
|
85
|
+
is_target_a_directory=possibly
|
101
86
|
|
102
87
|
usage="\
|
103
88
|
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
@@ -137,46 +122,57 @@ while test $# -ne 0; do
|
|
137
122
|
-d) dir_arg=true;;
|
138
123
|
|
139
124
|
-g) chgrpcmd="$chgrpprog $2"
|
140
|
-
|
125
|
+
shift;;
|
141
126
|
|
142
127
|
--help) echo "$usage"; exit $?;;
|
143
128
|
|
144
129
|
-m) mode=$2
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
shift;;
|
130
|
+
case $mode in
|
131
|
+
*' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
|
132
|
+
echo "$0: invalid mode: $mode" >&2
|
133
|
+
exit 1;;
|
134
|
+
esac
|
135
|
+
shift;;
|
152
136
|
|
153
137
|
-o) chowncmd="$chownprog $2"
|
154
|
-
|
138
|
+
shift;;
|
155
139
|
|
156
140
|
-s) stripcmd=$stripprog;;
|
157
141
|
|
158
|
-
-t)
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
142
|
+
-t)
|
143
|
+
is_target_a_directory=always
|
144
|
+
dst_arg=$2
|
145
|
+
# Protect names problematic for 'test' and other utilities.
|
146
|
+
case $dst_arg in
|
147
|
+
-* | [=\(\)!]) dst_arg=./$dst_arg;;
|
148
|
+
esac
|
149
|
+
shift;;
|
164
150
|
|
165
|
-
-T)
|
151
|
+
-T) is_target_a_directory=never;;
|
166
152
|
|
167
153
|
--version) echo "$0 $scriptversion"; exit $?;;
|
168
154
|
|
169
|
-
--)
|
170
|
-
|
155
|
+
--) shift
|
156
|
+
break;;
|
171
157
|
|
172
|
-
-*)
|
173
|
-
|
158
|
+
-*) echo "$0: invalid option: $1" >&2
|
159
|
+
exit 1;;
|
174
160
|
|
175
161
|
*) break;;
|
176
162
|
esac
|
177
163
|
shift
|
178
164
|
done
|
179
165
|
|
166
|
+
# We allow the use of options -d and -T together, by making -d
|
167
|
+
# take the precedence; this is for compatibility with GNU install.
|
168
|
+
|
169
|
+
if test -n "$dir_arg"; then
|
170
|
+
if test -n "$dst_arg"; then
|
171
|
+
echo "$0: target directory not allowed when installing a directory." >&2
|
172
|
+
exit 1
|
173
|
+
fi
|
174
|
+
fi
|
175
|
+
|
180
176
|
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
181
177
|
# When -d is used, all remaining arguments are directories to create.
|
182
178
|
# When -t is used, the destination is already specified.
|
@@ -207,6 +203,15 @@ if test $# -eq 0; then
|
|
207
203
|
exit 0
|
208
204
|
fi
|
209
205
|
|
206
|
+
if test -z "$dir_arg"; then
|
207
|
+
if test $# -gt 1 || test "$is_target_a_directory" = always; then
|
208
|
+
if test ! -d "$dst_arg"; then
|
209
|
+
echo "$0: $dst_arg: Is not a directory." >&2
|
210
|
+
exit 1
|
211
|
+
fi
|
212
|
+
fi
|
213
|
+
fi
|
214
|
+
|
210
215
|
if test -z "$dir_arg"; then
|
211
216
|
do_exit='(exit $ret); exit $ret'
|
212
217
|
trap "ret=129; $do_exit" 1
|
@@ -223,16 +228,16 @@ if test -z "$dir_arg"; then
|
|
223
228
|
|
224
229
|
*[0-7])
|
225
230
|
if test -z "$stripcmd"; then
|
226
|
-
|
231
|
+
u_plus_rw=
|
227
232
|
else
|
228
|
-
|
233
|
+
u_plus_rw='% 200'
|
229
234
|
fi
|
230
235
|
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
|
231
236
|
*)
|
232
237
|
if test -z "$stripcmd"; then
|
233
|
-
|
238
|
+
u_plus_rw=
|
234
239
|
else
|
235
|
-
|
240
|
+
u_plus_rw=,u+rw
|
236
241
|
fi
|
237
242
|
cp_umask=$mode$u_plus_rw;;
|
238
243
|
esac
|
@@ -269,41 +274,15 @@ do
|
|
269
274
|
# If destination is a directory, append the input filename; won't work
|
270
275
|
# if double slashes aren't ignored.
|
271
276
|
if test -d "$dst"; then
|
272
|
-
if test
|
273
|
-
|
274
|
-
|
277
|
+
if test "$is_target_a_directory" = never; then
|
278
|
+
echo "$0: $dst_arg: Is a directory" >&2
|
279
|
+
exit 1
|
275
280
|
fi
|
276
281
|
dstdir=$dst
|
277
282
|
dst=$dstdir/`basename "$src"`
|
278
283
|
dstdir_status=0
|
279
284
|
else
|
280
|
-
|
281
|
-
dstdir=`
|
282
|
-
(dirname "$dst") 2>/dev/null ||
|
283
|
-
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
284
|
-
X"$dst" : 'X\(//\)[^/]' \| \
|
285
|
-
X"$dst" : 'X\(//\)$' \| \
|
286
|
-
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
|
287
|
-
echo X"$dst" |
|
288
|
-
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
289
|
-
s//\1/
|
290
|
-
q
|
291
|
-
}
|
292
|
-
/^X\(\/\/\)[^/].*/{
|
293
|
-
s//\1/
|
294
|
-
q
|
295
|
-
}
|
296
|
-
/^X\(\/\/\)$/{
|
297
|
-
s//\1/
|
298
|
-
q
|
299
|
-
}
|
300
|
-
/^X\(\/\).*/{
|
301
|
-
s//\1/
|
302
|
-
q
|
303
|
-
}
|
304
|
-
s/.*/./; q'
|
305
|
-
`
|
306
|
-
|
285
|
+
dstdir=`dirname "$dst"`
|
307
286
|
test -d "$dstdir"
|
308
287
|
dstdir_status=$?
|
309
288
|
fi
|
@@ -314,74 +293,74 @@ do
|
|
314
293
|
if test $dstdir_status != 0; then
|
315
294
|
case $posix_mkdir in
|
316
295
|
'')
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
296
|
+
# Create intermediate dirs using mode 755 as modified by the umask.
|
297
|
+
# This is like FreeBSD 'install' as of 1997-10-28.
|
298
|
+
umask=`umask`
|
299
|
+
case $stripcmd.$umask in
|
300
|
+
# Optimize common cases.
|
301
|
+
*[2367][2367]) mkdir_umask=$umask;;
|
302
|
+
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
|
303
|
+
|
304
|
+
*[0-7])
|
305
|
+
mkdir_umask=`expr $umask + 22 \
|
306
|
+
- $umask % 100 % 40 + $umask % 20 \
|
307
|
+
- $umask % 10 % 4 + $umask % 2
|
308
|
+
`;;
|
309
|
+
*) mkdir_umask=$umask,go-w;;
|
310
|
+
esac
|
311
|
+
|
312
|
+
# With -d, create the new directory with the user-specified mode.
|
313
|
+
# Otherwise, rely on $mkdir_umask.
|
314
|
+
if test -n "$dir_arg"; then
|
315
|
+
mkdir_mode=-m$mode
|
316
|
+
else
|
317
|
+
mkdir_mode=
|
318
|
+
fi
|
319
|
+
|
320
|
+
posix_mkdir=false
|
321
|
+
case $umask in
|
322
|
+
*[123567][0-7][0-7])
|
323
|
+
# POSIX mkdir -p sets u+wx bits regardless of umask, which
|
324
|
+
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
325
|
+
;;
|
326
|
+
*)
|
327
|
+
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
328
|
+
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
329
|
+
|
330
|
+
if (umask $mkdir_umask &&
|
331
|
+
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
|
332
|
+
then
|
333
|
+
if test -z "$dir_arg" || {
|
334
|
+
# Check for POSIX incompatibilities with -m.
|
335
|
+
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
336
|
+
# other-writable bit of parent directory when it shouldn't.
|
337
|
+
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
338
|
+
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
339
|
+
case $ls_ld_tmpdir in
|
340
|
+
d????-?r-*) different_mode=700;;
|
341
|
+
d????-?--*) different_mode=755;;
|
342
|
+
*) false;;
|
343
|
+
esac &&
|
344
|
+
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
|
345
|
+
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
|
346
|
+
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
347
|
+
}
|
348
|
+
}
|
349
|
+
then posix_mkdir=:
|
350
|
+
fi
|
351
|
+
rmdir "$tmpdir/d" "$tmpdir"
|
352
|
+
else
|
353
|
+
# Remove any dirs left behind by ancient mkdir implementations.
|
354
|
+
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
|
355
|
+
fi
|
356
|
+
trap '' 0;;
|
357
|
+
esac;;
|
379
358
|
esac
|
380
359
|
|
381
360
|
if
|
382
361
|
$posix_mkdir && (
|
383
|
-
|
384
|
-
|
362
|
+
umask $mkdir_umask &&
|
363
|
+
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
385
364
|
)
|
386
365
|
then :
|
387
366
|
else
|
@@ -391,53 +370,51 @@ do
|
|
391
370
|
# directory the slow way, step by step, checking for races as we go.
|
392
371
|
|
393
372
|
case $dstdir in
|
394
|
-
|
395
|
-
|
396
|
-
|
373
|
+
/*) prefix='/';;
|
374
|
+
[-=\(\)!]*) prefix='./';;
|
375
|
+
*) prefix='';;
|
397
376
|
esac
|
398
377
|
|
399
|
-
eval "$initialize_posix_glob"
|
400
|
-
|
401
378
|
oIFS=$IFS
|
402
379
|
IFS=/
|
403
|
-
|
380
|
+
set -f
|
404
381
|
set fnord $dstdir
|
405
382
|
shift
|
406
|
-
|
383
|
+
set +f
|
407
384
|
IFS=$oIFS
|
408
385
|
|
409
386
|
prefixes=
|
410
387
|
|
411
388
|
for d
|
412
389
|
do
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
390
|
+
test X"$d" = X && continue
|
391
|
+
|
392
|
+
prefix=$prefix$d
|
393
|
+
if test -d "$prefix"; then
|
394
|
+
prefixes=
|
395
|
+
else
|
396
|
+
if $posix_mkdir; then
|
397
|
+
(umask=$mkdir_umask &&
|
398
|
+
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
399
|
+
# Don't fail if two instances are running concurrently.
|
400
|
+
test -d "$prefix" || exit 1
|
401
|
+
else
|
402
|
+
case $prefix in
|
403
|
+
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
404
|
+
*) qprefix=$prefix;;
|
405
|
+
esac
|
406
|
+
prefixes="$prefixes '$qprefix'"
|
407
|
+
fi
|
408
|
+
fi
|
409
|
+
prefix=$prefix/
|
433
410
|
done
|
434
411
|
|
435
412
|
if test -n "$prefixes"; then
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
413
|
+
# Don't fail if two instances are running concurrently.
|
414
|
+
(umask $mkdir_umask &&
|
415
|
+
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
416
|
+
test -d "$dstdir" || exit 1
|
417
|
+
obsolete_mkdir_used=true
|
441
418
|
fi
|
442
419
|
fi
|
443
420
|
fi
|
@@ -472,15 +449,12 @@ do
|
|
472
449
|
|
473
450
|
# If -C, don't bother to copy if it wouldn't change the file.
|
474
451
|
if $copy_on_change &&
|
475
|
-
old=`LC_ALL=C ls -dlL "$dst"
|
476
|
-
new=`LC_ALL=C ls -dlL "$dsttmp"
|
477
|
-
|
478
|
-
eval "$initialize_posix_glob" &&
|
479
|
-
$posix_glob set -f &&
|
452
|
+
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
|
453
|
+
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
|
454
|
+
set -f &&
|
480
455
|
set X $old && old=:$2:$4:$5:$6 &&
|
481
456
|
set X $new && new=:$2:$4:$5:$6 &&
|
482
|
-
|
483
|
-
|
457
|
+
set +f &&
|
484
458
|
test "$old" = "$new" &&
|
485
459
|
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
|
486
460
|
then
|
@@ -493,24 +467,24 @@ do
|
|
493
467
|
# to itself, or perhaps because mv is so ancient that it does not
|
494
468
|
# support -f.
|
495
469
|
{
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
470
|
+
# Now remove or move aside any old file at destination location.
|
471
|
+
# We try this two ways since rm can't unlink itself on some
|
472
|
+
# systems and the destination file might be busy for other
|
473
|
+
# reasons. In this case, the final cleanup might fail but the new
|
474
|
+
# file should still install successfully.
|
475
|
+
{
|
476
|
+
test ! -f "$dst" ||
|
477
|
+
$doit $rmcmd -f "$dst" 2>/dev/null ||
|
478
|
+
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
479
|
+
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
|
480
|
+
} ||
|
481
|
+
{ echo "$0: cannot unlink or rename $dst" >&2
|
482
|
+
(exit 1); exit 1
|
483
|
+
}
|
484
|
+
} &&
|
485
|
+
|
486
|
+
# Now rename the file to the real destination.
|
487
|
+
$doit $mvcmd "$dsttmp" "$dst"
|
514
488
|
}
|
515
489
|
fi || exit 1
|
516
490
|
|