Bug 1899098 - No longer use GNU_CC, CLANG_CC and the likes in moz.build r=glandium

Differential Revision: https://phabricator.services.mozilla.com/D211720
This commit is contained in:
serge-sans-paille 2024-06-04 09:42:12 +00:00
Родитель 4c80e08fec
Коммит ba312a93d5
10 изменённых файлов: 41 добавлений и 39 удалений

Просмотреть файл

@ -129,13 +129,6 @@ endif
endif endif
DEFINES += -DLPROJ_ROOT=$(LPROJ_ROOT) DEFINES += -DLPROJ_ROOT=$(LPROJ_ROOT)
ifdef CLANG_CXX
DEFINES += -DCLANG_CXX
endif
ifdef CLANG_CL
DEFINES += -DCLANG_CL
endif
ifdef LLVM_SYMBOLIZER ifdef LLVM_SYMBOLIZER
DEFINES += -DLLVM_SYMBOLIZER=$(notdir $(LLVM_SYMBOLIZER)) DEFINES += -DLLVM_SYMBOLIZER=$(notdir $(LLVM_SYMBOLIZER))
endif endif

Просмотреть файл

@ -262,7 +262,7 @@ export LIB
endif endif
ifdef MOZ_USING_CCACHE ifdef MOZ_USING_CCACHE
ifdef CLANG_CXX ifeq ($(CC_TYPE),clang)
export CCACHE_CPP2=1 export CCACHE_CPP2=1
endif endif
endif endif

Просмотреть файл

@ -128,7 +128,7 @@ LINK_PDBFILE = $(basename $@).pdb
endif endif
endif endif
ifndef GNU_CC ifeq ($(CC_TYPE),clang-cl)
ifdef SIMPLE_PROGRAMS ifdef SIMPLE_PROGRAMS
COMPILE_PDB_FLAG ?= -Fd$(basename $(@F)).pdb COMPILE_PDB_FLAG ?= -Fd$(basename $(@F)).pdb
@ -140,7 +140,7 @@ ifdef MOZ_DEBUG
CODFILE=$(basename $(@F)).cod CODFILE=$(basename $(@F)).cod
endif endif
endif # !GNU_CC endif # CC_TYPE == clang-cl
endif # WINNT endif # WINNT
ifeq (arm-Darwin,$(TARGET_CPU)-$(OS_TARGET)) ifeq (arm-Darwin,$(TARGET_CPU)-$(OS_TARGET))
@ -295,7 +295,7 @@ endif
# MINGW32 # MINGW32
# #
ifeq ($(OS_ARCH),WINNT) ifeq ($(OS_ARCH),WINNT)
ifdef GNU_CC ifneq ($(CC_TYPE),clang-cl)
DSO_LDOPTS += -Wl,--out-implib -Wl,$(IMPORT_LIBRARY) DSO_LDOPTS += -Wl,--out-implib -Wl,$(IMPORT_LIBRARY)
endif endif
endif endif
@ -308,11 +308,11 @@ IFLAGS1 = -m 644
IFLAGS2 = -m 755 IFLAGS2 = -m 755
endif endif
ifeq (_WINNT,$(GNU_CC)_$(OS_ARCH)) ifeq (clang-cl_WINNT,$(CC_TYPE)_$(OS_ARCH))
OUTOPTION = -Fo# eol OUTOPTION = -Fo# eol
else else
OUTOPTION = -o # eol OUTOPTION = -o # eol
endif # WINNT && !GNU_CC endif # WINNT && clang-cl
ifeq (,$(CROSS_COMPILE)) ifeq (,$(CROSS_COMPILE))
HOST_OUTOPTION = $(OUTOPTION) HOST_OUTOPTION = $(OUTOPTION)
@ -419,12 +419,12 @@ endef
$(PROGRAM): $(PROGOBJS) $(STATIC_LIBS) $(EXTRA_DEPS) $(call resfile,$(PROGRAM)) $(GLOBAL_DEPS) $(call mkdir_deps,$(FINAL_TARGET)) $(PROGRAM): $(PROGOBJS) $(STATIC_LIBS) $(EXTRA_DEPS) $(call resfile,$(PROGRAM)) $(GLOBAL_DEPS) $(call mkdir_deps,$(FINAL_TARGET))
$(REPORT_BUILD) $(REPORT_BUILD)
$(call BUILDSTATUS,START_Program $(@F)) $(call BUILDSTATUS,START_Program $(@F))
ifeq (_WINNT,$(GNU_CC)_$(OS_ARCH)) ifeq (clang-cl_WINNT,$(CC_TYPE)_$(OS_ARCH))
$(LINKER) -OUT:$@ -PDB:$(LINK_PDBFILE) -IMPLIB:$(basename $(@F)).lib $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(MOZ_PROGRAM_LDFLAGS) $($(notdir $@)_OBJS) $(filter %.res,$^) $(STATIC_LIBS) $(SHARED_LIBS) $(OS_LIBS) $(LINKER) -OUT:$@ -PDB:$(LINK_PDBFILE) -IMPLIB:$(basename $(@F)).lib $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(MOZ_PROGRAM_LDFLAGS) $($(notdir $@)_OBJS) $(filter %.res,$^) $(STATIC_LIBS) $(SHARED_LIBS) $(OS_LIBS)
else # !WINNT || GNU_CC else # !WINNT || !clang-cl
$(call EXPAND_CC_OR_CXX,$@) -o $@ $(COMPUTED_CXX_LDFLAGS) $($(notdir $@)_OBJS) $(filter %.res,$^) $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(STATIC_LIBS) $(MOZ_PROGRAM_LDFLAGS) $(SHARED_LIBS) $(OS_LIBS) $(call EXPAND_CC_OR_CXX,$@) -o $@ $(COMPUTED_CXX_LDFLAGS) $($(notdir $@)_OBJS) $(filter %.res,$^) $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(STATIC_LIBS) $(MOZ_PROGRAM_LDFLAGS) $(SHARED_LIBS) $(OS_LIBS)
$(call py_action,check_binary $(@F),$@) $(call py_action,check_binary $(@F),$@)
endif # WINNT && !GNU_CC endif # WINNT && clang-cl
ifdef ENABLE_STRIP ifdef ENABLE_STRIP
$(STRIP) $(STRIP_FLAGS) $@ $(STRIP) $(STRIP_FLAGS) $@
@ -437,7 +437,7 @@ endif
$(HOST_PROGRAM): $(HOST_PROGOBJS) $(HOST_LIBS) $(HOST_EXTRA_DEPS) $(GLOBAL_DEPS) $(call mkdir_deps,$(DEPTH)/dist/host/bin) $(HOST_PROGRAM): $(HOST_PROGOBJS) $(HOST_LIBS) $(HOST_EXTRA_DEPS) $(GLOBAL_DEPS) $(call mkdir_deps,$(DEPTH)/dist/host/bin)
$(REPORT_BUILD) $(REPORT_BUILD)
$(call BUILDSTATUS,START_Program $(@F)) $(call BUILDSTATUS,START_Program $(@F))
ifeq (_WINNT,$(GNU_CC)_$(HOST_OS_ARCH)) ifeq (clang-cl_WINNT,$(HOST_CC_TYPE)_$(HOST_OS_ARCH))
$(HOST_LINKER) -OUT:$@ -PDB:$(HOST_PDBFILE) $($(notdir $@)_OBJS) $(WIN32_EXE_LDFLAGS) $(HOST_LDFLAGS) $(HOST_LINKER_LIBPATHS) $(HOST_LIBS) $(HOST_EXTRA_LIBS) $(HOST_LINKER) -OUT:$@ -PDB:$(HOST_PDBFILE) $($(notdir $@)_OBJS) $(WIN32_EXE_LDFLAGS) $(HOST_LDFLAGS) $(HOST_LINKER_LIBPATHS) $(HOST_LIBS) $(HOST_EXTRA_LIBS)
else else
ifeq ($(HOST_CPP_PROG_LINK),1) ifeq ($(HOST_CPP_PROG_LINK),1)
@ -464,12 +464,12 @@ $(foreach p,$(SIMPLE_PROGRAMS),$(eval $(call simple_program_deps,$(p))))
$(SIMPLE_PROGRAMS): $(SIMPLE_PROGRAMS):
$(REPORT_BUILD) $(REPORT_BUILD)
$(call BUILDSTATUS,START_Program $(@F)) $(call BUILDSTATUS,START_Program $(@F))
ifeq (_WINNT,$(GNU_CC)_$(OS_ARCH)) ifeq (clang-cl_WINNT,$(CC_TYPE)_$(OS_ARCH))
$(LINKER) -out:$@ -pdb:$(LINK_PDBFILE) $($@_OBJS) $(filter %.res,$^) $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(MOZ_PROGRAM_LDFLAGS) $(STATIC_LIBS) $(SHARED_LIBS) $(OS_LIBS) $(LINKER) -out:$@ -pdb:$(LINK_PDBFILE) $($@_OBJS) $(filter %.res,$^) $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(MOZ_PROGRAM_LDFLAGS) $(STATIC_LIBS) $(SHARED_LIBS) $(OS_LIBS)
else else
$(call EXPAND_CC_OR_CXX,$@) $(COMPUTED_CXX_LDFLAGS) -o $@ $($@_OBJS) $(filter %.res,$^) $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(STATIC_LIBS) $(MOZ_PROGRAM_LDFLAGS) $(SHARED_LIBS) $(OS_LIBS) $(call EXPAND_CC_OR_CXX,$@) $(COMPUTED_CXX_LDFLAGS) -o $@ $($@_OBJS) $(filter %.res,$^) $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(STATIC_LIBS) $(MOZ_PROGRAM_LDFLAGS) $(SHARED_LIBS) $(OS_LIBS)
$(call py_action,check_binary $(@F),$@) $(call py_action,check_binary $(@F),$@)
endif # WINNT && !GNU_CC endif # WINNT && clang-cl
ifdef ENABLE_STRIP ifdef ENABLE_STRIP
$(STRIP) $(STRIP_FLAGS) $@ $(STRIP) $(STRIP_FLAGS) $@
@ -482,7 +482,7 @@ endif
$(HOST_SIMPLE_PROGRAMS): host_%$(HOST_BIN_SUFFIX): $(HOST_LIBS) $(HOST_EXTRA_DEPS) $(GLOBAL_DEPS) $(HOST_SIMPLE_PROGRAMS): host_%$(HOST_BIN_SUFFIX): $(HOST_LIBS) $(HOST_EXTRA_DEPS) $(GLOBAL_DEPS)
$(REPORT_BUILD) $(REPORT_BUILD)
$(call BUILDSTATUS,START_Program $(@F)) $(call BUILDSTATUS,START_Program $(@F))
ifeq (WINNT_,$(HOST_OS_ARCH)_$(GNU_CC)) ifeq (WINNT_clang-cl,$(HOST_OS_ARCH)_$(HOST_CC_TYPE))
$(HOST_LINKER) -OUT:$@ -PDB:$(HOST_PDBFILE) $($(notdir $@)_OBJS) $(WIN32_EXE_LDFLAGS) $(HOST_LDFLAGS) $(HOST_LINKER_LIBPATHS) $(HOST_LIBS) $(HOST_EXTRA_LIBS) $(HOST_LINKER) -OUT:$@ -PDB:$(HOST_PDBFILE) $($(notdir $@)_OBJS) $(WIN32_EXE_LDFLAGS) $(HOST_LDFLAGS) $(HOST_LINKER_LIBPATHS) $(HOST_LIBS) $(HOST_EXTRA_LIBS)
else else
ifneq (,$(HOST_CPPSRCS)$(USE_HOST_CXX)) ifneq (,$(HOST_CPPSRCS)$(USE_HOST_CXX))
@ -538,10 +538,10 @@ $(SHARED_LIBRARY): $(OBJS) $(call resfile,$(SHARED_LIBRARY)) $(STATIC_LIBS) $(EX
$(REPORT_BUILD) $(REPORT_BUILD)
$(call BUILDSTATUS,START_SharedLib $@) $(call BUILDSTATUS,START_SharedLib $@)
$(RM) $@ $(RM) $@
$(MKSHLIB) $(if $(filter _WINNT,$(GNU_CC)_$(OS_ARCH)),-IMPLIB:$(basename $(@F)).lib )$($(notdir $@)_OBJS) $(filter %.res,$^) $(RELRHACK_LDFLAGS) $(LDFLAGS) $(STATIC_LIBS) $(SHARED_LIBS) $(EXTRA_DSO_LDOPTS) $(MOZ_GLUE_LDFLAGS) $(OS_LIBS) $(MKSHLIB) $(if $(filter clang-cl_WINNT,$(CC_TYPE)_$(OS_ARCH)),-IMPLIB:$(basename $(@F)).lib )$($(notdir $@)_OBJS) $(filter %.res,$^) $(RELRHACK_LDFLAGS) $(LDFLAGS) $(STATIC_LIBS) $(SHARED_LIBS) $(EXTRA_DSO_LDOPTS) $(MOZ_GLUE_LDFLAGS) $(OS_LIBS)
$(call py_action,check_binary,$@) $(call py_action,check_binary,$@)
ifeq (_WINNT,$(GNU_CC)_$(OS_ARCH)) ifeq (clang-cl_WINNT,$(CC_TYPE)_$(OS_ARCH))
endif # WINNT && !GCC endif # WINNT && !GCC
chmod +x $@ chmod +x $@
ifdef ENABLE_STRIP ifdef ENABLE_STRIP

Просмотреть файл

@ -79,10 +79,10 @@ CFLAGS += $(MOZ_ZLIB_CFLAGS)
ifeq ($(OS_ARCH),SunOS) ifeq ($(OS_ARCH),SunOS)
ifeq ($(TARGET_CPU),sparc) ifeq ($(TARGET_CPU),sparc)
ifdef GNU_CC ifneq ($(CC_TYPE),clang-cl)
CFLAGS += -mcpu=v9 CFLAGS += -mcpu=v9
CXXFLAGS += -mcpu=v9 CXXFLAGS += -mcpu=v9
endif # GNU_CC endif # !clang-cl
endif endif
endif endif

Просмотреть файл

@ -688,7 +688,10 @@ if buildconfig.substs.get("MOZ_CODE_COVERAGE"):
) )
if buildconfig.substs.get("MOZ_ASAN") and buildconfig.substs.get("CLANG_CL"): if (
buildconfig.substs.get("MOZ_ASAN")
and buildconfig.substs.get("CC_TYPE") == "clang-cl"
):
asan_dll = { asan_dll = {
"source": buildconfig.topobjdir, "source": buildconfig.topobjdir,
"base": "dist/bin", "base": "dist/bin",

Просмотреть файл

@ -484,7 +484,7 @@ class LinkFlags(BaseCompileFlags):
if all( if all(
[ [
self._context.config.substs.get("OS_ARCH") == "WINNT", self._context.config.substs.get("OS_ARCH") == "WINNT",
not self._context.config.substs.get("GNU_CC"), self._context.config.substs.get("CC_TYPE") == "clang-cl",
not self._context.config.substs.get("MOZ_DEBUG"), not self._context.config.substs.get("MOZ_DEBUG"),
] ]
): ):

Просмотреть файл

@ -870,10 +870,10 @@ class SharedLibrary(Library):
+ self.symbols_file + self.symbols_file
) )
elif os_target == "WINNT": elif os_target == "WINNT":
if context.config.substs.get("GNU_CC"): if context.config.substs.get("CC_TYPE") == "clang-cl":
self.symbols_link_arg = self.symbols_file
else:
self.symbols_link_arg = "-DEF:" + self.symbols_file self.symbols_link_arg = "-DEF:" + self.symbols_file
else:
self.symbols_link_arg = self.symbols_file
elif context.config.substs.get("GCC_USE_GNU_LD"): elif context.config.substs.get("GCC_USE_GNU_LD"):
self.symbols_link_arg = "-Wl,--version-script," + self.symbols_file self.symbols_link_arg = "-Wl,--version-script," + self.symbols_file

Просмотреть файл

@ -1297,10 +1297,10 @@ class TreeMetadataEmitter(LoggingMixin):
else: else:
path = deffile.target_basename path = deffile.target_basename
if context.config.substs.get("GNU_CC"): if context.config.substs.get("CC_TYPE") == "clang-cl":
computed_link_flags.resolve_flags("DEFFILE", [path])
else:
computed_link_flags.resolve_flags("DEFFILE", ["-DEF:" + path]) computed_link_flags.resolve_flags("DEFFILE", ["-DEF:" + path])
else:
computed_link_flags.resolve_flags("DEFFILE", [path])
dist_install = context["DIST_INSTALL"] dist_install = context["DIST_INSTALL"]
if dist_install is True: if dist_install is True:
@ -1312,9 +1312,10 @@ class TreeMetadataEmitter(LoggingMixin):
# the moment because USE_STATIC_LIBS can be set after a template # the moment because USE_STATIC_LIBS can be set after a template
# returns. Eventually, with context-based templates, it will be # returns. Eventually, with context-based templates, it will be
# possible. # possible.
if context.config.substs.get( if (
"OS_ARCH" context.config.substs.get("OS_ARCH") == "WINNT"
) == "WINNT" and not context.config.substs.get("GNU_CC"): and context.config.substs.get("CC_TYPE") == "clang-cl"
):
use_static_lib = context.get( use_static_lib = context.get(
"USE_STATIC_LIBS" "USE_STATIC_LIBS"
) and not context.config.substs.get("MOZ_ASAN") ) and not context.config.substs.get("MOZ_ASAN")

Просмотреть файл

@ -277,7 +277,7 @@ class TestEmitterBasic(unittest.TestCase):
"link-flags", "link-flags",
extra_substs={ extra_substs={
"OS_ARCH": "WINNT", "OS_ARCH": "WINNT",
"GNU_CC": "", "CC_TYPE": "clang-cl",
"MOZ_OPTIMIZE": "1", "MOZ_OPTIMIZE": "1",
"MOZ_DEBUG_LDFLAGS": ["-DEBUG"], "MOZ_DEBUG_LDFLAGS": ["-DEBUG"],
"MOZ_DEBUG_SYMBOLS": "1", "MOZ_DEBUG_SYMBOLS": "1",
@ -295,7 +295,7 @@ class TestEmitterBasic(unittest.TestCase):
"link-flags", "link-flags",
extra_substs={ extra_substs={
"OS_ARCH": "WINNT", "OS_ARCH": "WINNT",
"GNU_CC": "", "CC_TYPE": "clang-cl",
"MOZ_DMD": "1", "MOZ_DMD": "1",
"MOZ_DEBUG_LDFLAGS": ["-DEBUG"], "MOZ_DEBUG_LDFLAGS": ["-DEBUG"],
"MOZ_DEBUG_SYMBOLS": "1", "MOZ_DEBUG_SYMBOLS": "1",
@ -366,7 +366,12 @@ class TestEmitterBasic(unittest.TestCase):
def test_host_rtl_flag(self): def test_host_rtl_flag(self):
reader = self.reader( reader = self.reader(
"host-compile-flags", extra_substs={"OS_ARCH": "WINNT", "MOZ_DEBUG": "1"} "host-compile-flags",
extra_substs={
"OS_ARCH": "WINNT",
"MOZ_DEBUG": "1",
"CC_TYPE": "clang-cl",
},
) )
sources, ldflags, flags, lib, target_flags = self.read_topsrcdir(reader) sources, ldflags, flags, lib, target_flags = self.read_topsrcdir(reader)
self.assertIsInstance(flags, ComputedFlags) self.assertIsInstance(flags, ComputedFlags)

Просмотреть файл

@ -17,5 +17,5 @@ LOCAL_INCLUDES += [
FINAL_LIBRARY = "xul-gtest" FINAL_LIBRARY = "xul-gtest"
if CONFIG["GNU_CXX"]: if CONFIG["CC_TYPE"] != "clang-cl":
CXXFLAGS += ["-Wshadow"] CXXFLAGS += ["-Wshadow"]