output=`basename "$final" .ml`
fi
+# Create a temporary 'main' file to handle command line args.
+main=$(mktemp --suffix=.ml /tmp/goaljobsmainXXXXXX)
+echo "let modules = [" > $main
+for module in "${modules[@]}"; do
+ echo " \"$module\";" >> $main
+done
+echo "] ;;" >> $main
+echo "Goaljobs.init ()" >> $main
+
# Either use installed package or if user selected --pkgdir then
# use goaljobs from that directory.
declare -a pkg
pkg[0]="-package"
pkg[1]="goaljobs,goaljobs.syntax"
else
+ # Get the dependencies manually. Note that calendar requires
+ # unix & str.
pkgdir="$(cd $pkgdir; pwd)"
pkg[0]="-I"
pkg[1]="$pkgdir"
pkg[2]="unix.$libext"
- pkg[3]="goaljobs.$libext"
- pkg[4]="-pp"
- pkg[5]="camlp4o $pkgdir/pa_goal.cmo"
+ pkg[3]="str.$libext"
+ pkg[4]="-I"
+ pkg[5]="+calendar"
+ pkg[6]="calendarLib.$libext"
+ pkg[7]="goaljobs.$libext"
+ pkg[8]="-pp"
+ pkg[9]="camlp4o $pkgdir/pa_goal.cmo"
fi
# Compile the input file(s).
echo \
-ocamlfind $best "${passthru[@]}" "${pkg[@]}" "$@" -o "$output"
-ocamlfind $best "${passthru[@]}" "${pkg[@]}" "$@" -o "$output"
+ocamlfind $best "${passthru[@]}" "${pkg[@]}" "$@" $main -o "$output"
+ocamlfind $best "${passthru[@]}" "${pkg[@]}" "$@" $main -o "$output"
+
+mainbase="$(echo $main | sed s,\.ml$,,)"
+rm -f "$mainbase"*