diff --git a/configure b/configure index de002e39b26..840782327ec 100755 --- a/configure +++ b/configure @@ -1,21 +1,104 @@ -#! /bin/sh +#!/usr/bin/env python -# v8 doesn't like ccache -if [ ! -z "`echo $CC | grep ccache`" ]; then - echo "Error: V8 doesn't like cache. Please set your CC env var to 'gcc'" - echo " (ba)sh: export CC=gcc" - exit 1 -fi +import optparse +import os +import sys +import json -CUR_DIR=$PWD +root_dir = os.path.dirname(__file__) +os.chdir(root_dir) -#possible relative path -WORKINGDIR=`dirname $0` -cd "$WORKINGDIR" -#abs path -WORKINGDIR=`pwd` -cd "$CUR_DIR" +use_gyp = False -"${WORKINGDIR}/tools/waf-light" --jobs=1 configure $* +for a in sys.argv: + if a == '--use-gyp': + use_gyp = True + break + +# Default to the old WAF system +if not use_gyp: + r = os.system("./tools/waf-light --jobs=1 configure " + ' '.join(sys.argv[1:])) + exit(r) + +# GYP specific configure script + +# parse our options +parser = optparse.OptionParser() + +parser.add_option("--use-gyp", action="store_true", help="placeholder") + +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() -exit $? diff --git a/configure-gyp b/configure-gyp deleted file mode 100755 index d1b27e5b5c6..00000000000 --- a/configure-gyp +++ /dev/null @@ -1,86 +0,0 @@ -#!/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() -