鳳鳴は祖父の俳号

日記 メモ そんなの

GNU APL1.0 MacOSX10.8での作業メモ 7 これまでの整理

GNU-APL
GNU APL


MacOSX 10.8.5
Xcode 5.0

g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.2.76) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin12.5.0
Thread model: posix

homebrew にて readline,gettextをインストール済み。LApackMacOSX開発環境に存在。
readline-6.2.4
gettext-0.18.3.1

ーーーーーーーーーーーーーーーーーーー

□(1) sys/prctl.h
UdpSocket.cc GNU-APL1.0 for MacOSX trial · GitHub
APs/AP210.cc
APs/APnnn.cc
APs/APmain.cc
MacOSXにはprctl.hはないため削除
☆10/10に最新のソースを持ってきたらprctl.hはなくなっていた。

□(2) malloc.h
Backtrace.cc
MacOSXmalloc.hではなくmalloc/malloc.h

□(3) エンディアン変換
CDR.hh、CDR_string.hh
/// #include
#include

APs/AP210.cc
CDR_string.hh
・エンディアン変換、htobe32()→htonl()、 be32toh()→ntohl() 、htobe16()→htons()。

□(4) マクロ定義EBADRQC
Svar_signals.hh
・errno = EBADRQC;の定数を定義

1206 #define EBADRQC 56 /* Invalid request code */
1207 errno = EBADRQC;
1208 #undef EBADRQC

□(4) 64bit版エンディアン変換、z.real()=0.0
ComplexCell.cc
・64bit版のエンディアン変換も必要。自前で用意。my_byteorder.h GNU-APL1.0 for MacOSX trial · GitHub
・gcc 4.2.1ではサポートしていない記述
395 if (Cell::is_near_zero(z.real(), 2e-15)) z.real()=0.0 ;
396 if (Cell::is_near_zero(z.imag(), 2e-15)) z.imag()=0.0 ;

□(5) MacOSXのLApack呼び出し
LApack.cc GNU-APL1.0 for MacOSX trial · GitHub
・#include
・LApack呼び出しのtypedefについて __CLPK_ が先頭に付く。

□(6) struct sigactionの要素数
main.cc
APs/APmain.cc
・static struct sigactionの要素数が多い。
※初期化の値'0'と項目の対応関係は未チェック
☆10/10に最新のソースを持ってきたら要素数は合わせてあった。

10/13追記:ftp://ftp.gnu.org/gnu/apl を確認したら
apl-1.0.tar.gz 729 kB 13/10/12 15:30:00
だった。gnuのは少しの修正だと特にアナウンスもなくアップデートされるのかな?