I am attempting to update our build infrastructure to use GN which requires using clang and producing static libs.
I see there is now a v8_static_library argument to gn. So i have created a
args.gn that looks something like
is_debug = false
target_cpu = "x64"
v8_static_library = true
is_component_build = true
v8_use_external_startup_data = false
then I execute ninja -C
out.gn/foo -j 1 as usual (-j 1 to just debug any issues)
I now get the following error
$ ninja -C
out.gn/foo -j 1
ninja: Entering directory `
out.gn/foo'
[7/1419] LIBTOOL-STATIC obj/libv8_version.a
FAILED: obj/libv8_version.a
rm -f obj/libv8_version.a && TOOL_VERSION=1485597133 python ../../build/toolchain/mac/filter_libtool.py libtool -static -o obj/libv8_version.a
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: no files specified
Usage: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool -static [-] file [...] [-filelist listfile[,dirname]] [-arch_only arch] [-sacLT] [-no_warning_for_no_symbols]
Usage: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool -dynamic [-] file [...] [-filelist listfile[,dirname]] [-arch_only arch] [-o output] [-install_name name] [-compatibility_version #] [-current_version #] [-seg1addr 0x#] [-segs_read_only_addr 0x#] [-segs_read_write_addr 0x#] [-seg_addr_table <filename>] [-seg_addr_table_filename <file_system_path>] [-all_load] [-noall_load]
ninja: build stopped: subcommand failed.
I also notice that building with clang on osx requires at least clang 3.9 due to the usage of no-undefined-var-template. Clang 8.0.0.0 appears to be branched before this landed in 3.9 is there a way to have gclient or gn pull down a correct version of llvm and its associated tooling to build v8?