Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Sep 2016 18:38:21 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r422403 - in head: mail/thunderbird mail/thunderbird/files www/firefox-esr www/firefox-esr/files www/libxul www/libxul/files www/seamonkey www/seamonkey/files
Message-ID:  <201609181838.u8IIcLUA047432@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Sun Sep 18 18:38:21 2016
New Revision: 422403
URL: https://svnweb.freebsd.org/changeset/ports/422403

Log:
  gecko: apply r421523 to the rest
  
  Bump PORTREVISION to get a clear regression window.
  
  PR:		212431

Added:
  head/mail/thunderbird/files/patch-bug1245076
     - copied, changed from r421523, head/www/firefox/files/patch-bug1245076
  head/mail/thunderbird/files/patch-bug1268816
     - copied, changed from r421523, head/www/firefox/files/patch-bug1268816
  head/mail/thunderbird/files/patch-bug1269171
     - copied, changed from r421523, head/www/firefox/files/patch-bug1269171
  head/www/firefox-esr/files/patch-bug1245076
     - copied unchanged from r421523, head/www/firefox/files/patch-bug1245076
  head/www/firefox-esr/files/patch-bug1268816
     - copied, changed from r421523, head/www/firefox/files/patch-bug1268816
  head/www/firefox-esr/files/patch-bug1269171
     - copied unchanged from r421523, head/www/firefox/files/patch-bug1269171
  head/www/libxul/files/patch-bug1245076
     - copied unchanged from r421523, head/www/firefox/files/patch-bug1245076
  head/www/libxul/files/patch-bug1268816
     - copied, changed from r421523, head/www/firefox/files/patch-bug1268816
  head/www/libxul/files/patch-bug1269171
     - copied unchanged from r421523, head/www/firefox/files/patch-bug1269171
  head/www/seamonkey/files/patch-bug1245076
     - copied, changed from r421523, head/www/firefox/files/patch-bug1245076
  head/www/seamonkey/files/patch-bug1268816
     - copied, changed from r421523, head/www/firefox/files/patch-bug1268816
  head/www/seamonkey/files/patch-bug1269171
     - copied, changed from r421523, head/www/firefox/files/patch-bug1269171
Modified:
  head/mail/thunderbird/Makefile
  head/www/firefox-esr/Makefile
  head/www/libxul/Makefile
  head/www/seamonkey/Makefile

Modified: head/mail/thunderbird/Makefile
==============================================================================
--- head/mail/thunderbird/Makefile	Sun Sep 18 18:18:35 2016	(r422402)
+++ head/mail/thunderbird/Makefile	Sun Sep 18 18:38:21 2016	(r422403)
@@ -3,6 +3,7 @@
 
 PORTNAME=	thunderbird
 DISTVERSION=	45.3.0
+PORTREVISION=	1
 CATEGORIES=	mail news net-im ipv6
 MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
 		MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source

Copied and modified: head/mail/thunderbird/files/patch-bug1245076 (from r421523, head/www/firefox/files/patch-bug1245076)
==============================================================================
--- head/www/firefox/files/patch-bug1245076	Wed Sep  7 21:47:23 2016	(r421523, copy source)
+++ head/mail/thunderbird/files/patch-bug1245076	Sun Sep 18 18:38:21 2016	(r422403)
@@ -24,8 +24,8 @@ including mozalloc.h.
 
 
 diff --git config/gcc-stl-wrapper.template.h config/gcc-stl-wrapper.template.h
---- config/gcc-stl-wrapper.template.h
-+++ config/gcc-stl-wrapper.template.h
+--- mozilla/config/gcc-stl-wrapper.template.h
++++ mozilla/config/gcc-stl-wrapper.template.h
 @@ -12,33 +12,40 @@
  // compiling ObjC.
  #if defined(__EXCEPTIONS) && __EXCEPTIONS && !(__OBJC__ && __GNUC__ && XP_IOS)

Copied and modified: head/mail/thunderbird/files/patch-bug1268816 (from r421523, head/www/firefox/files/patch-bug1268816)
==============================================================================
--- head/www/firefox/files/patch-bug1268816	Wed Sep  7 21:47:23 2016	(r421523, copy source)
+++ head/mail/thunderbird/files/patch-bug1268816	Sun Sep 18 18:38:21 2016	(r422403)
@@ -7,8 +7,8 @@
 Bug 1268816 - allow Skia to use C++11 features on platforms that have them. r=froydnj
 
 diff --git config/stl-headers config/stl-headers
---- config/stl-headers
-+++ config/stl-headers
+--- mozilla/config/stl-headers
++++ mozilla/config/stl-headers
 @@ -29,16 +29,17 @@ iterator
  limits
  list
@@ -28,8 +28,8 @@ diff --git config/stl-headers config/stl
  cstdio
  cstdlib
 diff --git config/system-headers config/system-headers
---- config/system-headers
-+++ config/system-headers
+--- mozilla/config/system-headers
++++ mozilla/config/system-headers
 @@ -1109,16 +1109,17 @@ ThreadManagerTests.h
  Threads.h
  time.h
@@ -48,104 +48,3 @@ diff --git config/system-headers config/
  ucontext.h
  uconv.h
  UCursor.h
-diff --git gfx/skia/skia/include/config/SkUserConfig.h gfx/skia/skia/include/config/SkUserConfig.h
---- gfx/skia/skia/include/config/SkUserConfig.h
-+++ gfx/skia/skia/include/config/SkUserConfig.h
-@@ -159,9 +159,20 @@
- #ifndef MOZ_IMPLICIT
- #  ifdef MOZ_CLANG_PLUGIN
- #    define MOZ_IMPLICIT __attribute__((annotate("moz_implicit")))
- #  else
- #    define MOZ_IMPLICIT
- #  endif
- #endif
- 
-+/* Check if building with either MSVC, libc++, or a sufficiently recent version of libstdc++.
-++ * On platforms like OS X 10.6 or older Android SDKs, we need to work around a lack of certain
-++ * C++11 features.
-++ */
-+#include "mozilla/Compiler.h"
-+#if MOZ_IS_MSVC || MOZ_USING_LIBCXX || MOZ_LIBSTDCXX_VERSION_AT_LEAST(4, 8, 0)
-+#  define MOZ_SKIA_AVOID_CXX11 0
-+#else
-+#  define MOZ_SKIA_AVOID_CXX11 1
- #endif
-+
-+#endif
-diff --git gfx/skia/skia/include/private/SkTLogic.h gfx/skia/skia/include/private/SkTLogic.h
---- gfx/skia/skia/include/private/SkTLogic.h
-+++ gfx/skia/skia/include/private/SkTLogic.h
-@@ -24,7 +24,7 @@
- #include <algorithm>
- #endif
- 
--#ifdef MOZ_SKIA
-+#if MOZ_SKIA_AVOID_CXX11
- #include "mozilla/Move.h"
- #include "mozilla/TypeTraits.h"
- 
-@@ -32,23 +32,9 @@
- #include "mozilla/Function.h"
- #endif
- 
--// In libc++, symbols such as std::forward may be defined in std::__1.
--// The _LIBCPP_BEGIN_NAMESPACE_STD and _LIBCPP_END_NAMESPACE_STD macros
--// will expand to the correct namespace.
--#ifdef _LIBCPP_BEGIN_NAMESPACE_STD
--#define MOZ_BEGIN_STD_NAMESPACE _LIBCPP_BEGIN_NAMESPACE_STD
--#define MOZ_END_STD_NAMESPACE _LIBCPP_END_NAMESPACE_STD
--#else
--#define MOZ_BEGIN_STD_NAMESPACE namespace std {
--#define MOZ_END_STD_NAMESPACE }
--#endif
--
--MOZ_BEGIN_STD_NAMESPACE
-+namespace std {
-     using mozilla::Forward;
-     #define forward Forward
--MOZ_END_STD_NAMESPACE
--
--namespace std {
- #if SKIA_IMPLEMENTATION
-     using mozilla::IntegralConstant;
-     using mozilla::IsEmpty;
-@@ -73,7 +59,7 @@ template <bool B, typename T = void> usi
- 
- }
- 
--#else /* !MOZ_SKIA */
-+#else /* !MOZ_SKIA_AVOID_CXX11 */
- 
- #include <type_traits>
- #include <functional>
-@@ -178,7 +164,7 @@ template <typename D, typename S> using 
- 
- }  // namespace sknonstd
- 
--#endif /* MOZ_SKIA */
-+#endif /* MOZ_SKIA_AVOID_CXX11 */
- 
- // Just a pithier wrapper for enable_if_t.
- #define SK_WHEN(condition, T) skstd::enable_if_t<!!(condition), T>
-diff --git gfx/skia/skia/include/private/SkUniquePtr.h gfx/skia/skia/include/private/SkUniquePtr.h
---- gfx/skia/skia/include/private/SkUniquePtr.h
-+++ gfx/skia/skia/include/private/SkUniquePtr.h
-@@ -7,17 +7,17 @@
- 
- #ifndef SkUniquePtr_DEFINED
- #define SkUniquePtr_DEFINED
- 
- #include "SkTLogic.h"
- #include <cstddef>
- #include <utility>
- 
--#ifdef MOZ_SKIA
-+#if MOZ_SKIA_AVOID_CXX11
- #include "mozilla/UniquePtr.h"
- 
- namespace std {
-     using mozilla::DefaultDelete;
-     using mozilla::UniquePtr;
- }
- 
- namespace skstd {

Copied and modified: head/mail/thunderbird/files/patch-bug1269171 (from r421523, head/www/firefox/files/patch-bug1269171)
==============================================================================
--- head/www/firefox/files/patch-bug1269171	Wed Sep  7 21:47:23 2016	(r421523, copy source)
+++ head/mail/thunderbird/files/patch-bug1269171	Sun Sep 18 18:38:21 2016	(r422403)
@@ -30,8 +30,8 @@ have been included).
 
 
 diff --git config/gcc-stl-wrapper.template.h config/gcc-stl-wrapper.template.h
---- config/gcc-stl-wrapper.template.h
-+++ config/gcc-stl-wrapper.template.h
+--- mozilla/config/gcc-stl-wrapper.template.h
++++ mozilla/config/gcc-stl-wrapper.template.h
 @@ -12,56 +12,54 @@
  // compiling ObjC.
  #if defined(__EXCEPTIONS) && __EXCEPTIONS && !(__OBJC__ && __GNUC__ && XP_IOS)
@@ -114,8 +114,8 @@ diff --git config/gcc-stl-wrapper.templa
  // __throw_*().
  #ifndef mozilla_throw_gcc_h
 diff --git config/make-stl-wrappers.py config/make-stl-wrappers.py
---- config/make-stl-wrappers.py
-+++ config/make-stl-wrappers.py
+--- mozilla/config/make-stl-wrappers.py
++++ mozilla/config/make-stl-wrappers.py
 @@ -25,28 +25,26 @@ def header_path(header, compiler):
  def is_comment(line):
      return re.match(r'\s*#.*', line)
@@ -147,8 +147,8 @@ diff --git config/make-stl-wrappers.py c
  """.format(sys.argv[0]), file=sys.stderr)
          sys.exit(1)
 diff --git config/msvc-stl-wrapper.template.h config/msvc-stl-wrapper.template.h
---- config/msvc-stl-wrapper.template.h
-+++ config/msvc-stl-wrapper.template.h
+--- mozilla/config/msvc-stl-wrapper.template.h
++++ mozilla/config/msvc-stl-wrapper.template.h
 @@ -3,45 +3,33 @@
   */
  /* This Source Code Form is subject to the terms of the Mozilla Public
@@ -224,8 +224,8 @@ diff --git config/msvc-stl-wrapper.templ
 +
  #endif  // if mozilla_${HEADER}_h
 diff --git memory/mozalloc/mozalloc.h memory/mozalloc/mozalloc.h
---- memory/mozalloc/mozalloc.h
-+++ memory/mozalloc/mozalloc.h
+--- mozilla/memory/mozalloc/mozalloc.h
++++ mozilla/memory/mozalloc/mozalloc.h
 @@ -7,20 +7,27 @@
  
  #ifndef mozilla_mozalloc_h

Modified: head/www/firefox-esr/Makefile
==============================================================================
--- head/www/firefox-esr/Makefile	Sun Sep 18 18:18:35 2016	(r422402)
+++ head/www/firefox-esr/Makefile	Sun Sep 18 18:38:21 2016	(r422403)
@@ -4,7 +4,7 @@
 PORTNAME=	firefox
 DISTVERSION=	45.4.0
 DISTVERSIONSUFFIX=esr.source
-PORTREVISION=	1
+PORTREVISION=	2
 PORTEPOCH=	1
 CATEGORIES=	www ipv6
 MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}esr/source \

Copied: head/www/firefox-esr/files/patch-bug1245076 (from r421523, head/www/firefox/files/patch-bug1245076)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/firefox-esr/files/patch-bug1245076	Sun Sep 18 18:38:21 2016	(r422403, copy of r421523, head/www/firefox/files/patch-bug1245076)
@@ -0,0 +1,74 @@
+
+# HG changeset patch
+# User Mike Hommey <mh+mozilla@glandium.org>
+# Date 1457596445 -32400
+# Node ID 55212130f19da3079167a6b0a5a0ed6689c9a71d
+# Parent  27c94617d7064d566c24a42e11cd4c7ef725923d
+Bug 1245076 - Don't include mozalloc.h from the cstdlib wrapper. r=froydnj
+
+Our STL wrappers do various different things, one of which is including
+mozalloc.h for infallible operator new. mozalloc.h includes stdlib.h,
+which, in libstdc++ >= 6 is now itself a wrapper around cstdlib, which
+circles back to our STL wrapper.
+
+But of the things our STL wrappers do, including mozalloc.h is not one
+that is necessary for cstdlib. So skip including mozalloc.h in our
+cstdlib wrapper.
+
+Additionally, some C++ sources (in media/mtransport) are including
+headers in an extern "C" block, which end up including stdlib.h, which
+ends up including cstdlib because really, this is all C++, and our
+wrapper pre-includes <new> for mozalloc.h, which fails because templates
+don't work inside extern "C". So, don't pre-include <new> when we're not
+including mozalloc.h.
+
+
+diff --git config/gcc-stl-wrapper.template.h config/gcc-stl-wrapper.template.h
+--- config/gcc-stl-wrapper.template.h
++++ config/gcc-stl-wrapper.template.h
+@@ -12,33 +12,40 @@
+ // compiling ObjC.
+ #if defined(__EXCEPTIONS) && __EXCEPTIONS && !(__OBJC__ && __GNUC__ && XP_IOS)
+ #  error "STL code can only be used with -fno-exceptions"
+ #endif
+ 
+ // Silence "warning: #include_next is a GCC extension"
+ #pragma GCC system_header
+ 
++// Don't include mozalloc for cstdlib. See bug 1245076.
++#ifndef moz_dont_include_mozalloc_for_cstdlib
++#  define moz_dont_include_mozalloc_for_cstdlib
++#endif
++#ifndef moz_dont_include_mozalloc_for_${HEADER}
+ // mozalloc.h wants <new>; break the cycle by always explicitly
+ // including <new> here.  NB: this is a tad sneaky.  Sez the gcc docs:
+ //
+ //    `#include_next' does not distinguish between <file> and "file"
+ //    inclusion, nor does it check that the file you specify has the
+ //    same name as the current file. It simply looks for the file
+ //    named, starting with the directory in the search path after the
+ //    one where the current file was found.
+-#include_next <new>
++#  include_next <new>
+ 
+ // See if we're in code that can use mozalloc.  NB: this duplicates
+ // code in nscore.h because nscore.h pulls in prtypes.h, and chromium
+ // can't build with that being included before base/basictypes.h.
+-#if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
+-#  include "mozilla/mozalloc.h"
+-#else
+-#  error "STL code can only be used with infallible ::operator new()"
++#  if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
++#    include "mozilla/mozalloc.h"
++#  else
++#    error "STL code can only be used with infallible ::operator new()"
++#  endif
++
+ #endif
+ 
+ #if defined(DEBUG) && !defined(_GLIBCXX_DEBUG)
+ // Enable checked iterators and other goodies
+ //
+ // FIXME/bug 551254: gcc's debug STL implementation requires -frtti.
+ // Figure out how to resolve this with -fno-rtti.  Maybe build with
+ // -frtti in DEBUG builds?

Copied and modified: head/www/firefox-esr/files/patch-bug1268816 (from r421523, head/www/firefox/files/patch-bug1268816)
==============================================================================
--- head/www/firefox/files/patch-bug1268816	Wed Sep  7 21:47:23 2016	(r421523, copy source)
+++ head/www/firefox-esr/files/patch-bug1268816	Sun Sep 18 18:38:21 2016	(r422403)
@@ -48,104 +48,3 @@ diff --git config/system-headers config/
  ucontext.h
  uconv.h
  UCursor.h
-diff --git gfx/skia/skia/include/config/SkUserConfig.h gfx/skia/skia/include/config/SkUserConfig.h
---- gfx/skia/skia/include/config/SkUserConfig.h
-+++ gfx/skia/skia/include/config/SkUserConfig.h
-@@ -159,9 +159,20 @@
- #ifndef MOZ_IMPLICIT
- #  ifdef MOZ_CLANG_PLUGIN
- #    define MOZ_IMPLICIT __attribute__((annotate("moz_implicit")))
- #  else
- #    define MOZ_IMPLICIT
- #  endif
- #endif
- 
-+/* Check if building with either MSVC, libc++, or a sufficiently recent version of libstdc++.
-++ * On platforms like OS X 10.6 or older Android SDKs, we need to work around a lack of certain
-++ * C++11 features.
-++ */
-+#include "mozilla/Compiler.h"
-+#if MOZ_IS_MSVC || MOZ_USING_LIBCXX || MOZ_LIBSTDCXX_VERSION_AT_LEAST(4, 8, 0)
-+#  define MOZ_SKIA_AVOID_CXX11 0
-+#else
-+#  define MOZ_SKIA_AVOID_CXX11 1
- #endif
-+
-+#endif
-diff --git gfx/skia/skia/include/private/SkTLogic.h gfx/skia/skia/include/private/SkTLogic.h
---- gfx/skia/skia/include/private/SkTLogic.h
-+++ gfx/skia/skia/include/private/SkTLogic.h
-@@ -24,7 +24,7 @@
- #include <algorithm>
- #endif
- 
--#ifdef MOZ_SKIA
-+#if MOZ_SKIA_AVOID_CXX11
- #include "mozilla/Move.h"
- #include "mozilla/TypeTraits.h"
- 
-@@ -32,23 +32,9 @@
- #include "mozilla/Function.h"
- #endif
- 
--// In libc++, symbols such as std::forward may be defined in std::__1.
--// The _LIBCPP_BEGIN_NAMESPACE_STD and _LIBCPP_END_NAMESPACE_STD macros
--// will expand to the correct namespace.
--#ifdef _LIBCPP_BEGIN_NAMESPACE_STD
--#define MOZ_BEGIN_STD_NAMESPACE _LIBCPP_BEGIN_NAMESPACE_STD
--#define MOZ_END_STD_NAMESPACE _LIBCPP_END_NAMESPACE_STD
--#else
--#define MOZ_BEGIN_STD_NAMESPACE namespace std {
--#define MOZ_END_STD_NAMESPACE }
--#endif
--
--MOZ_BEGIN_STD_NAMESPACE
-+namespace std {
-     using mozilla::Forward;
-     #define forward Forward
--MOZ_END_STD_NAMESPACE
--
--namespace std {
- #if SKIA_IMPLEMENTATION
-     using mozilla::IntegralConstant;
-     using mozilla::IsEmpty;
-@@ -73,7 +59,7 @@ template <bool B, typename T = void> usi
- 
- }
- 
--#else /* !MOZ_SKIA */
-+#else /* !MOZ_SKIA_AVOID_CXX11 */
- 
- #include <type_traits>
- #include <functional>
-@@ -178,7 +164,7 @@ template <typename D, typename S> using 
- 
- }  // namespace sknonstd
- 
--#endif /* MOZ_SKIA */
-+#endif /* MOZ_SKIA_AVOID_CXX11 */
- 
- // Just a pithier wrapper for enable_if_t.
- #define SK_WHEN(condition, T) skstd::enable_if_t<!!(condition), T>
-diff --git gfx/skia/skia/include/private/SkUniquePtr.h gfx/skia/skia/include/private/SkUniquePtr.h
---- gfx/skia/skia/include/private/SkUniquePtr.h
-+++ gfx/skia/skia/include/private/SkUniquePtr.h
-@@ -7,17 +7,17 @@
- 
- #ifndef SkUniquePtr_DEFINED
- #define SkUniquePtr_DEFINED
- 
- #include "SkTLogic.h"
- #include <cstddef>
- #include <utility>
- 
--#ifdef MOZ_SKIA
-+#if MOZ_SKIA_AVOID_CXX11
- #include "mozilla/UniquePtr.h"
- 
- namespace std {
-     using mozilla::DefaultDelete;
-     using mozilla::UniquePtr;
- }
- 
- namespace skstd {

Copied: head/www/firefox-esr/files/patch-bug1269171 (from r421523, head/www/firefox/files/patch-bug1269171)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/firefox-esr/files/patch-bug1269171	Sun Sep 18 18:38:21 2016	(r422403, copy of r421523, head/www/firefox/files/patch-bug1269171)
@@ -0,0 +1,258 @@
+
+# HG changeset patch
+# User Mike Hommey <mh+mozilla@glandium.org>
+# Date 1463557039 -32400
+# Node ID 68da139d0866977c0ada86319fa94388f2255446
+# Parent  a640e6fa8ab9977fb6c5bcf63dc4daca6699477b
+Bug 1269171 - Change how mozalloc.h is hooked in STL wrappers. r=froydnj
+
+Since the introduction of the STL wrappers, they have included
+mozalloc.h, and multiple times, we've hit header reentrancy problems,
+and worked around them as best as we could.
+
+Taking a step back, all mozalloc.h does is:
+- declare moz_* allocator functions.
+- define inline implementations of various operator new/delete variants.
+
+The first only requires the functions to be declared before they are used,
+so mozalloc.h only needs to be included before anything that would use
+those functions.
+
+The second doesn't actually require a specific order, as long as the
+declaration for those functions comes before their use, and they are
+either declared in <new> or implicitly by the C++ compiler.
+
+So all in all, it doesn't matter that mozalloc.h is included before the
+wrapped STL headers. What matters is that it's included when STL headers
+are included. So arrange things such that mozalloc.h is included after
+the first wrapped STL header is fully preprocessed (and all its includes
+have been included).
+
+
+diff --git config/gcc-stl-wrapper.template.h config/gcc-stl-wrapper.template.h
+--- config/gcc-stl-wrapper.template.h
++++ config/gcc-stl-wrapper.template.h
+@@ -12,56 +12,54 @@
+ // compiling ObjC.
+ #if defined(__EXCEPTIONS) && __EXCEPTIONS && !(__OBJC__ && __GNUC__ && XP_IOS)
+ #  error "STL code can only be used with -fno-exceptions"
+ #endif
+ 
+ // Silence "warning: #include_next is a GCC extension"
+ #pragma GCC system_header
+ 
+-// Don't include mozalloc for cstdlib. See bug 1245076.
+-#ifndef moz_dont_include_mozalloc_for_cstdlib
+-#  define moz_dont_include_mozalloc_for_cstdlib
+-#endif
+-#ifndef moz_dont_include_mozalloc_for_${HEADER}
+-// mozalloc.h wants <new>; break the cycle by always explicitly
+-// including <new> here.  NB: this is a tad sneaky.  Sez the gcc docs:
+-//
+-//    `#include_next' does not distinguish between <file> and "file"
+-//    inclusion, nor does it check that the file you specify has the
+-//    same name as the current file. It simply looks for the file
+-//    named, starting with the directory in the search path after the
+-//    one where the current file was found.
+-#  include_next <new>
+-
+-// See if we're in code that can use mozalloc.  NB: this duplicates
+-// code in nscore.h because nscore.h pulls in prtypes.h, and chromium
+-// can't build with that being included before base/basictypes.h.
+-#  if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
+-#    include "mozilla/mozalloc.h"
+-#  else
+-#    error "STL code can only be used with infallible ::operator new()"
+-#  endif
+-
+-#endif
+-
+ #if defined(DEBUG) && !defined(_GLIBCXX_DEBUG)
+ // Enable checked iterators and other goodies
+ //
+ // FIXME/bug 551254: gcc's debug STL implementation requires -frtti.
+ // Figure out how to resolve this with -fno-rtti.  Maybe build with
+ // -frtti in DEBUG builds?
+ //
+ //  # define _GLIBCXX_DEBUG 1
+ #endif
+ 
++// Don't include mozalloc for cstdlib. See bug 1245076.
++#ifndef moz_dont_include_mozalloc_for_cstdlib
++#  define moz_dont_include_mozalloc_for_cstdlib
++#endif
++
++// Include mozalloc after the STL header and all other headers it includes
++// have been preprocessed.
++#if !defined(MOZ_INCLUDE_MOZALLOC_H) && \
++    !defined(moz_dont_include_mozalloc_for_${HEADER})
++#  define MOZ_INCLUDE_MOZALLOC_H
++#  define MOZ_INCLUDE_MOZALLOC_H_FROM_${HEADER}
++#endif
++
+ #pragma GCC visibility push(default)
+ #include_next <${HEADER}>
+ #pragma GCC visibility pop
+ 
++#ifdef MOZ_INCLUDE_MOZALLOC_H_FROM_${HEADER}
++// See if we're in code that can use mozalloc.  NB: this duplicates
++// code in nscore.h because nscore.h pulls in prtypes.h, and chromium
++// can't build with that being included before base/basictypes.h.
++#  if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
++#    include "mozilla/mozalloc.h"
++#  else
++#    error "STL code can only be used with infallible ::operator new()"
++#  endif
++#endif
++
+ // gcc calls a __throw_*() function from bits/functexcept.h when it
+ // wants to "throw an exception".  functexcept exists nominally to
+ // support -fno-exceptions, but since we'll always use the system
+ // libstdc++, and it's compiled with exceptions, then in practice
+ // these __throw_*() functions will always throw exceptions (shades of
+ // -fshort-wchar).  We don't want that and so define our own inlined
+ // __throw_*().
+ #ifndef mozilla_throw_gcc_h
+diff --git config/make-stl-wrappers.py config/make-stl-wrappers.py
+--- config/make-stl-wrappers.py
++++ config/make-stl-wrappers.py
+@@ -25,28 +25,26 @@ def header_path(header, compiler):
+ def is_comment(line):
+     return re.match(r'\s*#.*', line)
+ 
+ def main(outdir, compiler, template_file, header_list_file):
+     if not os.path.isdir(outdir):
+         os.mkdir(outdir)
+ 
+     template = open(template_file, 'r').read()
+-    path_to_new = header_path('new', compiler)
+ 
+     for header in open(header_list_file, 'r'):
+         header = header.rstrip()
+         if 0 == len(header) or is_comment(header):
+             continue
+ 
+         path = header_path(header, compiler)
+         with FileAvoidWrite(os.path.join(outdir, header)) as f:
+             f.write(string.Template(template).substitute(HEADER=header,
+-                                                         HEADER_PATH=path,
+-                                                         NEW_HEADER_PATH=path_to_new))
++                                                         HEADER_PATH=path))
+ 
+ 
+ if __name__ == '__main__':
+     if 5 != len(sys.argv):
+         print("""Usage:
+   python {0} OUT_DIR ('msvc'|'gcc') TEMPLATE_FILE HEADER_LIST_FILE
+ """.format(sys.argv[0]), file=sys.stderr)
+         sys.exit(1)
+diff --git config/msvc-stl-wrapper.template.h config/msvc-stl-wrapper.template.h
+--- config/msvc-stl-wrapper.template.h
++++ config/msvc-stl-wrapper.template.h
+@@ -3,45 +3,33 @@
+  */
+ /* 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/. */
+ 
+ #ifndef mozilla_${HEADER}_h
+ #define mozilla_${HEADER}_h
+ 
+-#ifndef MOZ_HAVE_INCLUDED_ALLOC
+-#define MOZ_HAVE_INCLUDED_ALLOC
+-
+ #if _HAS_EXCEPTIONS
+ #  error "STL code can only be used with -fno-exceptions"
+ #endif
+ 
++// Include mozalloc after the STL header and all other headers it includes
++// have been preprocessed.
++#if !defined(MOZ_INCLUDE_MOZALLOC_H)
++#  define MOZ_INCLUDE_MOZALLOC_H
++#  define MOZ_INCLUDE_MOZALLOC_H_FROM_${HEADER}
++#endif
++
+ // Code built with !_HAS_EXCEPTIONS calls std::_Throw(), but the win2k
+ // CRT doesn't export std::_Throw().  So we define it.
+ #ifndef mozilla_Throw_h
+ #  include "mozilla/throw_msvc.h"
+ #endif
+ 
+-// Code might include <new> before other wrapped headers, but <new>
+-// includes <exception> and so we want to wrap it.  But mozalloc.h
+-// wants <new> also, so we break the cycle by always explicitly
+-// including <new> here.
+-#include <${NEW_HEADER_PATH}>
+-
+-// See if we're in code that can use mozalloc.  NB: this duplicates
+-// code in nscore.h because nscore.h pulls in prtypes.h, and chromium
+-// can't build with that being included before base/basictypes.h.
+-#if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
+-#  include "mozilla/mozalloc.h"
+-#else
+-#  error "STL code can only be used with infallible ::operator new()"
+-#endif
+-#endif /* MOZ_HAVE_INCLUDED_ALLOC */
+-
+ #ifdef _DEBUG
+ // From
+ //   http://msdn.microsoft.com/en-us/library/aa985982%28VS.80%29.aspx
+ // and
+ //   http://msdn.microsoft.com/en-us/library/aa985965%28VS.80%29.aspx
+ // there appear to be two types of STL container checking.  The
+ // former is enabled by -D_DEBUG (which is implied by -MDd or -MTd), and
+ // looks to be full generation/mutation checked iterators as done by
+@@ -70,9 +58,20 @@
+ //        but that's OK because we're not throwing them.
+ #pragma warning( push )
+ #pragma warning( disable : 4275 4530 )
+ 
+ #include <${HEADER_PATH}>
+ 
+ #pragma warning( pop )
+ 
++#ifdef MOZ_INCLUDE_MOZALLOC_H_FROM_${HEADER}
++// See if we're in code that can use mozalloc.  NB: this duplicates
++// code in nscore.h because nscore.h pulls in prtypes.h, and chromium
++// can't build with that being included before base/basictypes.h.
++#  if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
++#    include "mozilla/mozalloc.h"
++#  else
++#    error "STL code can only be used with infallible ::operator new()"
++#  endif
++#endif
++
+ #endif  // if mozilla_${HEADER}_h
+diff --git memory/mozalloc/mozalloc.h memory/mozalloc/mozalloc.h
+--- memory/mozalloc/mozalloc.h
++++ memory/mozalloc/mozalloc.h
+@@ -7,20 +7,27 @@
+ 
+ #ifndef mozilla_mozalloc_h
+ #define mozilla_mozalloc_h
+ 
+ /*
+  * https://bugzilla.mozilla.org/show_bug.cgi?id=427099
+  */
+ 
+-#include <stdlib.h>
+-#include <string.h>
+ #if defined(__cplusplus)
+ #  include <new>
++// Since libstdc++ 6, including the C headers (e.g. stdlib.h) instead of the
++// corresponding C++ header (e.g. cstdlib) can cause confusion in C++ code
++// using things defined there. Specifically, with stdlib.h, the use of abs()
++// in gfx/graphite2/src/inc/UtfCodec.h somehow ends up picking the wrong abs()
++#  include <cstdlib>
++#  include <cstring>
++#else
++#  include <stdlib.h>
++#  include <string.h>
+ #endif
+ 
+ #if defined(__cplusplus)
+ #include "mozilla/fallible.h"
+ #include "mozilla/TemplateLib.h"
+ #endif
+ #include "mozilla/Attributes.h"
+ #include "mozilla/Types.h"

Modified: head/www/libxul/Makefile
==============================================================================
--- head/www/libxul/Makefile	Sun Sep 18 18:18:35 2016	(r422402)
+++ head/www/libxul/Makefile	Sun Sep 18 18:38:21 2016	(r422403)
@@ -3,7 +3,7 @@
 
 PORTNAME=	libxul
 DISTVERSION=	45.4.0
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES?=	www devel
 MASTER_SITES=	MOZILLA/firefox/releases/${DISTVERSION}esr/source \
 		MOZILLA/firefox/candidates/${DISTVERSION}esr-candidates/build2/source

Copied: head/www/libxul/files/patch-bug1245076 (from r421523, head/www/firefox/files/patch-bug1245076)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/libxul/files/patch-bug1245076	Sun Sep 18 18:38:21 2016	(r422403, copy of r421523, head/www/firefox/files/patch-bug1245076)
@@ -0,0 +1,74 @@
+
+# HG changeset patch
+# User Mike Hommey <mh+mozilla@glandium.org>
+# Date 1457596445 -32400
+# Node ID 55212130f19da3079167a6b0a5a0ed6689c9a71d
+# Parent  27c94617d7064d566c24a42e11cd4c7ef725923d
+Bug 1245076 - Don't include mozalloc.h from the cstdlib wrapper. r=froydnj
+
+Our STL wrappers do various different things, one of which is including
+mozalloc.h for infallible operator new. mozalloc.h includes stdlib.h,
+which, in libstdc++ >= 6 is now itself a wrapper around cstdlib, which
+circles back to our STL wrapper.
+
+But of the things our STL wrappers do, including mozalloc.h is not one
+that is necessary for cstdlib. So skip including mozalloc.h in our
+cstdlib wrapper.
+
+Additionally, some C++ sources (in media/mtransport) are including
+headers in an extern "C" block, which end up including stdlib.h, which
+ends up including cstdlib because really, this is all C++, and our
+wrapper pre-includes <new> for mozalloc.h, which fails because templates
+don't work inside extern "C". So, don't pre-include <new> when we're not
+including mozalloc.h.
+
+
+diff --git config/gcc-stl-wrapper.template.h config/gcc-stl-wrapper.template.h
+--- config/gcc-stl-wrapper.template.h
++++ config/gcc-stl-wrapper.template.h
+@@ -12,33 +12,40 @@
+ // compiling ObjC.
+ #if defined(__EXCEPTIONS) && __EXCEPTIONS && !(__OBJC__ && __GNUC__ && XP_IOS)
+ #  error "STL code can only be used with -fno-exceptions"
+ #endif
+ 
+ // Silence "warning: #include_next is a GCC extension"
+ #pragma GCC system_header
+ 
++// Don't include mozalloc for cstdlib. See bug 1245076.
++#ifndef moz_dont_include_mozalloc_for_cstdlib
++#  define moz_dont_include_mozalloc_for_cstdlib
++#endif
++#ifndef moz_dont_include_mozalloc_for_${HEADER}
+ // mozalloc.h wants <new>; break the cycle by always explicitly
+ // including <new> here.  NB: this is a tad sneaky.  Sez the gcc docs:
+ //
+ //    `#include_next' does not distinguish between <file> and "file"
+ //    inclusion, nor does it check that the file you specify has the
+ //    same name as the current file. It simply looks for the file
+ //    named, starting with the directory in the search path after the
+ //    one where the current file was found.
+-#include_next <new>
++#  include_next <new>
+ 
+ // See if we're in code that can use mozalloc.  NB: this duplicates
+ // code in nscore.h because nscore.h pulls in prtypes.h, and chromium
+ // can't build with that being included before base/basictypes.h.
+-#if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
+-#  include "mozilla/mozalloc.h"
+-#else
+-#  error "STL code can only be used with infallible ::operator new()"
++#  if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
++#    include "mozilla/mozalloc.h"
++#  else
++#    error "STL code can only be used with infallible ::operator new()"
++#  endif
++
+ #endif
+ 
+ #if defined(DEBUG) && !defined(_GLIBCXX_DEBUG)
+ // Enable checked iterators and other goodies
+ //
+ // FIXME/bug 551254: gcc's debug STL implementation requires -frtti.
+ // Figure out how to resolve this with -fno-rtti.  Maybe build with
+ // -frtti in DEBUG builds?

Copied and modified: head/www/libxul/files/patch-bug1268816 (from r421523, head/www/firefox/files/patch-bug1268816)
==============================================================================
--- head/www/firefox/files/patch-bug1268816	Wed Sep  7 21:47:23 2016	(r421523, copy source)
+++ head/www/libxul/files/patch-bug1268816	Sun Sep 18 18:38:21 2016	(r422403)
@@ -48,104 +48,3 @@ diff --git config/system-headers config/
  ucontext.h
  uconv.h
  UCursor.h
-diff --git gfx/skia/skia/include/config/SkUserConfig.h gfx/skia/skia/include/config/SkUserConfig.h
---- gfx/skia/skia/include/config/SkUserConfig.h
-+++ gfx/skia/skia/include/config/SkUserConfig.h
-@@ -159,9 +159,20 @@
- #ifndef MOZ_IMPLICIT
- #  ifdef MOZ_CLANG_PLUGIN
- #    define MOZ_IMPLICIT __attribute__((annotate("moz_implicit")))
- #  else
- #    define MOZ_IMPLICIT
- #  endif
- #endif
- 
-+/* Check if building with either MSVC, libc++, or a sufficiently recent version of libstdc++.
-++ * On platforms like OS X 10.6 or older Android SDKs, we need to work around a lack of certain
-++ * C++11 features.
-++ */
-+#include "mozilla/Compiler.h"
-+#if MOZ_IS_MSVC || MOZ_USING_LIBCXX || MOZ_LIBSTDCXX_VERSION_AT_LEAST(4, 8, 0)
-+#  define MOZ_SKIA_AVOID_CXX11 0
-+#else
-+#  define MOZ_SKIA_AVOID_CXX11 1
- #endif
-+
-+#endif
-diff --git gfx/skia/skia/include/private/SkTLogic.h gfx/skia/skia/include/private/SkTLogic.h
---- gfx/skia/skia/include/private/SkTLogic.h
-+++ gfx/skia/skia/include/private/SkTLogic.h
-@@ -24,7 +24,7 @@
- #include <algorithm>
- #endif
- 
--#ifdef MOZ_SKIA
-+#if MOZ_SKIA_AVOID_CXX11
- #include "mozilla/Move.h"
- #include "mozilla/TypeTraits.h"
- 
-@@ -32,23 +32,9 @@
- #include "mozilla/Function.h"
- #endif
- 
--// In libc++, symbols such as std::forward may be defined in std::__1.
--// The _LIBCPP_BEGIN_NAMESPACE_STD and _LIBCPP_END_NAMESPACE_STD macros
--// will expand to the correct namespace.
--#ifdef _LIBCPP_BEGIN_NAMESPACE_STD
--#define MOZ_BEGIN_STD_NAMESPACE _LIBCPP_BEGIN_NAMESPACE_STD
--#define MOZ_END_STD_NAMESPACE _LIBCPP_END_NAMESPACE_STD
--#else
--#define MOZ_BEGIN_STD_NAMESPACE namespace std {
--#define MOZ_END_STD_NAMESPACE }
--#endif
--
--MOZ_BEGIN_STD_NAMESPACE
-+namespace std {
-     using mozilla::Forward;
-     #define forward Forward
--MOZ_END_STD_NAMESPACE
--
--namespace std {
- #if SKIA_IMPLEMENTATION
-     using mozilla::IntegralConstant;
-     using mozilla::IsEmpty;
-@@ -73,7 +59,7 @@ template <bool B, typename T = void> usi
- 
- }
- 
--#else /* !MOZ_SKIA */
-+#else /* !MOZ_SKIA_AVOID_CXX11 */
- 
- #include <type_traits>
- #include <functional>
-@@ -178,7 +164,7 @@ template <typename D, typename S> using 
- 
- }  // namespace sknonstd
- 
--#endif /* MOZ_SKIA */
-+#endif /* MOZ_SKIA_AVOID_CXX11 */
- 
- // Just a pithier wrapper for enable_if_t.
- #define SK_WHEN(condition, T) skstd::enable_if_t<!!(condition), T>
-diff --git gfx/skia/skia/include/private/SkUniquePtr.h gfx/skia/skia/include/private/SkUniquePtr.h
---- gfx/skia/skia/include/private/SkUniquePtr.h
-+++ gfx/skia/skia/include/private/SkUniquePtr.h
-@@ -7,17 +7,17 @@
- 
- #ifndef SkUniquePtr_DEFINED
- #define SkUniquePtr_DEFINED
- 
- #include "SkTLogic.h"
- #include <cstddef>
- #include <utility>
- 
--#ifdef MOZ_SKIA
-+#if MOZ_SKIA_AVOID_CXX11
- #include "mozilla/UniquePtr.h"
- 
- namespace std {
-     using mozilla::DefaultDelete;
-     using mozilla::UniquePtr;
- }
- 
- namespace skstd {

Copied: head/www/libxul/files/patch-bug1269171 (from r421523, head/www/firefox/files/patch-bug1269171)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/libxul/files/patch-bug1269171	Sun Sep 18 18:38:21 2016	(r422403, copy of r421523, head/www/firefox/files/patch-bug1269171)
@@ -0,0 +1,258 @@
+
+# HG changeset patch
+# User Mike Hommey <mh+mozilla@glandium.org>
+# Date 1463557039 -32400
+# Node ID 68da139d0866977c0ada86319fa94388f2255446
+# Parent  a640e6fa8ab9977fb6c5bcf63dc4daca6699477b
+Bug 1269171 - Change how mozalloc.h is hooked in STL wrappers. r=froydnj
+
+Since the introduction of the STL wrappers, they have included
+mozalloc.h, and multiple times, we've hit header reentrancy problems,
+and worked around them as best as we could.
+
+Taking a step back, all mozalloc.h does is:
+- declare moz_* allocator functions.
+- define inline implementations of various operator new/delete variants.
+
+The first only requires the functions to be declared before they are used,
+so mozalloc.h only needs to be included before anything that would use
+those functions.
+
+The second doesn't actually require a specific order, as long as the
+declaration for those functions comes before their use, and they are
+either declared in <new> or implicitly by the C++ compiler.
+
+So all in all, it doesn't matter that mozalloc.h is included before the
+wrapped STL headers. What matters is that it's included when STL headers
+are included. So arrange things such that mozalloc.h is included after
+the first wrapped STL header is fully preprocessed (and all its includes
+have been included).
+
+
+diff --git config/gcc-stl-wrapper.template.h config/gcc-stl-wrapper.template.h
+--- config/gcc-stl-wrapper.template.h
++++ config/gcc-stl-wrapper.template.h
+@@ -12,56 +12,54 @@
+ // compiling ObjC.
+ #if defined(__EXCEPTIONS) && __EXCEPTIONS && !(__OBJC__ && __GNUC__ && XP_IOS)
+ #  error "STL code can only be used with -fno-exceptions"
+ #endif
+ 
+ // Silence "warning: #include_next is a GCC extension"
+ #pragma GCC system_header
+ 
+-// Don't include mozalloc for cstdlib. See bug 1245076.
+-#ifndef moz_dont_include_mozalloc_for_cstdlib
+-#  define moz_dont_include_mozalloc_for_cstdlib
+-#endif
+-#ifndef moz_dont_include_mozalloc_for_${HEADER}
+-// mozalloc.h wants <new>; break the cycle by always explicitly
+-// including <new> here.  NB: this is a tad sneaky.  Sez the gcc docs:
+-//
+-//    `#include_next' does not distinguish between <file> and "file"
+-//    inclusion, nor does it check that the file you specify has the
+-//    same name as the current file. It simply looks for the file
+-//    named, starting with the directory in the search path after the
+-//    one where the current file was found.
+-#  include_next <new>
+-
+-// See if we're in code that can use mozalloc.  NB: this duplicates
+-// code in nscore.h because nscore.h pulls in prtypes.h, and chromium
+-// can't build with that being included before base/basictypes.h.
+-#  if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
+-#    include "mozilla/mozalloc.h"
+-#  else
+-#    error "STL code can only be used with infallible ::operator new()"
+-#  endif
+-
+-#endif
+-
+ #if defined(DEBUG) && !defined(_GLIBCXX_DEBUG)
+ // Enable checked iterators and other goodies
+ //
+ // FIXME/bug 551254: gcc's debug STL implementation requires -frtti.
+ // Figure out how to resolve this with -fno-rtti.  Maybe build with
+ // -frtti in DEBUG builds?
+ //
+ //  # define _GLIBCXX_DEBUG 1
+ #endif
+ 
++// Don't include mozalloc for cstdlib. See bug 1245076.
++#ifndef moz_dont_include_mozalloc_for_cstdlib
++#  define moz_dont_include_mozalloc_for_cstdlib
++#endif
++
++// Include mozalloc after the STL header and all other headers it includes
++// have been preprocessed.
++#if !defined(MOZ_INCLUDE_MOZALLOC_H) && \
++    !defined(moz_dont_include_mozalloc_for_${HEADER})
++#  define MOZ_INCLUDE_MOZALLOC_H
++#  define MOZ_INCLUDE_MOZALLOC_H_FROM_${HEADER}
++#endif
++
+ #pragma GCC visibility push(default)
+ #include_next <${HEADER}>
+ #pragma GCC visibility pop
+ 
++#ifdef MOZ_INCLUDE_MOZALLOC_H_FROM_${HEADER}
++// See if we're in code that can use mozalloc.  NB: this duplicates
++// code in nscore.h because nscore.h pulls in prtypes.h, and chromium
++// can't build with that being included before base/basictypes.h.
++#  if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
++#    include "mozilla/mozalloc.h"
++#  else
++#    error "STL code can only be used with infallible ::operator new()"
++#  endif
++#endif
++
+ // gcc calls a __throw_*() function from bits/functexcept.h when it
+ // wants to "throw an exception".  functexcept exists nominally to
+ // support -fno-exceptions, but since we'll always use the system
+ // libstdc++, and it's compiled with exceptions, then in practice
+ // these __throw_*() functions will always throw exceptions (shades of
+ // -fshort-wchar).  We don't want that and so define our own inlined
+ // __throw_*().
+ #ifndef mozilla_throw_gcc_h
+diff --git config/make-stl-wrappers.py config/make-stl-wrappers.py
+--- config/make-stl-wrappers.py
++++ config/make-stl-wrappers.py
+@@ -25,28 +25,26 @@ def header_path(header, compiler):
+ def is_comment(line):
+     return re.match(r'\s*#.*', line)
+ 
+ def main(outdir, compiler, template_file, header_list_file):
+     if not os.path.isdir(outdir):
+         os.mkdir(outdir)
+ 
+     template = open(template_file, 'r').read()
+-    path_to_new = header_path('new', compiler)
+ 
+     for header in open(header_list_file, 'r'):
+         header = header.rstrip()
+         if 0 == len(header) or is_comment(header):
+             continue
+ 
+         path = header_path(header, compiler)
+         with FileAvoidWrite(os.path.join(outdir, header)) as f:
+             f.write(string.Template(template).substitute(HEADER=header,
+-                                                         HEADER_PATH=path,
+-                                                         NEW_HEADER_PATH=path_to_new))
++                                                         HEADER_PATH=path))
+ 
+ 
+ if __name__ == '__main__':
+     if 5 != len(sys.argv):
+         print("""Usage:
+   python {0} OUT_DIR ('msvc'|'gcc') TEMPLATE_FILE HEADER_LIST_FILE
+ """.format(sys.argv[0]), file=sys.stderr)
+         sys.exit(1)

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201609181838.u8IIcLUA047432>