#!/usr/bin/env python

from __future__ import print_function
import sys
import subprocess
from os import environ
from os.path import basename, join

libs = [ ]
objects = [ ]
output = None


i = 1
while i < len(sys.argv):
    opt = sys.argv[i]
    i += 1

    if opt == "-o":
        output = sys.argv[i]
        i += 1
        continue

    if opt.startswith("-l") or opt.startswith("-L"):
        libs.append(opt)
        continue

    if opt in ("-r", "-pipe", "-no-cpp-precomp"):
        continue

    if opt in ("--sysroot", "-isysroot", "-framework", "-undefined",
            "-macosx_version_min"):
        i += 1
        continue

    if opt.startswith("-I"):
        continue

    if opt.startswith("-m"):
        continue

    if opt.startswith("-f"):
        continue

    if opt.startswith("-O"):
        continue

    if opt.startswith("-g"):
        continue

    if opt.startswith("-D"):
        continue

    if opt.startswith("-"):
        print(sys.argv)
        print("Unknown option: %s" % opt)
        sys.exit(1)

    if not opt.endswith('.o'):
        continue

    objects.append(opt)


f = open(output, "w")
f.close()

output = join(environ.get('LIBLINK_PATH'), basename(output))

f = open(output + ".libs", "w")
f.write(" ".join(libs))
f.close()

sys.exit(subprocess.call([
    environ.get('LD'), '-r',
    '-o', output + '.o'
    #, '-arch', environ.get('ARCH')
    ] + objects))

