add support for mingw64 build

This commit is contained in:
bence committed 2022-02-21 02:46:37 +01:00
1 parent eda132ee7d
commit 670fc3a7b9
4 files changed
+53 -6

No files matched your search

+1
View File
@@ -1 +1,2 @@
build/
mingw-w64-x86_64-xz/
+6 -6
View File
@@ -1,7 +1,7 @@
CC=gcc
CXX=g++
CFLAGS=-O3
CXXFLAGS=-O3
CC ?= gcc
CXX ?= g++
CFLAGS=$(MINGWPATHS) -O3
CXXFLAGS=-std=c++17 $(MINGWPATHS) -O3
DEPS = src/compress.h src/stringutils.h
LIBS=-llzma
OBJECTS = build/compress.o build/stringutils.o
@@ -17,11 +17,11 @@ build/%.o: src/%.c $(DEPS)
build/%.o: src/%.cpp $(DEPS)
$(MAKE_BUILD_FOLDER)
$(CXX) -c -o $@ $< $(CFLAGS)
$(CXX) -c -o $@ $< $(CXXFLAGS)
build/compress_measurements: $(OBJECTS) src/compress_measurements.cpp
$(MAKE_BUILD_FOLDER)
$(CXX) -o $@ $^ $(LIBS) $(CFLAGS)
$(CXX) -static -o $@ $^ $(LIBS) $(CXXFLAGS)
clean:
-rm -rf build
Executable
+6
View File
@@ -0,0 +1,6 @@
#!/bin/bash
set -e
make clean
make
+40
View File
@@ -0,0 +1,40 @@
#!/bin/bash
set -e
XZ_DIR="mingw-w64-x86_64-xz"
XZ_PACKAGE_VERSION_FILE="${XZ_DIR}/version"
XZ_PACKAGE_VERSION="mingw-w64-x86_64-xz-5.2.5-2-any.pkg.tar.zst"
if [ -f "${XZ_DIR}/version" ]; then
XZ_PACKAGE_INSTALLED_VERSION=$(<$XZ_PACKAGE_VERSION_FILE)
else
XZ_PACKAGE_INSTALLED_VERSION=""
fi
if [ "${XZ_PACKAGE_VERSION}" != "${XZ_PACKAGE_INSTALLED_VERSION}" ]; then
rm -rf ${XZ_DIR}
mkdir ${XZ_DIR}
(cd mingw-w64-x86_64-xz && \
wget -qO- https://mirror.msys2.org/mingw/mingw64/${XZ_PACKAGE_VERSION} | \
unzstd - | \
tar -xf -)
echo ${XZ_PACKAGE_VERSION} > ${XZ_PACKAGE_VERSION_FILE}
fi
export MINGWPATHS="-Imingw-w64-x86_64-xz/mingw64/include -Lmingw-w64-x86_64-xz/mingw64/lib"
case "$(uname -s)" in
Linux)
export CC="x86_64-w64-mingw32-gcc"
export CXX="x86_64-w64-mingw32-g++"
;;
MINGW*)
export CC="gcc"
export CXX="g++"
;;
esac
make clean
make