[#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:4353] Re: [ruby-list:11707] Re: ruby 1.2.2 released

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

と言う事で、freebsd2.x.x と sunos4.x.x で 

  configure --enable-shared 

を有効にするパッチです。

以下の configure マクロを追加しています。

  MAJOR ...... ruby のメジャーバージョン ruby-1.3.2 ならば 1
  MINOR ...... ruby のメジャーバージョン ruby-1.3.2 ならば 3
  LIBRUBY_A .. ruby の静的ライブラリの名前 (ex. libruby.a)
  LIBRUBY_SO . ruby の共有ライブラリの名前 (ex. libruby.so)

ナンバリングに関するポリシーは、議論の途中ですが、
configure.in の LIBRUBY_SO ので集中的に定義しています。

現在は、 
  freebsd2* -- libruby.so.1.3
  sunos4*   -- libruby.so.1.3
  hpux*     -- libruby.sl.1.3
  Other     -- libruby.so
としてあります。

ln -s libruby.so.XX libruby.so は、まだ含んでいません。

また、このパッチの範囲は configure.in Makefile.in と
案内しましたが、 instruby.rb も make install の時に
LIBRUBY_SO を参照するようにしました。

! hpux へのパッチを含んでいますが、こちらには
! 環境がないので、未デバグです。
! 多分 cc か ld にフラッグを渡す必要があります。
! 手近に環境のある方、できましたら
! configure --enable-shared で make all test できるか
! テストお願いします。

また、それ以外のプラットホームでも

  configure 
と
  configure --enable-shared

の両方のケースで、
make all test できるかテストして頂けると
ありがたいです。

コンパイル後のテストが、、

 % make test
 ld.so failed: Can't find shared library "libruby.so.1.2"
 test failed

となった場合は、 

 % env LD_LIBRARY_PATH=. make test

を試して下さい。

	えぐち

Attachments (1)

ruby-1.3.bsd-enable-shared.diff (3.89 KB, text/x-diff)
diff --exclude=configure -rud ruby-1.3/Makefile.in ruby-1.3.enable-shared/Makefile.in
--- ruby-1.3/Makefile.in	Thu Dec 24 13:30:11 1998
+++ ruby-1.3.enable-shared/Makefile.in	Mon Jan 25 15:15:53 1999
@@ -2,6 +2,9 @@
 
 #### Start of system configuration section. ####
 
+MAJOR=	@MAJOR@
+MINOR=	@MINOR@
+
 srcdir = @srcdir@
 VPATH = @srcdir@:@srcdir@/missing
 
@@ -26,6 +29,8 @@
 #### End of system configuration section. ####
 
 
+LIBRUBY_A     = @LIBRUBY_A@
+LIBRUBY_SO    = @LIBRUBY_SO@
 LIBRUBY	      = @LIBRUBY@
 LIBRUBYARG    = @LIBRUBYARG@
 
@@ -75,7 +80,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 +88,17 @@
 		@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
+$(LIBRUBY_SO):	$(OBJS) dmyext.o
 		$(LDSHARED) $(DLDFLAGS) $(SOLIBS) $(OBJS) dmyext.o -o $@
 
 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) $(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 --exclude=configure -rud ruby-1.3/configure.in ruby-1.3.enable-shared/configure.in
--- ruby-1.3/configure.in	Tue Dec 22 18:01:48 1998
+++ ruby-1.3.enable-shared/configure.in	Mon Jan 25 15:50:46 1999
@@ -1,6 +1,10 @@
 dnl Process this file with autoconf to produce a configure script.
 AC_INIT(ruby.h)
 
+MAJOR=1
+MINOR=3
+AC_SUBST(MAJOR)
+AC_SUBST(MINOR)
 dnl checks for alternative programs
 AC_ARG_WITH(gcc, [--without-gcc             never use gcc], [
 	case $withval in
@@ -375,10 +379,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 +566,14 @@
   CFLAGS="$CFLAGS $ARCH_FLAG"
 fi
 
-LIBRUBY='libruby.a'
-LIBRUBYARG='libruby.a'
+LIBRUBY_A='libruby.a'
+LIBRUBY_SO='libruby.so'
+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 +588,17 @@
   esac
 fi
 
+AC_SUBST(LIBSUFFIX)
+
 if test "$enable_shared" = 'yes'; then
-  LIBRUBY='libruby.so'
+  LIBRUBY='$(LIBRUBY_SO)'
   LIBRUBYARG='-L./ -lruby'
+  case "$host_os" in
+    freebsd2*)	LIBRUBY_SO='libruby.so.$(MAJOR).$(MINOR)' ;;
+    sunos4*)	LIBRUBY_SO='libruby.so.$(MAJOR).$(MINOR)' ;;
+    hpux*)	LIBRUBY_SO='libruby.sl.$(MAJOR).$(MINOR)' ;;
+    *)	;;	
+  esac
 fi
 
 case "$host_os" in
@@ -604,6 +616,8 @@
 esac
 
 
+AC_SUBST(LIBRUBY_A)
+AC_SUBST(LIBRUBY_SO)
 AC_SUBST(LIBRUBY)
 AC_SUBST(LIBRUBYARG)
 AC_SUBST(SOLIBS)
diff --exclude=configure -rud ruby-1.3/instruby.rb ruby-1.3.enable-shared/instruby.rb
--- ruby-1.3/instruby.rb	Thu Dec 24 14:35:35 1998
+++ ruby-1.3.enable-shared/instruby.rb	Mon Jan 25 15:30:30 1999
@@ -29,7 +29,7 @@
   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", "libruby.so.LIB", CONFIG["LIBRUBY_SO"]]
   if File.exist? lib
     File.install lib, "#{destdir}#{libdir}", 0644, TRUE
   end

In This Thread