yumetodo / DxLib

DxLib mirror
24 stars 3 forks source link

tremorをcmakeできるようにする #1

Open yumetodo opened 7 years ago

yumetodo commented 7 years ago

https://github.com/Nagarei/DxLibEx/issues/36 より。tremor以外はcmake化できてるっぽいのでこれもcmakeしたい。というかautomakeはなんかビルド中に警告吐いてきて怖い。

yumetodo commented 7 years ago

https://git.xiph.org/?p=tremor.git;a=blob;f=configure.in;h=e7f56900295dd0ad223fcb28b9199bbb78d04a5a;hb=HEAD#l47

cflags_save="$CFLAGS"
ldflags_save="$LDFLAGS"
if test -z "$GCC"; then
        case $host in 
        arm-*-*)
                DEBUG="-g -D_ARM_ASSEM_" 
                CFLAGS="-O -D_ARM_ASSEM_"
                PROFILE="-p -g -O -D_ARM_ASSEM_" ;;
        *)
                DEBUG="-g"
                CFLAGS="-O"
                PROFILE="-g -p" ;;
        esac
else

        case $host in 
        arm-*-*)
                DEBUG="-g -Wall -D__NO_MATH_INLINES -fsigned-char -D_ARM_ASSEM_"
                CFLAGS="-O2 -D_ARM_ASSEM_ -fsigned-char"
                PROFILE="-W -pg -g -O2 -D_ARM_ASSEM_ -fsigned-char -fno-inline-functions";;

        *)
                DEBUG="-g -Wall -D__NO_MATH_INLINES -fsigned-char"
                CFLAGS="-O2 -Wall -fsigned-char"
                PROFILE="-Wall -pg -g -O2 -fsigned-char -fno-inline-functions";;
        esac
fi
CFLAGS="$CFLAGS $cflags_save -D_REENTRANT"
LDFLAGS="$LDFLAGS $ldflags_save"

が何をやっているかわからん

yumetodo commented 7 years ago

autoconfを実行するときに--host=<host name>というオプションがあるそうで、これが$hostにはいるらしい。なるほど。 https://twitter.com/173210/status/764815364802826240 https://twitter.com/173210/status/764815432473677826 https://www.gnu.org/software/automake/manual/html_node/Cross_002dCompilation.html

yumetodo commented 7 years ago

cmakeならCMAKE_SYSTEM_NAMEが該当するっぽい? https://cmake.org/cmake/help/v3.4/variable/CMAKE_SYSTEM_NAME.html http://d.hatena.ne.jp/mi_mutsuki/20130112/1357959248 http://d.hatena.ne.jp/mjt/20110503/p1

yumetodo commented 7 years ago

そもそもtremorは必要か?浮動小数点演算を要求するlibvorbis.aとlibvorbisfile.aの代替として固定小数点演算を使っているのがlibtremor.aだから、まともなFPUがあるPCならかえって遅くなるんじゃね?説 http://blog.livedoor.jp/tek_nishi/archives/8039020.html

yumetodo commented 7 years ago

ええい、tremorのconfig.h.inとにらめっこしてたけど、HAVE_ALLOCA_H以外全部いらないし、しかもこのマクロを使うべき場所で使われてないし、ガバのプーさんや、これ。