#!/usr/bin/env python

import optparse
import os
import json

root_dir = os.path.dirname(__file__)

# parse our options
parser = optparse.OptionParser()

parser.add_option("--debug", action="store_true", dest="debug",
    default=False, help="Also build debug build")

parser.add_option("--prefix", action="store", dest="prefix",
    help="Select the install prefix (defaults to /usr/local)")

# TODO options to support for backwards compatibility
#
#  --without-snapshot
#    Build without snapshotting V8 libraries. You might want to set this for
#    cross-compiling.  [Default: False]
#
#  --without-ssl
#    Build without SSL
#
#  --shared-v8
#    Link to a shared V8 DLL instead of static linking
#
#  --shared-v8-includes=SHARED_V8_INCLUDES
#    Directory containing V8 header files
#
#  --shared-v8-libpath=SHARED_V8_LIBPATH
#    A directory to search for the shared V8 DLL
#
#  --shared-v8-libname=SHARED_V8_LIBNAME
#    Alternative lib name to link to (default: 'v8')
#
#  --openssl-includes=OPENSSL_INCLUDES
#    A directory to search for the OpenSSL includes
#
#  --openssl-libpath=OPENSSL_LIBPATH
#    A directory to search for the OpenSSL libraries
#
#  --no-ssl2
#    Disable OpenSSL v2
#
#  --gdb
#    add gdb support
#
#  --shared-cares
#    Link to a shared C-Ares DLL instead of static linking
#
#  --shared-cares-includes=SHARED_CARES_INCLUDES
#    Directory containing C-Ares header files
#
#  --shared-cares-libpath=SHARED_CARES_LIBPATH
#    A directory to search for the shared C-Ares DLL
#
#  --with-dtrace
#    Build with DTrace (experimental)
#
#  --dest-cpu=DEST_CPU
#    CPU architecture to build for. Valid values are: arm, ia32, x64


(options, args) = parser.parse_args()

print "configure options:", options

output = {
  'variables': {
    'node_debug': 'true' if options.debug else 'false',
    'node_prefix': options.prefix if options.prefix else ''
  }
}

fn = os.path.join(root_dir, 'options.gypi')
print "creating ", fn

f = open(fn, 'w+')
f.write("# Do not edit. Generated by the configure script.\n")
json.dump(output, f, indent=2, skipkeys=True)
f.write("\n")
f.close()

