Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2011-08-09 02:09:42 +0400
committerRyan Dahl <ry@tinyclouds.org>2011-08-09 02:09:42 +0400
commit71435ede815ee2c73b09f7071ee1b6d10945d409 (patch)
tree4e445601e17807bf6335cee6d2df0bfe72d1f61e /configure
parentc110fbcc99140547619f874ebcaf0597a877560d (diff)
Unify configure scripts
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure115
1 files changed, 99 insertions, 16 deletions
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 $?