BrowserWorks / Waterfox-Classic

The Waterfox Classic repository, for legacy systems and customisation.
https://classic.waterfox.net
Mozilla Public License 2.0
176 stars 33 forks source link

[Classic] Where's the build documentation? #43

Open pistasjis opened 3 years ago

pistasjis commented 3 years ago

Hi, I'm trying to build Waterfox Classic on Windows. I have most of everything installed, but the documentation on Mozilla's site is too new, so things aren't quite working. Is there any documentation to build Waterfox Classic? I try to build, but I just run into all sorts of errors, and I can't find anything about the errors i'm running into.

hawkeye116477 commented 3 years ago

There is no documentation currently. You need LLVM, Clang, nasm, rust, MozillaBuild, Visual Studio 2017 Community, Windows SDK, python2. Some of them you need to also add to PATH environment variable.

After you get everything, just do ./mach build in Waterfox source directory.

What errors have you?

pistasjis commented 3 years ago

I get this error:

Alexander@Ryzen /d/Waterfox
$ mach build
 0:02.47 d:\mozilla-build\bin\mozmake.EXE -f client.mk MOZ_PARALLEL_BUILD=16 -s configure
 0:07.91 cd d:/Waterfox/objdir-classic
 0:07.92 d:/Waterfox/configure
 0:09.08 Reexecuting in the virtualenv
 0:11.60 Adding configure options from d:\Waterfox\.mozconfig
 0:11.63   --enable-optimize=-O2 -Qvec -w -clang:-arch:SSE3
 0:11.63   --host=x86_64-pc-mingw32
 0:11.63   --target=x86_64-pc-mingw32
 0:11.63   --with-visual-studio-version=2017
 0:11.63   --disable-crashreporter
 0:11.63   --disable-js-shell
 0:11.63   --disable-maintenance-service
 0:11.63   --disable-profiling
 0:11.63   --disable-signmar
 0:11.63   --disable-stylo
 0:11.63   --disable-tests
 0:11.63   --disable-verify-mar
 0:11.63   --enable-application=browser
 0:11.63   --enable-eme=widevine
 0:11.63   --enable-release
 0:11.63   --enable-rust-simd
 0:11.63   --enable-update-channel=release
 0:11.63   --enable-updater
 0:11.63   --with-app-name=waterfox
 0:11.64   --with-app-basename=Waterfox
 0:11.64   --with-branding=browser/branding/unofficial
 0:11.64   --with-distribution-id=org.waterfoxproject
 0:11.64   MOZ_GECKO_PROFILER=
 0:11.64   CXX=clang-cl
 0:11.64   WIN_UCRT_REDIST_DIR=c:/Program Files (x86)/Windows Kits/10/Redist/ucrt/DLLs/x64
 0:11.64   LINKER=lld-link
 0:11.64   MOZ_PROFILING=
 0:11.64   CC=clang-cl
 0:11.64   MOZ_INCLUDE_SOURCE_INFO=1
 0:11.64   MOZ_ENABLE_PROFILER_SPS=
 0:11.64   WIN32_REDIST_DIR=d:/vs2017aaa/VC/Redist/MSVC/14.16.27012/x64/Microsoft.VC141.CRT
 0:11.64   X=16
 0:11.64 checking for vcs source checkout... git
 0:11.99 checking for a shell... D:/mozilla-build/msys/bin/sh.exe
 0:12.26 checking for host system type... x86_64-pc-mingw32
 0:12.49 checking for target system type... x86_64-pc-mingw32
 0:12.57 checking for a shell... D:/mozilla-build/msys/bin/sh.exe
 0:12.80 checking for host system type... x86_64-pc-mingw32
 0:13.04 checking for target system type... x86_64-pc-mingw32
 0:13.08 checking for vcs source checkout... git
 0:13.09 checking whether cross compiling... no
 0:13.38 checking for the target C compiler... D:/mozilla-build/msys/bin/clang-cl.exe
 0:18.33 checking whether the target C compiler can be used... no
 0:18.33 DEBUG: <truncated - see config.log for full output>
 0:18.33 DEBUG: | %KERNEL "Linux"
 0:18.33 DEBUG: | #elif _WIN32 || __CYGWIN__
 0:18.33 DEBUG: | %KERNEL "WINNT"
 0:18.33 DEBUG: | #elif __NetBSD__
 0:18.33 DEBUG: | %KERNEL "NetBSD"
 0:18.33 DEBUG: | #elif __APPLE__
 0:18.33 DEBUG: | %KERNEL "Darwin"
 0:18.33 DEBUG: | #endif
 0:18.34 DEBUG: | #if _MSC_VER || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
 0:18.34 DEBUG: | %ENDIANNESS "little"
 0:18.34 DEBUG: | #elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
 0:18.34 DEBUG: | %ENDIANNESS "big"
 0:18.34 DEBUG: | #endif
 0:18.34 DEBUG: Executing: `D:/mozilla-build/msys/bin/clang-cl.exe -Xclang -std=gnu99 -fms-compatibility-version=19.11.25547 -E 'c:\users\alexan~1\appdata\local\temp\conftest.ldztbq.c'`
 0:18.34 DEBUG: COMPILER = clang-cl
 0:18.34 DEBUG: VERSION = 191125547
 0:18.34 DEBUG: STDC_VERSION = 199901L
 0:18.34 DEBUG: CPU = x86
 0:18.34 DEBUG: KERNEL = WINNT
 0:18.34 DEBUG: ENDIANNESS = little
 0:18.34 ERROR: Target C compiler target CPU (x86) does not match --target CPU (x86_64)
 0:18.38 *** Fix above errors and then restart with\
 0:18.38                "d:/mozilla-build/bin/mozmake.EXE -f client.mk build"
 0:18.38 mozmake.EXE: *** [client.mk;383: configure] Error 1

running latest MozillaBuild.

MrAlex94 commented 3 years ago

What version of LLVM/Clang are you using and where did you get them from?

pistasjis commented 3 years ago

clang is version 11, i don't remember where i got them from.

pistasjis commented 3 years ago

oh yeah, I am using clang from Visual Studio

pistasjis commented 3 years ago

Nevermind, I was using Clang from mozillabuild itself. However, when I made it use the Visual Studio clang, it threw an error about the machine being x86 bit, targetting x64 but my machine is actually x64.

pistasjis commented 3 years ago

If it's possible to cross-compile to Windows from Linux I can definitely do that because I always get annoyed when compiling things on Windows