Home | History | Annotate | Download | only in pdfium
      1 use_relative_paths = True
      2 
      3 vars = {
      4   # By default, we should check out everything needed to run on the main
      5   # chromium waterfalls. This var can be also be set to "small", in order
      6   # to skip things are not strictly needed to build chromium for development
      7   # purposes.
      8   'checkout_configuration': 'default',
      9 
     10   # TODO(dpranke): change to != "small" once != is supported.
     11   'checkout_instrumented_libraries': 'checkout_linux and checkout_configuration == "default"',
     12 
     13   'chromium_git': 'https://chromium.googlesource.com',
     14   'pdfium_git': 'https://pdfium.googlesource.com',
     15 
     16   'android_ndk_revision': 'd57523210239b867fa4fb9d05c2aacc3f1802fe0',
     17   'binutils_revision': 'e146228c20af6af922887d0be2d3641cbffb33c5',
     18   'build_revision': '097c79babc9b2ce40b61c3e33da1c6681acf837c',
     19   'buildtools_revision': 'b36c7b60ed73919b157c7d23ec5fce2aa69ab05e',
     20   'catapult_revision': 'd624b3ced2c81d4fb4ea98a8dbb4532272cc1e0a',
     21   'clang_revision': 'ac1e5f78c39dc2a262af149404dd36c140eecdc1',
     22   'cygwin_revision': 'c89e446b273697fadf3a10ff1007a97c0b7de6df',
     23   'depot_tools_revision': '2e8d8348b8574f06c26dbf3ef959b5df11ba5148',
     24   'freetype_revision': '2c048a8a622e9f44f255aa3316026f124ac9ecbc',
     25   'gmock_revision': '29763965ab52f24565299976b936d1265cb6a271',
     26   'gtest_revision': '8245545b6dc9c4703e6496d1efd19e975ad2b038',
     27   'icu_revision': 'e3b480d3be4446ea17011c0cdc9c4cd380a5c58f',
     28   'instrumented_lib_revision': '28417458ac4dc79f68915079d0f283f682504cc0',
     29   'jinja2_revision': 'd34383206fa42d52faa10bb9931d6d538f3a57e0',
     30   'jpeg_turbo_revision': '7260e4d8b8e1e40b17f03fafdf1cd83296900f76',
     31   'markupsafe_revision': '8f45f5cfa0009d2a70589bcda0349b8cb2b72783',
     32   'pdfium_tests_revision': '3d6228da656a3974d72223a702e6804df494703e',
     33   'skia_revision': '40ca2087ef0752d78fd2e0995471102fe96fe9fe',
     34   'tools_memory_revision': '427f10475e1a8d72424c29d00bf689122b738e5d',
     35   'trace_event_revision': '0e9a47d74970bee1bbfc063c47215406f8918699',
     36   'v8_revision': '0c287882ea233f299a91f6b72b56d8faaecf52c0',
     37   'yasm_source_revision': 'b98114e18d8b9b84586b10d24353ab8616d4c5fc',
     38   'zlib_revision': '91155b5d0737713fc7f0499cf0ba2c4f2af24014',
     39 }
     40 
     41 deps = {
     42   "base/trace_event/common":
     43     Var('chromium_git') + "/chromium/src/base/trace_event/common.git@" +
     44         Var('trace_event_revision'),
     45 
     46   "build":
     47     Var('chromium_git') + "/chromium/src/build.git@" + Var('build_revision'),
     48 
     49   "buildtools":
     50     Var('chromium_git') + "/chromium/buildtools.git@" +
     51         Var('buildtools_revision'),
     52 
     53   "testing/corpus":
     54     Var('pdfium_git') + "/pdfium_tests@" + Var('pdfium_tests_revision'),
     55 
     56   "testing/gmock":
     57     Var('chromium_git') + "/external/googlemock.git@" + Var('gmock_revision'),
     58 
     59   "testing/gtest":
     60     Var('chromium_git') + "/external/googletest.git@" + Var('gtest_revision'),
     61 
     62   "third_party/binutils":
     63     Var('chromium_git') + "/chromium/src/third_party/binutils.git@" +
     64         Var('binutils_revision'),
     65 
     66   'third_party/depot_tools':
     67     Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' +
     68         Var('depot_tools_revision'),
     69 
     70   "third_party/freetype/src":
     71     Var('chromium_git') + '/chromium/src/third_party/freetype2.git@' +
     72         Var('freetype_revision'),
     73 
     74   "third_party/icu":
     75     Var('chromium_git') + "/chromium/deps/icu.git@" + Var('icu_revision'),
     76 
     77   "third_party/instrumented_libraries":
     78     Var('chromium_git') +
     79         "/chromium/src/third_party/instrumented_libraries.git@" +
     80         Var('instrumented_lib_revision'),
     81 
     82   "third_party/jinja2":
     83     Var('chromium_git') + "/chromium/src/third_party/jinja2.git@" +
     84         Var('jinja2_revision'),
     85 
     86   "third_party/markupsafe":
     87     Var('chromium_git') + "/chromium/src/third_party/markupsafe.git@" +
     88         Var('markupsafe_revision'),
     89 
     90   "third_party/libjpeg_turbo":
     91     Var('chromium_git') + "/chromium/deps/libjpeg_turbo.git@" +
     92         Var('jpeg_turbo_revision'),
     93 
     94   "third_party/skia":
     95     Var('chromium_git') + '/skia.git@' +  Var('skia_revision'),
     96 
     97   "third_party/zlib":
     98     Var('chromium_git') + "/chromium/src/third_party/zlib.git@" +
     99         Var('zlib_revision'),
    100 
    101   'third_party/yasm/source/patched-yasm':
    102     Var('chromium_git') + '/chromium/deps/yasm/patched-yasm.git@' +
    103         Var('yasm_source_revision'),
    104 
    105   "tools/clang":
    106     Var('chromium_git') + "/chromium/src/tools/clang@" +  Var('clang_revision'),
    107 
    108   # TODO(GYP): Remove this when no tools rely on GYP anymore.
    109   "tools/gyp":
    110     Var('chromium_git') + '/external/gyp.git@' +
    111         'eb296f67da078ec01f5e3a9ea9cdc6d26d680161',
    112 
    113   "tools/memory":
    114     Var('chromium_git') + "/chromium/src/tools/memory@" +
    115         Var('tools_memory_revision'),
    116 
    117   "v8":
    118     Var('chromium_git') + "/v8/v8.git@" + Var('v8_revision'),
    119 }
    120 
    121 deps_os = {
    122   "android": {
    123     "third_party/android_ndk":
    124       Var('chromium_git') + "/android_ndk.git@" + Var('android_ndk_revision'),
    125     "third_party/catapult":
    126       Var('chromium_git') +
    127           "/external/github.com/catapult-project/catapult.git@" +
    128           Var('catapult_revision'),
    129   },
    130   "win": {
    131     "v8/third_party/cygwin":
    132       Var('chromium_git') + "/chromium/deps/cygwin@" + Var('cygwin_revision'),
    133   },
    134 }
    135 
    136 recursedeps = [
    137   # buildtools provides clang_format, libc++, and libc++abi
    138   'buildtools',
    139 ]
    140 
    141 include_rules = [
    142   # Basic stuff that everyone can use.
    143   # Note: public is not here because core cannot depend on public.
    144   '+testing',
    145   '+third_party/base',
    146 ]
    147 
    148 specific_include_rules = {
    149   # Allow embedder tests to use public APIs.
    150   "(.*embeddertest\.cpp)": [
    151       "+public",
    152   ]
    153 }
    154 
    155 hooks = [
    156   {
    157     'name': 'gn_win',
    158     'action': [ 'download_from_google_storage',
    159                 '--no_resume',
    160                 '--platform=win32',
    161                 '--no_auth',
    162                 '--bucket', 'chromium-gn',
    163                 '-s', 'pdfium/buildtools/win/gn.exe.sha1',
    164     ],
    165   },
    166   {
    167     'name': 'gn_mac',
    168     'pattern': '.',
    169     'action': [ 'download_from_google_storage',
    170                 '--no_resume',
    171                 '--platform=darwin',
    172                 '--no_auth',
    173                 '--bucket', 'chromium-gn',
    174                 '-s', 'pdfium/buildtools/mac/gn.sha1',
    175     ],
    176   },
    177   {
    178     'name': 'gn_linux64',
    179     'pattern': '.',
    180     'action': [ 'download_from_google_storage',
    181                 '--no_resume',
    182                 '--platform=linux*',
    183                 '--no_auth',
    184                 '--bucket', 'chromium-gn',
    185                 '-s', 'pdfium/buildtools/linux64/gn.sha1',
    186     ],
    187   },
    188   # Pull clang-format binaries using checked-in hashes.
    189   {
    190     'name': 'clang_format_win',
    191     'pattern': '.',
    192     'action': [ 'download_from_google_storage',
    193                 '--no_resume',
    194                 '--platform=win32',
    195                 '--no_auth',
    196                 '--bucket', 'chromium-clang-format',
    197                 '-s', 'pdfium/buildtools/win/clang-format.exe.sha1',
    198     ],
    199   },
    200   {
    201     'name': 'clang_format_mac',
    202     'pattern': '.',
    203     'action': [ 'download_from_google_storage',
    204                 '--no_resume',
    205                 '--platform=darwin',
    206                 '--no_auth',
    207                 '--bucket', 'chromium-clang-format',
    208                 '-s', 'pdfium/buildtools/mac/clang-format.sha1',
    209     ],
    210   },
    211   {
    212     'name': 'clang_format_linux',
    213     'pattern': '.',
    214     'action': [ 'download_from_google_storage',
    215                 '--no_resume',
    216                 '--platform=linux*',
    217                 '--no_auth',
    218                 '--bucket', 'chromium-clang-format',
    219                 '-s', 'pdfium/buildtools/linux64/clang-format.sha1',
    220     ],
    221   },
    222   {
    223     # Pull clang
    224     'name': 'clang',
    225     'pattern': '.',
    226     'action': ['python',
    227                'pdfium/tools/clang/scripts/update.py'
    228     ],
    229   },
    230   {
    231     'name': 'binutils',
    232     'pattern': 'src/third_party/binutils',
    233     'condition': 'host_os == "linux"',
    234     'action': [
    235         'python',
    236         'pdfium/third_party/binutils/download.py',
    237     ],
    238   },
    239   {
    240     # Downloads the current stable linux sysroot to build/linux/ if needed.
    241     # This sysroot updates at about the same rate that the chrome build deps
    242     # change.
    243     'name': 'sysroot',
    244     'pattern': '.',
    245     'action': ['python', 'pdfium/build/linux/sysroot_scripts/install-sysroot.py',
    246                '--running-as-hook'],
    247   },
    248   {
    249     # Update the Windows toolchain if necessary.
    250     'name': 'win_toolchain',
    251     'pattern': '.',
    252     'condition': 'checkout_win',
    253     'action': ['vpython', 'pdfium/build/vs_toolchain.py', 'update', '--force'],
    254   },
    255   {
    256     # Update the Mac toolchain if necessary.
    257     'name': 'mac_toolchain',
    258     'pattern': '.',
    259     'action': ['python', 'pdfium/build/mac_toolchain.py'],
    260   },
    261   {
    262     'name': 'msan_chained_origins',
    263     'pattern': '.',
    264     'condition': 'checkout_instrumented_libraries',
    265     'action': [ 'python',
    266                 'pdfium/third_party/depot_tools/download_from_google_storage.py',
    267                 "--no_resume",
    268                 "--no_auth",
    269                 "--bucket", "chromium-instrumented-libraries",
    270                 "-s", "pdfium/third_party/instrumented_libraries/binaries/msan-chained-origins-trusty.tgz.sha1",
    271               ],
    272   },
    273   {
    274     'name': 'msan_no_origins',
    275     'pattern': '.',
    276     'condition': 'checkout_instrumented_libraries',
    277     'action': [ 'python',
    278                 'pdfium/third_party/depot_tools/download_from_google_storage.py',
    279                 "--no_resume",
    280                 "--no_auth",
    281                 "--bucket", "chromium-instrumented-libraries",
    282                 "-s", "pdfium/third_party/instrumented_libraries/binaries/msan-no-origins-trusty.tgz.sha1",
    283               ],
    284   },
    285 ]
    286