GPL CverをMac OS X Yosemite(Version 10.10.2)のターミナルでコンパイルしてみました。まず、ソースコードを展開してsrcディレクトリに移動します。
bzip2 -d gplcver-2.12a.src.tar.bz2 tar xvf gplcver-2.12a.src.tar cd gplcver-2.12a.src cd src
Mac OSX用と書かれたMakefile(makefile.osx)があるので、それを試してみます。
make -f makefile.osx
次のようなエラーでコンパイルが止まってしまいました。
cc -mcpu=powerpc -pipe -Wall -I../pli_incs -fno-strength-reduce -fomit-frame-pointer -O2 --export-dynamic ../objs/dig_main.o ../objs/cver.o ../objs/v_src.o ../objs/v_src2.o ../objs/v_src3.o ../objs/v_fx.o ../objs/v_fx2.o ../objs/v_fx3.o ../objs/v_cnv.o ../objs/v_ex.o ../objs/v_ex2.o ../objs/v_ex3.o ../objs/v_ex4.o ../objs/v_trch.o ../objs/v_del.o ../objs/v_sdf.o ../objs/v_prp.o ../objs/v_prp2.o ../objs/v_sim.o ../objs/v_dbg.o ../objs/v_dbg2.o ../objs/v_ms.o ../objs/v_tf.o ../objs/v_acc.o ../objs/v_vpi.o ../objs/v_vpi2.o ../objs/v_vpi3.o \ -lm -ldl -o ../bin/cver clang: error: unsupported option '--export-dynamic' make: *** [cver] Error 1
–export-dynamicというオプションがサポートされていないというエラーです。いや、よく見るとそれ以前に-mcpu=powerpcと表示されているじゃないですか。Makefileをmakefile.amd64に変更してみます。
gcc -march=pentiumpro -pipe -Wall -I../pli_incs -fno-strength-reduce -fomit-frame-pointer -O2 -m32 -export-dynamic ../objs/dig_main.o ../objs/cver.o ../objs/v_src.o ../objs/v_src2.o ../objs/v_src3.o ../objs/v_fx.o ../objs/v_fx2.o ../objs/v_fx3.o ../objs/v_cnv.o ../objs/v_ex.o ../objs/v_ex2.o ../objs/v_ex3.o ../objs/v_ex4.o ../objs/v_trch.o ../objs/v_del.o ../objs/v_sdf.o ../objs/v_prp.o ../objs/v_prp2.o ../objs/v_sim.o ../objs/v_dbg.o ../objs/v_dbg2.o ../objs/v_ms.o ../objs/v_tf.o ../objs/v_acc.o ../objs/v_vpi.o ../objs/v_vpi2.o ../objs/v_vpi3.o \ -lm -ldl -o ../bin/cver Undefined symbols for architecture i386: "xport-dynamic", referenced from: implicit entry/start for main executable ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [cver] Error 1
Makefileをmakefile.amd64に変えてもエラーになります。結局、makefile.amd64を一部修正するとコンパイルに成功しました。LFLAGSを-export-dynamicから-rdynamicに変更します。
# select loader LD=ld # needed for dynamic PLI loading #LFLAGS=-export-dynamic LFLAGS=-rdynamic
gcc -march=pentiumpro -pipe -Wall -I../pli_incs -fno-strength-reduce -fomit-frame-pointer -O2 -m32 -rdynamic ../objs/dig_main.o ../objs/cver.o ../objs/v_src.o ../objs/v_src2.o ../objs/v_src3.o ../objs/v_fx.o ../objs/v_fx2.o ../objs/v_fx3.o ../objs/v_cnv.o ../objs/v_ex.o ../objs/v_ex2.o ../objs/v_ex3.o ../objs/v_ex4.o ../objs/v_trch.o ../objs/v_del.o ../objs/v_sdf.o ../objs/v_prp.o ../objs/v_prp2.o ../objs/v_sim.o ../objs/v_dbg.o ../objs/v_dbg2.o ../objs/v_ms.o ../objs/v_tf.o ../objs/v_acc.o ../objs/v_vpi.o ../objs/v_vpi2.o ../objs/v_vpi3.o \ -lm -ldl -o ../bin/cver
簡単なシミュレーションで動作を確認しました。
GPLCVER_2.12a of 05/16/07 (Mac OSX). Copyright (c) 1991-2007 Pragmatic C Software Corp. All Rights reserved. Licensed under the GNU General Public License (GPL). See the 'COPYING' file for details. NO WARRANTY provided. Today is Tue Mar 10 08:34:33 2015. Compiling source file "../scenario/test_1.v" Highest level modules: test_module Halted at location **../scenario/test_1.v(74) time 410 from call to $finish. There were 0 error(s), 0 warning(s), and 8 inform(s).