From 126526ab936a1b5c5015d31ab5d3bdac4ad0b19d Mon Sep 17 00:00:00 2001
From: Mike Pall <mike>
Date: Tue, 21 Feb 2023 16:49:51 +0100
Subject: Allow building sources with mixed LF/CRLF line-endings.

Reported by mgood7123.
---
 src/host/buildvm_lib.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/host/buildvm_lib.c b/src/host/buildvm_lib.c
index a9829d0d..47195fd4 100644
--- a/src/host/buildvm_lib.c
+++ b/src/host/buildvm_lib.c
@@ -319,12 +319,18 @@ void emit_lib(BuildCtx *ctx)
       char *p;
       /* Simplistic pre-processor. Only handles top-level #if/#endif. */
       if (buf[0] == '#' && buf[1] == 'i' && buf[2] == 'f') {
-	int ok = 1;
-	if (!strcmp(buf, "#if LJ_52\n"))
+	int ok = 1, len = strlen(buf);
+	if (buf[len-1] == '\n') {
+	  buf[len-1] = 0;
+	  if (buf[len-2] == '\r') {
+	    buf[len-2] = 0;
+	  }
+	}
+	if (!strcmp(buf, "#if LJ_52"))
 	  ok = LJ_52;
-	else if (!strcmp(buf, "#if LJ_HASJIT\n"))
+	else if (!strcmp(buf, "#if LJ_HASJIT"))
 	  ok = LJ_HASJIT;
-	else if (!strcmp(buf, "#if LJ_HASFFI\n"))
+	else if (!strcmp(buf, "#if LJ_HASFFI"))
 	  ok = LJ_HASFFI;
 	if (!ok) {
 	  int lvl = 1;
-- 
cgit v1.2.3-55-g6feb