]> granicus.if.org Git - libexpat/commitdiff
qa.sh: Add ncc/nccnav support
authorSebastian Pipping <sebastian@pipping.org>
Tue, 24 May 2016 18:34:07 +0000 (20:34 +0200)
committerSebastian Pipping <sebastian@pipping.org>
Wed, 25 May 2016 17:04:36 +0000 (19:04 +0200)
expat/qa.sh

index a2e15c40e9681d88c3fcb176131231cae51fd3d7..0dce8716dc1e8aa4001a79f4101af34e0d08396a 100755 (executable)
@@ -9,8 +9,10 @@ set -o nounset
 : ${CLANG_CC:=clang}
 : ${CLANG_CXX:=clang++}
 
+: ${AR:=ar}
 : ${CC:="${CLANG_CC}"}
 : ${CXX:="${CLANG_CXX}"}
+: ${LD:=ld}
 : ${MAKE:=make}
 
 : ${BASE_FLAGS:="-pipe -Wall -Wextra -pedantic -Wno-overlength-strings"}
@@ -49,6 +51,13 @@ main() {
         # http://clang.llvm.org/docs/MemorySanitizer.html
         BASE_FLAGS+=" -fsanitize=memory -fno-omit-frame-pointer -g -O2"
         ;;
+    ncc)
+        # http://students.ceid.upatras.gr/~sxanth/ncc/
+        local CC="ncc -ncgcc -ncld -ncfabs"
+        local AR=nccar
+        local LD=nccld
+        BASE_FLAGS+=" -fPIC"
+        ;;
     undefined)
         # http://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html
         BASE_FLAGS+=" -fsanitize=undefined"
@@ -56,7 +65,7 @@ main() {
         ;;
     *)
         echo "Usage:" 1>&2
-        echo "  ${0##*/} (address|coverage|memory|undefined)" 1>&2
+        echo "  ${0##*/} (address|coverage|memory|ncc|undefined)" 1>&2
         exit 1
         ;;
     esac
@@ -69,16 +78,28 @@ main() {
 
         RUN CC="${CC}" CFLAGS="${CFLAGS}" \
                 CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" \
+                AR="${AR}" \
+                LD="${LD}" \
                 ./configure "$@"
 
         RUN "${MAKE}" clean all
-        RUN "${MAKE}" check run-xmltest
+
+        case "${mode}" in
+        ncc)
+            ;;
+        *)
+            RUN "${MAKE}" check run-xmltest
+            ;;
+        esac
     ) || exit 1
 
     case "${mode}" in
     coverage)
         find -name '*.gcda' | sort | xargs gcov
         ;;
+    ncc)
+        RUN nccnav ./.libs/libexpat.a.nccout
+        ;;
     esac
 }