SDL_image: build: Pass in the build system's version info as cpp defines

From e1fdf34ee90374b3811bf859cb149c4451cc9112 Mon Sep 17 00:00:00 2001
From: Simon McVittie <[EMAIL REDACTED]>
Date: Thu, 5 May 2022 17:23:57 +0100
Subject: [PATCH] build: Pass in the build system's version info as cpp defines

This allows the static assertions in IMG.c to assert that the build
system agrees with SDL_image.h.

Signed-off-by: Simon McVittie <smcv@collabora.com>
---
 CMakeLists.txt | 4 ++++
 Makefile.os2   | 3 +++
 configure.ac   | 5 +++++
 3 files changed, 12 insertions(+)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6029408..4ed4c0f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -67,6 +67,10 @@ set(DYLIB_CURRENT_VERSION "${DYLIB_CURRENT_VERSION_MAJOR}.${DYLIB_CURRENT_VERSIO
 # For historical reasons this is 3.0.0 rather than the expected 1.0.0
 set(DYLIB_COMPATIBILITY_VERSION "3.0.0")
 
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DSDL_BUILD_MAJOR_VERSION=${MAJOR_VERSION}")
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DSDL_BUILD_MINOR_VERSION=${MINOR_VERSION}")
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DSDL_BUILD_MICRO_VERSION=${MICRO_VERSION}")
+
 option(SUPPORT_JPG "Support loading JPEG images" ON)
 option(SUPPORT_PNG "Support loading PNG images" ON)
 option(SUPPORT_WEBP "Support loading WEBP images" OFF)
diff --git a/Makefile.os2 b/Makefile.os2
index a148b26..2599f57 100644
--- a/Makefile.os2
+++ b/Makefile.os2
@@ -45,6 +45,9 @@ CFLAGS+= -DLOAD_JPG -DLOAD_PNG -DLOAD_BMP -DLOAD_GIF -DLOAD_LBM &
          -DLOAD_PCX -DLOAD_PNM -DLOAD_TGA -DLOAD_XCF -DLOAD_XPM &
          -DLOAD_XV -DLOAD_SVG -DLOAD_TIF -DLOAD_WEBP -DLOAD_QOI 
 
+CFLAGS+= -DSDL_BUILD_MAJOR_VERSION=$(MAJOR_VERSION)
+CFLAGS+= -DSDL_BUILD_MINOR_VERSION=$(MINOR_VERSION)
+CFLAGS+= -DSDL_BUILD_MICRO_VERSION=$(MICRO_VERSION)
 
 .extensions:
 .extensions: .lib .dll .obj .c
diff --git a/configure.ac b/configure.ac
index 2e62602..e37c543 100644
--- a/configure.ac
+++ b/configure.ac
@@ -50,6 +50,11 @@ AC_SUBST(LT_REVISION)
 AC_SUBST(LT_AGE)
 AC_SUBST(LT_EXTRA)
 
+dnl For use in static assertions
+AC_DEFINE_UNQUOTED([SDL_BUILD_MAJOR_VERSION], $MAJOR_VERSION, [ ])
+AC_DEFINE_UNQUOTED([SDL_BUILD_MINOR_VERSION], $MINOR_VERSION, [ ])
+AC_DEFINE_UNQUOTED([SDL_BUILD_MICRO_VERSION], $MICRO_VERSION, [ ])
+
 dnl Detect the canonical build and host environments
 AC_CANONICAL_HOST