From b1481dee4ee585396792f2b9d2ec09a162ec677a Mon Sep 17 00:00:00 2001 From: "Rafael G. Martins" Date: Thu, 5 Nov 2015 00:34:54 -0200 Subject: build: added script to build windows releases --- .gitignore | 1 + build-aux/build-windows.sh | 54 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100755 build-aux/build-windows.sh diff --git a/.gitignore b/.gitignore index 1626007..7ce86f1 100644 --- a/.gitignore +++ b/.gitignore @@ -32,6 +32,7 @@ Makefile.in /stamp-h1 .dirstamp /build-aux/* +!/build-aux/build-windows.sh # installed .m4 files /m4/*.m4 diff --git a/build-aux/build-windows.sh b/build-aux/build-windows.sh new file mode 100755 index 0000000..267a8aa --- /dev/null +++ b/build-aux/build-windows.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +# This script builds windows binaries, given a source tarball. +# It was designed to work on Fedora, and requires the following packages: +# +# mingw32-gcc mingw64-gcc zip +# +# This script must be called with the xz source tarball as argument. + + +set -ex + +[[ $# -eq 1 ]] + + +get_version() { + local a=$(basename "${1}") + a="${a%.tar.xz}" + echo "${a#blogc-}" +} + + +build() { + local version=$(get_version "${1}") + local arch=${2} + local build_dir="/tmp/blogc_build_${version}_${arch}" + local dest_dir="/tmp/blogc-${version}-w${arch}" + + rm -rf "${build_dir}" + mkdir -p "${build_dir}" + tar -xvf "${1}" -C "${build_dir}" + + pushd "${build_dir}/blogc-${version}" &> /dev/null + "mingw${arch}-configure" + make + popd &> /dev/null + + rm -rf "${dest_dir}" + mkdir -p "${dest_dir}" + cp "${build_dir}/blogc-${version}/.libs/blogc.exe" "${dest_dir}/" + cp "${build_dir}/blogc-${version}/LICENSE" "${dest_dir}/" + cp "${build_dir}/blogc-${version}/README.md" "${dest_dir}/" + + pushd "$(dirname ${dest_dir})" &> /dev/null + zip "$(basename ${dest_dir}).zip" "$(basename ${dest_dir})"/* + popd &> /dev/null + + mv "${dest_dir}.zip" . +} + + +for arch in 32 64; do + build "$1" "${arch}" +done -- cgit v1.2.3-18-g5258