[#837] request SCAN — Shin-ichiro HARA <sinara@...>

原です。

25 messages 1997/11/14
[#838] Re: request SCAN — matz@... (Yukihiro Matsumoto) 1997/11/14

まつもと ゆきひろです

[#839] Re: request SCAN — Shin-ichiro HARA <sinara@...> 1997/11/14

原です。

[#840] Re: request SCAN — Shin-ichiro HARA <sinara@...> 1997/11/14

原です。

[#841] Re: request SCAN — Shin-ichiro HARA <sinara@...> 1997/11/14

原です。

[#843] Re: request SCAN — matz@... (Yukihiro Matsumoto) 1997/11/14

まつもと ゆきひろです

[#844] Re: request SCAN — Shin-ichiro HARA <sinara@...> 1997/11/14

原です。

[#845] Re: request SCAN — matz@... (Yukihiro Matsumoto) 1997/11/14

まつもと ゆきひろです

[#864] [Req] Proc.new — Shin-ichiro HARA <sinara@...>

原です。

53 messages 1997/11/19
[#865] Re: [Req] Proc.new — matz@... (Yukihiro Matsumoto) 1997/11/19

まつもと ゆきひろです

[#866] Re: [Req] Proc.new — Shin-ichiro HARA <sinara@...> 1997/11/19

原です。

[#867] Re: [Req] Proc.new — matz@... (Yukihiro Matsumoto) 1997/11/19

まつもと ゆきひろです

[#875] Re: [Req] Proc.new — Shin-ichiro HARA <sinara@...> 1997/11/20

原です。

[#877] Re: [Req] Proc.new — shugo@... (Shugo Maeda) 1997/11/20

前田です。

[#879] Re: [Req] Proc.new — Shin-ichiro HARA <sinara@...> 1997/11/20

原です。

[#886] Re: [Req] Proc.new — shugo@... (Shugo Maeda) 1997/11/20

前田です。

[#890] Re: [Req] Proc.new — keiju@... (石塚圭樹 ) 1997/11/20

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

[ruby-dev:936] Re: extmk.rb

From: shugo@... (Shugo Maeda)
Date: 1997-11-27 08:21:33 UTC
List: ruby-dev #936
前田です。

In message "[ruby-dev:930] Re: extmk.rb"
Eiji-usagi-MATSUmoto <ematsu@pfu.co.jp> wrote:

|それと、コンパイルとは関係ないんですが、Motifは持っている人と
|持っていない人がいると思うので、常にlibXmを要求するような形は
|避けた方がいいと思うんですが、いかが?
|
|それと、X ToolKitというと、いわゆるlibXtのことを指すと思って
|しまうので、いっそのこと
|
| ・ X ToolKit 拡張もじゅーる     -- libXtの拡張もじゅーる
| ・ Athena Widget 拡張もじゅーる -- libXawの拡張もじゅーる
| ・ Motif 拡張もじゅーる         -- libXmの拡張もじゅーる
|
|というように、3つの拡張モジュールに分けた方が嬉しいような気が
|します。

最初こうしようと思ったのですが,MotifモジュールがXtモジュール
に依存するので,拡張モジュールを分離するのは止めて,rubyのモジ
ュールをパッケージのように使うことにしました。
X11/Xaw/Label.hやXm/XmAll.hがあればAthena/Motifモジュールを定義
するようになっています。

今のところ,下記のような感じのスクリプトが動いています。

# testapp.rb

require 'xtoolkit'

app = XToolkit::Application.new('TestApp')
app.addCallback('destroyCallback') do
  exit
end
board = Motif::BulletinBoard.new(app, 'board')
text = Motif::Text.new(board, 'text')
printButton = Motif::PushButton.new(board, 'printButton')
printButton.addCallback('activateCallback') do
  print text.getString, "\n"
end
quitButton = Motif::PushButton.new(board, 'quitButton')
quitButton.addCallback('activateCallback') do
  exit
end
app.realize
app.mainloop

!TestApp

*background: grey
*foreground: black
*board.geometry: 200x100
*printButton.labelString: Print
*printButton.x: 60
*printButton.y: 50
*quitButton.labelString: Quit
*quitButton.x: 110
*quitButton.y: 50

In message "[ruby-dev:932] Re: extmk.rb"
Yukihiro Matsumoto <matz@netlab.co.jp> wrote:

||ね.というわけで,最初の前田さんのパッチで問題無しだと思いま
||す.
|
|と思ったんですが,前田さんのパッチで$(DLDFLAGS)が外されたと
|ころって,静的リンク用のオブジェクトファイルを作る時だけじゃ
|なくて,*.oな動的リンクモジュールを使う時にも使われるんです
|よね.これはまずいですね.というわけで,置き換えパッチです.

あ,すみません,全然考えていませんでした。

In message "[ruby-dev:934] Re: extmk.rb"
Yukihiro Matsumoto <matz@netlab.co.jp> wrote:

|それはそうと,なんでlXmや-lXawなどが,$(DLDLIBS)に含まれる
|んでしょう? $LDFLAGSに追加したのかな?

何度やってもhave_library("Xm", ...)が成功しないので,$LDFLAGSに
追加していたのですが,ext/config.cacheのせいでした(^^;

結局,extconf.rbを次のようにしたら,パッチをあてる前のextmk.rb
でも問題なくコンパイルできました。

$LDFLAGS = "-L/usr/X11/lib"

if have_header("X11/Intrinsic.h") and
    have_library("X11", "XCreateWindow") and
    have_library("Xt", "XtOpenApplication")
  if have_header("X11/Xaw/Label.h")
    have_library("Xaw", "XawInitializeWidgetSet")
  end
  if have_header("Xm/XmAll.h")
    have_library("Xm", "XmUpdateDisplay")
  end
  create_makefile("xtoolkit")
end

|p.s.
|1.1b0からはrubyのソースツリーが残っていれば,extの下でなくて
|も拡張モジュールをコンパイルできるようになりました.拡張モジュー
|ルの作り方そのものは今までと同じで大丈夫です.
|
|その場合にはコンパイル時にMakefile生成用のコマンドを起動する
|必要があります.
|
|  ruby -r mkmf extconf.rb

これで拡張モジュールのインストールが楽になりますね:-)

|これで懸案は残りひとつ….

何でしょう?

-- 
前田 修吾

In This Thread