mirror of
https://github.com/MaskRay/ccls.git
synced 2025-02-18 06:31:15 +00:00
Some WIP changes on wscript to download libcxx
This commit is contained in:
parent
a92a83a319
commit
640ce7bd85
34
wscript
34
wscript
@ -44,6 +44,12 @@ CLANG_TARBALL_URL = 'http://releases.llvm.org/{0}/{1}.tar.xz'.format(CLANG_VERSI
|
|||||||
# Path to locally tarball.
|
# Path to locally tarball.
|
||||||
CLANG_TARBALL_LOCAL_PATH = '{0}.tar.xz'.format(CLANG_DIRECTORY)
|
CLANG_TARBALL_LOCAL_PATH = '{0}.tar.xz'.format(CLANG_DIRECTORY)
|
||||||
|
|
||||||
|
# Directory libcxx will be extracted to.
|
||||||
|
LIBCXX_DIRECTORY = '{0}/libcxx'.format(out)
|
||||||
|
# URL to download libcxx from.
|
||||||
|
LIBCXX_URL = 'http://releases.llvm.org/4.0.0/libcxx-4.0.0.src.tar.xz'
|
||||||
|
# Absolute path for where to download the URL.
|
||||||
|
LIBCXX_LOCAL_PATH = '{0}/libcxx-4.0.0.src.tar.xz'.format(out)
|
||||||
|
|
||||||
from waflib.Tools.compiler_cxx import cxx_compiler
|
from waflib.Tools.compiler_cxx import cxx_compiler
|
||||||
cxx_compiler['linux'] = ['clang++', 'g++']
|
cxx_compiler['linux'] = ['clang++', 'g++']
|
||||||
@ -51,11 +57,38 @@ cxx_compiler['linux'] = ['clang++', 'g++']
|
|||||||
def options(opt):
|
def options(opt):
|
||||||
opt.load('compiler_cxx')
|
opt.load('compiler_cxx')
|
||||||
|
|
||||||
|
def download_and_extract(destdir, dest, url):
|
||||||
|
# Download and save the compressed tarball as |compressed_file_name|.
|
||||||
|
if not os.path.isfile(dest):
|
||||||
|
print('Downloading tarball')
|
||||||
|
print(' destination: {0}'.format(dest))
|
||||||
|
print(' source: {0}'.format(url))
|
||||||
|
# TODO: verify checksum
|
||||||
|
response = urlopen(url)
|
||||||
|
with open(dest, 'wb') as f:
|
||||||
|
f.write(response.read())
|
||||||
|
else:
|
||||||
|
print('Found tarball at {0}'.format(dest))
|
||||||
|
|
||||||
|
# Extract the tarball.
|
||||||
|
if not os.path.isdir(destdir):
|
||||||
|
print('Extracting')
|
||||||
|
# TODO: make portable.
|
||||||
|
call(['tar', 'xf', dest, '-C', out])
|
||||||
|
else:
|
||||||
|
print('Found extracted at {0}'.format(destdir))
|
||||||
|
|
||||||
def configure(conf):
|
def configure(conf):
|
||||||
conf.load('compiler_cxx')
|
conf.load('compiler_cxx')
|
||||||
conf.check(header_name='stdio.h', features='cxx cxxprogram', mandatory=True)
|
conf.check(header_name='stdio.h', features='cxx cxxprogram', mandatory=True)
|
||||||
conf.load('clang_compilation_database', tooldir='.')
|
conf.load('clang_compilation_database', tooldir='.')
|
||||||
|
|
||||||
|
print('Checking for clang')
|
||||||
|
download_and_extract(CLANG_DIRECTORY, CLANG_TARBALL_LOCAL_PATH, CLANG_TARBALL_URL)
|
||||||
|
#print('Checking for libcxx')
|
||||||
|
#download_and_extract(LIBCXX_DIRECTORY, LIBCXX_LOCAL_PATH, LIBCXX_URL)
|
||||||
|
|
||||||
|
"""
|
||||||
# Download and save the compressed tarball as |compressed_file_name|.
|
# Download and save the compressed tarball as |compressed_file_name|.
|
||||||
if not os.path.isfile(CLANG_TARBALL_LOCAL_PATH):
|
if not os.path.isfile(CLANG_TARBALL_LOCAL_PATH):
|
||||||
print('Downloading clang tarball')
|
print('Downloading clang tarball')
|
||||||
@ -75,6 +108,7 @@ def configure(conf):
|
|||||||
call(['tar', 'xf', CLANG_TARBALL_LOCAL_PATH, '-C', out])
|
call(['tar', 'xf', CLANG_TARBALL_LOCAL_PATH, '-C', out])
|
||||||
else:
|
else:
|
||||||
print('Found extracted clang at {0}'.format(CLANG_DIRECTORY))
|
print('Found extracted clang at {0}'.format(CLANG_DIRECTORY))
|
||||||
|
"""
|
||||||
|
|
||||||
def build(bld):
|
def build(bld):
|
||||||
# todo: configure vars
|
# todo: configure vars
|
||||||
|
Loading…
Reference in New Issue
Block a user