Revert the integration of menhir for the time being.
[tatoo.git] / tools / ocamlmoduledep.sh
index 2833671..8575312 100755 (executable)
@@ -11,11 +11,10 @@ INCLUDES=""
 MODULES=""
 NATIVE=0
 INTER=0
-OCAMLWHERE=$(ocamlc -where)
 while true; do
     case $1 in
         -I)
-            dir=`echo "$2" | sed "s:^+:${OCAMLWHERE}/:"`
+            dir=`echo "$2" | sed "s:^+:$(ocamlc -where)/:"`
             INCLUDES="$INCLUDES
 $dir"
             shift
@@ -44,23 +43,22 @@ else
     ext=cmo
 fi
 
-
 for MODULE in $MODULES; do
-    module="$(echo ${MODULE} | sed -e 's:\(.*\):\l\1:')"
+    module="$(echo $MODULE | cut -b1 | tr A-Z a-z)$(echo $MODULE | cut -b2-)"
     echo "$INCLUDES" | while read include; do
        if test -z "$include"; then continue; fi
-        base="${include}/${module}"
+        base="$include/$module"
         if test  \( "$INTER" = "1" \) -a \( -f "$base".mli \) ; then
            ## if we want to depend only on cmi of a module
-            /bin/echo -n  "${base}"."cmi "
+                /bin/echo -n  "$base"."cmi "
         elif test -f "$base".ml -o -f "$base".mly -o -f "$base".mll -o -f "$base".pack -o -f "$base".ml.str; then
            ## else we depend on the implementation 
-            /bin/echo -n  "${base}"."${ext} "
+            /bin/echo -n  "$base"."$ext "
             break
-        elif test -f "${base}".mli; then
+        elif test -f "$base".mli; then
            ## and fall back on depending on the cmi if the cmx is not available
            ## (which prevents cross-module inlining in the case of cmx)
-            /bin/echo -n  "${base}"."cmi "
+            /bin/echo -n  "$base"."cmi "
             break
         fi
     done