File: wrapper-ocamlcp.sh

package info (click to toggle)
coccinelle 1.0.8.deb-5
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 26,148 kB
  • sloc: ml: 136,392; ansic: 23,594; sh: 2,189; makefile: 2,157; perl: 1,576; lisp: 840; python: 823; awk: 70; csh: 12
file content (42 lines) | stat: -rwxr-xr-x 620 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#! /bin/sh -e

set -e

# this command acts as a replacement for ocamlcp to selectively turn
# off profiling for some files.

# $1: path to ocamlc
# $2: path to ocamlprof

OCAMLC="$1"
OCAMLPROF="$2"
shift 2

noprofile=
case "$@" in

  # skip profiling of files that are already preprocessed.
  *-pp\ *)
    noprofile=1
  ;;

  # uses "include"
  *regexp.ml*)
    noprofile=1
  ;;
  *pycocci.ml*)
    noprofile=1
  ;;
  *prepare_ocamlcocci.ml*)
    noprofile=1
  ;;
  *coccilib.ml*)
    noprofile=1
  ;;
esac

if test -n "$noprofile"; then
  exec $OCAMLC "$@"
else
  exec $OCAMLC -pp "$OCAMLPROF -instrument -m a" "$@"
fi