fixed name of sn-devel-104.fns
[amitay/build-farm.git] / generic.fns
index 6023fdbf97de2b1304566afa4f64c58d5a595106..9de2b760b0a01cfcb5cd416aee76d66526069dd7 100644 (file)
@@ -1,5 +1,83 @@
-test_tree samba4 source gcc
-test_tree samba_3_0 source gcc
-test_tree rsync . gcc
-test_tree distcc . gcc
-test_tree ccache . gcc
+per_run_hook
+
+global_lock
+
+system=`uname`
+
+ENVCFLAGS=$CFLAGS
+cur_compiler_sum=""
+last_compiler_sum=""
+
+if [ "x$compilers" = "x" ]; then
+       compilers="gcc cc icc"
+fi
+
+for compiler in $compilers; do
+
+  echo "working with compiler $compiler"
+  # arrgh, "which" gives no err code on solaris
+  path=`which $compiler`
+  if [ -x "$path" ]; then
+
+    # We do not want to build with the same compiler twice
+    # cc is a symlink to gcc on some systems
+    cur_compiler_sum="`sum $path | sed 's/ .*//'`"
+    test x"$cur_compiler_sum" = x"" && {
+       cur_compiler_sum="$path"
+    }
+    test x"$last_compiler_sum" = x"$cur_compiler_sum" && {
+       continue;
+    }
+    last_compiler_sum="$cur_compiler_sum"
+
+    if $compiler -v 2>&1 | grep gcc.version > /dev/null; then
+       isgcc=1
+       CFLAGS="$ENVCFLAGS -Wall -g"
+    else
+       isgcc=0
+       CFLAGS="$ENVCFLAGS -g"
+    fi
+
+    CFLAGS_THIS_COMPILER=`eval CFLAGS_$compiler 2>/dev/null`
+    if [ $? = 0 ] ; then
+        CFLAGS="$CFLAGS_THIS_COMPILER $CFLAGS"
+    fi
+    export CFLAGS
+
+    TDB_NO_FSYNC=1
+    export TDB_NO_FSYNC
+    test_tree samba_4_0_test source4 $compiler
+    TDB_NO_FSYNC=0
+    export TDB_NO_FSYNC
+
+    if [ $compiler = gcc -o $isgcc = 0 ]; then
+      . common.fns
+      test_tree lorikeet-heimdal . $compiler
+
+      # only attempt samba-gtk if we have perl and gtk+-2.0
+      if which perl > /dev/null && which pkg-config > /dev/null && pkg-config --exists gtk+-2.0; then
+        test_tree samba-gtk . $compiler
+      fi
+
+      TDB_NO_FSYNC=1
+      export TDB_NO_FSYNC
+      test_tree samba_3_current source $compiler
+      test_tree samba_3_next source $compiler
+      test_tree samba_3_master source $compiler
+      TDB_NO_FSYNC=0
+      export TDB_NO_FSYNC
+
+      # by default build ppp only on SunOS or Linux systems
+      if [ "$system" = Linux -o "$system" = SunOS ]; then
+         test_tree ppp . $compiler
+      fi
+    fi
+  fi
+done
+
+# only attempt pidl if we have perl
+if which perl > /dev/null; then
+  test_tree pidl . cc
+fi
+
+global_unlock