Add component to build mksnapshot binaries for armv7/arm64
This commit is contained in:
Родитель
0db3730512
Коммит
cc54122da1
|
@ -34,7 +34,7 @@ jobs:
|
|||
script/upload -t $TARGET_ARCH
|
||||
fi
|
||||
- store_artifacts:
|
||||
path: libchromiumcontent.zip
|
||||
path: libchromiumcontent.tar.bz2
|
||||
|
||||
libchromiumcontent-linux-x64-static:
|
||||
docker:
|
||||
|
@ -70,7 +70,7 @@ jobs:
|
|||
script/upload -t $TARGET_ARCH
|
||||
fi
|
||||
- store_artifacts:
|
||||
path: libchromiumcontent-static.zip
|
||||
path: libchromiumcontent-static.tar.bz2
|
||||
|
||||
libchromiumcontent-linux-ia32-shared:
|
||||
docker:
|
||||
|
@ -106,7 +106,7 @@ jobs:
|
|||
script/upload -t $TARGET_ARCH
|
||||
fi
|
||||
- store_artifacts:
|
||||
path: libchromiumcontent.zip
|
||||
path: libchromiumcontent.tar.bz2
|
||||
|
||||
libchromiumcontent-linux-ia32-static:
|
||||
docker:
|
||||
|
@ -142,7 +142,7 @@ jobs:
|
|||
script/upload -t $TARGET_ARCH
|
||||
fi
|
||||
- store_artifacts:
|
||||
path: libchromiumcontent-static.zip
|
||||
path: libchromiumcontent-static.tar.bz2
|
||||
|
||||
libchromiumcontent-linux-arm-shared:
|
||||
docker:
|
||||
|
@ -159,6 +159,9 @@ jobs:
|
|||
- run:
|
||||
name: Update
|
||||
command: script/update --clean -t $TARGET_ARCH
|
||||
- run:
|
||||
name: Build mksnapshot
|
||||
command: script/build -t $TARGET_ARCH -c native_mksnapshot
|
||||
- run:
|
||||
name: Build shared library
|
||||
command: script/build -t $TARGET_ARCH -c $COMPONENT
|
||||
|
@ -166,9 +169,12 @@ jobs:
|
|||
name: Build FFmpeg
|
||||
command: script/build -t $TARGET_ARCH -c ffmpeg
|
||||
- run:
|
||||
name: Create distribution
|
||||
name: Create shared distribution
|
||||
command: script/create-dist -t $TARGET_ARCH -c $COMPONENT
|
||||
no_output_timeout: 20m
|
||||
- run:
|
||||
name: Create mksnapshot distribution
|
||||
command: script/create-dist -t $TARGET_ARCH -c native_mksnapshot
|
||||
- run:
|
||||
name: Upload to S3
|
||||
command: |
|
||||
|
@ -178,7 +184,9 @@ jobs:
|
|||
script/upload -t $TARGET_ARCH
|
||||
fi
|
||||
- store_artifacts:
|
||||
path: libchromiumcontent.zip
|
||||
path: libchromiumcontent.tar.bz2
|
||||
- store_artifacts:
|
||||
path: native-mksnapshot.tar.bz2
|
||||
|
||||
libchromiumcontent-linux-arm-static:
|
||||
docker:
|
||||
|
@ -214,7 +222,7 @@ jobs:
|
|||
script/upload -t $TARGET_ARCH
|
||||
fi
|
||||
- store_artifacts:
|
||||
path: libchromiumcontent-static.zip
|
||||
path: libchromiumcontent-static.tar.bz2
|
||||
|
||||
libchromiumcontent-linux-arm64-shared:
|
||||
docker:
|
||||
|
@ -231,6 +239,9 @@ jobs:
|
|||
- run:
|
||||
name: Update
|
||||
command: script/update --clean -t $TARGET_ARCH
|
||||
- run:
|
||||
name: Build mksnapshot
|
||||
command: script/build -t $TARGET_ARCH -c native_mksnapshot
|
||||
- run:
|
||||
name: Build shared library
|
||||
command: script/build -t $TARGET_ARCH -c $COMPONENT
|
||||
|
@ -238,9 +249,12 @@ jobs:
|
|||
name: Build FFmpeg
|
||||
command: script/build -t $TARGET_ARCH -c ffmpeg
|
||||
- run:
|
||||
name: Create distribution
|
||||
name: Create shared distribution
|
||||
command: script/create-dist -t $TARGET_ARCH -c $COMPONENT
|
||||
no_output_timeout: 20m
|
||||
- run:
|
||||
name: Create mksnapshot distribution
|
||||
command: script/create-dist -t $TARGET_ARCH -c native_mksnapshot
|
||||
- run:
|
||||
name: Upload to S3
|
||||
command: |
|
||||
|
@ -250,7 +264,9 @@ jobs:
|
|||
script/upload -t $TARGET_ARCH
|
||||
fi
|
||||
- store_artifacts:
|
||||
path: libchromiumcontent.zip
|
||||
path: libchromiumcontent.tar.bz2
|
||||
- store_artifacts:
|
||||
path: native-mksnapshot.tar.bz2
|
||||
|
||||
libchromiumcontent-linux-arm64-static:
|
||||
docker:
|
||||
|
@ -286,7 +302,7 @@ jobs:
|
|||
script/upload -t $TARGET_ARCH
|
||||
fi
|
||||
- store_artifacts:
|
||||
path: libchromiumcontent-static.zip
|
||||
path: libchromiumcontent-static.tar.bz2
|
||||
|
||||
libchromiumcontent-linux-mips64el-shared:
|
||||
docker:
|
||||
|
@ -322,7 +338,7 @@ jobs:
|
|||
script/upload -t $TARGET_ARCH
|
||||
fi
|
||||
- store_artifacts:
|
||||
path: libchromiumcontent.zip
|
||||
path: libchromiumcontent.tar.bz2
|
||||
|
||||
libchromiumcontent-linux-mips64el-static:
|
||||
docker:
|
||||
|
@ -358,7 +374,7 @@ jobs:
|
|||
script/upload -t $TARGET_ARCH
|
||||
fi
|
||||
- store_artifacts:
|
||||
path: libchromiumcontent-static.zip
|
||||
path: libchromiumcontent-static.tar.bz2
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
|
|
|
@ -3,11 +3,12 @@
|
|||
*.pyc
|
||||
/dist/
|
||||
/src/
|
||||
/libchromiumcontent.zip
|
||||
/libchromiumcontent-static.zip
|
||||
/libchromiumcontent.tar.bz2
|
||||
/libchromiumcontent-static.tar.bz2
|
||||
/vendor/binutils-aarch64
|
||||
/vendor/cross-gcc-4.9.3-n64-loongson-rc5.4
|
||||
.gclient
|
||||
.gclient_entries
|
||||
_gclient_src_*
|
||||
s3credentials
|
||||
/native-mksnapshot.tar.bz2
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
root_extra_deps = [ "//v8:v8_maybe_snapshot" ]
|
||||
is_electron_build = true
|
||||
is_component_build = false
|
||||
is_debug = false
|
||||
enable_linux_installer = false
|
||||
v8_use_snapshot = true
|
||||
v8_enable_i18n_support = false
|
||||
if (target_cpu == "arm") {
|
||||
v8_snapshot_toolchain="//build/toolchain/linux:clang_arm"
|
||||
}
|
||||
|
||||
if (target_cpu == "arm64") {
|
||||
v8_snapshot_toolchain="//build/toolchain/linux:clang_arm64"
|
||||
}
|
|
@ -11,7 +11,7 @@ from lib.config import MIPS64EL_GCC, set_mips64el_env, get_output_dir
|
|||
|
||||
SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
||||
VENDOR_DIR = os.path.join(SOURCE_ROOT, 'vendor')
|
||||
COMPONENTS = ['static_library', 'shared_library', 'ffmpeg', 'tests']
|
||||
COMPONENTS = ['static_library', 'shared_library', 'ffmpeg', 'tests', 'native_mksnapshot']
|
||||
|
||||
NINJA = os.path.join(VENDOR_DIR, 'depot_tools', 'ninja')
|
||||
if sys.platform == 'win32':
|
||||
|
@ -51,6 +51,8 @@ def main():
|
|||
target = 'chromiumcontent:chromiumcontent'
|
||||
if component == 'tests':
|
||||
target = 'chromiumcontent:chromiumcontent_tests'
|
||||
if component == 'native_mksnapshot':
|
||||
target = 'v8:mksnapshot'
|
||||
subprocess.check_call([NINJA, '-C', os.path.relpath(out_dir), target], env=env)
|
||||
if component == 'static_library':
|
||||
subenv = env.copy()
|
||||
|
|
|
@ -56,7 +56,7 @@ STATIC_LIBRARY_SUFFIX = {
|
|||
'win32': 'lib',
|
||||
}[TARGET_PLATFORM]
|
||||
|
||||
COMPONENTS = ['static_library', 'shared_library']
|
||||
COMPONENTS = ['static_library', 'shared_library','native_mksnapshot']
|
||||
BINARIES = {
|
||||
'all': [
|
||||
'content_shell.pak',
|
||||
|
@ -390,7 +390,8 @@ def main():
|
|||
subprocess.check_call([NINJA, '-C', MAIN_DIR])
|
||||
|
||||
for component in COMPONENTS:
|
||||
if args.component == 'all' or args.component == component:
|
||||
if ((args.component == 'all' or args.component == component)
|
||||
and args.component != 'native_mksnapshot'):
|
||||
strip_binaries(args.create_debug_archive, args.keep_debug_symbols,
|
||||
component, os.path.join(MAIN_DIR, component),
|
||||
args.target_arch)
|
||||
|
@ -415,6 +416,7 @@ def generate_ninja(args, ninja):
|
|||
copy_generated_sources(target_arch, component, ninja)
|
||||
copy_locales(target_arch, component, ninja)
|
||||
|
||||
if args.component != 'native_mksnapshot':
|
||||
copy_ffmpeg(target_arch, ninja)
|
||||
copy_sources(ninja)
|
||||
generate_licenses(ninja)
|
||||
|
@ -475,6 +477,11 @@ def copy_binaries(target_arch, component, create_debug_archive,
|
|||
output_dir = get_output_dir(SOURCE_ROOT, target_arch, component)
|
||||
target_dir = component
|
||||
|
||||
if component == 'native_mksnapshot':
|
||||
ninja.copy(os.path.join(output_dir, 'mksnapshot'), target_dir)
|
||||
copy_dir('gen', relative_to=output_dir, destination=target_dir, ninja=ninja)
|
||||
return
|
||||
|
||||
binaries = BINARIES['all'] + BINARIES[TARGET_PLATFORM]
|
||||
if component == 'shared_library':
|
||||
binaries += BINARIES_SHARED_LIBRARY[TARGET_PLATFORM]
|
||||
|
@ -734,6 +741,10 @@ def create_archive(create_debug_archive, component):
|
|||
print 'Packing static_library builds...'
|
||||
p = os.path.join(SOURCE_ROOT, 'libchromiumcontent-static.tar.bz2')
|
||||
make_archive(MAIN_DIR, ['static_library'], [], p)
|
||||
if component == 'native_mksnapshot':
|
||||
print 'Packing native mksnapshot...'
|
||||
p = os.path.join(SOURCE_ROOT, 'native-mksnapshot.tar.bz2')
|
||||
make_archive(MAIN_DIR, ['native_mksnapshot'], ['LICENSES.chromium.html'], p)
|
||||
|
||||
|
||||
def make_archive(src, dirs, files, target):
|
||||
|
|
|
@ -23,7 +23,7 @@ VENDOR_DIR = os.path.join(SOURCE_ROOT, 'vendor')
|
|||
SRC_DIR = os.path.join(SOURCE_ROOT, 'src')
|
||||
CHROMIUMCONTENT_SOURCE_DIR = os.path.join(SOURCE_ROOT, 'chromiumcontent')
|
||||
CHROMIUMCONTENT_DESTINATION_DIR = os.path.join(SRC_DIR, 'chromiumcontent')
|
||||
COMPONENTS = ['static_library', 'shared_library', 'ffmpeg', 'tests']
|
||||
COMPONENTS = ['static_library', 'shared_library', 'ffmpeg', 'tests', 'native_mksnapshot']
|
||||
DEPOT_TOOLS = os.path.join(VENDOR_DIR, 'depot_tools')
|
||||
|
||||
DEBIAN_MIRROR = 'http://ftp.jp.debian.org/debian/pool/main/'
|
||||
|
|
|
@ -44,9 +44,10 @@ def upload(target_arch):
|
|||
else:
|
||||
platform = PLATFORM_KEY
|
||||
|
||||
upload_files = glob.glob('libchromiumcontent*.tar.bz2') + glob.glob('native-mksnapshot.tar.bz2')
|
||||
s3put(bucket, access_key, secret_key, SOURCE_ROOT,
|
||||
'libchromiumcontent/{0}/{1}/{2}'.format(platform, target_arch, commit),
|
||||
glob.glob('libchromiumcontent*.tar.bz2'))
|
||||
upload_files)
|
||||
|
||||
|
||||
def s3_config():
|
||||
|
|
Загрузка…
Ссылка в новой задаче