##!/bin/sh
# Helper script to handle building libgauche.dylib on MacOSX
# Assumes $TARGETLIB is set by the caller.
CCLD=$1
shift
if echo "$*" | grep dynamiclib > /dev/null 2>&1 ; then
libname=`echo "$*" | sed -n 's/.*-o *\(libgauche-[0-9.]*\.dylib\).*/\1/p'`
$CCLD -install_name ${TARGETLIB}/${libname} "$@"
else
$CCLD "$@"
fi
#こうしたら動きました
#ただ、本当は-install_nameをどうするかちゃんと検討した方がいいかも
#つまり、libgauche-0.9.1になった時、libgauche-0.9.x ならライブラリとして互換性があるのか、just 0.9.1でなければだめなのか、とか
#install_nameは*.dylib自体につく属性なので
#1.0に到達するまでは、justでいいのかな
#--- src/link-dylib (revision 7012)
+++ src/link-dylib (working copy)
@@ -4,7 +4,8 @@
CCLD=$1
shift
if echo "$*" | grep dynamiclib > /dev/null 2>&1 ; then
- $CCLD -install_name ${TARGETLIB}/libgauche.dylib "$@"
+ libname=`echo "$*" | sed -n 's/.*-o *\(libgauche-[0-9.]*\.dylib\).*/\1/p'`
+ $CCLD -install_name ${TARGETLIB}/${libname} "$@"
else
$CCLD "$@"
fi
#libgauche-x.y.dylibのx.yはAPI versionで、基本的にmicro versionに対しては不変です。つまり、1.0になるまでの0.9.xでは常にライブラリ名はlibgauche-0.9.dylibで、ABI互換性も保たれます。
#(ただ、もしかすると1.0のプレリリース的に0.9.99みたいなのを出すかもしれなくて、そいういう時は例外的にABI versionを先行して1.0にあげるかもしれません。つまりlibgauche-1.0.dylibになる)
#2つ上の文 s/API version/ABI version/
#了解です
#rev7014に反映しました。ご確認ください>(び)
#make checkは通りましたが、make install-checkすると
#Testing records ... gosh: "error": Compile Error: cannot find file "gauche/record" in *load-path* ("/Users/bizenn/lib/gauche" "/usr/local/share/gauche/site/lib" "/usr/local/share/gauche/0.9.1_pre1/lib" "/usr/local/share/gauche/0.9/lib")
"./test-record.scm":4:(use gauche.record)
#すいませんちょっとでかけますので、続きがあれば6時間後になります
#あっそっちは私のミスです
#新しく増えたファイルをinstallしてなかった。rev7015で直しました。
#r7015でinstall-checkまで通りました
#まはろ〜