[ruby-dev:3591] patch for BeOS
From:
"MAEDA Shugo" <shugo@...>
Date:
1998-11-17 13:50:47 UTC
List:
ruby-dev #3591
前田@大阪大学です。
BeOS用のパッチです。
変更点は、
1) qsort()をrb_qsort()にrename。
2) local_var_append()/reg_free()をヘッダファイル/ruby.def.inから削除。
3) declspec関連のための修正。
3)については以前、名前の問題で却下されたのですが、EXTERNを使うように
しました。
名前の衝突を避けるためにRB_EXTERNなりRB_EXPORTにした方が良いのかも
しれませんが...。
# BeOS R4ではdeclspecを使わずに_EXPORTを付けるだけで良くなるみたいです。
--
前田 修吾 (mailto:shugo@aianet.ne.jp)
--- array.c~ Mon Nov 9 18:11:48 1998
+++ array.c Tue Nov 17 21:05:53 1998
@@ -795,8 +795,8 @@
if (RARRAY(ary)->len == 0) return ary;
ary_modify(ary);
- qsort(RARRAY(ary)->ptr, RARRAY(ary)->len, sizeof(VALUE),
- iterator_p()?sort_1:sort_2);
+ rb_qsort(RARRAY(ary)->ptr, RARRAY(ary)->len, sizeof(VALUE),
+ iterator_p()?sort_1:sort_2);
return ary;
}
--- intern.h~ Thu Oct 15 13:51:39 1998
+++ intern.h Tue Nov 17 21:17:36 1998
@@ -200,7 +200,6 @@
void yywhile_loop _((int, int));
int rb_is_const_id _((ID));
int rb_is_instance_id _((ID));
-void local_var_append _((ID));
VALUE backref_get _((void));
void backref_set _((VALUE));
VALUE lastline_get _((void));
--- re.h~ Wed May 6 12:10:14 1998
+++ re.h Tue Nov 17 21:17:44 1998
@@ -33,5 +33,4 @@
VALUE reg_regcomp _((VALUE));
int reg_search _((VALUE, VALUE, int, int));
VALUE reg_regsub _((VALUE, VALUE, struct re_registers *));
-void reg_free _((Regexp *));
#endif
--- util.c~ Tue Oct 6 11:45:05 1998
+++ util.c Tue Nov 17 21:05:41 1998
@@ -648,7 +648,7 @@
((*cmp)(b,c)<0 ? b : ((*cmp)(a,c)<0 ? c : a)) : \
((*cmp)(b,c)>0 ? b : ((*cmp)(a,c)<0 ? a : c)) )
-void qsort (base, nel, size, cmp) void* base; size_t nel; size_t size; int (*cmp)();
+void rb_qsort (base, nel, size, cmp) void* base; size_t nel; size_t size; int (*cmp)();
{
register char *l, *r, *m; /* l,r:left,right group m:median point */
register int t, eq_l, eq_r; /* eq_l: all items in left group are equal to S */
--- beos/ruby.def.in~ Mon Jun 22 18:36:28 1998
+++ beos/ruby.def.in Tue Nov 17 21:09:05 1998
@@ -134,7 +134,6 @@
iterator_p
lastline_get
lastline_set
-local_var_append
memclear
mod_constants
module_new
@@ -264,7 +263,6 @@
rb_undef_method
rb_yield
rb_yield_0
-reg_free
reg_last_match
reg_match
reg_match2
--- defines.h~ Mon Nov 9 18:11:48 1998
+++ defines.h Tue Nov 17 21:51:52 1998
@@ -35,7 +35,15 @@
#endif
#ifndef EXTERN
-#define EXTERN extern
+# if defined(__BEOS__) && defined(__INTEL__)
+# ifdef BUILDING_RUBY
+# define EXTERN __declspec(dllexport)
+# else
+# define EXTERN __declspec(dllimport)
+# endif
+# else
+# define EXTERN extern
+# endif
#endif
#ifdef sparc
--- configure.in~ Mon Nov 16 11:03:49 1998
+++ configure.in Tue Nov 17 21:47:16 1998
@@ -555,11 +555,15 @@
LIBRUBY='libruby.a'
LIBRUBYARG='libruby.a'
SOLIBS=
+LIBRUBYFLAGS=
if test "$host_os" = "beos"; then
CFLAGS="$CFLAGS -relax_pointers"
LIBRUBY='libruby.so'
LIBRUBYARG='-lruby'
SOLIBS='-lnet'
+ if test "$host_cpu" = "i586"; then
+ LIBRUBYFLAGS='-DBUILDING_RUBY'
+ fi
echo creating ruby.def
case "$host_cpu" in
powerpc*)
@@ -595,6 +599,7 @@
AC_SUBST(LIBRUBY)
AC_SUBST(LIBRUBYARG)
AC_SUBST(SOLIBS)
+AC_SUBST(LIBRUBYFLAGS)
ri_prefix=
test "$program_prefix" != NONE &&
--- Makefile.in~ Tue Nov 17 12:48:57 1998
+++ Makefile.in Tue Nov 17 21:26:42 1998
@@ -19,6 +19,7 @@
LDSHARED = @LDSHARED@
DLDFLAGS = @DLDFLAGS@
SOLIBS = @SOLIBS@
+LIBRUBYFLAGS = @LIBRUBYFLAGS@
binsuffix = @binsuffix@
@@ -124,102 +125,142 @@
mv -f y.tab.c parse.c
alloca.o: @srcdir@/missing/alloca.c
- $(CC) -I. $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/alloca.c
+ $(CC) -I. $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c @srcdir@/missing/alloca.c
crypt.o: @srcdir@/missing/crypt.c
- $(CC) -I. $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/crypt.c
+ $(CC) -I. $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c @srcdir@/missing/crypt.c
dup2.o: @srcdir@/missing/dup2.c
- $(CC) -I. $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/dup2.c
+ $(CC) -I. $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c @srcdir@/missing/dup2.c
flock.o: @srcdir@/missing/flock.c
- $(CC) -I. $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/flock.c
+ $(CC) -I. $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c @srcdir@/missing/flock.c
memcmp.o: @srcdir@/missing/memcmp.c
- $(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/memcmp.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c @srcdir@/missing/memcmp.c
memmove.o: @srcdir@/missing/memmove.c
- $(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/memmove.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c @srcdir@/missing/memmove.c
mkdir.o: @srcdir@/missing/mkdir.c
- $(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/mkdir.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c @srcdir@/missing/mkdir.c
setenv.o: @srcdir@/missing/setenv.c
- $(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/setenv.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c @srcdir@/missing/setenv.c
vsnprintf.o: @srcdir@/missing/vsnprintf.c
- $(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/vsnprintf.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c @srcdir@/missing/vsnprintf.c
strcasecmp.o: @srcdir@/missing/strcasecmp.c
- $(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/strcasecmp.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c @srcdir@/missing/strcasecmp.c
strchr.o: @srcdir@/missing/strchr.c
- $(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/strchr.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c @srcdir@/missing/strchr.c
strdup.o: @srcdir@/missing/strdup.c
- $(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/strdup.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c @srcdir@/missing/strdup.c
strerror.o: @srcdir@/missing/strerror.c
- $(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/strerror.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c @srcdir@/missing/strerror.c
strftime.o: @srcdir@/missing/strftime.c
- $(CC) -I. $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/strftime.c
+ $(CC) -I. $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c @srcdir@/missing/strftime.c
strstr.o: @srcdir@/missing/strstr.c
- $(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/strstr.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c @srcdir@/missing/strstr.c
strtol.o: @srcdir@/missing/strtol.c
- $(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/strtol.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c @srcdir@/missing/strtol.c
strtoul.o: @srcdir@/missing/strtoul.c
- $(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/strtoul.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c @srcdir@/missing/strtoul.c
nt.o: @srcdir@/missing/nt.c
- $(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/nt.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c @srcdir@/missing/nt.c
x68.o: @srcdir@/missing/x68.c
- $(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/x68.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c @srcdir@/missing/x68.c
# Prevent GNU make v3 from overflowing arg limit on SysV.
.NOEXPORT:
###
-parse.o: parse.y ruby.h config.h defines.h intern.h env.h node.h st.h regex.h util.h lex.c
+parse.o: parse.c ruby.h config.h defines.h intern.h env.h node.h st.h regex.h util.h lex.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
###
array.o: array.c ruby.h config.h defines.h intern.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
bignum.o: bignum.c ruby.h config.h defines.h intern.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
class.o: class.c ruby.h config.h defines.h intern.h node.h st.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
compar.o: compar.c ruby.h config.h defines.h intern.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
dir.o: dir.c ruby.h config.h defines.h intern.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
dln.o: dln.c config.h defines.h dln.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
dmyext.o: dmyext.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
enum.o: enum.c ruby.h config.h defines.h intern.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
error.o: error.c ruby.h config.h defines.h intern.h env.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
eval.o: eval.c ruby.h config.h defines.h intern.h node.h env.h rubysig.h st.h dln.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
file.o: file.c ruby.h config.h defines.h intern.h rubyio.h rubysig.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
fnmatch.o: fnmatch.c config.h fnmatch.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
gc.o: gc.c ruby.h config.h defines.h intern.h rubysig.h st.h node.h env.h re.h regex.h
-glob.o: config.h glob.c fnmatch.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
+glob.o: glob.c config.h fnmatch.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
hash.o: hash.c ruby.h config.h defines.h intern.h st.h rubysig.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
inits.o: inits.c ruby.h config.h defines.h intern.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
io.o: io.c ruby.h config.h defines.h intern.h rubyio.h rubysig.h
-main.o: main.c ruby.h config.h defines.h intern.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
marshal.o: marshal.c ruby.h config.h defines.h intern.h rubyio.h st.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
math.o: math.c ruby.h config.h defines.h intern.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
numeric.o: numeric.c ruby.h config.h defines.h intern.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
object.o: object.c ruby.h config.h defines.h intern.h st.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
pack.o: pack.c ruby.h config.h defines.h intern.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
process.o: process.c ruby.h config.h defines.h intern.h rubysig.h st.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
random.o: random.c ruby.h config.h defines.h intern.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
range.o: range.c ruby.h config.h defines.h intern.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
re.o: re.c ruby.h config.h defines.h intern.h re.h regex.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
regex.o: regex.c config.h regex.h util.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
ruby.o: ruby.c ruby.h config.h defines.h intern.h dln.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
signal.o: signal.c ruby.h config.h defines.h intern.h rubysig.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
sprintf.o: sprintf.c ruby.h config.h defines.h intern.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
st.o: st.c config.h st.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
string.o: string.c ruby.h config.h defines.h intern.h re.h regex.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
struct.o: struct.c ruby.h config.h defines.h intern.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
time.o: time.c ruby.h config.h defines.h intern.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
util.o: util.c ruby.h config.h defines.h intern.h util.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
variable.o: variable.c ruby.h config.h defines.h intern.h env.h node.h st.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
version.o: version.c ruby.h config.h defines.h intern.h version.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LIBRUBYFLAGS) -c $<
+
+main.o: main.c ruby.h config.h defines.h intern.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c $<