Avoids this error when you change a file under common/mlcustomize and then rebuild virt-v2v: Error: Files ../convert/mlconvert.cmxa and ../common/mlcustomize/mlcustomize.cmxa make inconsistent assumptions over implementation Inject_virtio_win Fixes: commit 4b9c8e1560d67ac17e287450f61f4903d237fc47 See-also: commit c30df7ffb8fc04142b99cbb7ec1bebbb32ffb654
89 lines
2.8 KiB
Bash
Executable File
89 lines
2.8 KiB
Bash
Executable File
#!/bin/bash -
|
||
# (C) Copyright 2009-2020 Red Hat Inc.
|
||
# @configure_input@
|
||
#
|
||
# This program is free software; you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation; either version 2 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program; if not, write to the Free Software
|
||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||
|
||
# This is a smarter wrapper around ocamldep(1) which is used to create
|
||
# the .depend files which are present in each subdirectory that builds
|
||
# OCaml code.
|
||
#
|
||
# Usage:
|
||
# .depend: *.mli *.ml
|
||
# $(top_builddir)/ocaml-dep.sh $^
|
||
# -include .depend
|
||
|
||
set -e
|
||
|
||
# List of directories that contain common OCaml libraries. If it
|
||
# contains OCaml code that can be included from another directory,
|
||
# then it should go here. Note that OCaml modules in these
|
||
# directories must have unique names (eg. not ‘Utils’) else
|
||
# dependencies don't get built right.
|
||
include_dirs="
|
||
common/mlcustomize
|
||
common/mldrivers
|
||
common/mlgettext
|
||
common/mlpcre
|
||
common/mlprogress
|
||
common/mlstdutils
|
||
common/mltools
|
||
common/mlutils
|
||
common/mlv2v
|
||
common/mlvisit
|
||
common/mlxml
|
||
lib
|
||
convert
|
||
input
|
||
output
|
||
"
|
||
|
||
# Output file is always created in the current directory.
|
||
output=.depend
|
||
|
||
subdir=$(realpath --relative-to=@abs_top_builddir@ .)
|
||
srcdir=$(realpath --relative-to=. @abs_top_srcdir@/${subdir})
|
||
srcdir_re=$(realpath --relative-to=. @abs_top_srcdir@/${subdir} | sed 's/\./[.]/g')
|
||
top_builddir=$(realpath --relative-to=. @abs_top_builddir@)
|
||
|
||
includes="-I @abs_top_srcdir@/$subdir -I @abs_top_builddir@/$subdir"
|
||
for i in $include_dirs; do
|
||
includes="$includes -I @abs_top_srcdir@/$i -I @abs_top_builddir@/$i"
|
||
done
|
||
|
||
rm -f $output $output-t
|
||
|
||
echo "# OCaml dependencies generated by $0" > $output-t
|
||
echo >> $output-t
|
||
|
||
# Rewrite paths
|
||
# 1. Normalize absolute srcdir to relative path
|
||
# 2. Object files (*.cm*, *.o), in srcdir: Rewrite to builddir
|
||
# 3. Generated _config.ml in srcdir: Rewrite to builddir
|
||
# 4. Other object files below abs_top_srcdir: rewrite to corresponding builddir
|
||
# 5. Eliminate "./" prefix
|
||
@OCAMLFIND@ ocamldep -all -one-line $includes "$@" \
|
||
| sed \
|
||
-e "s,@abs_top_srcdir@/${subdir},.,g" \
|
||
-e "s,\B${srcdir_re}/\\([^ ]*[.]\\)\\(cm[^ ]*\\|o\\),\\1\\2,g" \
|
||
-e "s,\B${srcdir_re}/\\([^ /]*_config[.]ml\\),\\1,g" \
|
||
-e "s,@abs_top_srcdir@/\\([^ ]*[.]\\)\\(cm[^ ]*\\|o\\),${top_builddir}/\\1\\2,g" \
|
||
-e 's,\(^\| \)./,\1,g' \
|
||
>> $output-t
|
||
|
||
chmod -w $output-t
|
||
|
||
mv $output-t $output
|