-echo -e "#ifndef _LDK_HEADER_VER" > lightning-c-bindings/include/ldk_ver.h
-echo -e "static inline int _ldk_strncmp(const char *s1, const char *s2, uint64_t n) {" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "\tif (n && *s1 != *s2) return 1;" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "\twhile (n && *s1 != 0 && *s2 != 0) {" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "\t\ts1++; s2++; n--;" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "\t\tif (n && *s1 != *s2) return 1;" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "\t}" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "\treturn 0;" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "}" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "#define _LDK_HEADER_VER \"$LIGHTNING_GIT\"" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "#define _LDK_C_BINDINGS_HEADER_VER \"$BINDINGS_GIT\"" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "static inline const char* check_get_ldk_version() {" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "\tLDKStr bin_ver = _ldk_get_compiled_version();" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "\tif (_ldk_strncmp(_LDK_HEADER_VER, (const char*)bin_ver.chars, bin_ver.len) != 0) {" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "\t// Version mismatch, we don't know what we're running!" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "\t\treturn 0;" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "\t}" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "\treturn _LDK_HEADER_VER;" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "}" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "static inline const char* check_get_ldk_bindings_version() {" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "\tLDKStr bin_ver = _ldk_c_bindings_get_compiled_version();" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "\tif (_ldk_strncmp(_LDK_C_BINDINGS_HEADER_VER, (const char*)bin_ver.chars, bin_ver.len) != 0) {" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "\t// Version mismatch, we don't know what we're running!" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "\t\treturn 0;" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "\t}" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "\treturn _LDK_C_BINDINGS_HEADER_VER;" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "}" >> lightning-c-bindings/include/ldk_ver.h
-echo -e "#endif /* _LDK_HEADER_VER */" >> lightning-c-bindings/include/ldk_ver.h
+echo "$(cat <<EOF
+#ifndef _LDK_HEADER_VER
+static inline int _ldk_strncmp(const char *s1, const char *s2, uint64_t n) {
+ if (n && *s1 != *s2) return 1;
+ while (n && *s1 != 0 && *s2 != 0) {
+ s1++; s2++; n--;
+ if (n && *s1 != *s2) return 1;
+ }
+ return 0;
+}
+
+#define _LDK_HEADER_VER "${LIGHTNING_GIT}"
+#define _LDK_C_BINDINGS_HEADER_VER "${BINDINGS_GIT}"
+static inline const char* check_get_ldk_version() {
+ LDKStr bin_ver = _ldk_get_compiled_version();
+ if (_ldk_strncmp(_LDK_HEADER_VER, (const char*)bin_ver.chars, bin_ver.len) != 0) {
+ // Version mismatch, we don't know what we're running!
+ return 0;
+ }
+ return _LDK_HEADER_VER;
+}
+static inline const char* check_get_ldk_bindings_version() {
+ LDKStr bin_ver = _ldk_c_bindings_get_compiled_version();
+ if (_ldk_strncmp(_LDK_C_BINDINGS_HEADER_VER, (const char*)bin_ver.chars, bin_ver.len) != 0) {
+ // Version mismatch, we don't know what we're running!
+ return 0;
+ }
+ return _LDK_C_BINDINGS_HEADER_VER;
+}
+#endif /* _LDK_HEADER_VER */
+EOF
+)" > lightning-c-bindings/include/ldk_ver.h