The unified diff between revisions [04aa5b48..] and [ce9d6288..] is displayed below. It can also be downloaded as a raw diff.
This diff has been restricted to the following files: 'src/lsi/makeabi'
# # old_revision [04aa5b488cdcfccafef4ba9d99749b84e1b76083] # new_revision [ce9d628825328f2576769426f4d3544fe89a14ce] # # patch "src/lsi/makeabi" # from [007086efc8065fc0857d86ae0fac503e708cb961] # to [af04da9852be189b121ae5a7e48a4664afc10c7d] # ============================================================ --- src/lsi/makeabi 007086efc8065fc0857d86ae0fac503e708cb961 +++ src/lsi/makeabi af04da9852be189b121ae5a7e48a4664afc10c7d @@ -8,9 +8,26 @@ fi exit 1 fi +if [ ! -f "${INFILE}" ] +then + echo "$0: ${INFILE}: not found" + exit 1 +fi + ABI=abi.c HEADER=abi.lh + +# This is pretty evil. We use sed to produce shell commands which set +# variables which contain 8-character chunks of the sha1 hash. +# eval takes care of defining them in the current shell, rather than in +# a subshell. +for VER in `sha1 -n ${INFILE} | sed 's/\(........\)\(........\)\(........\)\(........\)\(........\).*$/ABIVER1=\1 ABIVER2=\2 ABIVER3=\3 ABIVER4=\4 ABIVER5=\5/'` +do + eval ${VER} +done + + FNCOUNT=0 do_function() @@ -26,6 +43,12 @@ cat <<EOF >${ABI} #include "abi.h" +const long vm_abiversion1 = 0x${ABIVER1}; +const long vm_abiversion2 = 0x${ABIVER2}; +const long vm_abiversion3 = 0x${ABIVER3}; +const long vm_abiversion4 = 0x${ABIVER4}; +const long vm_abiversion5 = 0x${ABIVER5}; + vm_intfn vm_intfn_table[] = { EOF @@ -33,6 +56,12 @@ cat <<EOF >${HEADER} /* abi.lh */ /* autogenerated - do not edit */ +constant __abiversion1 0x${ABIVER1}; +constant __abiversion2 0x${ABIVER2}; +constant __abiversion3 0x${ABIVER3}; +constant __abiversion4 0x${ABIVER4}; +constant __abiversion5 0x${ABIVER5}; + EOF while read TYPE ARG1 ARG2