# Fix cross compilation issue with pkg-config
--- a/Makerules
+++ b/Makerules
@@ -9,6 +9,8 @@ ifeq ($(OS),)
   OS := $(OS:Darwin=MACOS)
 endif
 
+PKG_CONFIG ?= pkg-config
+CC_FOR_BUILD ?= $(CC)
 WARNING_CFLAGS := -Wall -Wsign-compare
 
 # Feature configuration options
@@ -194,13 +196,13 @@ else ifeq ($(OS),MACOS)
   ifneq ($(ARCHFLAGS),)
     $(warning "MacOS with ARCHFLAGS set. Assuming we are building for arm64, and setting HAVE_LIBCRYPTO to no.")
     HAVE_LIBCRYPTO := no
-  else ifeq (, $(shell command -v pkg-config))
+  else ifeq (, $(shell command -v $(PKG_CONFIG)))
     $(warning "No pkg-config found, install it for proper integration of libcrypto")
   else
-    HAVE_LIBCRYPTO := $(shell pkg-config --exists 'libcrypto >= 1.1.0' && echo yes)
+    HAVE_LIBCRYPTO := $(shell $(PKG_CONFIG) --exists 'libcrypto >= 1.1.0' && echo yes)
     ifeq ($(HAVE_LIBCRYPTO),yes)
-	  LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO
-	  LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)
+	  LIBCRYPTO_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcrypto) -DHAVE_LIBCRYPTO
+	  LIBCRYPTO_LIBS := $(shell $(PKG_CONFIG) --libs libcrypto)
     endif
   endif
 
@@ -210,82 +212,82 @@ else ifeq ($(LINUX_OR_OPENBSD),yes)
     HAVE_OBJCOPY := yes
   endif
 
-  ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes)
-	SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
-	SYS_FREETYPE_LIBS := $(shell pkg-config --libs freetype2)
+  ifeq ($(shell $(PKG_CONFIG) --exists freetype2 && echo yes),yes)
+	SYS_FREETYPE_CFLAGS := $(shell $(PKG_CONFIG) --cflags freetype2)
+	SYS_FREETYPE_LIBS := $(shell $(PKG_CONFIG) --libs freetype2)
   endif
-  ifeq ($(shell pkg-config --exists gumbo && echo yes),yes)
-	SYS_GUMBO_CFLAGS := $(shell pkg-config --cflags gumbo)
-	SYS_GUMBO_LIBS := $(shell pkg-config --libs gumbo)
+  ifeq ($(shell $(PKG_CONFIG) --exists gumbo && echo yes),yes)
+	SYS_GUMBO_CFLAGS := $(shell $(PKG_CONFIG) --cflags gumbo)
+	SYS_GUMBO_LIBS := $(shell $(PKG_CONFIG) --libs gumbo)
   endif
-  ifeq ($(shell pkg-config --exists harfbuzz && echo yes),yes)
-	SYS_HARFBUZZ_CFLAGS := $(shell pkg-config --cflags harfbuzz)
-	SYS_HARFBUZZ_LIBS := $(shell pkg-config --libs harfbuzz)
+  ifeq ($(shell $(PKG_CONFIG) --exists harfbuzz && echo yes),yes)
+	SYS_HARFBUZZ_CFLAGS := $(shell $(PKG_CONFIG) --cflags harfbuzz)
+	SYS_HARFBUZZ_LIBS := $(shell $(PKG_CONFIG) --libs harfbuzz)
   endif
-  ifeq ($(shell pkg-config --exists lcms2 && echo yes),yes)
-	SYS_LCMS2_CFLAGS := $(shell pkg-config --cflags lcms2)
-	SYS_LCMS2_LIBS := $(shell pkg-config --libs lcms2)
+  ifeq ($(shell $(PKG_CONFIG) --exists lcms2 && echo yes),yes)
+	SYS_LCMS2_CFLAGS := $(shell $(PKG_CONFIG) --cflags lcms2)
+	SYS_LCMS2_LIBS := $(shell $(PKG_CONFIG) --libs lcms2)
   endif
-  ifeq ($(shell pkg-config --exists libjpeg && echo yes),yes)
-	SYS_LIBJPEG_CFLAGS := $(shell pkg-config --cflags libjpeg)
-	SYS_LIBJPEG_LIBS := $(shell pkg-config --libs libjpeg)
+  ifeq ($(shell $(PKG_CONFIG) --exists libjpeg && echo yes),yes)
+	SYS_LIBJPEG_CFLAGS := $(shell $(PKG_CONFIG) --cflags libjpeg)
+	SYS_LIBJPEG_LIBS := $(shell $(PKG_CONFIG) --libs libjpeg)
   endif
-  ifeq ($(shell pkg-config --exists libopenjp2 && echo yes),yes)
-	SYS_OPENJPEG_CFLAGS := $(shell pkg-config --cflags libopenjp2)
-	SYS_OPENJPEG_LIBS := $(shell pkg-config --libs libopenjp2)
+  ifeq ($(shell $(PKG_CONFIG) --exists libopenjp2 && echo yes),yes)
+	SYS_OPENJPEG_CFLAGS := $(shell $(PKG_CONFIG) --cflags libopenjp2)
+	SYS_OPENJPEG_LIBS := $(shell $(PKG_CONFIG) --libs libopenjp2)
   endif
-  ifeq ($(shell pkg-config --exists zlib && echo yes),yes)
-	SYS_ZLIB_CFLAGS := $(shell pkg-config --cflags zlib)
-	SYS_ZLIB_LIBS := $(shell pkg-config --libs zlib)
+  ifeq ($(shell $(PKG_CONFIG) --exists zlib && echo yes),yes)
+	SYS_ZLIB_CFLAGS := $(shell $(PKG_CONFIG) --cflags zlib)
+	SYS_ZLIB_LIBS := $(shell $(PKG_CONFIG) --libs zlib)
   endif
 
-  HAVE_SYS_LEPTONICA := $(shell pkg-config --exists 'lept >= 1.7.4' && echo yes)
+  HAVE_SYS_LEPTONICA := $(shell $(PKG_CONFIG) --exists 'lept >= 1.7.4' && echo yes)
   ifeq ($(HAVE_SYS_LEPTONICA),yes)
-	SYS_LEPTONICA_CFLAGS := $(shell pkg-config --cflags lept)
-	SYS_LEPTONICA_LIBS := $(shell pkg-config --libs lept)
+	SYS_LEPTONICA_CFLAGS := $(shell $(PKG_CONFIG) --cflags lept)
+	SYS_LEPTONICA_LIBS := $(shell $(PKG_CONFIG) --libs lept)
   endif
 
-  HAVE_SYS_TESSERACT := $(shell pkg-config --exists 'tesseract >= 4.0.0' && echo yes)
+  HAVE_SYS_TESSERACT := $(shell $(PKG_CONFIG) --exists 'tesseract >= 4.0.0' && echo yes)
   ifeq ($(HAVE_SYS_TESSERACT),yes)
-	SYS_TESSERACT_CFLAGS := $(shell pkg-config --cflags tesseract)
-	SYS_TESSERACT_LIBS := $(shell pkg-config --libs tesseract)
+	SYS_TESSERACT_CFLAGS := $(shell $(PKG_CONFIG) --cflags tesseract)
+	SYS_TESSERACT_LIBS := $(shell $(PKG_CONFIG) --libs tesseract)
   endif
 
-  HAVE_SYS_LIBARCHIVE := $(shell pkg-config --exists 'libarchive' && echo yes)
+  HAVE_SYS_LIBARCHIVE := $(shell $(PKG_CONFIG) --exists 'libarchive' && echo yes)
   ifeq ($(HAVE_SYS_LIBARCHIVE),yes)
-	SYS_LIBARCHIVE_CFLAGS := $(shell pkg-config --cflags libarchive)
-	SYS_LIBARCHIVE_LIBS := $(shell pkg-config --libs libarchive)
+	SYS_LIBARCHIVE_CFLAGS := $(shell $(PKG_CONFIG) --cflags libarchive)
+	SYS_LIBARCHIVE_LIBS := $(shell $(PKG_CONFIG) --libs libarchive)
   endif
 
-  HAVE_SYS_CURL := $(shell pkg-config --exists libcurl && echo yes)
+  HAVE_SYS_CURL := $(shell $(PKG_CONFIG) --exists libcurl && echo yes)
   ifeq ($(HAVE_SYS_CURL),yes)
-	SYS_CURL_CFLAGS := $(shell pkg-config --cflags libcurl)
-	SYS_CURL_LIBS := $(shell pkg-config --libs libcurl)
+	SYS_CURL_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcurl)
+	SYS_CURL_LIBS := $(shell $(PKG_CONFIG) --libs libcurl)
   endif
 
   HAVE_GLUT := yes
   ifeq ($(HAVE_GLUT),yes)
     ifeq ($(OS),OpenBSD)
-      SYS_GLUT_CFLAGS := $(shell pkg-config --cflags glut gl)
-      SYS_GLUT_LIBS := $(shell pkg-config --libs glut gl)
+      SYS_GLUT_CFLAGS := $(shell $(PKG_CONFIG) --cflags glut gl)
+      SYS_GLUT_LIBS := $(shell $(PKG_CONFIG) --libs glut gl)
     else
       SYS_GLUT_CFLAGS :=
       SYS_GLUT_LIBS := -lglut -lGL
     endif
   endif
 
-  HAVE_X11 := $(shell pkg-config --exists x11 xext && echo yes)
+  HAVE_X11 := $(shell $(PKG_CONFIG) --exists x11 xext && echo yes)
   ifeq ($(HAVE_X11),yes)
-	X11_CFLAGS := $(shell pkg-config --cflags x11 xext)
-	X11_LIBS := $(shell pkg-config --libs x11 xext)
+	X11_CFLAGS := $(shell $(PKG_CONFIG) --cflags x11 xext)
+	X11_LIBS := $(shell $(PKG_CONFIG) --libs x11 xext)
   endif
 
   ifeq ($(HAVE_LIBCRYPTO),)
-    HAVE_LIBCRYPTO := $(shell pkg-config --exists 'libcrypto >= 1.1.0' && echo yes)
+    HAVE_LIBCRYPTO := $(shell $(PKG_CONFIG) --exists 'libcrypto >= 1.1.0' && echo yes)
   endif
   ifeq ($(HAVE_LIBCRYPTO),yes)
-	LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO
-	LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)
+	LIBCRYPTO_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcrypto) -DHAVE_LIBCRYPTO
+	LIBCRYPTO_LIBS := $(shell $(PKG_CONFIG) --libs libcrypto)
   endif
 
   HAVE_PTHREAD := yes