[#4076] Re: call/cc — shugo@... (Shugo Maeda)

51 messages 1999/01/08
[#4077] Re: [ruby-list:11512] Re: call/cc — maeda@... 1999/01/08

前田@リコーです。

[#4078] Re: call/cc — shugo@... (Shugo Maeda) 1999/01/08

[#4079] Re: call/cc — kjana@... (YANAGAWA Kazuhisa) 1999/01/08

In message <m0zyZO8-0003EbC@crunkey.chocolate.or.jp>

[#4098] Re: call/cc — shugo@... (Shugo Maeda) 1999/01/11

[#4105] Re: call/cc — EGUCHI Osamu <eguchi@...> 1999/01/12

えぐち@エスアンドイー です。

[#4144] Re: call/cc — shugo@... (Shugo Maeda) 1999/01/13

[#4090] finalizers — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

19 messages 1999/01/11

[#4095] Ruby on CYGWIN — TAKAHASHI Masayoshi <maki@...>

高橋です。久しぶりに書きます。

26 messages 1999/01/11
[#4111] Re: Ruby on CYGWIN — WATANABE Hirofumi <watanabe@...> 1999/01/12

わたなべです.

[#4115] Re: Ruby on CYGWIN — TAKAHASHI Masayoshi <maki@...> 1999/01/12

高橋です。Rubyのリンク集から見つけたのですが、sgmailって

[#4118] sgmail (Re: Ruby on CYGWIN) — Takahiro Maebashi <maebashi@...> 1999/01/12

前橋です。

[#4123] Tk? Gtk? (Re: sgmail) — TAKAHASHI Masayoshi <maki@...> 1999/01/13

高橋です。

[#4203] Compile via WATCOM C — ARIMA Yasuhiro <fit0298@...>

有馬です。

20 messages 1999/01/18
[#4204] Re: Compile via WATCOM C — KIMURA Koichi <kimura@...> 1999/01/18

[#4248] patch for ruby-mswin32 — Koji Oda <oda@...1.qnes.nec.co.jp>

小田@QNES です。

27 messages 1999/01/19
[#4254] Re: patch for ruby-mswin32 — matz@... (Yukihiro Matsumoto) 1999/01/19

まつもと ゆきひろです

[#4256] Re: patch for ruby-mswin32 — WATANABE Hirofumi <watanabe@...> 1999/01/19

わたなべです.

[#4258] Re: patch for ruby-mswin32 — matz@... (Yukihiro Matsumoto) 1999/01/19

まつもと ゆきひろです

[#4290] signed/unsigned char — ARIMA Yasuhiro <fit0298@...>

有馬です。

17 messages 1999/01/20
[#4292] Re: signed/unsigned char — EGUCHI Osamu <eguchi@...> 1999/01/20

えぐち@エスアンドイー です。

[#4293] Re: signed/unsigned char — ARIMA Yasuhiro <fit0298@...> 1999/01/20

Regard to "[ruby-dev:4292] Re: signed/unsigned char"

[#4295] Re: signed/unsigned char — EGUCHI Osamu <eguchi@...> 1999/01/20

えぐち@エスアンドイー です。

[#4327] pack("F") for bigendian float — gotoken@... (GOTO Kentaro)

ごとけんです。

25 messages 1999/01/22
[#4330] Re: pack("F") for bigendian float — gotoken@... (GOTO Kentaro) 1999/01/23

ごとけんです

[#4331] Re: pack("F") for bigendian float — gotoken@... (GOTO Kentaro) 1999/01/23

ごとけんです

[#4336] Re: pack("F") for bigendian float — matz@... (Yukihiro Matsumoto) 1999/01/24

まつもと ゆきひろです

[#4337] Re: pack("F") for bigendian float — gotoken@... (GOTO Kentaro) 1999/01/24

ごとけんです

[#4338] Re: pack("F") for bigendian float — Yamashita Junji (山下 純司) <ys_jyunji@...> 1999/01/24

山下 純司です。

[#4341] cascades on ruby — Kazunori NISHI <kazunori@...>

西@九大です。

51 messages 1999/01/25
[#4342] Re: cascades on ruby — Kazuhiro HIWADA <hiwada@...> 1999/01/25

ひわだです。

[#4343] Re: cascades on ruby — Kazunori NISHI <kazunori@...> 1999/01/25

西@九大です。

[#4344] Re: cascades on ruby — matz@... (Yukihiro Matsumoto) 1999/01/25

まつもと ゆきひろです

[#4386] Re: cascades on ruby — keiju@... (石塚圭樹 ) 1999/01/26

けいじゅ@日本ラショナルソフトウェアです.

[#4389] Re: cascades on ruby — matz@... (Yukihiro Matsumoto) 1999/01/26

まつもと ゆきひろです

[#4394] Re: cascades on ruby — keiju@... (石塚圭樹 ) 1999/01/26

けいじゅ@日本ラショナルソフトウェアです.

[#4396] keyword argument (Re: Re: cascades on ruby) — matz@... (Yukihiro Matsumoto) 1999/01/26

[#4399] Re: keyword argument (Re: Re: cascades on ruby) — keiju@... (石塚圭樹 ) 1999/01/26

けいじゅ@日本ラショナルソフトウェアです.

[#4400] Re: keyword argument (Re: Re: cascades on ruby) — matz@... (Yukihiro Matsumoto) 1999/01/26

まつもと ゆきひろです

[#4401] Re: keyword argument (Re: Re: cascades on ruby) — keiju@... (石塚圭樹 ) 1999/01/26

けいじゅ@日本ラショナルソフトウェアです.

[#4404] Re: keyword argument (Re: Re: cascades on ruby) — matz@... (Yukihiro Matsumoto) 1999/01/26

まつもと ゆきひろです

[#4410] Re: keyword argument (Re: Re: cascades on ruby) — keiju@... (石塚圭樹 ) 1999/01/26

けいじゅ@日本ラショナルソフトウェアです.

[#4412] Re: keyword argument (Re: Re: cascades on ruby) — matz@... (Yukihiro Matsumoto) 1999/01/26

まつもと ゆきひろです

[#4473] Re: keyword argument (Re: Re: cascades on ruby) — matz@... (Yukihiro Matsumoto) 1999/01/28

まつもと ゆきひろです

[#4495] Re: keyword argument (Re: Re: cascades on ruby) — shugo@... (Shugo Maeda) 1999/01/29

前田です。

[#4349] Re: [ruby-list:11707] Re: ruby 1.2.2 released — EGUCHI Osamu <eguchi@...>

えぐち@エスアンドイー です。

35 messages 1999/01/25
[#4353] Re: [ruby-list:11707] Re: ruby 1.2.2 released — EGUCHI Osamu <eguchi@...> 1999/01/25

えぐち@エスアンドイー です。

[#4357] --enable-shared/BSD (Re: ) — EGUCHI Osamu <eguchi@...> 1999/01/25

えぐち@エスアンドイー です。

[#4375] Re: --enable-shared/BSD (Re: ) — matz@... (Yukihiro Matsumoto) 1999/01/26

まつもと ゆきひろです

[#4387] Re: --enable-shared/BSD (Re: ) — EGUCHI Osamu <eguchi@...> 1999/01/26

えぐち@エスアンドイー です。

[#4391] Re: --enable-shared/BSD (Re: ) — matz@... (Yukihiro Matsumoto) 1999/01/26

まつもと ゆきひろです

[#4406] Re: --enable-shared/BSD (Re: ) — EGUCHI Osamu <eguchi@...> 1999/01/26

えぐち@エスアンドイー です。

[#4419] Re: module Precision — Inaba Hiroto <inaba@...>

21 messages 1999/01/26
[#4438] Re: module Precision — gotoken@... (GOTO Kentaro) 1999/01/27

ごとけんです

[#4451] Re: module Precision — Inaba Hiroto <inaba@...> 1999/01/27

From: gotoken@math.sci.hokudai.ac.jp (GOTO Kentaro)

[#4453] new class for float of C (Re: module Precision) — gotoken@... (GOTO Kentaro) 1999/01/27

ごとけんです

[#4457] Re: new class for float of C (Re: module Precision) — matz@... (Yukihiro Matsumoto) 1999/01/28

まつもと ゆきひろです

[#4460] Re: new class for float of C (Re: module Precision) — gotoken@... (GOTO Kentaro) 1999/01/28

ごとけんです

[#4461] Re: new class for float of C (Re: module Precision) — matz@... (Yukihiro Matsumoto) 1999/01/28

まつもと ゆきひろです

[#4462] Re: new class for float of C (Re: module Precision) — gotoken@... (GOTO Kentaro) 1999/01/28

ごとけんです

[#4420] ruby 1.3.1-990126 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

17 messages 1999/01/26

[#4452] permit to put a comma — Koji Arai <JCA02266@...>

新井です。

18 messages 1999/01/27
[#4484] Re: permit to put a comma — matz@... (Yukihiro Matsumoto) 1999/01/29

まつもと ゆきひろです

[#4518] Inf.0 — gotoken@... (GOTO Kentaro)

ごとけんです

17 messages 1999/01/30

[ruby-dev:4406] Re: --enable-shared/BSD (Re: )

From: EGUCHI Osamu <eguchi@...>
Date: 1999-01-26 08:37:18 UTC
List: ruby-dev #4406
えぐち@エスアンドイー です。

>>> On Tue, 26 Jan 1999 15:53:00 +0900, matz@netlab.co.jp (Yukihiro Matsumoto) said:

matz> まつもと ゆきひろです
matz> 
matz> In message "[ruby-dev:4387] Re: --enable-shared/BSD (Re: )"
matz>     on 99/01/26, EGUCHI Osamu <eguchi@shizuokanet.ne.jp> writes:
matz> 
matz> |えぐち@エスアンドイー です。

matz>   MINOR=2.3
matz> 
matz> なんて結果が出たら許されるんでしょうかね.

この辺りの事を考えて、ちょっとコードを書いて見ました。

ruby-1.3 からのパッチを添付します。

 * マクロ TEENY (ruby-1.2.3 の 3)を追加しました。
   立石さんの PATCHLEVEL でも良かったのですが、
   綴が短くて他と衝突しない方が良かろうと言うことで
   他意はないです。

 * マクロ LIBRUBY_ALIASES を追加しました。
   これは共有ライブラリのシンボリックリンク先で
   リストですので列挙すれば、その数だけ作ります。
   立石さんのコードを参考に instruby.rb でも 
   LIBRUBY_ALIASES を参照して、オリジナルの
   共有ライブラリの名前への symlink を張るようにしました。

 * AC_PROG_LN_S の追加
   ln -s を使うので、念の為です

	えぐち

configure.in で MAJOR, MINOR それに TEENY を定義していますが、
この延長で、RUBY_VERSION を configure.in で定義するも考えました。
これって、まつもとさんにとって便利ですか?

Attachments (1)

1.3-so.diff (5.03 KB, text/x-diff)
diff -rud --exclude=configure ruby-1.3/Makefile.in ruby-1.3.so/Makefile.in
--- ruby-1.3/Makefile.in	Thu Dec 24 13:30:11 1998
+++ ruby-1.3.so/Makefile.in	Tue Jan 26 17:16:51 1999
@@ -2,6 +2,10 @@
 
 #### Start of system configuration section. ####
 
+MAJOR=	@MAJOR@
+MINOR=	@MINOR@
+TEENY=	@TEENY@
+
 srcdir = @srcdir@
 VPATH = @srcdir@:@srcdir@/missing
 
@@ -26,6 +30,9 @@
 #### End of system configuration section. ####
 
 
+LIBRUBY_A     = @LIBRUBY_A@
+LIBRUBY_SO    = @LIBRUBY_SO@
+LIBRUBY_ALIASES= @LIBRUBY_ALIASES@
 LIBRUBY	      = @LIBRUBY@
 LIBRUBYARG    = @LIBRUBYARG@
 
@@ -75,7 +82,7 @@
 all:		miniruby$(binsuffix) rbconfig.rb
 		@./miniruby$(binsuffix) -Xext extmk.rb @EXTSTATIC@
 
-miniruby$(binsuffix):	$(LIBRUBY) $(MAINOBJ) dmyext.o
+miniruby$(binsuffix):	$(LIBRUBY_A) $(MAINOBJ) dmyext.o
 		@rm -f $@
 		$(PURIFY) $(CC) $(LDFLAGS) $(MAINOBJ) dmyext.o $(LIBRUBYARG) $(LIBS) -o $@
 
@@ -83,17 +90,22 @@
 		@rm -f $@
 		$(PURIFY) $(CC) $(LDFLAGS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(LIBS) -o $@
 
-libruby.a:	$(OBJS) dmyext.o
+$(LIBRUBY_A):	$(OBJS) dmyext.o
 		@AR@ rcu $@ $(OBJS) dmyext.o
 		@-@RANLIB@ $@ 2> /dev/null || true
 
-libruby.so:	$(OBJS) dmyext.o
-		$(LDSHARED) $(DLDFLAGS) $(SOLIBS) $(OBJS) dmyext.o -o $@
+$(LIBRUBY_SO):	$(OBJS) dmyext.o
+		$(LDSHARED) $(DLDFLAGS) $(SOLIBS) $(OBJS) dmyext.o -o $(LIBRUBY_SO)
+		@for alias in $(LIBRUBY_ALIASES); do \
+		  rm -f $$alias \
+		   && @LN_S@ $(LIBRUBY_SO) $$alias \
+		     && echo ln @LN_S@ $(LIBRUBY_SO) $$alias; \
+		done
 
 install:	rbconfig.rb
 		./miniruby$(binsuffix) $(srcdir)/instruby.rb $(DESTDIR)
 
-clean:;		@rm -f $(OBJS) $(LIBRUBY) $(MAINOBJ) rbconfig.rb
+clean:;		@rm -f $(OBJS) $(LIBRUBY_A) $(LIBRUBY_SO) $(LIBRUBY_ALIASES) $(MAINOBJ) rbconfig.rb
 		@rm -f ext/extinit.c ext/extinit.o dmyext.o
 		@if test -f ./miniruby$(binsuffix); then \
 			./miniruby$(binsuffix) -Xext extmk.rb clean; \
diff -rud --exclude=configure ruby-1.3/configure.in ruby-1.3.so/configure.in
--- ruby-1.3/configure.in	Tue Dec 22 18:01:48 1998
+++ ruby-1.3.so/configure.in	Tue Jan 26 14:49:19 1999
@@ -1,6 +1,12 @@
 dnl Process this file with autoconf to produce a configure script.
 AC_INIT(ruby.h)
 
+MAJOR=1
+MINOR=3
+TEENY=1
+AC_SUBST(MAJOR)
+AC_SUBST(MINOR)
+AC_SUBST(TEENY)
 dnl checks for alternative programs
 AC_ARG_WITH(gcc, [--without-gcc             never use gcc], [
 	case $withval in
@@ -85,6 +91,7 @@
 AC_SUBST(AR)
 AC_CHECK_PROGS(AR, ar aal, ar)
 AC_PROG_INSTALL
+AC_PROG_LN_S
 AC_PROG_MAKE_SET
 
 # checks for UNIX variants that set C preprocessor variables
@@ -93,6 +100,8 @@
 AC_CHECK_SIZEOF(int)
 AC_CHECK_SIZEOF(long)
 AC_CHECK_SIZEOF(void*)
+AC_CHECK_SIZEOF(float)
+AC_CHECK_SIZEOF(double)
 
 AC_MSG_CHECKING(for prototypes)
 AC_CACHE_VAL(rb_cv_have_prototypes,
@@ -375,10 +384,8 @@
 			rb_cv_dlopen=yes ;;
 	linux*) 	LDSHARED="gcc -shared"
 			rb_cv_dlopen=yes ;;
-	freebsd3*)      LDSHARED="ld -Bshareable"   
-			LDFLAGS="-rdynamic"
-			rb_cv_dlopen=yes ;;
-	freebsd*) 	LDSHARED="ld -Bshareable"
+	freebsd*)       LDSHARED="gcc -shared"   
+			test -x /usr/bin/objformat && LDFLAGS="-rdynamic"
 			rb_cv_dlopen=yes ;;
 	netbsd*) 	LDSHARED="ld -Bshareable"
 			rb_cv_dlopen=yes ;;
@@ -564,12 +571,13 @@
   CFLAGS="$CFLAGS $ARCH_FLAG"
 fi
 
-LIBRUBY='libruby.a'
-LIBRUBYARG='libruby.a'
+LIBRUBY_A='libruby.a'
+LIBRUBY='$(LIBRUBY_A)'
+LIBRUBYARG='$(LIBRUBY_A)'
 SOLIBS=
 if test "$host_os" = "beos"; then
   CFLAGS="$CFLAGS -relax_pointers"
-  LIBRUBY='libruby.so'
+  LIBRUBY='$(LIBRUBY_SO)'
   LIBRUBYARG='-lruby'
   SOLIBS='-lnet'
   echo creating ruby.def
@@ -584,9 +592,24 @@
   esac
 fi
 
+AC_SUBST(LIBSUFFIX)
+
+LIBRUBY_SO='libruby.so.$(MAJOR).$(MINOR).$(TEENY)'
+LIBRUBY_ALIASES='libruby.so'
 if test "$enable_shared" = 'yes'; then
-  LIBRUBY='libruby.so'
+  LIBRUBY='$(LIBRUBY_SO)'
   LIBRUBYARG='-L./ -lruby'
+  case "$host_os" in
+    freebsd2* | sunos4*)
+	LIBRUBY_ALIASES='libruby.so.$(MAJOR).$(MINOR) libruby.so'
+	;;
+    hpux*)
+	LIBRUBY_SO='libruby.sl.$(MAJOR).$(MINOR).$(TEENY)'
+	LIBRUBY_ALIASES='libruby.sl.$(MAJOR).$(MINOR) libruby.sl'
+	;;
+    *)
+	;;	
+  esac
 fi
 
 case "$host_os" in
@@ -604,6 +627,9 @@
 esac
 
 
+AC_SUBST(LIBRUBY_A)
+AC_SUBST(LIBRUBY_SO)
+AC_SUBST(LIBRUBY_ALIASES)
 AC_SUBST(LIBRUBY)
 AC_SUBST(LIBRUBYARG)
 AC_SUBST(SOLIBS)
diff -rud --exclude=configure ruby-1.3/instruby.rb ruby-1.3.so/instruby.rb
--- ruby-1.3/instruby.rb	Thu Dec 24 14:35:35 1998
+++ ruby-1.3.so/instruby.rb	Tue Jan 26 13:30:50 1999
@@ -29,11 +29,22 @@
   File.install dll, "#{destdir}#{bindir}/#{dll}", 0755, TRUE
 end
 File.makedirs "#{destdir}#{libdir}", TRUE
-for lib in ["libruby.so", "libruby.so.LIB"]
+for lib in ["libruby.so.LIB", CONFIG["LIBRUBY_SO"]]
   if File.exist? lib
     File.install lib, "#{destdir}#{libdir}", 0644, TRUE
   end
 end
+pwd = Dir.pwd
+Dir.chdir libdir
+if File.exist? CONFIG["LIBRUBY_SO"]
+  for alias in [CONFIG["LIBRUBY_SO"]]
+    if File.exist? alias
+       File.delete alias
+    end
+    File.symlink CONFIG["LIBRUBY_SO"], alias
+    print "link #{CONFIG['LIBRUBY_SO']} -> #{alias}\n"
+end
+Dir.chdir pwd
 File.makedirs "#{destdir}#{pkglibdir}", TRUE
 File.makedirs "#{destdir}#{archdir}", TRUE
 Dir.chdir "ext"

In This Thread