Просмотр исходного кода

pcre2: Use scons option to disable JIT on some platforms

Third-party platforms (e.g. console ports) need to be able to
disable JIT support in the regex module too, so it can't be
hardcoded in the module SCsub. This is cleaner this way anyway.

Fixes #19316.
Rémi Verschelde 5 лет назад
Родитель
Сommit
02913f53d3
4 измененных файлов с 4 добавлено и 3 удалено
  1. 1 0
      SConstruct
  2. 1 3
      modules/regex/SCsub
  3. 1 0
      platform/javascript/detect.py
  4. 1 0
      platform/uwp/detect.py

+ 1 - 0
SConstruct

@@ -150,6 +150,7 @@ opts.Add(BoolVariable('builtin_mbedtls', "Use the built-in mbedTLS library", Tru
 opts.Add(BoolVariable('builtin_miniupnpc', "Use the built-in miniupnpc library", True))
 opts.Add(BoolVariable('builtin_opus', "Use the built-in Opus library", True))
 opts.Add(BoolVariable('builtin_pcre2', "Use the built-in PCRE2 library", True))
+opts.Add(BoolVariable('builtin_pcre2_with_jit', "Use JIT compiler for the built-in PCRE2 library", True))
 opts.Add(BoolVariable('builtin_recast', "Use the built-in Recast library", True))
 opts.Add(BoolVariable('builtin_squish', "Use the built-in squish library", True))
 opts.Add(BoolVariable('builtin_xatlas', "Use the built-in xatlas library", True))

+ 1 - 3
modules/regex/SCsub

@@ -6,12 +6,10 @@ Import('env_modules')
 env_regex = env_modules.Clone()
 
 if env['builtin_pcre2']:
-    jit_blacklist = ['javascript', 'uwp']
-
     thirdparty_dir = '#thirdparty/pcre2/src/'
     thirdparty_flags = ['PCRE2_STATIC', 'HAVE_CONFIG_H']
 
-    if 'platform' in env and env['platform'] not in jit_blacklist:
+    if env['builtin_pcre2_with_jit']:
         thirdparty_flags.append('SUPPORT_JIT')
 
     thirdparty_sources = [

+ 1 - 0
platform/javascript/detect.py

@@ -24,6 +24,7 @@ def get_opts():
 def get_flags():
     return [
         ('tools', False),
+        ('builtin_pcre2_with_jit', False),
         # Disabling the mbedtls module reduces file size.
         # The module has little use due to the limited networking functionality
         # in this platform. For the available networking methods, the browser

+ 1 - 0
platform/uwp/detect.py

@@ -34,6 +34,7 @@ def get_flags():
     return [
         ('tools', False),
         ('xaudio2', True),
+        ('builtin_pcre2_with_jit', False),
     ]