zstd/contrib/meson/CreateSymlink.py
Lzu Tao 9a721e5216 Update meson build system
NOTE: This commit only tested on Linux (Ubuntu 18.04). Windows
build may not work as expected.

* Use meson >= 0.47.0 cause we use install_man function
* Add three helper Python script:
  * CopyFile.py: To copy file
  * CreateSymlink.py: To make symlink (both Windows and Unix)
  * GetZstdLibraryVersion.py: Parse lib/zstd.h to get zstd version
  These help emulating equivalent functions in CMake and Makefile.
* Use subdir from meson to split meson.build
  * Add contrib build
  * Fix other build
* Add new build options
  * build_programs: Enable programs build
  * build_contrib: Enable contrib build
  * build_tests: Enable tests build
  * use_static_runtime: Link to static run-time libraries on MSVC
  * zlib_support: Enable zlib support
  * lzma_support: Enable lzma support
2018-11-28 01:08:34 +07:00

37 lines
1017 B
Python

#!/usr/bin/env python3
# #############################################################################
# Copyright (c) 2018-present lzutao <taolzu(at)gmail.com>
# All rights reserved.
#
# This source code is licensed under both the BSD-style license (found in the
# LICENSE file in the root directory of this source tree) and the GPLv2 (found
# in the COPYING file in the root directory of this source tree).
# #############################################################################
import os
import sys
def usage():
print('usage: python3 CreateSymlink.py <src> <dst> [dst is dir: True or False]')
sys.exit(1)
def main():
if len(sys.argv) < 3:
usage()
src = sys.argv[1]
dst = sys.argv[2]
is_dir = False
if len(sys.argv) == 4:
is_dir = bool(sys.argv[3])
if os.path.islink(dst) and os.readlink(dst) == src:
print ('File exists: %r -> %r' % (dst, src))
return
os.symlink(src, dst, is_dir)
if __name__ == '__main__':
main()