2007年10月 9日 23:07

Lua Library framework for Mac OS X (Universal Binary)

このエントリーを含むはてなブックマーク

概要

組み込み言語Luaのライブラリ(liblua)をユニバーサルバイナリのdylibとしてビルドしたものを.frameworkパッケージ形式として格納したものです。

ソースコードには変更を加えていないため、ライセンス条項についてはLua公式サイトに掲載されているものが引き続き適応されるかと思います。

なお、Mac OS X 10.5 Leopardで使用するが64ビット対応が必要ない場合、Tiger用でも問題ありません。また、64ビット非対応プロセッサで64ビット対応版を用いても問題ありません。ただし、その場合32ビット版と同等の動作をします。

連絡先

もし何か問題が生じた場合、Eメールでご連絡ください。

If any problem occurs, please contact us at E-mail.

ダウンロード

lua-framework104.dmg(193,697bytes)(Mac OS X 10.4 Tiger向け)

lua-framework105-64.dmg(361,066bytes)(Mac OS X 10.5 Leopard向け 64ビット対応)

パッチ

以下に示すパッチを、公式配布されているソースコードに当てることで自分でビルドできます。

Tiger向けUniversal Binaryをビルドする場合"make macosx_ub"、Leopard向け64ビット対応Universal Binaryをビルドする場合"make macosx_ub64"を呼び出してください。

lua-5.1.2/Makefile

*** lua-5.1.2/Makefile	2007-03-25 23:44:39.000000000 +0900
--- lua-5.1.2-new/Makefile	2007-11-15 15:44:25.000000000 +0900
***************
*** 38,44 ****
  # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE =========
  
  # Convenience platforms targets.
! PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
  
  # What to install.
  TO_BIN= lua luac
--- 38,44 ----
  # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE =========
  
  # Convenience platforms targets.
! PLATS= aix ansi bsd freebsd generic linux macosx macosx_ub macosx_ub64 mingw posix solaris
  
  # What to install.
  TO_BIN= lua luac

lua-5.1.2/src/Makefile

*** lua-5.1.2/src/Makefile	2007-03-25 23:49:23.000000000 +0900
--- lua-5.1.2-new/src/Makefile	2007-11-15 16:48:11.000000000 +0900
***************
*** 20,26 ****
  
  # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE =========
  
! PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
  
  LUA_A=	liblua.a
  CORE_O=	lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \
--- 20,26 ----
  
  # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE =========
  
! PLATS= aix ansi bsd freebsd generic linux macosx macosx_ub macosx_ub64 mingw posix solaris
  
  LUA_A=	liblua.a
  CORE_O=	lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \
***************
*** 36,42 ****
  LUAC_O=	luac.o print.o
  
  ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
! ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
  ALL_A= $(LUA_A)
  
  default: $(PLAT)
--- 36,42 ----
  LUAC_O=	luac.o print.o
  
  ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
! ALL_T= Lua $(LUA_A) $(LUA_T) $(LUAC_T)
  ALL_A= $(LUA_A)
  
  default: $(PLAT)
***************
*** 50,55 ****
--- 50,58 ----
  $(LUA_A): $(CORE_O) $(LIB_O)
  	$(AR) $@ $?
  	$(RANLIB) $@
+ 	
+ Lua: $(CORE_O) $(LIB_O)
+ 	$(CC) -dynamiclib -install_name "@executable_path/../Frameworks/Lua.framework/Versions/A/Lua" -o Lua $^ $(MYLDFLAGS) $(LIBS)
  
  $(LUA_T): $(LUA_O) $(LUA_A)
  	$(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
***************
*** 103,108 ****
--- 106,117 ----
  # use this on Mac OS X 10.4
  #	$(MAKE) all MYCFLAGS="-DLUA_USE_MACOSX -DLUA_USE_READLINE" MYLIBS="-lreadline"
  
+ macosx_ub:
+ 	$(MAKE) all MYCFLAGS="-DLUA_USE_MACOSX -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386" MYLDFLAGS="-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386"
+ 
+ macosx_ub64:
+ 	$(MAKE) all MYCFLAGS="-DLUA_USE_MACOSX -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch ppc -arch i386 -arch ppc64 -arch x86_64" MYLDFLAGS="-Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk -arch ppc -arch i386 -arch ppc64 -arch x86_64"
+ 
  mingw:
  	$(MAKE) "LUA_A=lua51.dll" "LUA_T=lua.exe" \
  	"AR=$(CC) -shared -o" "RANLIB=strip --strip-unneeded" \

謝辞

ユニバーサルバイナリ化に際して次のサイトにお世話になりました。

履歴

2007年10月09日
初版公開
2007年10月27日
不足していたヘッダファイルを追加
2007年11月15日
Leopard, 64ビット対応バイナリのアップロード
2007年12月25日
リンク切れを起こしていたのを修正
Powered by Movable Type 4.1
Valid XHTML 1.0 Transitional
Valid CSS!
Mozilla Firefox ブラウザ無料ダウンロード