
I'm taking a page from Dolphin's book, and including copies of each dependency's source code. This combines the ease of use of including pre-built libraries instead of needing to navigate a package manager - as is (or was) the case for MSVC - with the portability of using packages. Granted, this method's more of a jack of all trades, master of none, since it's *less* user-friendly than prebuilt packages (compilation times), and you don't get the per-distro compatibility fixes you'd get from a package manager. You can still use system libs if you want. In fact, it's still the default behaviour: compiling the libs manually is just a fallback. I'll add an option to force-enable this soon, however, since it's a nicer way to produce static MSYS2 builds than the hackish nightmare that I was using before. Not to mention, having my own copy of the sources means I can provide my own fixes and tweaks your package manager may not. For example, I can combine MSYS2's FreeType subpixel rendering with vcpkg's fix for SDL2 exporting its symbols in static builds.
20 lines
541 B
Bash
Executable file
20 lines
541 B
Bash
Executable file
#!/bin/sh
|
|
#
|
|
# Generate a header file with the current source revision
|
|
|
|
outdir=`pwd`
|
|
cd `dirname $0`
|
|
srcdir=..
|
|
header=$outdir/include/SDL_revision.h
|
|
|
|
rev=`sh showrev.sh 2>/dev/null`
|
|
if [ "$rev" != "" -a "$rev" != "hg-0:baadf00d" ]; then
|
|
revnum=`echo $rev | sed 's,hg-\([0-9]*\).*,\1,'`
|
|
echo "#define SDL_REVISION \"$rev\"" >"$header.new"
|
|
echo "#define SDL_REVISION_NUMBER $revnum" >>"$header.new"
|
|
if diff $header $header.new >/dev/null 2>&1; then
|
|
rm "$header.new"
|
|
else
|
|
mv "$header.new" "$header"
|
|
fi
|
|
fi
|