Martchus
f0175878db
Initial motivation of adding the flag was better consistency with compile flags used for regular Arch Linux packages. However, adding -fstack-protector-strong seems to cause segmentation faults even before main() is called. The issue is not reproducible with a simple hello world app and also not reproducible when launching the app under Linux with WINE. But a full-blown Qt 5 app crashes in the way described.
33 lines
1.5 KiB
Bash
33 lines
1.5 KiB
Bash
#!/bin/sh
|
|
mingw_prefix=/usr/@TRIPLE@
|
|
|
|
export PKG_CONFIG_LIBDIR="${mingw_prefix}/lib/pkgconfig"
|
|
|
|
default_mingw_pp_flags="-D_FORTIFY_SOURCE=2"
|
|
default_mingw_compiler_flags="$default_mingw_pp_flags -O2 -pipe -fno-plt -fexceptions --param=ssp-buffer-size=4"
|
|
default_mingw_linker_flags="-Wl,-O1,--sort-common,--as-needed"
|
|
|
|
export CPPFLAGS="${MINGW_CPPFLAGS:-$default_mingw_pp_flags $CPPFLAGS}"
|
|
export CFLAGS="${MINGW_CFLAGS:-$default_mingw_compiler_flags $CFLAGS}"
|
|
export CXXFLAGS="${MINGW_CXXFLAGS:-$default_mingw_compiler_flags $CXXFLAGS}"
|
|
export LDFLAGS="${MINGW_LDFLAGS:-$default_mingw_linker_flags $LDFLAGS}"
|
|
|
|
PATH=${mingw_prefix}/bin:$PATH cmake \
|
|
-DCMAKE_INSTALL_PREFIX:PATH=${mingw_prefix} \
|
|
-DCMAKE_INSTALL_LIBDIR:PATH=${mingw_prefix}/lib \
|
|
-DINCLUDE_INSTALL_DIR:PATH=${mingw_prefix}/include \
|
|
-DLIB_INSTALL_DIR:PATH=${mingw_prefix}/lib \
|
|
-DSYSCONF_INSTALL_DIR:PATH=${mingw_prefix}/etc \
|
|
-DSHARE_INSTALL_DIR:PATH=${mingw_prefix}/share \
|
|
-DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH=${mingw_prefix}/include \
|
|
-DCMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES:PATH=${mingw_prefix}/include \
|
|
-DBUILD_SHARED_LIBS:BOOL=ON \
|
|
-DCMAKE_TOOLCHAIN_FILE=/usr/share/mingw/toolchain-@TRIPLE@.cmake \
|
|
-DCMAKE_CROSSCOMPILING_EMULATOR=/usr/bin/@TRIPLE@-wine \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_C_FLAGS_RELEASE="$CFLAGS" \
|
|
-DCMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \
|
|
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE="$LDFLAGS" \
|
|
-DCMAKE_EXE_LINKER_FLAGS_RELEASE="$LDFLAGS" \
|
|
"$@"
|