modules/freetype2/Jamrules
author Gregory Szorc <gps@mozilla.com>
Thu, 24 Mar 2016 09:12:19 -0700
changeset 290265 559a80645f20706e1eaaeed863e90c2d35ff7644
parent 22693 9e5b08f9e9d96d15872c7b8c60312bb579be4115
child 324771 24af599c0e9b4f438cf728355af25547cc33b2d1
permissions -rw-r--r--
Bug 1186060 - Build with Visual Studio 2015 Update 1; r=ted, ehsan This commit switches Windows builds from Visual Studio 2013 to Visual Studio 2015 Update 1. Previously, Visual Studio was installed on the builders as part of the base system image. Starting with this commit, we obtain Visual Studio from a pre-generated, self-contained archive containing the executables, Windows SDK, and other support files. This means that new Windows toolchains can be installed without having to modify configuration of machines in automation! The mozconfigs for Visual Studio 2015 are a bit different from existing mozconfigs. Because it appears to be completely redundant and not necessary, the LIBPATH variable has been dropped. The order of paths in PATH, LIB, and INCLUDE has changed. The new order more accurately reflects what would be defined by vcvarsall.bat. As part of switching to Visual Studio 2015, the Universal CRT is now required. So, the 2015 mozconfigs export WIN_UCRT_REDIST_DIR to define the location to those files. The switch to Visual Studio 2015 also involves the switch from the Windows 8.1 SDK to the Windows 10 SDK. However, we still target an old version of Windows, so this hopefully shouldn't have any significant fallout. It's worth noting that switching to Visual Studio 2015 makes builds - especially PGO builds - significantly faster. Our PGO build times in automation are ~1 hour faster. Our regular builds appear to be a few minutes faster. MozReview-Commit-ID: Pa5GW8V87Q

# FreeType 2 JamRules.
#
# Copyright 2001, 2002, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
# and distributed under the terms of the FreeType project license,
# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
# indicate that you have read the license and understand and accept it
# fully.


# This file contains the Jam rules needed to build the FreeType 2 library.
# It is shared by all Jamfiles and is included only once in the build
# process.
#


# Call SubDirHdrs on a list of directories.
#
rule AddSubDirHdrs
{
  local x ;

  for x in $(<)
  {
    SubDirHdrs $(x) ;
  }
}


# Determine prefix of library file.  We must use "libxxxxx" on Unix systems,
# while all other simply use the real name.
#
if $(UNIX)
{
  LIBPREFIX ?= lib ;
}
else
{
  LIBPREFIX ?= "" ;
}

# FT2_TOP contains the location of the FreeType source directory.  You can
# set it to a specific value if you want to compile the library as part of a
# larger project.
#
FT2_TOP ?= $(DOT) ;

# Define a new rule used to declare a sub directory of the Nirvana source
# tree.
#
rule FT2_SubDir
{
  if $(FT2_TOP) = $(DOT)
  {
    return [ FDirName  $(<) ] ;
  }
  else
  {
    return [ FDirName  $(FT2_TOP) $(<) ] ;
  }
}

# We also set ALL_LOCATE_TARGET in order to place all object and library
# files in "objs".
#
ALL_LOCATE_TARGET ?= [ FT2_SubDir  objs ] ;


# end of Jamrules