# Authorative mozconfig source: https://github.com/emilio/mozconfigs/tree/master/mozconfigs ac_add_options --target=x86_64-pc-mingw32 CROSS_BUILD=1 # win-cross contains: # * clang: downloaded with mach artifact toolchain --from-build win64-clang-12 # (optional if you use midl, see below) # * win-sdk: Windows SDK # * dia-sdk: DIA SDK # * visual-c: Visual C++ # * liblowercase: .so built from build/liblowercase # # If you hit any issues with being unable to find midl.exe or other executables # make sure that all .exe's in the win-cross directory have the executable bit set. export WINDOWSSDKDIR="$MOZBUILD/win-cross/win-sdk" export DIA_SDK_PATH="$MOZBUILD/win-cross/dia-sdk" # TODO: Use a loop vfat device instead of this? mk_add_options "export LD_PRELOAD=$MOZBUILD/win-cross/liblowercase/liblowercase.so" mk_add_options "export LOWERCASE_DIRS=$MOZBUILD/win-cross" EXTRA_PATH="$MOZBUILD/win-cross/visual-c/tools/msvc/14.21.27702/bin/hostx64/x64:" # Either this, which will use clang-cl.exe and midl.exe: # EXTRA_PATH+="$MOZBUILD/win-cross/clang/bin:" # # Or this, which makes export much faster, but needs a relatively recent wine # installation: # # export MIDL="widl" # # Something like this pointing to a local build works too: EXTRA_PATH+="$HOME/src/wine/src:" export MIDL="$HOME/src/wine/src/tools/widl/widl" export MIDL_FLAGS="-I $HOME/src/wine/src/include" mk_add_options "export PATH=$EXTRA_PATH$PATH" export CC="$MOZBUILD/clang/bin/clang-cl" export CXX="$MOZBUILD/clang/bin/clang-cl" export HOST_CC="$MOZBUILD/clang/bin/clang" export HOST_CXX="$MOZBUILD/clang/bin/clang++" # This is needed for packaging not to fail. ac_add_options --disable-updater ac_add_options --disable-maintenance-service # Other things needed for packaging: # # * 7z needs to be on your PATH, or specified with export 7Z # * makensis needs to be on your PATH, or specified with export MAKENSIS