From d019c86e129591063ef2eb00126d5d56f2b680af Mon Sep 17 00:00:00 2001 From: malc Date: Tue, 17 Feb 2009 04:19:18 +0300 Subject: [PATCH] Reorganize build parameters a bit --- build.ml | 2 +- tbs | 51 +++++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 42 insertions(+), 11 deletions(-) diff --git a/build.ml b/build.ml index b4f1491..57ac26b 100644 --- a/build.ml +++ b/build.ml @@ -24,7 +24,7 @@ let boc flags src = let c = src ^ ".c" in ocaml "ocamlc.opt" - ("-cc " ^ cc ^ " -ccopt '" ^ flags ^ " " ^ ccopt ^ " -o " ^ o ^ "'") + ("-cc '" ^ cc ^ "' -ccopt '" ^ flags ^ " " ^ ccopt ^ " -o " ^ o ^ "'") o (StrSet.singleton o) [Filename.concat srcdir c] diff --git a/tbs b/tbs index 8861804..528becb 100644 --- a/tbs +++ b/tbs @@ -22,17 +22,48 @@ if ! md5sum --status -c $d; then mv $d.tmp $d fi -cc="cc" -ccopt="-O" -test $(hostname) = "linmac" && { +altivec=true + +case $(hostname) in + laptop) + cc="gcc-4.3.0" + ccopt="-Wall -Werror -Wextra -Wno-unused-function" + ccopt="$ccopt -O3 -march=athlon64 -mtune=athlon64 -fprefetch-loop-arrays" + ccopt="$ccopt -DTIMING" + ;; + + linmac) cc="$HOME/x/dev/gcc-4.3.0/bin/gcc"; - ccopt="-Wall -Werror -Wextra -O3 -mabi=altivec -maltivec -Wno-unused-function"; - ccopt="$ccopt -fprefetch-loop-arrays -mtune=power6 -mcpu=G4 -funroll-all-loops" - ccopt="$ccopt -ftree-loop-linear -ftree-vectorize" - ccopt="$ccopt --param l1-cache-line-size=32" - ccopt="$ccopt -DUSE_ALTIVEC -DG4" + ccopt="-Wall -Werror -Wextra -O3 -Wno-unused-function"; ccopt="$ccopt -DTIMING" -} + if $altivec; then + ccopt="$ccopt -fprefetch-loop-arrays -mtune=power6 -mcpu=G4" + ccopt="$ccopt -DG4 -DUSE_ALTIVEC" + ccopt="$ccopt --param l1-cache-line-size=32" + else + ccopt="$ccopt -fprefetch-loop-arrays -mtune=power6 -mcpu=G4 -funroll-all-loops" + ccopt="$ccopt -ftree-loop-linear -ftree-vectorize" + fi + ;; + + ps3) + cc="gcc-4.3.1 -m32"; + ccopt="-Wall -Werror -Wextra -O3 -Wno-unused-function"; + ccopt="$ccopt -fprefetch-loop-arrays -mtune=power6 -mcpu=cell" + ccopt="$ccopt --param l1-cache-line-size=128" + ccopt="$ccopt -DTIMING" + if $altivec; then + ccopt="$ccopt -DUSE_ALTIVEC" + else + ccopt="$ccopt -ftree-loop-linear -ftree-vectorize" + fi + ;; + + *) + cc=cc + ccopt=-O2 + ;; +esac targets="dormin" -./b -O src:$h -r -O ccopt:"$ccopt" -O cc:$cc $* $targets +./b -O src:$h -r -O ccopt:"$ccopt" -O cc:"$cc" $* $targets -- 2.11.4.GIT