Backed out 5 changesets (bug 1305145) for windows build failures a=backout
authorWes Kocher <wkocher@mozilla.com>
Fri, 14 Oct 2016 13:07:58 -0700
changeset 318125 acee3d0166dc3426e858930f9a3587122638446d
parent 318124 8769351b980ee57e0d0b4436808a2e272d5fe59b
child 318126 bb4cb6a2db958cc42758bafd7eca92ac3eb2e3e4
push id30830
push usercbook@mozilla.com
push dateMon, 17 Oct 2016 09:19:24 +0000
treeherdermozilla-central@94b0fddf96b4 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbackout
bugs1305145
milestone52.0a1
backs out0f39b7305d41a70759f6cae8571fba860a0d3b65
ab38e43fdcb6cb9e0d63fb4f4a7de7f30ab8accc
aece1b8a86732fae5e0577c6567fb90e31e191ee
85082a1118068529ac58b413772246bd83428c0f
33e563d2d834a9b7c27802aeec0d1085d1506a41
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out 5 changesets (bug 1305145) for windows build failures a=backout Backed out changeset 0f39b7305d41 (bug 1305145) Backed out changeset ab38e43fdcb6 (bug 1305145) Backed out changeset aece1b8a8673 (bug 1305145) Backed out changeset 85082a111806 (bug 1305145) Backed out changeset 33e563d2d834 (bug 1305145)
build/moz.configure/old.configure
build/moz.configure/pkg.configure
js/ffi.configure
moz.configure
old-configure.in
toolkit/moz.configure
--- a/build/moz.configure/old.configure
+++ b/build/moz.configure/old.configure
@@ -229,16 +229,17 @@ def old_configure_options(*options):
     '--enable-synth-pico',
     '--enable-system-cairo',
     '--enable-system-extension-dirs',
     '--enable-system-pixman',
     '--enable-system-sqlite',
     '--enable-tasktracer',
     '--enable-thread-sanitizer',
     '--enable-trace-logging',
+    '--enable-tree-freetype',
     '--enable-ui-locale',
     '--enable-universalchardet',
     '--enable-updater',
     '--enable-url-classifier',
     '--enable-valgrind',
     '--enable-verify-mar',
     '--enable-webrtc',
     '--enable-xul',
--- a/build/moz.configure/pkg.configure
+++ b/build/moz.configure/pkg.configure
@@ -82,16 +82,12 @@ def pkg_check_modules(var, package_desc,
 
     @depends_when(pkg_config, package_desc, when=package)
     @checking('%s_LIBS' % var, callback=lambda t: ' '.join(t))
     def pkg_libs(pkg_config, package_desc):
         libs = check_cmd_output(pkg_config, '--libs', package_desc)
         # Remove evil flags like -Wl,--export-dynamic
         return tuple(libs.replace('-Wl,--export-dynamic', '').split())
 
-    @depends_when(pkg_cflags, pkg_libs, when=package)
-    def pkg_info(cflags, libs):
-        return namespace(cflags=cflags, libs=libs)
-
     set_config('%s_CFLAGS' % var, pkg_cflags)
     set_config('%s_LIBS' % var, pkg_libs)
 
-    return pkg_info
+    return package
--- a/js/ffi.configure
+++ b/js/ffi.configure
@@ -15,20 +15,20 @@ imply_option('--with-system-ffi', force_
 js_option('--with-system-ffi',
           help='Use system libffi (located with pkgconfig)')
 
 use_system_ffi = depends_if('--with-system-ffi')(lambda _: True)
 
 system_ffi = pkg_check_modules('MOZ_FFI', 'libffi > 3.0.9',
                                when=use_system_ffi)
 
-building_ffi = depends(system_ffi)(lambda v: not bool(v is not None))
+building_ffi = depends(system_ffi)(lambda v: not bool(v))
 
-set_config('MOZ_SYSTEM_FFI', depends_if(system_ffi)(lambda _: True))
-add_old_configure_assignment('MOZ_SYSTEM_FFI', depends_if(system_ffi)(lambda _: True))
+set_config('MOZ_SYSTEM_FFI', system_ffi)
+add_old_configure_assignment('MOZ_SYSTEM_FFI', system_ffi)
 
 # Target selection, based on ffi/configure.ac.
 @depends_when(target, when=building_ffi)
 def ffi_target(target):
     if target.cpu not in ('x86', 'x86_64', 'arm', 'aarch64'):
         die('Building libffi from the tree is not supported on this platform. '
             'Use --with-system-ffi instead.')
 
--- a/moz.configure
+++ b/moz.configure
@@ -270,17 +270,17 @@ option('--enable-system-hunspell',
 
 @depends('--enable-system-hunspell', compile_environment)
 def check_for_hunspell(value, compile_env):
     return value and compile_env
 
 system_hunspell = pkg_check_modules('MOZ_HUNSPELL', 'hunspell',
                                     when=check_for_hunspell)
 
-set_config('MOZ_SYSTEM_HUNSPELL', depends_if(system_hunspell)(lambda _: True))
+set_config('MOZ_SYSTEM_HUNSPELL', system_hunspell)
 
 
 @depends(target)
 @imports('os')
 def makensis_progs(target):
     if target.kernel != 'WINNT':
         return
 
--- a/old-configure.in
+++ b/old-configure.in
@@ -54,26 +54,28 @@ NSS_VERSION=3
 dnl Set the minimum version of toolkit libs used by mozilla
 dnl ========================================================
 GLIB_VERSION=2.22
 # 2_26 is the earliest version we can set GLIB_VERSION_MIN_REQUIRED.
 # The macro won't be used when compiling with earlier versions anyway.
 GLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26
 GIO_VERSION=2.22
 CAIRO_VERSION=1.10
+PANGO_VERSION=1.22.0
 GTK2_VERSION=2.18.0
 GTK3_VERSION=3.4.0
 GDK_VERSION_MAX_ALLOWED=GDK_VERSION_3_4
 WINDRES_VERSION=2.14.90
 W32API_VERSION=3.14
 GNOMEUI_VERSION=2.2.0
 GCONF_VERSION=1.2.1
 STARTUP_NOTIFICATION_VERSION=0.8
 DBUS_VERSION=0.60
 SQLITE_VERSION=3.14.1
+FONTCONFIG_VERSION=2.7.0
 
 dnl Set various checks
 dnl ========================================================
 MISSING_X=
 
 dnl Initialize the Pthread test variables early so they can be
 dnl  overridden by each platform.
 dnl ========================================================
@@ -2354,16 +2356,17 @@ case "$target_os" in
         NS_ENABLE_TSF=1
         AC_DEFINE(NS_ENABLE_TSF)
         ;;
 esac
 
 case "${target}" in
     *-android*|*-linuxandroid*)
         MOZ_THEME_FASTSTRIPE=1
+        MOZ_TREE_FREETYPE=1
         MOZ_RAW=1
         ;;
 
 esac
 
 # Optional Firefox for Android partner distribution directory.
 MOZ_ARG_WITH_STRING(android-distribution-directory,
 [  --with-android-distribution-directory=dir
@@ -2669,16 +2672,26 @@ dnl values set by configure.sh above.
 dnl ========================================================
 
 MOZ_ANDROID_GOOGLE_PLAY_SERVICES
 MOZ_ANDROID_GOOGLE_CLOUD_MESSAGING
 MOZ_ANDROID_INSTALL_TRACKING
 
 
 dnl ========================================================
+dnl = Pango
+dnl ========================================================
+if test "$MOZ_ENABLE_GTK"
+then
+    PKG_CHECK_MODULES(_PANGOCHK, pango >= $PANGO_VERSION)
+
+    PKG_CHECK_MODULES(MOZ_PANGO, pango >= $PANGO_VERSION pangoft2 >= $PANGO_VERSION pangocairo >= $PANGO_VERSION)
+fi
+
+dnl ========================================================
 dnl = GIO and GConf support module
 dnl ========================================================
 
 if test "$MOZ_X11"
 then
     dnl build the GIO extension by default only when the
     dnl GTK2 toolkit is in use.
     if test "$MOZ_ENABLE_GTK"
@@ -3848,20 +3861,37 @@ for extension in $MOZ_EXTENSIONS; do
         AC_MSG_ERROR([Unrecognized extension provided to --enable-extensions: ${extension}.])
     fi
 done
 
 if test -n "$MOZ_USE_NATIVE_POPUP_WINDOWS"; then
   AC_DEFINE(MOZ_USE_NATIVE_POPUP_WINDOWS)
 fi
 
+dnl ========================================================
+dnl Build Freetype in the tree
+dnl ========================================================
+MOZ_ARG_ENABLE_BOOL(tree-freetype,
+[  --enable-tree-freetype  Enable Tree FreeType],
+    MOZ_TREE_FREETYPE=1,
+    MOZ_TREE_FREETYPE= )
 if test -n "$MOZ_TREE_FREETYPE"; then
+   if test -n "$_WIN32_MSVC"; then
+      AC_ERROR("building with in-tree freetype is not supported on MSVC")
+   fi
+   AC_DEFINE(MOZ_TREE_FREETYPE)
+   AC_SUBST(MOZ_TREE_FREETYPE)
    MOZ_ENABLE_CAIRO_FT=1
    FT_FONT_FEATURE="#define CAIRO_HAS_FT_FONT 1"
+   FT2_CFLAGS="-I$_topsrcdir/modules/freetype2/include"
    CAIRO_FT_CFLAGS="-I$_topsrcdir/modules/freetype2/include"
+   CAIRO_FT_OSLIBS=''
+   AC_DEFINE(HAVE_FT_BITMAP_SIZE_Y_PPEM)
+   AC_DEFINE(HAVE_FT_GLYPHSLOT_EMBOLDEN)
+   AC_DEFINE(HAVE_FT_LOAD_SFNT_TABLE)
    AC_SUBST_LIST(CAIRO_FT_CFLAGS)
 fi
 
 AC_CHECK_PROGS(WGET, wget, "")
 AC_SUBST(WGET)
 
 dnl ========================================================
 dnl Maintenance Service
@@ -5108,19 +5138,21 @@ if test -z "${GLIB_GMODULE_LIBS}" \
     GLIB_GMODULE_LIBS=`$GLIB_CONFIG gmodule --libs`
 fi
 
 AC_SUBST_LIST(GLIB_GMODULE_LIBS)
 
 if test "$USE_FC_FREETYPE"; then
     if test "$COMPILE_ENVIRONMENT"; then
         dnl ========================================================
-        dnl = Check for freetype2 functionality
+        dnl = Check for freetype2 and its functionality
         dnl ========================================================
-        if test "$_HAVE_FREETYPE2" -a -z "$MOZ_TREE_FREETYPE"; then
+        PKG_CHECK_MODULES(FT2, freetype2 >= 6.1.0, _HAVE_FREETYPE2=1, _HAVE_FREETYPE2=)
+
+        if test "$_HAVE_FREETYPE2"; then
             _SAVE_LIBS="$LIBS"
             _SAVE_CFLAGS="$CFLAGS"
             LIBS="$LIBS $FT2_LIBS"
             CFLAGS="$CFLAGS $FT2_CFLAGS"
 
             AC_CACHE_CHECK(for FT_Bitmap_Size.y_ppem,
                 ac_cv_member_FT_Bitmap_Size_y_ppem,
                 [AC_TRY_COMPILE([#include <ft2build.h>
@@ -5145,17 +5177,30 @@ if test "$USE_FC_FREETYPE"; then
             CFLAGS="$_SAVE_CFLAGS"
         fi
 
         _SAVE_CPPFLAGS="$CPPFLAGS"
         CPPFLAGS="$CPPFLAGS $FT2_CFLAGS $XCFLAGS"
         MOZ_CHECK_HEADERS([fontconfig/fcfreetype.h], ,
             [AC_MSG_ERROR(Can't find header fontconfig/fcfreetype.h.)], [#include <fontconfig/fontconfig.h>])
         CPPFLAGS="$_SAVE_CPPFLAGS"
+    else
+        AC_DEFINE(HAVE_FONTCONFIG_FCFREETYPE_H)
     fi
+
+    PKG_CHECK_MODULES(_FONTCONFIG, fontconfig >= $FONTCONFIG_VERSION,
+    [
+        if test "$MOZ_PANGO"; then
+            MOZ_PANGO_CFLAGS="$MOZ_PANGO_CFLAGS $_FONTCONFIG_CFLAGS"
+            MOZ_PANGO_LIBS="$MOZ_PANGO_LIBS $_FONTCONFIG_LIBS"
+        else
+            FT2_CFLAGS="$FT2_CFLAGS $_FONTCONFIG_CFLAGS"
+            FT2_LIBS="$FT2_LIBS $_FONTCONFIG_LIBS"
+        fi
+    ])
 fi
 
 dnl ========================================================
 dnl Check for pixman and cairo
 dnl ========================================================
 
 MOZ_TREE_CAIRO=1
 MOZ_ARG_ENABLE_BOOL(system-cairo,
@@ -5258,16 +5303,18 @@ if test "$MOZ_TREE_CAIRO"; then
     AC_SUBST(WIN32_FONT_FEATURE)
     AC_SUBST(WIN32_DWRITE_FONT_FEATURE)
     AC_SUBST(WIN32_D2D_SURFACE_FEATURE)
     AC_SUBST(QUARTZ_FONT_FEATURE)
     AC_SUBST(PNG_FUNCTIONS_FEATURE)
     AC_SUBST(QT_SURFACE_FEATURE)
     AC_SUBST(TEE_SURFACE_FEATURE)
 
+    MOZ_CAIRO_OSLIBS='${CAIRO_FT_OSLIBS}'
+
     if test "$MOZ_X11"; then
         MOZ_CAIRO_OSLIBS="$MOZ_CAIRO_OSLIBS $XLDFLAGS -lXrender"
     fi
 
     CAIRO_FEATURES_H=gfx/cairo/cairo/src/cairo-features.h
 else
     PKG_CHECK_MODULES(CAIRO, cairo >= $CAIRO_VERSION)
     MOZ_CAIRO_CFLAGS="$CAIRO_CFLAGS"
--- a/toolkit/moz.configure
+++ b/toolkit/moz.configure
@@ -269,78 +269,16 @@ option(env='USE_FC_FREETYPE',
 @depends('USE_FC_FREETYPE', toolkit)
 def fc_freetype(value, toolkit):
     if value or (toolkit in ('gtk2', 'gtk3') and
                  value.origin == 'default'):
         return True
 
 add_old_configure_assignment('USE_FC_FREETYPE', fc_freetype)
 
-# Pango
-# ==============================================================
-pkg_check_modules('MOZ_PANGO',
-                  'pango >= 1.22.0 pangoft2 >= 1.22.0 pangocairo >= 1.22.0',
-                  when=toolkit_gtk)
-
-# Fontconfig
-# ==============================================================
-fontconfig_info = pkg_check_modules('_FONTCONFIG', 'fontconfig >= 2.7.0',
-                                    when=fc_freetype)
-
-@depends(fc_freetype)
-def check_for_freetype2(fc_freetype):
-    if fc_freetype:
-        return True
-
-# Check for freetype2. Flags are combined with fontconfig flags.
-freetype2_info = pkg_check_modules('_FT2', 'freetype2 >= 6.1.0',
-                                   when=check_for_freetype2)
-
-@depends(fontconfig_info, freetype2_info)
-def freetype2_combined_info(fontconfig_info, freetype2_info):
-    if not freetype2_info:
-        return
-    if not fontconfig_info:
-        return freetype2_info
-    return namespace(
-        cflags=freetype2_info.cflags + fontconfig_info.cflags,
-        libs=freetype2_info.libs + fontconfig_info.libs,
-    )
-
-add_old_configure_assignment('_HAVE_FREETYPE2',
-                             depends_if(freetype2_info)(lambda _: True))
-
-# Build Freetype in the tree
-# ==============================================================
-@depends(target)
-def tree_freetype(target):
-    if target.os == 'Android':
-        return True
-
-set_define('MOZ_TREE_FREETYPE', tree_freetype)
-set_config('MOZ_TREE_FREETYPE', tree_freetype)
-add_old_configure_assignment('MOZ_TREE_FREETYPE', tree_freetype)
-
-set_define('HAVE_FT_BITMAP_SIZE_Y_PPEM', tree_freetype)
-set_define('HAVE_FT_GLYPHSLOT_EMBOLDEN', tree_freetype)
-set_define('HAVE_FT_LOAD_SFNT_TABLE', tree_freetype)
-
-@depends(freetype2_combined_info, tree_freetype, check_build_environment)
-def ft2_info(freetype2_combined_info, tree_freetype, build_env):
-    if tree_freetype:
-        return namespace(cflags=('-I%s/modules/freetype2/include' % build_env.topsrcdir,),
-                         libs=())
-    if freetype2_combined_info:
-        return freetype2_combined_info
-
-set_config('FT2_LIBS', delayed_getattr(ft2_info, 'libs'))
-add_old_configure_assignment('FT2_LIBS',
-                             delayed_getattr(ft2_info, 'libs'))
-add_old_configure_assignment('FT2_CFLAGS',
-                             delayed_getattr(ft2_info, 'cflags'))
 
 # Apple platform decoder support
 # ==============================================================
 @depends(toolkit)
 def applemedia(toolkit):
     if toolkit in ('cocoa', 'uikit'):
         return True
 
@@ -530,17 +468,17 @@ option('--enable-gpsd', env='MOZ_GPSD',
 
 @depends('--enable-gpsd')
 def gpsd(value):
     return bool(value)
 
 system_gpsd = pkg_check_modules('MOZ_GPSD', 'libgps >= 3.11',
                                 when=gpsd)
 
-set_config('MOZ_GPSD', depends_if(system_gpsd)(lambda _: True))
+set_config('MOZ_GPSD', system_gpsd)
 
 # Miscellaneous programs
 # ==============================================================
 
 check_prog('TAR', ('gnutar', 'gtar', 'tar'))
 check_prog('UNZIP', ('unzip',))
 check_prog('ZIP', ('zip',))