author | Mike Hommey <mh+mozilla@glandium.org> |
Fri, 08 May 2015 14:13:10 +0900 | |
changeset 243437 | 5583ce8972c54b7c7709de389140f93cb2be549c |
parent 243436 | 4eef4a28a52fcdaabf1c7c0ae7afc088a8c97012 |
child 243438 | 642938befc36c2116dcaf19b91f0c417814c93ce |
push id | 28738 |
push user | cbook@mozilla.com |
push date | Tue, 12 May 2015 14:11:31 +0000 |
treeherder | mozilla-central@bedce1b405a3 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | mshal |
bugs | 1162845 |
milestone | 40.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/config/config.mk +++ b/config/config.mk @@ -181,17 +181,24 @@ ifneq (,$(MOZ_DEBUG)$(MOZ_DEBUG_SYMBOLS) endif else _DEBUG_ASFLAGS += $(MOZ_DEBUG_FLAGS) endif _DEBUG_CFLAGS += $(MOZ_DEBUG_FLAGS) _DEBUG_LDFLAGS += $(MOZ_DEBUG_LDFLAGS) endif +ifeq ($(YASM),$(AS)) +# yasm doesn't like the GNU as flags we may already have in ASFLAGS, so reset. +ASFLAGS := $(_DEBUG_ASFLAGS) +# yasm doesn't like -c +AS_DASH_C_FLAG= +else ASFLAGS += $(_DEBUG_ASFLAGS) +endif OS_CFLAGS += $(_DEBUG_CFLAGS) OS_CXXFLAGS += $(_DEBUG_CFLAGS) OS_LDFLAGS += $(_DEBUG_LDFLAGS) # XXX: What does this? Bug 482434 filed for better explanation. ifeq ($(OS_ARCH)_$(GNU_CC),WINNT_) ifdef MOZ_DEBUG ifneq (,$(MOZ_BROWSE_INFO)$(MOZ_BSCFILE)) @@ -423,17 +430,17 @@ OS_COMPILE_CMFLAGS += -fobjc-abi-version OS_COMPILE_CMMFLAGS += -fobjc-abi-version=2 -fobjc-legacy-dispatch endif endif COMPILE_CFLAGS = $(VISIBILITY_FLAGS) $(DEFINES) $(INCLUDES) $(OS_INCLUDES) $(DSO_CFLAGS) $(DSO_PIC_CFLAGS) $(RTL_FLAGS) $(OS_CPPFLAGS) $(OS_COMPILE_CFLAGS) $(CFLAGS) $(MOZBUILD_CFLAGS) $(EXTRA_COMPILE_FLAGS) COMPILE_CXXFLAGS = $(if $(DISABLE_STL_WRAPPING),,$(STL_FLAGS)) $(VISIBILITY_FLAGS) $(DEFINES) $(INCLUDES) $(OS_INCLUDES) $(DSO_CFLAGS) $(DSO_PIC_CFLAGS) $(RTL_FLAGS) $(OS_CPPFLAGS) $(OS_COMPILE_CXXFLAGS) $(CXXFLAGS) $(MOZBUILD_CXXFLAGS) $(EXTRA_COMPILE_FLAGS) COMPILE_CMFLAGS = $(OS_COMPILE_CMFLAGS) $(MOZBUILD_CMFLAGS) $(EXTRA_COMPILE_FLAGS) COMPILE_CMMFLAGS = $(OS_COMPILE_CMMFLAGS) $(MOZBUILD_CMMFLAGS) $(EXTRA_COMPILE_FLAGS) -ASFLAGS += $(EXTRA_ASSEMBLER_FLAGS) +ASFLAGS += $(MOZBUILD_ASFLAGS) $(EXTRA_ASSEMBLER_FLAGS) ifndef CROSS_COMPILE HOST_CFLAGS += $(RTL_FLAGS) endif # # Name of the binary code directories #
--- a/configure.in +++ b/configure.in @@ -3861,17 +3861,16 @@ MOZ_SCTP= MOZ_ANDROID_OMX= MOZ_MEDIA_NAVIGATOR= MOZ_OMX_PLUGIN= MOZ_VPX= MOZ_VPX_ERROR_CONCEALMENT= MOZ_WEBSPEECH=1 VPX_AS= VPX_ASFLAGS= -VPX_AS_DASH_C_FLAG= VPX_AS_CONVERSION= VPX_ASM_SUFFIX= VPX_X86_ASM= VPX_ARM_ASM= LIBJPEG_TURBO_AS= LIBJPEG_TURBO_ASFLAGS= LIBJPEG_TURBO_X86_ASM= LIBJPEG_TURBO_X64_ASM= @@ -5479,17 +5478,16 @@ if test -n "$MOZ_VPX" -a -z "$MOZ_NATIVE fi # COMPILE_ENVIRONMENT and others ;; *:arm*) if test -n "$GNU_AS" ; then VPX_AS=$AS dnl These flags are a lie; they're just used to enable the requisite dnl opcodes; actual arch detection is done at runtime. VPX_ASFLAGS="-march=armv7-a -mfpu=neon" - VPX_DASH_C_FLAG="-c" VPX_AS_CONVERSION='$(PERL) $(topsrcdir)/media/libvpx/build/make/ads2gas.pl' VPX_ASM_SUFFIX="$ASM_SUFFIX" VPX_ARM_ASM=1 fi ;; *:x86) if $CC -E -dM -</dev/null | grep -q __ELF__; then VPX_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC" @@ -8859,27 +8857,26 @@ AC_SUBST(MOZ_FMP4) AC_SUBST(MOZ_EME) AC_SUBST(MOZ_DIRECTSHOW) AC_SUBST(MOZ_ANDROID_OMX) AC_SUBST(MOZ_APPLEMEDIA) AC_SUBST(MOZ_OMX_PLUGIN) AC_SUBST(MOZ_VPX_ERROR_CONCEALMENT) AC_SUBST(MOZ_VPX) AC_SUBST(VPX_AS) -AC_SUBST(VPX_ASFLAGS) -AC_SUBST(VPX_DASH_C_FLAG) +AC_SUBST_LIST(VPX_ASFLAGS) AC_SUBST(VPX_AS_CONVERSION) AC_SUBST(VPX_ASM_SUFFIX) AC_SUBST(VPX_X86_ASM) AC_SUBST(VPX_ARM_ASM) AC_SUBST(VPX_NEED_OBJ_INT_EXTRACT) AC_SUBST(MOZ_INSTRUMENT_EVENT_LOOP) AC_SUBST(MOZ_CODE_COVERAGE) AC_SUBST(LIBJPEG_TURBO_AS) -AC_SUBST(LIBJPEG_TURBO_ASFLAGS) +AC_SUBST_LIST(LIBJPEG_TURBO_ASFLAGS) AC_SUBST(LIBJPEG_TURBO_X86_ASM) AC_SUBST(LIBJPEG_TURBO_X64_ASM) AC_SUBST(LIBJPEG_TURBO_ARM_ASM) AC_SUBST(LIBJPEG_TURBO_ARM64_ASM) AC_SUBST(LIBJPEG_TURBO_MIPS_ASM) AC_SUBST(MOZ_PACKAGE_JSSHELL) AC_SUBST(MOZ_FOLD_LIBS)
--- a/media/libjpeg/Makefile.in +++ b/media/libjpeg/Makefile.in @@ -1,16 +1,10 @@ # # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. AS=$(LIBJPEG_TURBO_AS) ASM_SUFFIX=asm -ASFLAGS=$(LIBJPEG_TURBO_ASFLAGS) -I$(topsrcdir)/media/libjpeg/simd/ - -ifeq ($(AS),yasm) - # yasm doesn't like -c - AS_DASH_C_FLAG= -endif include $(topsrcdir)/config/rules.mk
--- a/media/libjpeg/moz.build +++ b/media/libjpeg/moz.build @@ -145,13 +145,16 @@ elif CONFIG['LIBJPEG_TURBO_X86_ASM']: SOURCES += [ 'simd/jsimd_i386.c', ] else: # No SIMD support? SOURCES += [ 'jsimd_none.c', ] +ASFLAGS += CONFIG['LIBJPEG_TURBO_ASFLAGS'] +ASFLAGS += ['-I%s/media/libjpeg/simd/' % TOPSRCDIR] + if CONFIG['GKMEDIAS_SHARED_LIBRARY']: NO_VISIBILITY_FLAGS = True FINAL_LIBRARY = 'gkmedias'
--- a/media/libopus/Makefile.in +++ b/media/libopus/Makefile.in @@ -2,20 +2,16 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. include $(topsrcdir)/config/rules.mk ifdef GNU_AS ifeq ($(CPU_ARCH),arm) -# These flags are a lie; they're just used to enable the requisite -# opcodes; actual arch detection is done at runtime. -ASFLAGS = -march=armv7-a -mfpu=neon - celt_pitch_xcorr_arm-gnu.$(ASM_SUFFIX): celt/arm/armopts-gnu.S # armopts needs a specific rule, because arm2gnu.pl will always add the .S # suffix when translating the files that include it. celt/arm/armopts-gnu.S: celt/arm/armopts.s $(call mkdir_deps,celt/arm) $(GLOBAL_DEPS) $(PERL) $(srcdir)/celt/arm/arm2gnu.pl < $< > $@ # For all others, we can use an implicit rule with the configured $(ASM_SUFFIX). %-gnu.$(ASM_SUFFIX): celt/arm/%.s $(GLOBAL_DEPS)
--- a/media/libopus/moz.build +++ b/media/libopus/moz.build @@ -89,20 +89,26 @@ else: if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['GNU_AS']: SOURCES += celt_sources_arm GENERATED_SOURCES += [ '%s.%s' % (f, CONFIG['ASM_SUFFIX']) for f in [ 'celt_pitch_xcorr_arm-gnu', ]] # -Os is significantly slower, enable -O3 unless optimization is disabled if CONFIG['MOZ_OPTIMIZE']: - CFLAGS += [ - '-O3', - ] - CXXFLAGS += [ - '-O3', - ] + CFLAGS += [ + '-O3', + ] + CXXFLAGS += [ + '-O3', + ] + # These flags are a lie; they're just used to enable the requisite + # opcodes; actual arch detection is done at runtime. + ASFLAGS += [ + '-march=armv7-a', + '-mfpu=neon', + ] # Suppress warnings in third-party code. if CONFIG['GNU_CC']: CFLAGS += ['-Wno-declaration-after-statement'] if CONFIG['CLANG_CXX']: CFLAGS += ['-Wno-\#pragma-messages']
--- a/media/libtheora/Makefile.in +++ b/media/libtheora/Makefile.in @@ -1,20 +1,16 @@ # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. ifdef GNU_AS ifeq ($(CPU_ARCH),arm) -# These flags are a lie; they're just used to enable the requisite -# opcodes; actual arch detection is done at runtime. -ASFLAGS = -march=armv7-a -mfpu=neon - armfrag-gnu.$(ASM_SUFFIX): armopts-gnu.S armidct-gnu.$(ASM_SUFFIX): armopts-gnu.S armloop-gnu.$(ASM_SUFFIX): armopts-gnu.S # armopts needs a specific rule, because arm2gnu.pl will always add the .S # suffix when translating the files that include it. armopts-gnu.S: lib/arm/armopts.s $(PERL) $(srcdir)/lib/arm/arm2gnu.pl < $< > $@
--- a/media/libtheora/moz.build +++ b/media/libtheora/moz.build @@ -40,24 +40,16 @@ UNIFIED_SOURCES += [ 'lib/info.c', 'lib/internal.c', 'lib/quant.c', 'lib/state.c', ] LOCAL_INCLUDES += ['include'] -if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['GNU_AS']: - GENERATED_SOURCES += [ '%s.%s' % (f, CONFIG['ASM_SUFFIX']) for f in [ - 'armbits-gnu', - 'armfrag-gnu', - 'armidct-gnu', - 'armloop-gnu', - ]] - if '86' in CONFIG['OS_TEST']: if CONFIG['OS_ARCH'] != 'SunOS': if CONFIG['OS_ARCH'] != 'WINNT' or CONFIG['OS_TEST'] != 'x86_64': DEFINES['OC_X86_ASM'] = True if '64' in CONFIG['OS_TEST']: DEFINES['OC_X86_64_ASM'] = True if CONFIG['_MSC_VER']: if '64' not in CONFIG['OS_TEST']: @@ -89,8 +81,21 @@ if CONFIG['GNU_AS']: 'OC_ARM_ASM_MEDIA', 'OC_ARM_ASM_NEON'): DEFINES[var] = True # The Android NDK doesn't pre-define anything to indicate the OS it's # on, so do it for them. if CONFIG['OS_TARGET'] == 'Android': DEFINES['__linux__'] = True + GENERATED_SOURCES += [ '%s.%s' % (f, CONFIG['ASM_SUFFIX']) for f in [ + 'armbits-gnu', + 'armfrag-gnu', + 'armidct-gnu', + 'armloop-gnu', + ]] + + # These flags are a lie; they're just used to enable the requisite + # opcodes; actual arch detection is done at runtime. + ASFLAGS += [ + '-march=armv7-a', + '-mfpu=neon', + ]
--- a/media/libvpx/Makefile.in +++ b/media/libvpx/Makefile.in @@ -1,24 +1,17 @@ # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # Set up the libvpx assembler config. AS=$(VPX_AS) -ASFLAGS=$(VPX_ASFLAGS) -I. -I$(topsrcdir)/media/libvpx/ -I$(topsrcdir)/media/libvpx/vpx_ports/ -AS_DASH_C_FLAG=$(VPX_DASH_C_FLAG) ASM_SUFFIX=$(VPX_ASM_SUFFIX) -ifeq ($(OS_TARGET),Android) - # For LIBVPX_RAND - ASFLAGS += -D__ANDROID__ -endif - ifdef VPX_ARM_ASM # Building on an ARM platform with a supported assembler, include # the optimized assembly in the build. ifeq ($(OS_TARGET),Android) # For cpu-features.h LOCAL_INCLUDES += -I$(ANDROID_NDK)/sources/android/cpufeatures endif
--- a/media/libvpx/moz.build +++ b/media/libvpx/moz.build @@ -100,8 +100,21 @@ if CONFIG['CLANG_CL'] or not CONFIG['_MS if 'sse4' in f: SOURCES[f].flags += ['-msse4.1'] if 'avx2' in f: SOURCES[f].flags += ['-mavx2'] # Suppress warnings in third-party code. if CONFIG['GNU_CC']: CFLAGS += ['-Wno-sign-compare'] + +ASFLAGS += CONFIG['VPX_ASFLAGS'] +ASFLAGS += [ + '-I.', + '-I%s/media/libvpx/' % TOPSRCDIR, + '-I%s/media/libvpx/vpx_ports/' % TOPSRCDIR, +] + +if CONFIG['OS_TARGET'] == 'Android': + # For LIBVPX_RAND + ASFLAGS += [ + '-D__ANDROID__' + ]
--- a/python/mozbuild/mozbuild/backend/recursivemake.py +++ b/python/mozbuild/mozbuild/backend/recursivemake.py @@ -68,16 +68,17 @@ from ..util import ( ensureParentDir, FileAvoidWrite, ) from ..makeutil import Makefile MOZBUILD_VARIABLES = [ 'ANDROID_GENERATED_RESFILES', 'ANDROID_RES_DIRS', + 'ASFLAGS', 'CMSRCS', 'CMMSRCS', 'CPP_UNIT_TESTS', 'DIRS', 'EXTRA_DSO_LDOPTS', 'EXTRA_JS_MODULES', 'EXTRA_PP_COMPONENTS', 'EXTRA_PP_JS_MODULES',
--- a/python/mozbuild/mozbuild/frontend/context.py +++ b/python/mozbuild/mozbuild/frontend/context.py @@ -1357,16 +1357,25 @@ VARIABLES = { """Flags passed to the Objective-C++ compiler for all of the Objective-C++ source files declared in this directory. Note that the ordering of flags matters here; these flags will be added to the compiler's command line in the same order as they appear in the moz.build file. """, None), + 'ASFLAGS': (List, list, + """Flags passed to the assembler for all of the assembly source files + declared in this directory. + + Note that the ordering of flags matters here; these flags will be + added to the assembler's command line in the same order as they + appear in the moz.build file. + """, None), + 'LDFLAGS': (List, list, """Flags passed to the linker when linking all of the libraries and executables declared in this directory. Note that the ordering of flags matters here; these flags will be added to the linker's command line in the same order as they appear in the moz.build file. """, None),
--- a/python/mozbuild/mozbuild/frontend/emitter.py +++ b/python/mozbuild/mozbuild/frontend/emitter.py @@ -577,17 +577,18 @@ class TreeMetadataEmitter(LoggingMixin): passthru.variables[v] = context[v] if context.config.substs.get('OS_TARGET') == 'WINNT' and \ context['DELAYLOAD_DLLS']: context['LDFLAGS'].extend([('-DELAYLOAD:%s' % dll) for dll in context['DELAYLOAD_DLLS']]) context['OS_LIBS'].append('delayimp') - for v in ['CFLAGS', 'CXXFLAGS', 'CMFLAGS', 'CMMFLAGS', 'LDFLAGS']: + for v in ['CFLAGS', 'CXXFLAGS', 'CMFLAGS', 'CMMFLAGS', 'ASFLAGS', + 'LDFLAGS']: if v in context and context[v]: passthru.variables['MOZBUILD_' + v] = context[v] # NO_VISIBILITY_FLAGS is slightly different if context['NO_VISIBILITY_FLAGS']: passthru.variables['VISIBILITY_FLAGS'] = '' for obj in self._process_sources(context, passthru):
--- a/xpcom/reflect/xptcall/md/unix/Makefile.in +++ b/xpcom/reflect/xptcall/md/unix/Makefile.in @@ -27,50 +27,26 @@ else # #434190 optimized builds crash CXXFLAGS := $(filter-out $(MOZ_OPTIMIZE_FLAGS), $(CXXFLAGS)) endif endif endif ###################################################################### -# M68k -###################################################################### - -ifeq ($(OS_ARCH),Linux) -ifneq (,$(findstring mips, $(OS_TEST))) -ASFLAGS += -I$(DIST)/include -endif -endif - -###################################################################### # PowerPC ###################################################################### # # AIX/PPC # ifeq ($(OS_ARCH),AIX) # #24617 Building the CPP's (CXX) optimized causes a crash CXXFLAGS := $(filter-out $(MOZ_OPTIMIZE_FLAGS), $(CXXFLAGS)) endif -###################################################################### -# SPARC -###################################################################### -# -# Solaris/SPARC -# -ifeq ($(OS_ARCH),SunOS) -ifneq (86,$(findstring 86,$(OS_TEST))) -ifdef HAVE_64BIT_BUILD -ASFLAGS += -xarch=v9 -endif -endif -endif - include $(topsrcdir)/config/rules.mk ifeq ($(OS_ARCH),Linux) ifneq (,$(findstring mips, $(OS_TEST))) xptcstubs_asm_mips.o: $(DIST)/include/xptcstubsdef.inc endif endif @@ -93,15 +69,11 @@ ifeq ($(OS_ARCH),SunOS) ifeq (86,$(findstring 86,$(OS_TEST))) ifndef GNU_CC xptcstubsdef_asm.solx86: $(DIST)/include/xptcstubsdef.inc sed \ -e 's/^\(STUB_ENTRY\)(\([0-9]\))/\11\(\2\)/' \ -e 's/^\(STUB_ENTRY\)(\([0-9][0-9]\))/\12\(\2\)/' \ -e 's/^\(STUB_ENTRY\)(\([0-9][0-9][0-9]\))/\13\(\2\)/' \ $(DIST)/include/xptcstubsdef.inc > $@ -ifeq (x86_64,$(OS_TEST)) -ASFLAGS += -xarch=amd64 -endif - endif endif endif
--- a/xpcom/reflect/xptcall/md/unix/moz.build +++ b/xpcom/reflect/xptcall/md/unix/moz.build @@ -54,16 +54,17 @@ if CONFIG['OS_ARCH'] == 'SunOS' and '86' ] if CONFIG['OS_TEST'] == 'x86_64': if CONFIG['GNU_CC']: SOURCES += [ 'xptcinvoke_x86_64_unix.cpp', 'xptcstubs_x86_64_linux.cpp' ] else: + ASFLAGS += ['-xarch=amd64'] SOURCES += [ 'xptcinvoke_x86_64_solaris.cpp', 'xptcstubs_asm_x86_64_solaris_SUNW.s', 'xptcstubs_x86_64_solaris.cpp', ] else: if CONFIG['GNU_CC']: SOURCES += [ @@ -266,16 +267,17 @@ if CONFIG['OS_ARCH'] in ('OpenBSD', 'Fre 'xptcinvoke_asm_sparc64_openbsd.s', 'xptcinvoke_sparc64_openbsd.cpp', 'xptcstubs_asm_sparc64_openbsd.s', 'xptcstubs_sparc64_openbsd.cpp', ] if CONFIG['OS_ARCH'] == 'SunOS' and '86' not in CONFIG['OS_TEST']: if CONFIG['HAVE_64BIT_BUILD']: + ASFLAGS += ['-xarch=v9'] SOURCES += [ 'xptcinvoke_sparcv9_solaris.cpp', 'xptcstubs_sparcv9_solaris.cpp', ] else: SOURCES += [ 'xptcinvoke_sparc_solaris.cpp', 'xptcstubs_sparc_solaris.cpp',