#! /bin/sh

# usage:
# stubcc [-I<dir> ...] file.c

set -e

# Look at the arguments:
ccopt=""
file=""
ocamlc="ocamlc"
while [ $# -gt 0 ]; do
    case "$1" in
	-ccopt)
		ccopt="$ccopt $2"; shift 2 ;;
	-ocamlc)
	        ocamlc="$2"; shift 2 ;;
	-*)
		ccopt="$ccopt $1"; shift ;;
	*.c)
		file="$1"; shift ;;
	*)
		echo "Don't know what to do with: $1"; exit 1 ;;
    esac
done

system=`$ocamlc -config | grep system | sed -e 's/system: //'`
version=`$ocamlc -version`

case "$version" in
        3.09|3.09.*|3.10|3.10.*)
		case "$system" in
			mingw*)
				bfile=`basename "$file" .c`
				dfile=`dirname "$file"`
				$ocamlc -verbose -c -ccopt "$ccopt" -ccopt -DCAML_DLL "$file"
				mv "$dfile/$bfile.o" "$dfile/$bfile.d.o"
				$ocamlc -verbose -c -ccopt "$ccopt" "$file"
				;;
			*)
				$ocamlc -verbose -c -ccopt "$ccopt" "$file" 
				;;
		esac
		;;
	*)
		$ocamlc -verbose -c -ccopt "$ccopt" "$file"
		;;
esac

