#!/usr/bin/env python3
# Copyright 2016 The Emscripten Authors.  All rights reserved.
# Emscripten is available under two separate licenses, the MIT license and the
# University of Illinois/NCSA Open Source License.  Both these licenses can be
# found in the LICENSE file.

"""Archive helper script

This script acts as a frontend replacement for `ar`. See emcc.
This is needed because, unlike a traditional linker, emscripten can't handle
archive with duplicate member names.  This is because emscripten extracts
archive to a temporary location and duplicate filenames will clobber each
other in this case.
"""

# TODO(sbc): Implement `ar x` within emscripten, in python, to avoid this issue
# and delete this file.

import sys

from tools.toolchain_profiler import ToolchainProfiler
from tools import shared

if __name__ == '__main__':
  ToolchainProfiler.record_process_start()


#
# Main run() function
#
def run():
  # The wasm backend doesn't suffer from the same problem as fastcomp so it
  # doesn't need the filename hashing.
  cmd = [shared.LLVM_AR] + sys.argv[1:]
  return shared.run_process(cmd, stdin=sys.stdin, check=False).returncode


if __name__ == '__main__':
  sys.exit(run())
