Files
mingw-w64-gcc/source.sh
T
2026-03-12 15:40:40 +02:00

47 lines
1.8 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# This is the source.sh script. It is executed by BPM in a temporary directory when compiling a source package
# BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE
# BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT
# The prepare function is executed in the root of the temp directory
# This function is used for putting downloaded files to the correct location or applying patches
prepare() {
cd "$BPM_SOURCE"
# mmapio.c:69:14: error: implicit declaration of function getpagesize
sed -i 's|\-Werror||g' libbacktrace/configure
}
# The build function is executed in the source directory
# This function is used to compile the source code
build() {
for target in x86_64-w64-mingw32 i686-w64-mingw32; do
mkdir "$BPM_SOURCE"/${target}
cd "$BPM_SOURCE"/${target}
echo "Building for target ${target}"
../configure --prefix=/usr \
--target=${target} \
--disable-multilib \
--enable-threads=posix \
--enable-shared \
--enable-cloog-backend=isl \
--enable-languages=c,c++
make
done
}
# The package function is executed in the source directory
# This function is used to move the compiled files into the output directory
package() {
for target in x86_64-w64-mingw32 i686-w64-mingw32; do
cd "$BPM_SOURCE"/${target}
make DESTDIR="$BPM_OUTPUT" install
# Create 'cc' symlink which is required by some packages
ln -s ${target}-gcc "$BPM_OUTPUT"/usr/bin/${target}-cc
done
# Install package license
install -Dm644 "$BPM_SOURCE"/COPYING{,3}{,.LIB} -t "$BPM_OUTPUT"/usr/share/licenses/mingw-w64-gcc
}