Use prebuilt V8 library by default.

This still retains the ability to build V8 from scratch, with an number
of configurations. The prebuilt binaries were created using

DENO_BUILD_MODE=release ./tools/build.py v8
This commit is contained in:
Ryan Dahl 2018-11-27 17:21:42 -05:00
parent 65cce40a89
commit 89096c9210
6 changed files with 90 additions and 0 deletions

2
prebuilt/.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
*.a
*.lib

View file

@ -0,0 +1 @@
3728bfff7eb91e4e2c96999d974573e4d697e663

View file

@ -0,0 +1 @@
597ca3bbcdc6edbaf23905988f9ca9911bb23250

1
prebuilt/win/v8.lib.sha1 Normal file
View file

@ -0,0 +1 @@
052b261b8f8a7fc3f1babeb510d5bd73af0bcece

54
tools/gcloud_upload.py Executable file
View file

@ -0,0 +1,54 @@
#!/usr/bin/env python
# Prereq:
# - gcloud auth login
# - gcloud config set project deno-223616
# This program uploads the specified file to GCloud Storage in the denoland
# bucket. It places a checksum file into the current directory using the base
# filename of the specified file.
import os
import sys
import hashlib
from util import root_path, run
from third_party import tp
def print_usage():
print "Usage: ./tools/gcloud_upload.py target/release/obj/third_party/v8/libv8.a"
sys.exit(1)
def compute_sha1(filename):
m = hashlib.sha1()
with open(filename) as f:
m.update(f.read())
return m.hexdigest()
def main(argv):
if len(argv) != 2:
print_usage()
os.chdir(root_path)
filename = sys.argv[1]
basename = os.path.basename(filename)
sha1 = compute_sha1(filename)
print sha1
gs_url = "gs://denoland/" + sha1
#gsutil = tp("depot_tools/gsutil.py")
gsutil = "gsutil" # standalone installation
run([gsutil, "cp", filename, gs_url])
run([gsutil, "acl", "ch", "-u", "AllUsers:R", gs_url])
target_filename = basename + ".sha1"
with open(target_filename, 'w') as f:
f.write(sha1)
print "Wrote", target_filename
if __name__ == '__main__':
sys.exit(main(sys.argv))

31
tools/prebuilt.py Normal file
View file

@ -0,0 +1,31 @@
import sys
from util import run
from third_party import tp, google_env
def download_v8_prebuilt():
if sys.platform == 'win32':
sha1_file = "prebuilt/win/v8.lib.sha1"
elif sys.platform.startswith('linux'):
sha1_file = "prebuilt/linux64/libv8.a.sha1"
elif sys.platform == 'darwin':
sha1_file = "prebuilt/mac/libv8.a.sha1"
run([
"python",
tp('depot_tools/download_from_google_storage.py'),
'--platform=' + sys.platform,
'--no_auth',
'--bucket=denoland',
'--sha1_file',
sha1_file,
],
env=google_env())
def load():
download_v8_prebuilt()
if __name__ == '__main__':
sys.exit(load())