Compare commits

...

8 commits

Author SHA1 Message Date
wuggy
5ffe72cab3 fix link error 2026-07-06 00:52:55 +01:00
wuggy
c1f8d50be8 SSE1 mozconfig 2026-07-05 14:59:45 -07:00
wuggy
573f5e245c Fix link error in libsoundtouch 2026-07-05 22:49:58 +01:00
wuggy
339bfe6515 Fix link error pt2 2026-07-05 22:45:49 +01:00
wuggy
399435f093 Fix link error in mozglue 2026-07-05 22:40:33 +01:00
wuggy
0b9335c7df Gate ANGLE_USE_SSE to MSVC and not GNUC 2026-07-05 22:37:42 +01:00
wuggy
1d6a74d103 Fix build error in nsStyleCoord 2026-07-05 21:21:05 +01:00
wuggy
f2c3f135b5 Change subsystem version for NT4/9x 2026-07-05 21:02:50 +01:00
7 changed files with 72 additions and 7 deletions

View file

@ -25,7 +25,7 @@ void LoadA8ToRGBA8(size_t width,
size_t outputRowPitch,
size_t outputDepthPitch)
{
#if defined(ANGLE_USE_SSE)
#if defined(ANGLE_USE_SSE) && !(defined(__GNUC__) && !defined(__clang__))
if (gl::supportsSSE2())
{
__m128i zeroWide = _mm_setzero_si128();
@ -594,7 +594,7 @@ void LoadRGBA8ToBGRA8(size_t width,
size_t outputRowPitch,
size_t outputDepthPitch)
{
#if defined(ANGLE_USE_SSE)
#if defined(ANGLE_USE_SSE) && !(defined(__GNUC__) && !defined(__clang__))
if (gl::supportsSSE2())
{
__m128i brMask = _mm_set1_epi32(0x00ff00ff);

View file

@ -405,6 +405,8 @@ SOURCES += [
if CONFIG['CC_TYPE'] == 'gcc':
SOURCES['vm/SelfHosting.cpp'].flags += ['-fopenmp']
OS_LIBS += ['gomp']
if CONFIG['OS_ARCH'] == 'WINNT':
OS_LIBS += ['dl']
if CONFIG['JS_POSIX_NSPR']:
posix_nspr_deunified_sources = [

View file

@ -114,7 +114,34 @@ public:
};
struct CalcNode final {
#if defined(__MINGW32__)
MOZ_NEVER_INLINE MozExternalRefCountType AddRef(void)
{
MOZ_ASSERT_TYPE_OK_FOR_REFCOUNTING(CalcNode)
MOZ_ASSERT(int32_t(mRefCnt) >= 0, "illegal refcnt");
nsrefcnt count = ++mRefCnt;
NS_LOG_ADDREF(this, count, "CalcNode", sizeof(*this));
return (nsrefcnt) count;
}
MOZ_NEVER_INLINE MozExternalRefCountType Release(void)
{
MOZ_ASSERT(int32_t(mRefCnt) > 0, "dup release");
nsrefcnt count = --mRefCnt;
NS_LOG_RELEASE(this, count, "CalcNode");
if (count == 0) {
delete (this);
return 0;
}
return count;
}
typedef mozilla::TrueType HasThreadSafeRefCnt;
protected:
::mozilla::ThreadSafeAutoRefCnt mRefCnt;
public:
#else
NS_INLINE_DECL_THREADSAFE_REFCOUNTING(CalcNode)
#endif
enum class Type : uint8_t {
Leaf,
@ -151,7 +178,34 @@ public:
// Reference counted calc() value. This is the type that is used to store
// the calc() value in nsStyleCoord.
struct Calc final : public CalcValue {
#if defined(__MINGW32__)
MOZ_NEVER_INLINE MozExternalRefCountType AddRef(void)
{
MOZ_ASSERT_TYPE_OK_FOR_REFCOUNTING(Calc)
MOZ_ASSERT(int32_t(mRefCnt) >= 0, "illegal refcnt");
nsrefcnt count = ++mRefCnt;
NS_LOG_ADDREF(this, count, "Calc", sizeof(*this));
return (nsrefcnt) count;
}
MOZ_NEVER_INLINE MozExternalRefCountType Release(void)
{
MOZ_ASSERT(int32_t(mRefCnt) > 0, "dup release");
nsrefcnt count = --mRefCnt;
NS_LOG_RELEASE(this, count, "Calc");
if (count == 0) {
delete (this);
return 0;
}
return count;
}
typedef mozilla::TrueType HasThreadSafeRefCnt;
protected:
::mozilla::ThreadSafeAutoRefCnt mRefCnt;
public:
#else
NS_INLINE_DECL_THREADSAFE_REFCOUNTING(Calc)
#endif
Calc() {}
bool HasCalcNode() const { return !!mNode; }

View file

@ -45,6 +45,8 @@ else:
if CONFIG['CC_TYPE'] == 'gcc':
CXXFLAGS += ['-fopenmp']
OS_LIBS += ['gomp']
if CONFIG['OS_ARCH'] == 'WINNT':
OS_LIBS += ['dl']
DEFINES['BUILDING_SOUNDTOUCH'] = 1

View file

@ -11,6 +11,8 @@ ac_add_options --target=i686-pc-mingw32
WIN32_REDIST_DIR=$VCINSTALLDIR/Redist/MSVC/14.16.27012/x86
WIN_UCRT_REDIST_DIR=$WINDOWSSDKDIR/Redist/10.0.19041.0/ucrt/DLLs/r86
# Force compiler + linker + tools
CC=gcc
CXX=g++
LD=g++
@ -18,6 +20,11 @@ AR=ar
AS=as
RANLIB=ranlib
export GCC=/c/mingw32/bin
# Force PATH so UXP thinks only GCC is there
export PATH="$GCC:$PATH"
# Build only Hydra
ac_add_options --enable-application=basilisk
ac_add_options --disable-artifact-builds
@ -37,7 +44,7 @@ ac_add_options --enable-devtools
#ac_add_options --enable-install-strip
ac_add_options --enable-jemalloc
ac_add_options --enable-js-lto
ac_add_options --enable-optimize="-O2"
ac_add_options --enable-optimize="-O2 -w -march=pentium3 -mtune=pentium3 -msse -mno-sse2 -fno-tree-vectorize"
ac_add_options --enable-phoenix-extensions
ac_add_options --enable-release
ac_add_options --enable-shared-js
@ -49,7 +56,7 @@ export MOZILLA_OFFICIAL=1
export STRIP_FLAGS="--strip-debug --strip-unneeded"
# Media settings
ac_add_options --enable-av1
ac_add_options --disable-av1
ac_add_options --enable-jxl
ac_add_options --enable-raw
ac_add_options --disable-webrtc

View file

@ -8,7 +8,7 @@ include $(topsrcdir)/config/config.mk
ifeq (WINNT,$(OS_TARGET))
mozglue.def: mozglue.def.in $(GLOBAL_DEPS)
$(call py_action,preprocessor,$(if $(MOZ_REPLACE_MALLOC),-DMOZ_REPLACE_MALLOC) $(ACDEFINES) $< -o $@)
$(call py_action,preprocessor,$(if $(MOZ_REPLACE_MALLOC),-DMOZ_REPLACE_MALLOC) $(if $(GNU_CC),-DGNU_CC) $(ACDEFINES) $< -o $@)
GARBAGE += mozglue.def
endif

View file

@ -894,9 +894,9 @@ case "$target" in
IMPORT_LIB_SUFFIX=lib
MKSHLIB='$(LD) -NOLOGO -DLL -OUT:$@ -PDB:$(LINK_PDBFILE) $(DSO_LDOPTS)'
MKCSHLIB='$(LD) -NOLOGO -DLL -OUT:$@ -PDB:$(LINK_PDBFILE) $(DSO_LDOPTS)'
dnl Set subsystem version 5 for Windows XP.
dnl Set subsystem version 4 for NT4/9x, version 5 for XP x64
if test "$CPU_ARCH" = "x86"; then
WIN32_SUBSYSTEM_VERSION=5.01
WIN32_SUBSYSTEM_VERSION=4.00
else
WIN32_SUBSYSTEM_VERSION=5.02
fi