diff --git a/build/autoconf/android.m4 b/build/autoconf/android.m4 index 4ab6d5a82..6c55a3f3f 100644 --- a/build/autoconf/android.m4 +++ b/build/autoconf/android.m4 @@ -210,12 +210,6 @@ fi AC_DEFUN([MOZ_ANDROID_INSTALL_TRACKING], [ -if test -n "$MOZ_INSTALL_TRACKING"; then - AC_SUBST(MOZ_INSTALL_TRACKING) - MOZ_ANDROID_AAR(play-services-ads, $ANDROID_GOOGLE_PLAY_SERVICES_VERSION, google, com/google/android/gms) - MOZ_ANDROID_AAR(play-services-basement, $ANDROID_GOOGLE_PLAY_SERVICES_VERSION, google, com/google/android/gms) -fi - ]) dnl Configure an Android SDK. diff --git a/build/moz.configure/keyfiles.configure b/build/moz.configure/keyfiles.configure index 99df5050c..92aea5eda 100644 --- a/build/moz.configure/keyfiles.configure +++ b/build/moz.configure/keyfiles.configure @@ -36,10 +36,6 @@ def keyfile(desc, help=None, callback=lambda x: x): def simple_keyfile(desc): value = keyfile(desc) set_config('MOZ_%s_KEY' % desc.upper().replace(' ', '_'), value) - # Only really required for MOZ_ADJUST_SDK_KEY currently still used in - # old-configure. - add_old_configure_assignment('MOZ_%s_KEY' % desc.upper().replace(' ', '_'), - value) @template diff --git a/build/moz.configure/old.configure b/build/moz.configure/old.configure index 38ef7fee8..9117eac06 100644 --- a/build/moz.configure/old.configure +++ b/build/moz.configure/old.configure @@ -227,6 +227,7 @@ def old_configure_options(*options): '--enable-safe-browsing', '--enable-sandbox', '--enable-security-sqlstore', + '--enable-shared-media', '--enable-signmar', '--enable-simulator', '--enable-small-chunk-size', diff --git a/config/moz.build b/config/moz.build index fccf5cbcd..3e95e46d2 100644 --- a/config/moz.build +++ b/config/moz.build @@ -28,6 +28,9 @@ if CONFIG['HOST_OS_ARCH'] != 'WINNT': # while the program here is in C. HostProgram('nsinstall_real', c_only=True) +if CONFIG['GKMEDIAS_SHARED_LIBRARY']: + DEFINES['GKMEDIAS_SHARED_LIBRARY'] = True + PYTHON_UNIT_TESTS += [ 'tests/test_mozbuild_reading.py', 'tests/unit-expandlibs.py', diff --git a/config/system-headers b/config/system-headers index 015644428..76c79c915 100644 --- a/config/system-headers +++ b/config/system-headers @@ -1287,6 +1287,22 @@ QtSparql/qsparqlresult.h #if MOZ_TREE_PIXMAN!=1 pixman.h #endif +#ifdef GKMEDIAS_SHARED_LIBRARY +vpx/vpx_codec.h +vpx/vpx_decoder.h +vpx/vpx_encoder.h +vpx/vp8cx.h +vpx/vp8dx.h +vpx_mem/vpx_mem.h +vorbis/codec.h +theora/theoradec.h +tremor/ivorbiscodec.h +speex/speex_resampler.h +ogg/ogg.h +ogg/os_types.h +nestegg/nestegg.h +cubeb/cubeb.h +#endif gst/gst.h gst/app/gstappsink.h gst/app/gstappsrc.h diff --git a/dom/media/gmp/moz.build b/dom/media/gmp/moz.build index 252bfc4a6..6e9e92e8a 100644 --- a/dom/media/gmp/moz.build +++ b/dom/media/gmp/moz.build @@ -145,6 +145,9 @@ IPDL_SOURCES += [ 'PGMPVideoEncoder.ipdl', ] +if CONFIG['GKMEDIAS_SHARED_LIBRARY']: + NO_VISIBILITY_FLAGS = True + # comment this out to use Unsafe Shmem for more performance DEFINES['GMP_SAFE_SHMEM'] = True diff --git a/gfx/angle/moz.build b/gfx/angle/moz.build index 290332ed9..ebdbba425 100644 --- a/gfx/angle/moz.build +++ b/gfx/angle/moz.build @@ -175,6 +175,14 @@ EXPORTS.angle.KHR += [ 'include/KHR/khrplatform.h' ] LOCAL_INCLUDES += [ 'include', 'src', 'src/common/third_party/numerics' ] +if CONFIG['GKMEDIAS_SHARED_LIBRARY']: + NO_VISIBILITY_FLAGS = True + +# This tells ANGLE to build the translator with declspec(dllexport) on Windows +# which we need to get these symbols exported from gkmedias +DEFINES['COMPONENT_BUILD'] = True +DEFINES['ANGLE_TRANSLATOR_IMPLEMENTATION'] = True + # We allow warnings for third-party code that can be updated from upstream. ALLOW_COMPILER_WARNINGS = True diff --git a/gfx/cairo/libpixman/src/pixman.h b/gfx/cairo/libpixman/src/pixman.h index 23408b028..893adc50e 100644 --- a/gfx/cairo/libpixman/src/pixman.h +++ b/gfx/cairo/libpixman/src/pixman.h @@ -94,16 +94,6 @@ PIXMAN_BEGIN_DECLS #if defined (_SVR4) || defined (SVR4) || defined (__OpenBSD__) || defined (_sgi) || defined (__sun) || defined (sun) || defined (__digital__) || defined (__HP_cc) # include -/* VS 2010 (_MSC_VER 1600) has stdint.h */ -#elif defined (_MSC_VER) && _MSC_VER < 1600 -typedef __int8 int8_t; -typedef unsigned __int8 uint8_t; -typedef __int16 int16_t; -typedef unsigned __int16 uint16_t; -typedef __int32 int32_t; -typedef unsigned __int32 uint32_t; -typedef __int64 int64_t; -typedef unsigned __int64 uint64_t; #else # include #endif diff --git a/gfx/graphite2/src/moz.build b/gfx/graphite2/src/moz.build index 09ebc0ce6..ecf396e2b 100644 --- a/gfx/graphite2/src/moz.build +++ b/gfx/graphite2/src/moz.build @@ -57,9 +57,13 @@ SOURCES += [ 'UtfCodec.cpp', ] -# tell graphite2 not to export symbols, we'll be linking it directly with -# thebes -DEFINES['GRAPHITE2_STATIC'] = True +if CONFIG['GKMEDIAS_SHARED_LIBRARY']: + NO_VISIBILITY_FLAGS = True + DEFINES['GRAPHITE2_EXPORTING'] = True +else: + # tell graphite2 not to export symbols, we'll be linking it directly with + # thebes + DEFINES['GRAPHITE2_STATIC'] = True # We allow warnings for third-party code that can be updated from upstream. ALLOW_COMPILER_WARNINGS = True diff --git a/gfx/harfbuzz/src/hb-common.h b/gfx/harfbuzz/src/hb-common.h index 2cbee76a8..2e17d4bb0 100644 --- a/gfx/harfbuzz/src/hb-common.h +++ b/gfx/harfbuzz/src/hb-common.h @@ -51,16 +51,6 @@ # include #elif defined (_AIX) # include -/* VS 2010 (_MSC_VER 1600) has stdint.h */ -#elif defined (_MSC_VER) && _MSC_VER < 1600 -typedef __int8 int8_t; -typedef unsigned __int8 uint8_t; -typedef __int16 int16_t; -typedef unsigned __int16 uint16_t; -typedef __int32 int32_t; -typedef unsigned __int32 uint32_t; -typedef __int64 int64_t; -typedef unsigned __int64 uint64_t; #else # include #endif diff --git a/gfx/harfbuzz/src/hb-private.hh b/gfx/harfbuzz/src/hb-private.hh index 666af6260..c1418d8a5 100644 --- a/gfx/harfbuzz/src/hb-private.hh +++ b/gfx/harfbuzz/src/hb-private.hh @@ -178,9 +178,7 @@ static int errno = 0; /* Use something better? */ # elif defined(WINAPI_FAMILY) && (WINAPI_FAMILY==WINAPI_FAMILY_PC_APP || WINAPI_FAMILY==WINAPI_FAMILY_PHONE_APP) # define getenv(Name) NULL # endif -# if defined(_MSC_VER) && _MSC_VER < 1900 -# define snprintf _snprintf -# elif defined(_MSC_VER) && _MSC_VER >= 1900 +# if defined(_MSC_VER) # /* Covers VC++ Error for strdup being a deprecated POSIX name and to instead use _strdup instead */ # define strdup _strdup # endif diff --git a/gfx/ots/src/moz.build b/gfx/ots/src/moz.build index 150773db9..909a2092e 100644 --- a/gfx/ots/src/moz.build +++ b/gfx/ots/src/moz.build @@ -56,6 +56,9 @@ SOURCES += [ 'vvar.cc', ] +if CONFIG['GKMEDIAS_SHARED_LIBRARY']: + NO_VISIBILITY_FLAGS = True + # We allow warnings for third-party code that can be updated from upstream. ALLOW_COMPILER_WARNINGS = True @@ -66,6 +69,10 @@ DEFINES['PACKAGE_BUGREPORT'] = '"http://bugzilla.mozilla.org/"' DEFINES['OTS_GRAPHITE'] = 1 DEFINES['OTS_VARIATIONS'] = 1 +if CONFIG['GKMEDIAS_SHARED_LIBRARY']: + DEFINES['OTS_DLL'] = True + DEFINES['OTS_DLL_EXPORTS'] = True + USE_LIBS += [ 'brotli', 'woff2', diff --git a/gfx/qcms/moz.build b/gfx/qcms/moz.build index 405743606..9bcbbe63a 100644 --- a/gfx/qcms/moz.build +++ b/gfx/qcms/moz.build @@ -16,7 +16,10 @@ SOURCES += [ 'transform_util.c', ] -FINAL_LIBRARY = 'xul' +if CONFIG['GKMEDIAS_SHARED_LIBRARY']: + NO_VISIBILITY_FLAGS = True + +FINAL_LIBRARY = 'gkmedias' if CONFIG['GNU_CC']: CFLAGS += ['-Wno-missing-field-initializers'] diff --git a/gfx/skia/generate_mozbuild.py b/gfx/skia/generate_mozbuild.py index 08d6ed9ab..de0a5c52e 100644 --- a/gfx/skia/generate_mozbuild.py +++ b/gfx/skia/generate_mozbuild.py @@ -84,6 +84,10 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': 'skia/src/fonts/SkRemotableFontMgr.cpp', ] +if CONFIG['GKMEDIAS_SHARED_LIBRARY']: + DEFINES['SKIA_DLL'] = 1 + DEFINES['GR_DLL'] = 1 + # We should autogenerate these SSE related flags. if CONFIG['_MSC_VER']: diff --git a/gfx/skia/moz.build b/gfx/skia/moz.build index 56570e61f..c218f6477 100644 --- a/gfx/skia/moz.build +++ b/gfx/skia/moz.build @@ -643,11 +643,11 @@ else: 'skia/src/opts/SkBlitRow_opts_none.cpp', ] - # We allow warnings for third-party code that can be updated from upstream. ALLOW_COMPILER_WARNINGS = True -FINAL_LIBRARY = 'gkmedias' +FINAL_LIBRARY = 'xul' + LOCAL_INCLUDES += [ 'skia/include/c', 'skia/include/config', diff --git a/gfx/skia/skia/include/utils/SkPaintFilterCanvas.h b/gfx/skia/skia/include/utils/SkPaintFilterCanvas.h index 63eaaa2fb..29474df0f 100644 --- a/gfx/skia/skia/include/utils/SkPaintFilterCanvas.h +++ b/gfx/skia/skia/include/utils/SkPaintFilterCanvas.h @@ -27,7 +27,7 @@ public: * specified canvas. Also copies the target canvas matrix and clip bounds. */ SkPaintFilterCanvas(SkCanvas* canvas); - + enum Type { kPaint_Type, kPoint_Type, diff --git a/gfx/skia/skia/src/core/SkCanvas.cpp b/gfx/skia/skia/src/core/SkCanvas.cpp index 505592d0f..0a080f737 100644 --- a/gfx/skia/skia/src/core/SkCanvas.cpp +++ b/gfx/skia/skia/src/core/SkCanvas.cpp @@ -22,6 +22,7 @@ #include "SkLatticeIter.h" #include "SkMatrixUtils.h" #include "SkMetaData.h" +#include "SkNWayCanvas.h" #include "SkNx.h" #include "SkPaintPriv.h" #include "SkPatchUtils.h" @@ -45,9 +46,10 @@ #include "GrContext.h" #include "GrRenderTarget.h" #include "SkGrPriv.h" - #endif +class SkNWayCanvas; + #define RETURN_ON_NULL(ptr) do { if (nullptr == (ptr)) return; } while (0) /* diff --git a/gfx/skia/skia/src/ports/SkTypeface_win_dw.cpp b/gfx/skia/skia/src/ports/SkTypeface_win_dw.cpp index 96a728f60..ca5f01aed 100644 --- a/gfx/skia/skia/src/ports/SkTypeface_win_dw.cpp +++ b/gfx/skia/skia/src/ports/SkTypeface_win_dw.cpp @@ -251,7 +251,7 @@ SkScalerContext* DWriteFontTypeface::onCreateScalerContext(const SkScalerContext } #ifdef MOZ_SKIA -IDWriteRenderingParams* GetDwriteRenderingParams(bool aGDI); +extern IDWriteRenderingParams* GetDwriteRenderingParams(bool aGDI); #endif void DWriteFontTypeface::onFilterRec(SkScalerContext::Rec* rec) const { diff --git a/gfx/thebes/moz.build b/gfx/thebes/moz.build index a725ab024..b84c4a4c6 100644 --- a/gfx/thebes/moz.build +++ b/gfx/thebes/moz.build @@ -255,6 +255,9 @@ LOCAL_INCLUDES += ['/media/libyuv/include'] DEFINES['GRAPHITE2_STATIC'] = True +if CONFIG['GKMEDIAS_SHARED_LIBRARY']: + DEFINES['OTS_DLL'] = True + if CONFIG['CLANG_CXX']: # Suppress warnings from Skia header files. SOURCES['gfxPlatform.cpp'].flags += ['-Wno-implicit-fallthrough'] diff --git a/layout/media/Makefile.in b/layout/media/Makefile.in new file mode 100644 index 000000000..86d9b181d --- /dev/null +++ b/layout/media/Makefile.in @@ -0,0 +1,11 @@ +# +# 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/. + +include $(topsrcdir)/config/rules.mk + +ifeq (WINNT,$(OS_TARGET)) +symbols.def: symbols.def.in $(GLOBAL_DEPS) + $(call py_action,preprocessor,$(ACDEFINES) $< -o $@) +endif diff --git a/layout/media/moz.build b/layout/media/moz.build index 8fd0eb9a8..9ea465319 100644 --- a/layout/media/moz.build +++ b/layout/media/moz.build @@ -6,16 +6,23 @@ with Files('**'): BUG_COMPONENT = ('Core', 'Video/Audio') -# media/webrtc/signaling/test/common.build uses the gkmedias library, -# expecting at least some of what it contains to be linked, but not libxul, -# so we need to keep an independent pseudo-library, as well as the OS_LIBS -# on Windows for them to propagate there. -Library('gkmedias') +if CONFIG['GKMEDIAS_SHARED_LIBRARY']: + GeckoSharedLibrary('gkmedias', linkage=None) + USE_LIBS += [ + 'nspr', + ] +else: + # media/webrtc/signaling/test/common.build uses the gkmedias library, + # expecting at least some of what it contains to be linked, but not libxul, + # so we need to keep an independent pseudo-library, as well as the OS_LIBS + # on Windows for them to propagate there. + Library('gkmedias') if CONFIG['MOZ_WEBRTC']: DIRS += ['webrtc'] if CONFIG['OS_TARGET'] == 'WINNT': + DEFFILE = 'symbols.def' OS_LIBS += [ 'usp10', 'ole32', diff --git a/layout/media/symbols.def.in b/layout/media/symbols.def.in new file mode 100644 index 000000000..6e2364f51 --- /dev/null +++ b/layout/media/symbols.def.in @@ -0,0 +1,678 @@ +;+# 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/. + +LIBRARY gkmedias.dll +EXPORTS +nestegg_destroy +nestegg_duration +nestegg_free_packet +nestegg_init +nestegg_offset_seek +nestegg_packet_count +nestegg_packet_discard_padding +nestegg_packet_data +nestegg_packet_duration +nestegg_packet_encryption +nestegg_packet_has_keyframe +nestegg_packet_iv +nestegg_packet_track +nestegg_packet_tstamp +nestegg_read_packet +nestegg_read_reset +nestegg_track_audio_params +nestegg_track_codec_data +nestegg_track_codec_data_count +nestegg_track_codec_id +nestegg_track_content_enc_key_id +nestegg_track_count +nestegg_get_cue_point +nestegg_track_seek +nestegg_track_type +nestegg_track_video_params +nestegg_tstamp_scale +nestegg_has_cues +nestegg_sniff +#ifdef MOZ_WEBM_ENCODER +writeSimpleBlock +writeHeader +writeSegmentInformation +writeVideoTrack +writeAudioTrack +Ebml_Serialize +Ebml_SerializeUnsigned +Ebml_StartSubElement +Ebml_EndSubElement +#endif +vpx_codec_control_ +vpx_codec_dec_init_ver +vpx_codec_decode +vpx_codec_destroy +vpx_codec_err_to_string +vpx_codec_get_frame +vpx_codec_peek_stream_info +vpx_codec_vp8_dx +vpx_codec_vp9_dx +vpx_img_free +vpx_codec_enc_config_set +vpx_codec_enc_init_ver +vpx_codec_vp8_cx +vpx_codec_vp9_cx +vpx_img_set_rect +vpx_img_wrap +vpx_codec_get_cx_data +vpx_codec_enc_config_default +vpx_img_alloc +vpx_codec_encode +#ifdef MOZ_WEBRTC +vpx_codec_set_frame_buffer_functions +vpx_codec_enc_init_multi_ver +#endif +#ifdef MOZ_AV1 +aom_codec_av1_dx +aom_codec_dec_init_ver +aom_codec_decode +aom_codec_destroy +aom_codec_err_to_string +aom_codec_get_frame +aom_codec_peek_stream_info +aom_img_alloc +aom_img_free +#endif +#ifdef MOZ_VORBIS +ogg_page_bos +ogg_page_granulepos +ogg_page_serialno +ogg_set_mem_functions +ogg_stream_check +ogg_stream_clear +ogg_stream_eos +ogg_stream_flush +ogg_stream_init +ogg_stream_packetin +ogg_stream_packetout +ogg_stream_pagein +ogg_stream_pageout +ogg_stream_reset +ogg_sync_buffer +ogg_sync_clear +ogg_sync_init +ogg_sync_pageseek +ogg_sync_reset +ogg_sync_wrote +vorbis_analysis +vorbis_analysis_blockout +vorbis_analysis_buffer +vorbis_analysis_init +vorbis_analysis_headerout +vorbis_analysis_wrote +vorbis_block_clear +vorbis_block_init +vorbis_comment_add_tag +vorbis_comment_clear +vorbis_comment_init +vorbis_dsp_clear +vorbis_encode_init_vbr +vorbis_info_clear +vorbis_info_init +vorbis_packet_blocksize +vorbis_synthesis +vorbis_synthesis_blockin +vorbis_synthesis_headerin +vorbis_synthesis_init +vorbis_synthesis_pcmout +vorbis_synthesis_read +vorbis_synthesis_restart +#endif +moz_speex_resampler_init +moz_speex_resampler_destroy +moz_speex_resampler_process_float +moz_speex_resampler_process_interleaved_float +moz_speex_resampler_process_interleaved_int +moz_speex_resampler_set_rate +moz_speex_resampler_get_rate +moz_speex_resampler_get_ratio +moz_speex_resampler_get_input_latency +moz_speex_resampler_get_output_latency +moz_speex_resampler_skip_zeros +moz_speex_resampler_set_skip_frac_num +moz_speex_resampler_reset_mem +cubeb_destroy +#ifdef MOZ_WEBRTC +cubeb_device_collection_destroy +cubeb_enumerate_devices +#endif +cubeb_init +cubeb_get_backend_id +cubeb_get_max_channel_count +cubeb_get_min_latency +cubeb_get_preferred_sample_rate +cubeb_set_log_callback +cubeb_stream_destroy +cubeb_stream_get_position +cubeb_stream_init +cubeb_stream_start +cubeb_stream_stop +cubeb_stream_get_latency +cubeb_stream_set_volume +cubeb_stream_set_panning +cubeb_stream_get_current_device +cubeb_stream_device_destroy +cubeb_stream_register_device_changed_callback +th_comment_clear +th_comment_init +th_decode_alloc +th_decode_free +th_decode_headerin +th_decode_packetin +th_decode_ycbcr_out +th_granule_frame +th_info_clear +th_info_init +th_packet_isheader +th_packet_iskeyframe +th_setup_free +opus_decoder_create +opus_decoder_destroy +opus_decoder_ctl +opus_decoder_get_nb_samples +opus_decode +opus_decode_float +opus_get_version_string +opus_multistream_decoder_create +opus_multistream_decoder_ctl +opus_multistream_decoder_destroy +opus_multistream_decode_float +opus_multistream_decode +opus_packet_get_nb_frames +opus_packet_get_samples_per_frame +opus_encoder_create +opus_encoder_destroy +opus_encoder_ctl +opus_encode +opus_encode_float +#ifdef MOZ_WEBRTC +opus_custom_mode_create +opus_packet_parse +opus_packet_get_nb_channels +downmix_int +tonality_analysis_init +run_analysis +#endif +#ifndef MOZ_NATIVE_PNG +MOZ_APNG_get_first_frame_is_hidden +MOZ_APNG_get_next_frame_blend_op +MOZ_APNG_get_next_frame_delay_den +MOZ_APNG_get_next_frame_delay_num +MOZ_APNG_get_next_frame_dispose_op +MOZ_APNG_set_prog_frame_fn +MOZ_APNG_get_next_frame_height +MOZ_APNG_get_next_frame_width +MOZ_APNG_get_next_frame_x_offset +MOZ_APNG_get_next_frame_y_offset +MOZ_APNG_set_acTL +MOZ_APNG_set_first_frame_is_hidden +MOZ_APNG_set_num_plays +MOZ_APNG_write_frame_head +MOZ_APNG_write_frame_tail +MOZ_PNG_cr_info_str +MOZ_PNG_cr_read_str +MOZ_PNG_cr_write_str +MOZ_PNG_dest_read_str +MOZ_PNG_dest_write_str +MOZ_PNG_free_data +MOZ_PNG_get_channels +MOZ_PNG_get_cHRM +MOZ_PNG_get_gAMA +MOZ_PNG_get_IHDR +MOZ_PNG_get_iCCP +MOZ_PNG_get_io_ptr +MOZ_PNG_get_progressive_ptr +MOZ_PNG_get_sRGB +MOZ_PNG_get_tRNS +MOZ_PNG_get_valid +MOZ_PNG_longjmp +MOZ_PNG_process_data +MOZ_PNG_process_data_pause +MOZ_PNG_progressive_combine_row +MOZ_PNG_read_update_info +MOZ_PNG_set_cHRM +MOZ_PNG_set_crc_action +MOZ_PNG_set_gAMA +MOZ_PNG_set_gamma +MOZ_PNG_set_gray_to_rgb +MOZ_PNG_set_expand +MOZ_PNG_set_IHDR +MOZ_PNG_set_interlace_handling +MOZ_PNG_set_longjmp_fn +MOZ_PNG_set_progressive_read_fn +MOZ_PNG_set_scale_16 +MOZ_PNG_set_write_fn +MOZ_PNG_write_end +MOZ_PNG_write_info +MOZ_PNG_write_row +#endif +png_set_option +png_error +#ifndef MOZ_NATIVE_JPEG +jpeg_calc_output_dimensions +jpeg_consume_input +jpeg_CreateCompress +jpeg_CreateDecompress +jpeg_destroy_compress +jpeg_destroy_decompress +jpeg_finish_compress +jpeg_finish_decompress +jpeg_finish_output +jpeg_has_multiple_scans +jpeg_input_complete +jpeg_read_header +jpeg_read_scanlines +jpeg_resync_to_restart +jpeg_save_markers +jpeg_set_defaults +jpeg_set_quality +jpeg_start_compress +jpeg_start_decompress +jpeg_start_output +jpeg_std_error +jpeg_write_scanlines +jpeg_write_raw_data +jpeg_stdio_dest +jpeg_abort +jpeg_abort_decompress +jpeg_read_raw_data +#endif +WebPDemuxDelete +WebPDemuxGetChunk +WebPDemuxGetFrame +WebPDemuxGetI +WebPDemuxInternal +WebPDemuxNextFrame +WebPDemuxReleaseChunkIterator +WebPDemuxReleaseIterator +WebPFreeDecBuffer +WebPIDecGetRGB +WebPIDelete +WebPINewDecoder +WebPIUpdate +WebPInitDecBufferInternal +qcms_enable_iccv4 +qcms_data_from_unicode_path +qcms_data_from_path +qcms_profile_create_rgb_with_gamma +qcms_profile_from_memory +qcms_profile_from_path +qcms_profile_from_unicode_path +qcms_profile_get_color_space +qcms_profile_get_rendering_intent +qcms_profile_is_bogus +qcms_profile_precache_output_transform +qcms_profile_release +qcms_profile_sRGB +qcms_transform_create +qcms_transform_data +qcms_transform_release +MOZ_XMLCheckQName +MOZ_XMLIsLetter +MOZ_XMLIsNCNameChar +MOZ_XMLTranslateEntity +MOZ_XML_ExternalEntityParserCreate +MOZ_XML_GetBase +MOZ_XML_GetCurrentByteIndex +MOZ_XML_GetCurrentColumnNumber +MOZ_XML_GetCurrentLineNumber +MOZ_XML_GetErrorCode +MOZ_XML_GetIdAttributeIndex +MOZ_XML_GetMismatchedTag +MOZ_XML_GetSpecifiedAttributeCount +MOZ_XML_Parse +MOZ_XML_ParserCreate_MM +MOZ_XML_ParserFree +MOZ_XML_ResumeParser +MOZ_XML_SetBase +MOZ_XML_SetCdataSectionHandler +MOZ_XML_SetCharacterDataHandler +MOZ_XML_SetCommentHandler +MOZ_XML_SetDefaultHandlerExpand +MOZ_XML_SetDoctypeDeclHandler +MOZ_XML_SetElementHandler +MOZ_XML_SetExternalEntityRefHandler +MOZ_XML_SetExternalEntityRefHandlerArg +MOZ_XML_SetNamespaceDeclHandler +MOZ_XML_SetNotationDeclHandler +MOZ_XML_SetParamEntityParsing +MOZ_XML_SetProcessingInstructionHandler +MOZ_XML_SetReturnNSTriplet +MOZ_XML_SetUnparsedEntityDeclHandler +MOZ_XML_SetUserData +MOZ_XML_SetXmlDeclHandler +MOZ_XML_StopParser +#ifdef MOZ_TREE_CAIRO +_moz_cairo_append_path +_moz_cairo_arc +_moz_cairo_arc_negative +_moz_cairo_clip +_moz_cairo_clip_extents +_moz_cairo_clip_preserve +_moz_cairo_close_path +_moz_cairo_copy_clip_rectangle_list +_moz_cairo_copy_path +_moz_cairo_copy_path_flat +_moz_cairo_create +_moz_cairo_curve_to +_moz_cairo_d2d_create_device +_moz_cairo_d2d_create_device_from_d3d10device +_moz_cairo_d2d_device_get_device +_moz_cairo_d2d_get_dc +_moz_cairo_d2d_get_image_surface_cache_usage +_moz_cairo_d2d_get_surface_vram_usage +_moz_cairo_d2d_present_backbuffer +_moz_cairo_d2d_release_dc +_moz_cairo_d2d_scroll +_moz_cairo_d2d_surface_create +_moz_cairo_d2d_surface_create_for_handle +_moz_cairo_d2d_surface_create_for_hwnd +_moz_cairo_d2d_surface_create_for_texture +_moz_cairo_d2d_surface_get_height +_moz_cairo_d2d_surface_get_texture +_moz_cairo_d2d_surface_get_width +_moz_cairo_debug_reset_static_data +_moz_cairo_destroy +_moz_cairo_device_to_user +_moz_cairo_device_to_user_distance +_moz_cairo_dwrite_font_face_create_for_dwrite_fontface +_moz_cairo_dwrite_get_cleartype_rendering_mode +_moz_cairo_dwrite_scaled_font_allow_manual_show_glyphs +_moz_cairo_dwrite_scaled_font_get_force_GDI_classic +_moz_cairo_dwrite_scaled_font_set_force_GDI_classic +_moz_cairo_dwrite_set_cleartype_params +_moz_cairo_fill +_moz_cairo_fill_extents +_moz_cairo_fill_preserve +_moz_cairo_font_face_destroy +_moz_cairo_font_options_create +_moz_cairo_font_options_destroy +_moz_cairo_font_options_get_antialias +_moz_cairo_font_options_get_hint_metrics +_moz_cairo_font_options_set_antialias +_moz_cairo_format_stride_for_width +_moz_cairo_get_antialias +_moz_cairo_get_current_point +_moz_cairo_get_dash +_moz_cairo_get_dash_count +_moz_cairo_get_fill_rule +_moz_cairo_get_font_matrix +_moz_cairo_get_font_options +_moz_cairo_get_group_target +_moz_cairo_get_line_cap +_moz_cairo_get_line_join +_moz_cairo_get_line_width +_moz_cairo_get_matrix +_moz_cairo_get_miter_limit +_moz_cairo_get_operator +_moz_cairo_get_scaled_font +_moz_cairo_get_source +_moz_cairo_get_target +_moz_cairo_glyph_extents +_moz_cairo_glyph_path +_moz_cairo_identity_matrix +_moz_cairo_image_surface_create +_moz_cairo_image_surface_create_for_data +_moz_cairo_image_surface_get_data +_moz_cairo_image_surface_get_format +_moz_cairo_image_surface_get_height +_moz_cairo_image_surface_get_stride +_moz_cairo_image_surface_get_width +_moz_cairo_in_fill +_moz_cairo_in_stroke +_moz_cairo_line_to +_moz_cairo_mask +_moz_cairo_mask_surface +_moz_cairo_matrix_init +_moz_cairo_matrix_init_identity +_moz_cairo_matrix_init_scale +_moz_cairo_matrix_init_translate +_moz_cairo_matrix_invert +_moz_cairo_matrix_multiply +_moz_cairo_matrix_rotate +_moz_cairo_matrix_scale +_moz_cairo_matrix_transform_distance +_moz_cairo_matrix_transform_point +_moz_cairo_matrix_translate +_moz_cairo_move_to +_moz_cairo_new_path +_moz_cairo_new_sub_path +_moz_cairo_null_surface_create +_moz_cairo_paint +_moz_cairo_paint_with_alpha +_moz_cairo_path_destroy +_moz_cairo_path_extents +_moz_cairo_pattern_add_color_stop_rgba +_moz_cairo_pattern_create_for_surface +_moz_cairo_pattern_create_linear +_moz_cairo_pattern_create_radial +_moz_cairo_pattern_create_rgba +_moz_cairo_pattern_destroy +_moz_cairo_pattern_get_color_stop_count +_moz_cairo_pattern_get_color_stop_rgba +_moz_cairo_pattern_get_extend +_moz_cairo_pattern_get_filter +_moz_cairo_pattern_get_linear_points +_moz_cairo_pattern_get_matrix +_moz_cairo_pattern_get_radial_circles +_moz_cairo_pattern_get_rgba +_moz_cairo_pattern_get_surface +_moz_cairo_pattern_get_type +_moz_cairo_pattern_reference +_moz_cairo_pattern_set_extend +_moz_cairo_pattern_set_filter +_moz_cairo_pattern_set_matrix +_moz_cairo_pattern_status +_moz_cairo_pdf_surface_create_for_stream +_moz_cairo_pop_group +_moz_cairo_pop_group_to_source +_moz_cairo_push_group +_moz_cairo_push_group_with_content +_moz_cairo_rectangle +_moz_cairo_rectangle_list_destroy +_moz_cairo_reference +_moz_cairo_release_device +_moz_cairo_reset_clip +_moz_cairo_restore +_moz_cairo_rotate +_moz_cairo_save +_moz_cairo_scale +_moz_cairo_scaled_font_create +_moz_cairo_scaled_font_destroy +_moz_cairo_scaled_font_get_font_matrix +_moz_cairo_scaled_font_get_font_options +_moz_cairo_scaled_font_get_type +_moz_cairo_scaled_font_glyph_extents +_moz_cairo_scaled_font_reference +_moz_cairo_scaled_font_status +_moz_cairo_set_antialias +_moz_cairo_set_dash +_moz_cairo_set_fill_rule +_moz_cairo_set_font_face +_moz_cairo_set_font_options +_moz_cairo_set_font_size +_moz_cairo_set_line_cap +_moz_cairo_set_line_join +_moz_cairo_set_line_width +_moz_cairo_set_matrix +_moz_cairo_set_miter_limit +_moz_cairo_set_operator +_moz_cairo_set_scaled_font +_moz_cairo_set_source +_moz_cairo_set_source_rgba +_moz_cairo_set_source_surface +_moz_cairo_show_glyphs +_moz_cairo_status +_moz_cairo_status_to_string +_moz_cairo_stroke +_moz_cairo_stroke_extents +_moz_cairo_stroke_preserve +_moz_cairo_surface_attach_snapshot +_moz_cairo_surface_create_similar +_moz_cairo_surface_destroy +_moz_cairo_surface_finish +_moz_cairo_surface_flush +_moz_cairo_surface_get_content +_moz_cairo_surface_get_device_offset +_moz_cairo_surface_get_reference_count +_moz_cairo_surface_get_subpixel_antialiasing +_moz_cairo_surface_get_type +_moz_cairo_surface_get_user_data +_moz_cairo_surface_mark_dirty +_moz_cairo_surface_mark_dirty_rectangle +_moz_cairo_surface_reference +_moz_cairo_surface_set_device_offset +_moz_cairo_surface_set_fallback_resolution +_moz_cairo_surface_set_subpixel_antialiasing +_moz_cairo_surface_set_user_data +_moz_cairo_surface_show_page +_moz_cairo_surface_status +_moz_cairo_tee_surface_add +_moz_cairo_tee_surface_create +_moz_cairo_tee_surface_index +_moz_cairo_transform +_moz_cairo_translate +_moz_cairo_user_to_device +_moz_cairo_user_to_device_distance +_moz_cairo_win32_font_face_create_for_logfontw +_moz_cairo_win32_font_face_create_for_logfontw_hfont +_moz_cairo_win32_get_dc_with_clip +_moz_cairo_win32_get_system_text_quality +#ifdef NS_PRINTING +_moz_cairo_win32_printing_surface_create +#endif +_moz_cairo_win32_scaled_font_select_font +_moz_cairo_win32_surface_create +_moz_cairo_win32_surface_create_with_alpha +_moz_cairo_win32_surface_create_with_d3dsurface9 +_moz_cairo_win32_surface_create_with_ddb +_moz_cairo_win32_surface_create_with_dib +_moz_cairo_win32_surface_get_dc +_moz_cairo_win32_surface_get_height +_moz_cairo_win32_surface_get_image +_moz_cairo_win32_surface_get_width +_moz_cairo_win32_surface_set_can_convert_to_dib +#ifdef MOZ_TREE_PIXMAN +_moz_pixman_image_composite32 +_moz_pixman_image_create_bits +_moz_pixman_image_set_filter +_moz_pixman_image_set_transform +_moz_pixman_image_unref +_moz_pixman_transform_from_pixman_f_transform +_moz_pixman_transform_invert +_moz_pixman_region32_reset +_moz_pixman_region32_init +_moz_pixman_region32_init_rect +_moz_pixman_region32_init_rects +_moz_pixman_region32_init_with_extents +_moz_pixman_region32_fini +_moz_pixman_region32_translate +_moz_pixman_region32_copy +_moz_pixman_region32_intersect +_moz_pixman_region32_intersect_rect +_moz_pixman_region32_union +_moz_pixman_region32_union_rect +_moz_pixman_region32_subtract +_moz_pixman_region32_inverse +_moz_pixman_region32_contains_point +_moz_pixman_region32_contains_rectangle +_moz_pixman_region32_not_empty +_moz_pixman_region32_extents +_moz_pixman_region32_n_rects +_moz_pixman_region32_rectangles +_moz_pixman_region32_equal +_moz_pixman_region32_selfcheck +_moz_pixman_region32_reset +_moz_pixman_region32_clear +#endif +#endif +hb_blob_create +hb_blob_destroy +hb_blob_get_data +hb_blob_get_empty +hb_blob_get_length +hb_blob_reference +hb_buffer_add_utf16 +hb_buffer_create +hb_buffer_destroy +hb_buffer_get_glyph_infos +hb_buffer_get_glyph_positions +hb_buffer_reverse +hb_buffer_set_cluster_level +hb_buffer_set_direction +hb_buffer_set_language +hb_buffer_set_script +hb_buffer_set_unicode_funcs +hb_face_create_for_tables +hb_face_destroy +hb_face_reference +hb_font_create +hb_font_destroy +hb_font_funcs_create +hb_font_funcs_set_glyph_contour_point_func +hb_font_funcs_set_glyph_extents_func +hb_font_funcs_set_glyph_func +hb_font_funcs_set_glyph_h_advance_func +hb_font_funcs_set_glyph_h_kerning_func +hb_font_funcs_set_glyph_h_origin_func +hb_font_funcs_set_glyph_v_origin_func +hb_font_funcs_set_glyph_v_advance_func +hb_font_funcs_set_nominal_glyph_func +hb_font_funcs_set_variation_glyph_func +hb_font_set_funcs +hb_font_set_ppem +hb_font_set_scale +hb_language_from_string +hb_ot_layout_collect_lookups +hb_ot_layout_feature_get_lookups +hb_ot_layout_has_positioning +hb_ot_layout_has_substitution +hb_ot_layout_language_find_feature +hb_ot_layout_language_get_feature_indexes +hb_ot_layout_language_get_feature_tags +hb_ot_layout_language_get_required_feature_index +hb_ot_layout_lookup_collect_glyphs +hb_ot_layout_script_get_language_tags +hb_ot_layout_table_choose_script +hb_ot_layout_table_find_script +hb_ot_layout_table_get_script_tags +hb_ot_math_get_constant +hb_ot_math_get_glyph_assembly +hb_ot_math_get_glyph_italics_correction +hb_ot_math_get_glyph_variants +hb_ot_math_has_data +hb_ot_tag_to_language +hb_ot_tag_to_script +hb_ot_tags_from_script +hb_set_add +hb_set_clear +hb_set_create +hb_set_destroy +hb_set_get_population +hb_set_has +hb_set_intersect +hb_set_is_empty +hb_set_next +hb_shape +hb_unicode_funcs_create +hb_unicode_funcs_get_empty +hb_unicode_funcs_set_combining_class_func +hb_unicode_funcs_set_compose_func +hb_unicode_funcs_set_decompose_func +hb_unicode_funcs_set_eastasian_width_func +hb_unicode_funcs_set_general_category_func +hb_unicode_funcs_set_mirroring_func +hb_unicode_funcs_set_script_func +BrotliDecoderCreateInstance +BrotliDecoderDecompress +BrotliDecoderDecompressStream +BrotliDecoderDestroyInstance +BrotliDecoderIsFinished +BrotliDecoderStateCleanup +BrotliDecoderStateInit diff --git a/media/libaom/moz.build b/media/libaom/moz.build index 72d55cffe..aedac3102 100644 --- a/media/libaom/moz.build +++ b/media/libaom/moz.build @@ -88,6 +88,9 @@ else: LOCAL_INCLUDES += [ '/media/libaom/config/generic/' ] EXPORTS.aom += [ 'config/generic/config/aom_config.h' ] +if CONFIG['GKMEDIAS_SHARED_LIBRARY']: + NO_VISIBILITY_FLAGS = True + # We allow warnings for third-party code that can be updated from upstream. ALLOW_COMPILER_WARNINGS = True diff --git a/media/libcubeb/src/moz.build b/media/libcubeb/src/moz.build index b53dec799..65aaf7256 100644 --- a/media/libcubeb/src/moz.build +++ b/media/libcubeb/src/moz.build @@ -81,6 +81,9 @@ if CONFIG['OS_TARGET'] == 'Android': ] DEFINES['USE_AUDIOTRACK'] = True +if CONFIG['GKMEDIAS_SHARED_LIBRARY']: + NO_VISIBILITY_FLAGS = True + FINAL_LIBRARY = 'gkmedias' CFLAGS += CONFIG['MOZ_ALSA_CFLAGS'] diff --git a/media/libjpeg/moz.build b/media/libjpeg/moz.build index 866830dad..6519c30fb 100644 --- a/media/libjpeg/moz.build +++ b/media/libjpeg/moz.build @@ -150,6 +150,9 @@ else: # No SIMD support? ASFLAGS += CONFIG['LIBJPEG_TURBO_ASFLAGS'] ASFLAGS += ['-I%s/media/libjpeg/simd/' % TOPSRCDIR] +if CONFIG['GKMEDIAS_SHARED_LIBRARY']: + NO_VISIBILITY_FLAGS = True + # We allow warnings for third-party code that can be updated from upstream. ALLOW_COMPILER_WARNINGS = True diff --git a/media/libmkv/moz.build b/media/libmkv/moz.build index 2463bed86..018ca7474 100644 --- a/media/libmkv/moz.build +++ b/media/libmkv/moz.build @@ -20,6 +20,9 @@ SOURCES += [ 'WebMElement.c', ] +if CONFIG['GKMEDIAS_SHARED_LIBRARY']: + NO_VISIBILITY_FLAGS = True + FINAL_LIBRARY = 'gkmedias' # We allow warnings for third-party code that can be updated from upstream. diff --git a/media/libnestegg/src/moz.build b/media/libnestegg/src/moz.build index 541e18e04..bf9edcdbc 100644 --- a/media/libnestegg/src/moz.build +++ b/media/libnestegg/src/moz.build @@ -7,6 +7,9 @@ UNIFIED_SOURCES += [ 'nestegg.c', ] +if CONFIG['GKMEDIAS_SHARED_LIBRARY']: + NO_VISIBILITY_FLAGS = True + FINAL_LIBRARY = 'gkmedias' # We allow warnings for third-party code that can be updated from upstream. diff --git a/media/libogg/moz.build b/media/libogg/moz.build index a4745029e..abc8d0285 100644 --- a/media/libogg/moz.build +++ b/media/libogg/moz.build @@ -18,4 +18,7 @@ UNIFIED_SOURCES += [ 'src/ogg_framing.c', ] +if CONFIG['GKMEDIAS_SHARED_LIBRARY']: + NO_VISIBILITY_FLAGS = True + FINAL_LIBRARY = 'gkmedias' diff --git a/media/libopus/moz.build b/media/libopus/moz.build index 3c981e2aa..9ef394940 100644 --- a/media/libopus/moz.build +++ b/media/libopus/moz.build @@ -22,8 +22,10 @@ DEFINES['OPUS_BUILD'] = True DEFINES['OPUS_VERSION'] = '"v1.1.3-mozilla"' DEFINES['USE_ALLOCA'] = True -# Don't export symbols -DEFINES['OPUS_EXPORT'] = '' +# We only need to export symbols if we're built into libgkmedias +# instead of libxul. +if not CONFIG['GKMEDIAS_SHARED_LIBRARY']: + DEFINES['OPUS_EXPORT'] = '' if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['GNU_AS']: DEFINES['OPUS_ARM_ASM'] = True diff --git a/media/libpng/moz.build b/media/libpng/moz.build index 987c73745..ff4b9e9cb 100644 --- a/media/libpng/moz.build +++ b/media/libpng/moz.build @@ -46,6 +46,9 @@ if CONFIG['INTEL_ARCHITECTURE']: Library('mozpng') +if CONFIG['GKMEDIAS_SHARED_LIBRARY']: + NO_VISIBILITY_FLAGS = True + FINAL_LIBRARY = 'gkmedias' # We allow warnings for third-party code that can be updated from upstream. diff --git a/media/libspeex_resampler/src/moz.build b/media/libspeex_resampler/src/moz.build index cad566800..c8c8db653 100644 --- a/media/libspeex_resampler/src/moz.build +++ b/media/libspeex_resampler/src/moz.build @@ -22,7 +22,11 @@ FINAL_LIBRARY = 'gkmedias' # We don't compile the full speex codec, only the resampler. DEFINES['OUTSIDE_SPEEX'] = True +# Visibility is handled through VISIBILITY_FLAGS and +# layout/media/symbols.def.in. DEFINES['EXPORT'] = '' +if CONFIG['GKMEDIAS_SHARED_LIBRARY']: + NO_VISIBILITY_FLAGS = True if CONFIG['MOZ_SAMPLE_TYPE_S16']: DEFINES['FIXED_POINT'] = True diff --git a/media/libtheora/moz.build b/media/libtheora/moz.build index 5fe30c60b..0a88d8f92 100644 --- a/media/libtheora/moz.build +++ b/media/libtheora/moz.build @@ -17,6 +17,9 @@ ALLOW_COMPILER_WARNINGS = True FINAL_LIBRARY = 'gkmedias' +if CONFIG['GKMEDIAS_SHARED_LIBRARY']: + NO_VISIBILITY_FLAGS = True + # The encoder is currently not included. DEFINES['THEORA_DISABLE_ENCODE'] = True diff --git a/media/libvorbis/moz.build b/media/libvorbis/moz.build index 1d42d5ff1..0bc180909 100644 --- a/media/libvorbis/moz.build +++ b/media/libvorbis/moz.build @@ -47,6 +47,9 @@ if CONFIG['OS_ARCH'] == 'AIX': if CONFIG['OS_ARCH'] == 'SunOS': DEFINES['HAVE_ALLOCA_H'] = True +if CONFIG['GKMEDIAS_SHARED_LIBRARY']: + NO_VISIBILITY_FLAGS = True + # We allow warnings for third-party code that can be updated from upstream. ALLOW_COMPILER_WARNINGS = True diff --git a/media/libvpx/moz.build b/media/libvpx/moz.build index 3e24eb14c..1630f6da4 100644 --- a/media/libvpx/moz.build +++ b/media/libvpx/moz.build @@ -62,6 +62,9 @@ if 'vp8/encoder/arm/armv5te/boolhuff_armv5te.asm' not in arm_asm_files: 'vp8/encoder/boolhuff.c', ] +if CONFIG['GKMEDIAS_SHARED_LIBRARY']: + NO_VISIBILITY_FLAGS = True + # We allow warnings for third-party code that can be updated from upstream. ALLOW_COMPILER_WARNINGS = True diff --git a/media/mtransport/build/moz.build b/media/mtransport/build/moz.build index 4bac8210f..a5fdef5dd 100644 --- a/media/mtransport/build/moz.build +++ b/media/mtransport/build/moz.build @@ -32,4 +32,7 @@ include('../common.build') # nr_socket_short_term_violation_time. SOURCES += mtransport_cppsrcs +if CONFIG['GKMEDIAS_SHARED_LIBRARY']: + NO_VISIBILITY_FLAGS = True + FINAL_LIBRARY = 'xul' diff --git a/mfbt/Span.h b/mfbt/Span.h index f031a928b..86ba946ec 100644 --- a/mfbt/Span.h +++ b/mfbt/Span.h @@ -33,15 +33,6 @@ #include #include -// Classifications for reasons why constexpr was removed in C++14 to C++11 -// conversion. Once we upgrade compilers, we can try defining each of these -// to constexpr to restore a category of constexprs at a time. -#define MOZ_SPAN_ASSERTION_CONSTEXPR -#define MOZ_SPAN_GCC_CONSTEXPR -#define MOZ_SPAN_EXPLICITLY_DEFAULTED_CONSTEXPR -#define MOZ_SPAN_CONSTEXPR_NOT_JUST_RETURN -#define MOZ_SPAN_NON_CONST_CONSTEXPR - #ifdef _MSC_VER #pragma warning(push) @@ -53,11 +44,6 @@ // more targeted suppressions will be added in a future update to the GSL #pragma warning(disable : 26481 26482 26483 26485 26490 26491 26492 26493 26495) -#if _MSC_VER < 1910 -#pragma push_macro("constexpr") -#define constexpr /*constexpr*/ - -#endif // _MSC_VER < 1910 #endif // _MSC_VER namespace mozilla { @@ -66,7 +52,7 @@ namespace mozilla { // narrow_cast(): a searchable way to do narrowing casts of values template -inline constexpr T +inline T narrow_cast(U&& u) { return static_cast(mozilla::Forward(u)); @@ -79,7 +65,7 @@ narrow_cast(U&& u) // and reserving a magic value that realistically doesn't occur in // compile-time-constant Span sizes makes things a lot less messy in terms of // comparison between signed and unsigned. -constexpr const size_t dynamic_extent = mozilla::MaxValue::value; +const size_t dynamic_extent = mozilla::MaxValue::value; template class Span; @@ -157,10 +143,9 @@ public: using reference = conditional_t&; using pointer = add_pointer_t; - constexpr span_iterator() : span_iterator(nullptr, 0) {} + span_iterator() : span_iterator(nullptr, 0) {} - MOZ_SPAN_ASSERTION_CONSTEXPR span_iterator(const Span* span, - typename Span::index_type index) + span_iterator(const Span* span, typename Span::index_type index) : span_(span) , index_(index) { @@ -169,62 +154,62 @@ public: } friend class span_iterator; - constexpr MOZ_IMPLICIT span_iterator(const span_iterator& other) + MOZ_IMPLICIT span_iterator(const span_iterator& other) : span_iterator(other.span_, other.index_) { } - MOZ_SPAN_EXPLICITLY_DEFAULTED_CONSTEXPR span_iterator& + span_iterator& operator=(const span_iterator&) = default; - MOZ_SPAN_GCC_CONSTEXPR reference operator*() const + reference operator*() const { MOZ_RELEASE_ASSERT(span_); return (*span_)[index_]; } - MOZ_SPAN_GCC_CONSTEXPR pointer operator->() const + pointer operator->() const { MOZ_RELEASE_ASSERT(span_); return &((*span_)[index_]); } - MOZ_SPAN_NON_CONST_CONSTEXPR span_iterator& operator++() + span_iterator& operator++() { MOZ_RELEASE_ASSERT(span_ && index_ >= 0 && index_ < span_->Length()); ++index_; return *this; } - MOZ_SPAN_NON_CONST_CONSTEXPR span_iterator operator++(int) + span_iterator operator++(int) { auto ret = *this; ++(*this); return ret; } - MOZ_SPAN_NON_CONST_CONSTEXPR span_iterator& operator--() + span_iterator& operator--() { MOZ_RELEASE_ASSERT(span_ && index_ > 0 && index_ <= span_->Length()); --index_; return *this; } - MOZ_SPAN_NON_CONST_CONSTEXPR span_iterator operator--(int) + span_iterator operator--(int) { auto ret = *this; --(*this); return ret; } - MOZ_SPAN_CONSTEXPR_NOT_JUST_RETURN span_iterator + span_iterator operator+(difference_type n) const { auto ret = *this; return ret += n; } - MOZ_SPAN_GCC_CONSTEXPR span_iterator& operator+=(difference_type n) + span_iterator& operator+=(difference_type n) { MOZ_RELEASE_ASSERT(span_ && (index_ + n) >= 0 && (index_ + n) <= span_->Length()); @@ -232,64 +217,59 @@ public: return *this; } - MOZ_SPAN_CONSTEXPR_NOT_JUST_RETURN span_iterator + span_iterator operator-(difference_type n) const { auto ret = *this; return ret -= n; } - MOZ_SPAN_NON_CONST_CONSTEXPR span_iterator& operator-=(difference_type n) - + span_iterator& operator-=(difference_type n) { return *this += -n; } - MOZ_SPAN_GCC_CONSTEXPR difference_type + difference_type operator-(const span_iterator& rhs) const { MOZ_RELEASE_ASSERT(span_ == rhs.span_); return index_ - rhs.index_; } - constexpr reference operator[](difference_type n) const + reference operator[](difference_type n) const { return *(*this + n); } - constexpr friend bool operator==(const span_iterator& lhs, + friend bool operator==(const span_iterator& lhs, const span_iterator& rhs) { return lhs.span_ == rhs.span_ && lhs.index_ == rhs.index_; } - constexpr friend bool operator!=(const span_iterator& lhs, + friend bool operator!=(const span_iterator& lhs, const span_iterator& rhs) { return !(lhs == rhs); } - MOZ_SPAN_GCC_CONSTEXPR friend bool operator<(const span_iterator& lhs, - const span_iterator& rhs) + friend bool operator<(const span_iterator& lhs, const span_iterator& rhs) { MOZ_RELEASE_ASSERT(lhs.span_ == rhs.span_); return lhs.index_ < rhs.index_; } - MOZ_SPAN_GCC_CONSTEXPR friend bool operator<=(const span_iterator& lhs, - const span_iterator& rhs) + friend bool operator<=(const span_iterator& lhs, const span_iterator& rhs) { return !(rhs < lhs); } - MOZ_SPAN_GCC_CONSTEXPR friend bool operator>(const span_iterator& lhs, - const span_iterator& rhs) + friend bool operator>(const span_iterator& lhs, const span_iterator& rhs) { return rhs < lhs; } - MOZ_SPAN_GCC_CONSTEXPR friend bool operator>=(const span_iterator& lhs, - const span_iterator& rhs) + friend bool operator>=(const span_iterator& lhs, const span_iterator& rhs) { return !(rhs > lhs); } @@ -306,7 +286,7 @@ protected: }; template -inline constexpr span_iterator +inline span_iterator operator+(typename span_iterator::difference_type n, const span_iterator& rhs) { @@ -321,10 +301,10 @@ public: static_assert(Ext >= 0, "A fixed-size Span must be >= 0 in size."); - constexpr extent_type() {} + extent_type() {} template - MOZ_SPAN_ASSERTION_CONSTEXPR MOZ_IMPLICIT extent_type(extent_type ext) + MOZ_IMPLICIT extent_type(extent_type ext) { static_assert( Other == Ext || Other == dynamic_extent, @@ -332,12 +312,12 @@ public: MOZ_RELEASE_ASSERT(ext.size() == Ext); } - MOZ_SPAN_ASSERTION_CONSTEXPR MOZ_IMPLICIT extent_type(index_type length) + MOZ_IMPLICIT extent_type(index_type length) { MOZ_RELEASE_ASSERT(length == Ext); } - constexpr index_type size() const { return Ext; } + index_type size() const { return Ext; } }; template<> @@ -347,17 +327,17 @@ public: using index_type = size_t; template - explicit constexpr extent_type(extent_type ext) + explicit extent_type(extent_type ext) : size_(ext.size()) { } - explicit constexpr extent_type(index_type length) + explicit extent_type(index_type length) : size_(length) { } - constexpr index_type size() const { return size_; } + index_type size() const { return size_; } private: index_type size_; @@ -442,7 +422,7 @@ public: using reverse_iterator = std::reverse_iterator; using const_reverse_iterator = std::reverse_iterator; - constexpr static const index_type extent = Extent; + static const index_type extent = Extent; // [Span.cons], Span constructors, copy, assignment, and destructor // "Dependent" is needed to make "span_details::enable_if_t<(Dependent || Extent == 0 || Extent == mozilla::MaxValue::value)>" SFINAE, @@ -454,7 +434,7 @@ public: bool Dependent = false, class = span_details::enable_if_t< (Dependent || Extent == 0 || Extent == mozilla::MaxValue::value)>> - constexpr Span() + Span() : storage_(nullptr, span_details::extent_type<0>()) { } @@ -462,12 +442,12 @@ public: /** * Constructor for nullptr. */ - constexpr MOZ_IMPLICIT Span(std::nullptr_t) : Span() {} + MOZ_IMPLICIT Span(std::nullptr_t) : Span() {} /** * Constructor for pointer and length. */ - constexpr Span(pointer aPtr, index_type aLength) + Span(pointer aPtr, index_type aLength) : storage_(aPtr, aLength) { } @@ -475,7 +455,7 @@ public: /** * Constructor for start pointer and pointer past end. */ - constexpr Span(pointer aStartPtr, pointer aEndPtr) + Span(pointer aStartPtr, pointer aEndPtr) : storage_(aStartPtr, std::distance(aStartPtr, aEndPtr)) { } @@ -484,7 +464,7 @@ public: * Constructor for C array. */ template - constexpr MOZ_IMPLICIT Span(element_type (&aArr)[N]) + MOZ_IMPLICIT Span(element_type (&aArr)[N]) : storage_(&aArr[0], span_details::extent_type()) { } @@ -494,7 +474,7 @@ public: */ template> - constexpr MOZ_IMPLICIT Span(std::array& aArr) + MOZ_IMPLICIT Span(std::array& aArr) : storage_(&aArr[0], span_details::extent_type()) { } @@ -503,7 +483,7 @@ public: * Constructor for const std::array. */ template - constexpr MOZ_IMPLICIT Span( + MOZ_IMPLICIT Span( const std::array, N>& aArr) : storage_(&aArr[0], span_details::extent_type()) { @@ -514,7 +494,7 @@ public: */ template> - constexpr MOZ_IMPLICIT Span(mozilla::Array& aArr) + MOZ_IMPLICIT Span(mozilla::Array& aArr) : storage_(&aArr[0], span_details::extent_type()) { } @@ -523,7 +503,7 @@ public: * Constructor for const mozilla::Array. */ template - constexpr MOZ_IMPLICIT Span( + MOZ_IMPLICIT Span( const mozilla::Array, N>& aArr) : storage_(&aArr[0], span_details::extent_type()) { @@ -533,7 +513,7 @@ public: * Constructor for mozilla::UniquePtr holding an array and length. */ template> - constexpr Span(const mozilla::UniquePtr& aPtr, + Span(const mozilla::UniquePtr& aPtr, index_type aLength) : storage_(aPtr.get(), aLength) { @@ -552,7 +532,7 @@ public: mozilla::IsConvertible::value && mozilla::IsConvertible().data())>::value>> - constexpr MOZ_IMPLICIT Span(Container& cont) + MOZ_IMPLICIT Span(Container& cont) : Span(cont.data(), ReleaseAssertedCast(cont.size())) { } @@ -568,7 +548,7 @@ public: mozilla::IsConvertible::value && mozilla::IsConvertible().data())>::value>> - constexpr MOZ_IMPLICIT Span(const Container& cont) + MOZ_IMPLICIT Span(const Container& cont) : Span(cont.data(), ReleaseAssertedCast(cont.size())) { } @@ -576,12 +556,12 @@ public: /** * Constructor from other Span. */ - constexpr Span(const Span& other) = default; + Span(const Span& other) = default; /** * Constructor from other Span. */ - constexpr Span(Span&& other) = default; + Span(Span&& other) = default; /** * Constructor from other Span with conversion of element type. @@ -593,7 +573,7 @@ public: span_details::is_allowed_extent_conversion::value && span_details::is_allowed_element_type_conversion::value>> - constexpr MOZ_IMPLICIT Span(const Span& other) + MOZ_IMPLICIT Span(const Span& other) : storage_(other.data(), span_details::extent_type(other.size())) { @@ -609,17 +589,17 @@ public: span_details::is_allowed_extent_conversion::value && span_details::is_allowed_element_type_conversion::value>> - constexpr MOZ_IMPLICIT Span(Span&& other) + MOZ_IMPLICIT Span(Span&& other) : storage_(other.data(), span_details::extent_type(other.size())) { } ~Span() = default; - MOZ_SPAN_EXPLICITLY_DEFAULTED_CONSTEXPR Span& operator=(const Span& other) + Span& operator=(const Span& other) = default; - MOZ_SPAN_EXPLICITLY_DEFAULTED_CONSTEXPR Span& operator=(Span&& other) + Span& operator=(Span&& other) = default; // [Span.sub], Span subviews @@ -627,7 +607,7 @@ public: * Subspan with first N elements with compile-time N. */ template - MOZ_SPAN_GCC_CONSTEXPR Span First() const + Span First() const { MOZ_RELEASE_ASSERT(Count <= size()); return { data(), Count }; @@ -637,7 +617,7 @@ public: * Subspan with last N elements with compile-time N. */ template - MOZ_SPAN_GCC_CONSTEXPR Span Last() const + Span Last() const { MOZ_RELEASE_ASSERT(Count <= size()); return { data() + (size() - Count), Count }; @@ -647,7 +627,7 @@ public: * Subspan with compile-time start index and length. */ template - MOZ_SPAN_GCC_CONSTEXPR Span Subspan() const + Span Subspan() const { MOZ_RELEASE_ASSERT(Offset <= size() && (Count == dynamic_extent || (Offset + Count <= size()))); @@ -658,7 +638,7 @@ public: /** * Subspan with first N elements with run-time N. */ - MOZ_SPAN_GCC_CONSTEXPR Span First( + Span First( index_type aCount) const { MOZ_RELEASE_ASSERT(aCount <= size()); @@ -668,7 +648,7 @@ public: /** * Subspan with last N elements with run-time N. */ - MOZ_SPAN_GCC_CONSTEXPR Span Last( + Span Last( index_type aCount) const { MOZ_RELEASE_ASSERT(aCount <= size()); @@ -678,7 +658,7 @@ public: /** * Subspan with run-time start index and length. */ - MOZ_SPAN_GCC_CONSTEXPR Span Subspan( + Span Subspan( index_type aStart, index_type aLength = dynamic_extent) const { @@ -692,8 +672,7 @@ public: /** * Subspan with run-time start index. (Rust's &foo[start..]) */ - MOZ_SPAN_GCC_CONSTEXPR Span From( - index_type aStart) const + Span From(index_type aStart) const { return Subspan(aStart); } @@ -701,8 +680,7 @@ public: /** * Subspan with run-time exclusive end index. (Rust's &foo[..end]) */ - MOZ_SPAN_GCC_CONSTEXPR Span To( - index_type aEnd) const + Span To(index_type aEnd) const { return Subspan(0, aEnd); } @@ -711,9 +689,7 @@ public: * Subspan with run-time start index and exclusive end index. * (Rust's &foo[start..end]) */ - MOZ_SPAN_GCC_CONSTEXPR Span FromTo( - index_type aStart, - index_type aEnd) const + Span FromTo(index_type aStart, index_type aEnd) const { MOZ_RELEASE_ASSERT(aStart <= aEnd); return Subspan(aStart, aEnd - aStart); @@ -723,22 +699,22 @@ public: /** * Number of elements in the span. */ - constexpr index_type Length() const { return size(); } + index_type Length() const { return size(); } /** * Number of elements in the span (standard-libray duck typing version). */ - constexpr index_type size() const { return storage_.size(); } + index_type size() const { return storage_.size(); } /** * Size of the span in bytes. */ - constexpr index_type LengthBytes() const { return size_bytes(); } + index_type LengthBytes() const { return size_bytes(); } /** * Size of the span in bytes (standard-library naming style version). */ - constexpr index_type size_bytes() const + index_type size_bytes() const { return size() * narrow_cast(sizeof(element_type)); } @@ -746,16 +722,16 @@ public: /** * Checks if the the length of the span is zero. */ - constexpr bool IsEmpty() const { return empty(); } + bool IsEmpty() const { return empty(); } /** * Checks if the the length of the span is zero (standard-libray duck * typing version). */ - constexpr bool empty() const { return size() == 0; } + bool empty() const { return size() == 0; } // [Span.elem], Span element access - MOZ_SPAN_GCC_CONSTEXPR reference operator[](index_type idx) const + reference operator[](index_type idx) const { MOZ_RELEASE_ASSERT(idx < storage_.size()); return data()[idx]; @@ -764,9 +740,9 @@ public: /** * Access element of span by index (standard-library duck typing version). */ - constexpr reference at(index_type idx) const { return this->operator[](idx); } + reference at(index_type idx) const { return this->operator[](idx); } - constexpr reference operator()(index_type idx) const + reference operator()(index_type idx) const { return this->operator[](idx); } @@ -774,12 +750,12 @@ public: /** * Pointer to the first element of the span. */ - constexpr pointer Elements() const { return data(); } + pointer Elements() const { return data(); } /** * Pointer to the first element of the span (standard-libray duck typing version). */ - constexpr pointer data() const { return storage_.data(); } + pointer data() const { return storage_.data(); } // [Span.iter], Span iterator support iterator begin() const { return { this, 0 }; } @@ -815,8 +791,7 @@ private: { public: template - MOZ_SPAN_ASSERTION_CONSTEXPR storage_type(pointer elements, - OtherExtentType ext) + storage_type(pointer elements, OtherExtentType ext) : ExtentType(ext) , data_(elements) { @@ -825,7 +800,7 @@ private: (elements && ExtentType::size() != mozilla::MaxValue::value)); } - constexpr pointer data() const { return data_; } + pointer data() const { return data_; } private: pointer data_; @@ -836,7 +811,7 @@ private: // [Span.comparison], Span comparison operators template -inline constexpr bool +inline bool operator==(const Span& l, const Span& r) { @@ -844,7 +819,7 @@ operator==(const Span& l, } template -inline constexpr bool +inline bool operator!=(const Span& l, const Span& r) { @@ -852,7 +827,7 @@ operator!=(const Span& l, } template -inline constexpr bool +inline bool operator<(const Span& l, const Span& r) { @@ -860,7 +835,7 @@ operator<(const Span& l, } template -inline constexpr bool +inline bool operator<=(const Span& l, const Span& r) { @@ -868,7 +843,7 @@ operator<=(const Span& l, } template -inline constexpr bool +inline bool operator>(const Span& l, const Span& r) { @@ -876,7 +851,7 @@ operator>(const Span& l, } template -inline constexpr bool +inline bool operator>=(const Span& l, const Span& r) { @@ -884,12 +859,6 @@ operator>=(const Span& l, } namespace span_details { -// if we only supported compilers with good constexpr support then -// this pair of classes could collapse down to a constexpr function - -// we should use a narrow_cast<> to go to size_t, but older compilers may not see it as -// constexpr -// and so will fail compilation of the template template struct calculate_byte_size : mozilla::IntegralConstant= 1600 #include -#else -#define uint64_t unsigned __int64 -#define uint32_t unsigned __int32 -#define int32_t __int32 -#define uint16_t unsigned __int16 -#define int16_t __int16 -#define uint8_t unsigned __int8 -#define int8_t __int8 -#endif #ifndef _SIZE_T_DEFINED #define size_t __int32 #endif @@ -218,9 +207,6 @@ typedef char* caddr_t; #define bzero(buf, len) memset(buf, 0, len) #define bcopy(srcKey, dstKey, len) memcpy(dstKey, srcKey, len) -#if _MSC_VER < 1900 -#define snprintf(data, size, format, ...) _snprintf_s(data, size, _TRUNCATE, format, __VA_ARGS__) -#endif #define inline __inline #define __inline__ __inline #define MSG_EOR 0x8 /* data completes record */ diff --git a/old-configure.in b/old-configure.in index 64c9fac17..14f18f5b2 100644 --- a/old-configure.in +++ b/old-configure.in @@ -969,16 +969,10 @@ case "$target" in CXXFLAGS="$CXXFLAGS -utf-8" fi if test "$CPU_ARCH" = "x86"; then - dnl VS2012+ defaults to -arch:SSE2. We want to target nothing - dnl more recent, so set that explicitly here unless another - dnl target arch has already been set. changequote(,) - if test -z `echo $CFLAGS | grep -i [-/]arch:`; then - CFLAGS="$CFLAGS -arch:SSE2" - fi - if test -z `echo $CXXFLAGS | grep -i [-/]arch:`; then - CXXFLAGS="$CXXFLAGS -arch:SSE2" - fi + dnl VS2012+ defaults to -arch:SSE2. We want to target nothing + dnl more recent, so no need to set it explicitly in the default + dnl case. changequote([,]) SSE_FLAGS="-arch:SSE" SSE2_FLAGS="-arch:SSE2" @@ -1094,15 +1088,15 @@ case "$target" in WARNINGS_AS_ERRORS='-WX' MOZ_OPTIMIZE_FLAGS='-O1 -Oi' MOZ_FIX_LINK_PATHS= - LDFLAGS="$LDFLAGS -LARGEADDRESSAWARE -NXCOMPAT" + num_cores=$($PYTHON -c 'import multiprocessing; print(min(8,multiprocessing.cpu_count()))') + cgthreads="-CGTHREADS:${num_cores}" + LDFLAGS="$LDFLAGS -LARGEADDRESSAWARE -NXCOMPAT -DYNAMICBASE -OPT:REF -OPT:ICF=${num_cores} $cgthreads" if test -z "$DEVELOPER_OPTIONS"; then LDFLAGS="$LDFLAGS -RELEASE" fi dnl For profile-guided optimization PROFILE_GEN_CFLAGS="-GL" - num_cores=$($PYTHON -c 'import multiprocessing; print(min(8,multiprocessing.cpu_count()))') - cgthreads="-CGTHREADS:${num_cores}" - PROFILE_GEN_LDFLAGS="-LTCG:PGINSTRUMENT -PogoSafeMode $cgthreads" + PROFILE_GEN_LDFLAGS="-LTCG:PGINSTRUMENT" dnl XXX: PGO builds can fail with warnings treated as errors, dnl specifically "no profile data available" appears to be dnl treated as an error sometimes. This might be a consequence @@ -1113,19 +1107,11 @@ case "$target" in PROFILE_USE_CFLAGS="-GL -wd4624 -wd4952" dnl XXX: should be -LTCG:PGOPTIMIZE, but that fails on libxul. dnl Probably also a compiler bug, but what can you do? - PROFILE_USE_LDFLAGS="-LTCG:PGUPDATE $cgthreads" - LDFLAGS="$LDFLAGS -DYNAMICBASE" + PROFILE_USE_LDFLAGS="-LTCG:PGUPDATE" RCFLAGS="-nologo" - if test "$CC_VERSION" = "18.00.31101"; then - dnl Use MaxILKSize as a workaround for LNK1248 in VS2013update4 - dnl See https://connect.microsoft.com/VisualStudio/feedback/details/1044914/fatal-error-lnk1248 - LDFLAGS="$LDFLAGS -MaxILKSize:0x7FF00000" - fi - dnl Minimum reqiurement of Gecko is VS2010 or later which supports - dnl both SSSE3 and SSE4.1. + dnl Minimum required VS version supports SSSE3, SSE4.1 and AVX2. HAVE_TOOLCHAIN_SUPPORT_MSSSE3=1 HAVE_TOOLCHAIN_SUPPORT_MSSE4_1=1 - dnl allow AVX2 code from VS2012 HAVE_X86_AVX2=1 fi AC_DEFINE(WIN32_LEAN_AND_MEAN) @@ -2157,7 +2143,6 @@ MOZ_NECKO_WIFI=1 NECKO_COOKIES=1 MOZ_USE_NATIVE_POPUP_WINDOWS= MOZ_EXCLUDE_HYPHENATION_DICTIONARIES= -MOZ_INSTALL_TRACKING= ACCESSIBILITY=1 MOZ_TIME_MANAGER= MOZ_AUDIO_CHANNEL_MANAGER= @@ -2187,22 +2172,6 @@ case "${target}" in esac -# Optional Firefox for Android partner distribution directory. -MOZ_ARG_WITH_STRING(android-distribution-directory, -[ --with-android-distribution-directory=dir - Optional Firefox for Android partner distribution directory.], - MOZ_ANDROID_DISTRIBUTION_DIRECTORY=$withval) - -if test -n "$MOZ_ANDROID_DISTRIBUTION_DIRECTORY"; then - # A distribution directory must have an assets/distribution directory. - # See https://wiki.mozilla.org/Mobile/Distribution_Files. - if test ! -d "$MOZ_ANDROID_DISTRIBUTION_DIRECTORY/assets/distribution" ; then - AC_MSG_ERROR([--with-android-distribution-directory does not contain assets/distribution; - (looked for ${MOZ_ANDROID_DISTRIBUTION_DIRECTORY}/assets/distribution).]) - fi -fi -AC_SUBST(MOZ_ANDROID_DISTRIBUTION_DIRECTORY) - dnl ======================================================== dnl = Vendor override dnl ======================================================== @@ -2252,11 +2221,6 @@ if test -n "$WITH_APP_BASENAME" ; then MOZ_APP_BASENAME="$WITH_APP_BASENAME" fi -# Graphene is a desktop runtime for running applications with a HTML UI. -if test -n "$MOZ_GRAPHENE"; then - AC_DEFINE(MOZ_GRAPHENE) -fi - dnl ======================================================== dnl Ensure Android SDK and build-tools versions depending on dnl mobile target. @@ -2634,15 +2598,6 @@ if test -n "$MOZ_EXCLUDE_HYPHENATION_DICTIONARIES"; then AC_DEFINE(MOZ_EXCLUDE_HYPHENATION_DICTIONARIES) fi -dnl ======================================================== -dnl = Include install tracking on Android -dnl ======================================================== -if test -n "$MOZ_INSTALL_TRACKING"; then - if test -z "$MOZ_ADJUST_SDK_KEY"; then - AC_MSG_ERROR([Must specify --with-adjust-sdk-keyfile when MOZ_INSTALL_TRACKING is defined!]) - fi -fi - dnl ======================================================== dnl accessibility support on by default on all platforms dnl ======================================================== @@ -4628,11 +4583,31 @@ dnl = dnl ======================================================== MOZ_ARG_HEADER(Static build options) -if test -z "$MOZ_SYSTEM_ZLIB"; then -if test -n "$JS_SHARED_LIBRARY"; then - ZLIB_IN_MOZGLUE=1 - AC_DEFINE(ZLIB_IN_MOZGLUE) +# Option to enable shared gkmedias on other target operating systems. +# This is overriden for Windows regardless if it is set or not. +MOZ_ARG_ENABLE_BOOL(shared-media, +[ --enable-shared-media Build GKMedias as a shared lib], + GKMEDIAS_SHARED_LIBRARY=1, + GKMEDIAS_SHARED_LIBRARY=) + +# We want gkmedias always be enabled on Windows regardless of the enable bool. +if test "$OS_ARCH" = "WINNT"; then + GKMEDIAS_SHARED_LIBRARY=1 fi + +if test -n "$GKMEDIAS_SHARED_LIBRARY"; then + AC_DEFINE(GKMEDIAS_SHARED_LIBRARY) +fi + +AC_SUBST(GKMEDIAS_SHARED_LIBRARY) + +# Shared JS or gkmedias needs zlib in mozglue +if test -z "$MOZ_SYSTEM_ZLIB"; then + # XXX: Currently JS_SHARED_LIBRARY lives in mozconfigure + if test -n "$JS_SHARED_LIBRARY" -o "$GKMEDIAS_SHARED_LIBRARY"; then + ZLIB_IN_MOZGLUE=1 + AC_DEFINE(ZLIB_IN_MOZGLUE) + fi fi AC_SUBST(ZLIB_IN_MOZGLUE) @@ -5011,7 +4986,6 @@ AC_SUBST(MOZ_ANDROID_APPLICATION_CLASS) AC_SUBST(MOZ_ANDROID_BROWSER_INTENT_CLASS) AC_SUBST(MOZ_ANDROID_SEARCH_INTENT_CLASS) AC_SUBST(MOZ_EXCLUDE_HYPHENATION_DICTIONARIES) -AC_SUBST(MOZ_INSTALL_TRACKING) AC_SUBST(ENABLE_STRIP) AC_SUBST(PKG_SKIP_STRIP) AC_SUBST(STRIP_FLAGS) diff --git a/parser/expat/lib/expat_external.h b/parser/expat/lib/expat_external.h index 70c630bc9..cb046cfc0 100644 --- a/parser/expat/lib/expat_external.h +++ b/parser/expat/lib/expat_external.h @@ -102,13 +102,8 @@ typedef char XML_LChar; /* END MOZILLA CHANGE */ #ifdef XML_LARGE_SIZE /* Use large integers for file/stream positions. */ -#if defined(XML_USE_MSC_EXTENSIONS) && _MSC_VER < 1400 -typedef __int64 XML_Index; -typedef unsigned __int64 XML_Size; -#else typedef long long XML_Index; typedef unsigned long long XML_Size; -#endif #else typedef long XML_Index; typedef unsigned long XML_Size; diff --git a/toolkit/content/license.html b/toolkit/content/license.html index 1041ec42f..d97a3c7f1 100644 --- a/toolkit/content/license.html +++ b/toolkit/content/license.html @@ -67,9 +67,6 @@
  • ACE License
  • acorn License
  • -#ifdef MOZ_INSTALL_TRACKING -
  • Adjust SDK License
  • -#endif
  • Adobe CMap License
  • Android Open Source License
  • ANGLE License
  • @@ -2233,39 +2230,6 @@ licences.
    -#ifdef MOZ_INSTALL_TRACKING -

    Adjust SDK License

    - -

    This license applies to all files in the directory - mobile/android/thirdparty/com/adjust/sdk.

    - -
    -Copyright (c) 2012-2014 adjust GmbH,
    -http://www.adjust.com
    -
    -Permission is hereby granted, free of charge, to any person obtaining
    -a copy of this software and associated documentation files (the
    -"Software"), to deal in the Software without restriction, including
    -without limitation the rights to use, copy, modify, merge, publish,
    -distribute, sublicense, and/or sell copies of the Software, and to
    -permit persons to whom the Software is furnished to do so, subject to
    -the following conditions:
    -
    -The above copyright notice and this permission notice shall be
    -included in all copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
    -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    -
    - -
    - -#endif

    Apache License 2.0

    This license applies to various files in the Mozilla codebase.

    diff --git a/toolkit/modules/AppConstants.jsm b/toolkit/modules/AppConstants.jsm index 5eea04b0f..889a38b93 100644 --- a/toolkit/modules/AppConstants.jsm +++ b/toolkit/modules/AppConstants.jsm @@ -180,13 +180,6 @@ MOZ_SAFE_BROWSING: false, #endif - MOZ_GRAPHENE: -#ifdef MOZ_GRAPHENE - true, -#else - false, -#endif - MOZ_PLACES: #ifdef MOZ_PLACES true, diff --git a/toolkit/mozapps/update/common/updatedefines.h b/toolkit/mozapps/update/common/updatedefines.h index 871755246..49fbde6f2 100644 --- a/toolkit/mozapps/update/common/updatedefines.h +++ b/toolkit/mozapps/update/common/updatedefines.h @@ -44,9 +44,6 @@ # define access _access # define putenv _putenv -# if defined(_MSC_VER) && _MSC_VER < 1900 -# define stat _stat -# endif # define DELETE_DIR L"tobedeleted" # define CALLBACK_BACKUP_EXT L".moz-callback"