summaryrefslogtreecommitdiff
path: root/distribution/src/js/zeroc-slice2js
diff options
context:
space:
mode:
Diffstat (limited to 'distribution/src/js/zeroc-slice2js')
-rw-r--r--distribution/src/js/zeroc-slice2js/.gitignore2
-rw-r--r--distribution/src/js/zeroc-slice2js/README.md55
-rwxr-xr-xdistribution/src/js/zeroc-slice2js/bin/slice2js-cli.js14
-rw-r--r--distribution/src/js/zeroc-slice2js/binding.gyp176
-rw-r--r--distribution/src/js/zeroc-slice2js/mcpp/config/linux/ia32/config.h227
-rw-r--r--distribution/src/js/zeroc-slice2js/mcpp/config/linux/x64/config.h227
-rw-r--r--distribution/src/js/zeroc-slice2js/mcpp/config/mac/x64/config.h227
-rw-r--r--distribution/src/js/zeroc-slice2js/mcpp/config/win/ia32/config.h7
-rw-r--r--distribution/src/js/zeroc-slice2js/mcpp/config/win/x64/config.h7
-rw-r--r--distribution/src/js/zeroc-slice2js/mcpp/mcpp.gyp68
-rw-r--r--distribution/src/js/zeroc-slice2js/package.json22
-rw-r--r--distribution/src/js/zeroc-slice2js/slice2js.js28
12 files changed, 1060 insertions, 0 deletions
diff --git a/distribution/src/js/zeroc-slice2js/.gitignore b/distribution/src/js/zeroc-slice2js/.gitignore
new file mode 100644
index 00000000000..847e18c072b
--- /dev/null
+++ b/distribution/src/js/zeroc-slice2js/.gitignore
@@ -0,0 +1,2 @@
+build
+npm-debug.log
diff --git a/distribution/src/js/zeroc-slice2js/README.md b/distribution/src/js/zeroc-slice2js/README.md
new file mode 100644
index 00000000000..6664f0cab34
--- /dev/null
+++ b/distribution/src/js/zeroc-slice2js/README.md
@@ -0,0 +1,55 @@
+# zeroc-slice2js
+Compiles Slice files to Javascript.
+
+## Install
+```bash
+$ npm install zeroc-slice2js --save-dev
+```
+
+_See below for command line usage._
+
+## Usage
+```js
+var slice2js = require('zeroc-slice2js');
+slice2js(["Hello.ice"]);
+```
+
+_The zeroc-slice2js module includes all of the Ice Slice definitions and automatically adds the slice directory to the include file search path._
+
+## Options
+
+### args `Array`
+
+The list of arguments passed to slice2js
+
+```bash
+-h, --help Show this message.
+-v, --version Display the Ice version.
+-DNAME Define NAME as 1.
+-DNAME=DEF Define NAME as DEF.
+-UNAME Remove any definition for NAME.
+-IDIR Put DIR in the include file search path.
+-E Print preprocessor output on stdout.
+--stdout Print genreated code to stdout.
+--output-dir DIR Create files in the directory DIR.
+--depend Generate Makefile dependencies.
+--depend-json Generate Makefile dependencies in JSON format.
+-d, --debug Print debug messages.
+--ice Permit `Ice` prefix (for building Ice source code only).
+--underscore Permit underscores in Slice identifiers.
+--icejs Build icejs module
+```
+
+Additional documentation can be found [here](https://doc.zeroc.com/display/Ice36/slice2js+Command-Line+Options).
+
+## Command Line
+Slice2js can also be installed globally and used from the command line.
+
+```bash
+$ npm install -g zeroc-slice2js
+$ slice2js Hello.ice
+```
+
+## Gulp
+
+For gulp integration refer to the [gulp-zeroc-slice2js package](https://github.com/ZeroC-Inc/gulp-zeroc-slice2js).
diff --git a/distribution/src/js/zeroc-slice2js/bin/slice2js-cli.js b/distribution/src/js/zeroc-slice2js/bin/slice2js-cli.js
new file mode 100755
index 00000000000..b200680842c
--- /dev/null
+++ b/distribution/src/js/zeroc-slice2js/bin/slice2js-cli.js
@@ -0,0 +1,14 @@
+#!/usr/bin/env node
+// **********************************************************************
+//
+// Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+'use strict';
+
+var slice2js = require('../slice2js');
+slice2js(process.argv.slice(2), {stdio: 'inherit'}).on('exit', process.exit);
diff --git a/distribution/src/js/zeroc-slice2js/binding.gyp b/distribution/src/js/zeroc-slice2js/binding.gyp
new file mode 100644
index 00000000000..ef12cc88f84
--- /dev/null
+++ b/distribution/src/js/zeroc-slice2js/binding.gyp
@@ -0,0 +1,176 @@
+{
+ 'target_defaults': {
+ 'defines': [
+ 'ICE_STATIC_LIBS',
+ 'SLICE_API_EXPORTS',
+ ],
+ 'conditions': [
+ ['OS=="win"', {
+ 'msvs_disabled_warnings': [
+ 4273, # inconsistent dll linkage
+ 4250
+ ],
+ }]
+ ]
+ },
+
+ 'targets': [
+ {
+ 'target_name': 'slice2js',
+ 'type': 'executable',
+ 'dependencies' : ['slice', 'iceutil'],
+
+ 'configurations': {
+ 'Release': {
+ 'msvs_settings': {
+ 'VCCLCompilerTool': {
+ 'RuntimeLibrary': '2',
+ 'ExceptionHandling': '1',
+ 'RuntimeTypeInfo' : 'true',
+ 'WarnAsError' : 'true'
+ },
+ },
+ },
+ },
+ 'sources': [
+ 'src/slice2js/Gen.cpp',
+ 'src/slice2js/JsUtil.cpp',
+ 'src/slice2js/Main.cpp'
+ ],
+ 'include_dirs' : [
+ 'include',
+ 'src/slice2js'
+ ],
+ 'cflags_cc' : [
+ '-fexceptions'
+ ],
+ 'cflags_cc!' : [
+ '-fno-rtti'
+ ],
+ 'conditions': [
+ ['OS=="win"', {
+ 'libraries': [
+ '-lrpcrt4.lib', '-ladvapi32.lib', '-lDbgHelp.lib'
+ ]
+ }]
+ ],
+ 'xcode_settings': {
+ 'GCC_ENABLE_CPP_RTTI': 'YES',
+ "GCC_ENABLE_CPP_EXCEPTIONS": "YES",
+ "MACOSX_DEPLOYMENT_TARGET":"10.9"
+ }
+ },
+
+ {
+ 'target_name': 'slice',
+ 'type': 'static_library',
+ 'dependencies': [
+ 'mcpp/mcpp.gyp:mcpp',
+ 'iceutil'
+ ],
+ 'configurations': {
+ 'Release': {
+ 'msvs_settings': {
+ 'VCCLCompilerTool': {
+ 'RuntimeLibrary': '2',
+ 'ExceptionHandling': '1',
+ 'RuntimeTypeInfo' : 'true',
+ 'WarnAsError' : 'true'
+ }
+ }
+ }
+ },
+ 'sources': [
+ 'src/Slice/CPlusPlusUtil.cpp',
+ 'src/Slice/DotNetNames.cpp',
+ 'src/Slice/JavaUtil.cpp',
+ 'src/Slice/PHPUtil.cpp',
+ 'src/Slice/PythonUtil.cpp',
+ 'src/Slice/Util.cpp',
+ 'src/Slice/Checksum.cpp',
+ 'src/Slice/FileTracker.cpp',
+ 'src/Slice/MD5.cpp',
+ 'src/Slice/Parser.cpp',
+ 'src/Slice/RubyUtil.cpp',
+ 'src/Slice/CsUtil.cpp',
+ 'src/Slice/Grammar.cpp',
+ 'src/Slice/MD5I.cpp',
+ 'src/Slice/Preprocessor.cpp',
+ 'src/Slice/Scanner.cpp'
+ ],
+ 'include_dirs' : [
+ 'include',
+ 'src'
+ ],
+ 'cflags_cc' : [
+ '-fexceptions'
+ ],
+ 'cflags_cc!' : [
+ '-fno-rtti'
+ ],
+ 'xcode_settings': {
+ 'GCC_ENABLE_CPP_RTTI': 'YES',
+ "GCC_ENABLE_CPP_EXCEPTIONS": "YES",
+ "MACOSX_DEPLOYMENT_TARGET":"10.9"
+ }
+ },
+
+ {
+ 'target_name': 'iceutil',
+ 'type': 'static_library',
+ 'configurations': {
+ 'Release': {
+ 'msvs_settings': {
+
+ 'VCCLCompilerTool': {
+ 'RuntimeLibrary': '2',
+ 'ExceptionHandling': '1',
+ 'RuntimeTypeInfo' : 'true',
+ 'WarnAsError' : 'true'
+ },
+ },
+ },
+ },
+ 'sources': [
+ 'src/IceUtil/ArgVector.cpp',
+ 'src/IceUtil/Cond.cpp',
+ 'src/IceUtil/ConvertUTF.cpp',
+ 'src/IceUtil/CountDownLatch.cpp',
+ 'src/IceUtil/CtrlCHandler.cpp',
+ 'src/IceUtil/Exception.cpp',
+ 'src/IceUtil/FileUtil.cpp',
+ 'src/IceUtil/InputUtil.cpp',
+ 'src/IceUtil/MutexProtocol.cpp',
+ 'src/IceUtil/Options.cpp',
+ 'src/IceUtil/OutputUtil.cpp',
+ 'src/IceUtil/Random.cpp',
+ 'src/IceUtil/RecMutex.cpp',
+ 'src/IceUtil/SHA1.cpp',
+ 'src/IceUtil/Shared.cpp',
+ 'src/IceUtil/StringConverter.cpp',
+ 'src/IceUtil/StringUtil.cpp',
+ 'src/IceUtil/Thread.cpp',
+ 'src/IceUtil/ThreadException.cpp',
+ 'src/IceUtil/Time.cpp',
+ 'src/IceUtil/Timer.cpp',
+ 'src/IceUtil/Unicode.cpp',
+ 'src/IceUtil/UUID.cpp'
+ ],
+ 'include_dirs' : [
+ "src",
+ "include",
+ ],
+ 'cflags_cc' : [
+ '-fexceptions'
+ ],
+ 'cflags_cc!' : [
+ '-fno-rtti'
+ ],
+ 'xcode_settings': {
+ 'GCC_ENABLE_CPP_RTTI': 'YES',
+ "GCC_ENABLE_CPP_EXCEPTIONS": "YES",
+ "MACOSX_DEPLOYMENT_TARGET":"10.9"
+ }
+ }
+ ]
+}
diff --git a/distribution/src/js/zeroc-slice2js/mcpp/config/linux/ia32/config.h b/distribution/src/js/zeroc-slice2js/mcpp/config/linux/ia32/config.h
new file mode 100644
index 00000000000..69134c7df47
--- /dev/null
+++ b/distribution/src/js/zeroc-slice2js/mcpp/config/linux/ia32/config.h
@@ -0,0 +1,227 @@
+/* src/config.h. Generated from config.h.in by configure. */
+/* src/config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define if '0x5c' in BIG5 multi-byte character is safe. */
+/* #undef BIGFIVE_IS_ESCAPE_FREE */
+
+/* Define the target compiler. */
+#define COMPILER INDEPENDENT
+
+/* Define the type of size_t. */
+/* #undef COMPILER_SP1_VAL */
+
+/* Define the type of ptrdiff_t. */
+/* #undef COMPILER_SP2_VAL */
+
+/* Define the type of wchar_t. */
+/* #undef COMPILER_SP3_VAL */
+
+/* Define the name of COMPILER-specific OLD-style predefined macro. */
+/* #undef COMPILER_SP_OLD */
+
+/* Define the value of COMPILER-specific OLD-style predefined macro. */
+/* #undef COMPILER_SP_OLD_VAL */
+
+/* Define the name of COMPILER-specific STD-style predefined macro. */
+/* #undef COMPILER_SP_STD */
+
+/* Define the value of COMPILER-specific STD-style predefined macro. */
+/* #undef COMPILER_SP_STD_VAL */
+
+/* Define compiler-specific C++ include directory 1. */
+/* #undef CPLUS_INCLUDE_DIR1 */
+
+/* Define compiler-specific C++ include directory 2. */
+/* #undef CPLUS_INCLUDE_DIR2 */
+
+/* Define compiler-specific C++ include directory 3. */
+/* #undef CPLUS_INCLUDE_DIR3 */
+
+/* Define compiler-specific C++ include directory 4. */
+/* #undef CPLUS_INCLUDE_DIR4 */
+
+/* Define the cpu-specific-macro. */
+#define CPU "i386"
+
+/* Define the name of CPU-specific OLD-style predefined macro. */
+/* #undef CPU_SP_OLD */
+
+/* Define the value of CPU-specific OLD-style predefined macro. */
+/* #undef CPU_SP_OLD_VAL */
+
+/* Define the name of CPU-specific STD-style predefined macro. */
+/* #undef CPU_SP_STD */
+
+/* Define the value of CPU-specific STD-style predefined macro. */
+/* #undef CPU_SP_STD_VAL */
+
+/* Define root directory of CYGWIN. */
+/* #undef CYGWIN_ROOT_DIRECTORY */
+
+/* Define compiler-specific C include directory 1. */
+/* #undef C_INCLUDE_DIR1 */
+
+/* Define compiler-specific C include directory 2. */
+/* #undef C_INCLUDE_DIR2 */
+
+/* Define compiler-specific C include directory 3. */
+/* #undef C_INCLUDE_DIR3 */
+
+/* Define if the argument of pragma is macro expanded. */
+/* #undef EXPAND_PRAGMA */
+
+/* Define if the cases of file name are folded. */
+/* #undef FNAME_FOLD */
+
+/* Define MacOS-specific framework directory 1. */
+/* #undef FRAMEWORK1 */
+
+/* Define MacOS-specific framework directory 2. */
+/* #undef FRAMEWORK2 */
+
+/* Define MacOS-specific framework directory 3. */
+/* #undef FRAMEWORK3 */
+
+/* Define gcc major version. */
+#define GCC_MAJOR_VERSION "4"
+
+/* Define gcc minor version. */
+#define GCC_MINOR_VERSION "8"
+
+/* Define if digraphs are available. */
+/* #undef HAVE_DIGRAPHS */
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if the system has the type `intmax_t'. */
+#define HAVE_INTMAX_T 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if the system has the type `long long'. */
+#define HAVE_LONG_LONG 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdint.h,> header file. */
+/* #undef HAVE_STDINT_H_ */
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the `stpcpy' function. */
+#define HAVE_STPCPY 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the <unistd.h,> header file. */
+/* #undef HAVE_UNISTD_H_ */
+
+/* Define the host compiler name. */
+#define HOST_CMP_NAME "GCC"
+
+/* Define the host compiler. */
+#define HOST_COMPILER GNUC
+
+/* Define the host system. */
+#define HOST_SYSTEM SYS_LINUX
+
+/* Define include directory to install mcpp_g*.h header files. */
+/* #undef INC_DIR */
+
+/* Define if '0x5c' in ISO2022-JP multi-byte character is safe. */
+/* #undef ISO2022_JP_IS_ESCAPE_FREE */
+
+/* Define output format of line directive. */
+/* #undef LINE_PREFIX */
+
+/* Define printf length modifier for the longest integer. */
+#define LL_FORM "j"
+
+/* Define if build libmcpp */
+#define MCPP_LIB 1
+
+/* Define /mingw directory. */
+/* #undef MINGW_DIRECTORY */
+
+/* Define root directory of MSYS. */
+/* #undef MSYS_ROOT_DIRECTORY */
+
+/* Define the suffix of object file. */
+#define OBJEXT "o"
+
+/* Name of package */
+#define PACKAGE "mcpp"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "kmatsui@t3.rim.or.jp"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "mcpp"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "mcpp 2.7.2"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "mcpp"
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "2.7.2"
+
+/* Define include preference. */
+/* #undef SEARCH_INIT */
+
+/* Define if '0x5c' in SJIS multi-byte character is safe. */
+/* #undef SJIS_IS_ESCAPE_FREE */
+
+/* Define the default value of __STDC__. */
+/* #undef STDC */
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define the default value of __STDC_VERSION__. */
+/* #undef STDC_VERSION */
+
+/* Define whether output format of line directive is C source style. */
+/* #undef STD_LINE_PREFIX */
+
+/* Define the target system. */
+#define SYSTEM SYS_LINUX
+
+/* Define the version of FreeBSD. */
+/* #undef SYSTEM_EXT_VAL */
+
+/* Define the name of SYSTEM-specific OLD-style predefined macro. */
+/* #undef SYSTEM_SP_OLD */
+
+/* Define the value of SYSTEM-specific OLD-style predefined macro. */
+/* #undef SYSTEM_SP_OLD_VAL */
+
+/* Define the name of SYSTEM-specific STD-style predefined macro. */
+/* #undef SYSTEM_SP_STD */
+
+/* Define the value of SYSTEM-specific STD-style predefined macro. */
+/* #undef SYSTEM_SP_STD_VAL */
+
+/* Version number of package */
+#define VERSION "2.7.2"
diff --git a/distribution/src/js/zeroc-slice2js/mcpp/config/linux/x64/config.h b/distribution/src/js/zeroc-slice2js/mcpp/config/linux/x64/config.h
new file mode 100644
index 00000000000..7249d8ba51f
--- /dev/null
+++ b/distribution/src/js/zeroc-slice2js/mcpp/config/linux/x64/config.h
@@ -0,0 +1,227 @@
+/* src/config.h. Generated from config.h.in by configure. */
+/* src/config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define if '0x5c' in BIG5 multi-byte character is safe. */
+/* #undef BIGFIVE_IS_ESCAPE_FREE */
+
+/* Define the target compiler. */
+#define COMPILER INDEPENDENT
+
+/* Define the type of size_t. */
+/* #undef COMPILER_SP1_VAL */
+
+/* Define the type of ptrdiff_t. */
+/* #undef COMPILER_SP2_VAL */
+
+/* Define the type of wchar_t. */
+/* #undef COMPILER_SP3_VAL */
+
+/* Define the name of COMPILER-specific OLD-style predefined macro. */
+/* #undef COMPILER_SP_OLD */
+
+/* Define the value of COMPILER-specific OLD-style predefined macro. */
+/* #undef COMPILER_SP_OLD_VAL */
+
+/* Define the name of COMPILER-specific STD-style predefined macro. */
+/* #undef COMPILER_SP_STD */
+
+/* Define the value of COMPILER-specific STD-style predefined macro. */
+/* #undef COMPILER_SP_STD_VAL */
+
+/* Define compiler-specific C++ include directory 1. */
+/* #undef CPLUS_INCLUDE_DIR1 */
+
+/* Define compiler-specific C++ include directory 2. */
+/* #undef CPLUS_INCLUDE_DIR2 */
+
+/* Define compiler-specific C++ include directory 3. */
+/* #undef CPLUS_INCLUDE_DIR3 */
+
+/* Define compiler-specific C++ include directory 4. */
+/* #undef CPLUS_INCLUDE_DIR4 */
+
+/* Define the cpu-specific-macro. */
+#define CPU "x86_64"
+
+/* Define the name of CPU-specific OLD-style predefined macro. */
+/* #undef CPU_SP_OLD */
+
+/* Define the value of CPU-specific OLD-style predefined macro. */
+/* #undef CPU_SP_OLD_VAL */
+
+/* Define the name of CPU-specific STD-style predefined macro. */
+/* #undef CPU_SP_STD */
+
+/* Define the value of CPU-specific STD-style predefined macro. */
+/* #undef CPU_SP_STD_VAL */
+
+/* Define root directory of CYGWIN. */
+/* #undef CYGWIN_ROOT_DIRECTORY */
+
+/* Define compiler-specific C include directory 1. */
+/* #undef C_INCLUDE_DIR1 */
+
+/* Define compiler-specific C include directory 2. */
+/* #undef C_INCLUDE_DIR2 */
+
+/* Define compiler-specific C include directory 3. */
+/* #undef C_INCLUDE_DIR3 */
+
+/* Define if the argument of pragma is macro expanded. */
+/* #undef EXPAND_PRAGMA */
+
+/* Define if the cases of file name are folded. */
+/* #undef FNAME_FOLD */
+
+/* Define MacOS-specific framework directory 1. */
+/* #undef FRAMEWORK1 */
+
+/* Define MacOS-specific framework directory 2. */
+/* #undef FRAMEWORK2 */
+
+/* Define MacOS-specific framework directory 3. */
+/* #undef FRAMEWORK3 */
+
+/* Define gcc major version. */
+#define GCC_MAJOR_VERSION "4"
+
+/* Define gcc minor version. */
+#define GCC_MINOR_VERSION "8"
+
+/* Define if digraphs are available. */
+/* #undef HAVE_DIGRAPHS */
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if the system has the type `intmax_t'. */
+#define HAVE_INTMAX_T 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if the system has the type `long long'. */
+#define HAVE_LONG_LONG 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdint.h,> header file. */
+/* #undef HAVE_STDINT_H_ */
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the `stpcpy' function. */
+#define HAVE_STPCPY 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the <unistd.h,> header file. */
+/* #undef HAVE_UNISTD_H_ */
+
+/* Define the host compiler name. */
+#define HOST_CMP_NAME "GCC"
+
+/* Define the host compiler. */
+#define HOST_COMPILER GNUC
+
+/* Define the host system. */
+#define HOST_SYSTEM SYS_LINUX
+
+/* Define include directory to install mcpp_g*.h header files. */
+/* #undef INC_DIR */
+
+/* Define if '0x5c' in ISO2022-JP multi-byte character is safe. */
+/* #undef ISO2022_JP_IS_ESCAPE_FREE */
+
+/* Define output format of line directive. */
+/* #undef LINE_PREFIX */
+
+/* Define printf length modifier for the longest integer. */
+#define LL_FORM "j"
+
+/* Define if build libmcpp */
+#define MCPP_LIB 1
+
+/* Define /mingw directory. */
+/* #undef MINGW_DIRECTORY */
+
+/* Define root directory of MSYS. */
+/* #undef MSYS_ROOT_DIRECTORY */
+
+/* Define the suffix of object file. */
+#define OBJEXT "o"
+
+/* Name of package */
+#define PACKAGE "mcpp"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "kmatsui@t3.rim.or.jp"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "mcpp"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "mcpp 2.7.2"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "mcpp"
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "2.7.2"
+
+/* Define include preference. */
+/* #undef SEARCH_INIT */
+
+/* Define if '0x5c' in SJIS multi-byte character is safe. */
+/* #undef SJIS_IS_ESCAPE_FREE */
+
+/* Define the default value of __STDC__. */
+/* #undef STDC */
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define the default value of __STDC_VERSION__. */
+/* #undef STDC_VERSION */
+
+/* Define whether output format of line directive is C source style. */
+/* #undef STD_LINE_PREFIX */
+
+/* Define the target system. */
+#define SYSTEM SYS_LINUX
+
+/* Define the version of FreeBSD. */
+/* #undef SYSTEM_EXT_VAL */
+
+/* Define the name of SYSTEM-specific OLD-style predefined macro. */
+/* #undef SYSTEM_SP_OLD */
+
+/* Define the value of SYSTEM-specific OLD-style predefined macro. */
+/* #undef SYSTEM_SP_OLD_VAL */
+
+/* Define the name of SYSTEM-specific STD-style predefined macro. */
+/* #undef SYSTEM_SP_STD */
+
+/* Define the value of SYSTEM-specific STD-style predefined macro. */
+/* #undef SYSTEM_SP_STD_VAL */
+
+/* Version number of package */
+#define VERSION "2.7.2"
diff --git a/distribution/src/js/zeroc-slice2js/mcpp/config/mac/x64/config.h b/distribution/src/js/zeroc-slice2js/mcpp/config/mac/x64/config.h
new file mode 100644
index 00000000000..8d5154fa1ac
--- /dev/null
+++ b/distribution/src/js/zeroc-slice2js/mcpp/config/mac/x64/config.h
@@ -0,0 +1,227 @@
+/* src/config.h. Generated from config.h.in by configure. */
+/* src/config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define if '0x5c' in BIG5 multi-byte character is safe. */
+/* #undef BIGFIVE_IS_ESCAPE_FREE */
+
+/* Define the target compiler. */
+#define COMPILER INDEPENDENT
+
+/* Define the type of size_t. */
+/* #undef COMPILER_SP1_VAL */
+
+/* Define the type of ptrdiff_t. */
+/* #undef COMPILER_SP2_VAL */
+
+/* Define the type of wchar_t. */
+/* #undef COMPILER_SP3_VAL */
+
+/* Define the name of COMPILER-specific OLD-style predefined macro. */
+/* #undef COMPILER_SP_OLD */
+
+/* Define the value of COMPILER-specific OLD-style predefined macro. */
+/* #undef COMPILER_SP_OLD_VAL */
+
+/* Define the name of COMPILER-specific STD-style predefined macro. */
+/* #undef COMPILER_SP_STD */
+
+/* Define the value of COMPILER-specific STD-style predefined macro. */
+/* #undef COMPILER_SP_STD_VAL */
+
+/* Define compiler-specific C++ include directory 1. */
+/* #undef CPLUS_INCLUDE_DIR1 */
+
+/* Define compiler-specific C++ include directory 2. */
+/* #undef CPLUS_INCLUDE_DIR2 */
+
+/* Define compiler-specific C++ include directory 3. */
+/* #undef CPLUS_INCLUDE_DIR3 */
+
+/* Define compiler-specific C++ include directory 4. */
+/* #undef CPLUS_INCLUDE_DIR4 */
+
+/* Define the cpu-specific-macro. */
+#define CPU "i386"
+
+/* Define the name of CPU-specific OLD-style predefined macro. */
+/* #undef CPU_SP_OLD */
+
+/* Define the value of CPU-specific OLD-style predefined macro. */
+/* #undef CPU_SP_OLD_VAL */
+
+/* Define the name of CPU-specific STD-style predefined macro. */
+/* #undef CPU_SP_STD */
+
+/* Define the value of CPU-specific STD-style predefined macro. */
+/* #undef CPU_SP_STD_VAL */
+
+/* Define root directory of CYGWIN. */
+/* #undef CYGWIN_ROOT_DIRECTORY */
+
+/* Define compiler-specific C include directory 1. */
+/* #undef C_INCLUDE_DIR1 */
+
+/* Define compiler-specific C include directory 2. */
+/* #undef C_INCLUDE_DIR2 */
+
+/* Define compiler-specific C include directory 3. */
+/* #undef C_INCLUDE_DIR3 */
+
+/* Define if the argument of pragma is macro expanded. */
+/* #undef EXPAND_PRAGMA */
+
+/* Define if the cases of file name are folded. */
+#define FNAME_FOLD 1
+
+/* Define MacOS-specific framework directory 1. */
+#define FRAMEWORK1 "/System/Library/Frameworks"
+
+/* Define MacOS-specific framework directory 2. */
+#define FRAMEWORK2 "/Library/Frameworks"
+
+/* Define MacOS-specific framework directory 3. */
+/* #undef FRAMEWORK3 */
+
+/* Define gcc major version. */
+#define GCC_MAJOR_VERSION "4"
+
+/* Define gcc minor version. */
+#define GCC_MINOR_VERSION "2"
+
+/* Define if digraphs are available. */
+/* #undef HAVE_DIGRAPHS */
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if the system has the type `intmax_t'. */
+#define HAVE_INTMAX_T 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if the system has the type `long long'. */
+#define HAVE_LONG_LONG 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdint.h,> header file. */
+/* #undef HAVE_STDINT_H_ */
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the `stpcpy' function. */
+#define HAVE_STPCPY 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the <unistd.h,> header file. */
+/* #undef HAVE_UNISTD_H_ */
+
+/* Define the host compiler name. */
+#define HOST_CMP_NAME "GCC"
+
+/* Define the host compiler. */
+#define HOST_COMPILER GNUC
+
+/* Define the host system. */
+#define HOST_SYSTEM SYS_MAC
+
+/* Define include directory to install mcpp_g*.h header files. */
+/* #undef INC_DIR */
+
+/* Define if '0x5c' in ISO2022-JP multi-byte character is safe. */
+/* #undef ISO2022_JP_IS_ESCAPE_FREE */
+
+/* Define output format of line directive. */
+/* #undef LINE_PREFIX */
+
+/* Define printf length modifier for the longest integer. */
+#define LL_FORM "j"
+
+/* Define if build libmcpp */
+#define MCPP_LIB 1
+
+/* Define /mingw directory. */
+/* #undef MINGW_DIRECTORY */
+
+/* Define root directory of MSYS. */
+/* #undef MSYS_ROOT_DIRECTORY */
+
+/* Define the suffix of object file. */
+#define OBJEXT "o"
+
+/* Name of package */
+#define PACKAGE "mcpp"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "kmatsui@t3.rim.or.jp"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "mcpp"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "mcpp 2.7.2"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "mcpp"
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "2.7.2"
+
+/* Define include preference. */
+/* #undef SEARCH_INIT */
+
+/* Define if '0x5c' in SJIS multi-byte character is safe. */
+/* #undef SJIS_IS_ESCAPE_FREE */
+
+/* Define the default value of __STDC__. */
+/* #undef STDC */
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define the default value of __STDC_VERSION__. */
+/* #undef STDC_VERSION */
+
+/* Define whether output format of line directive is C source style. */
+/* #undef STD_LINE_PREFIX */
+
+/* Define the target system. */
+#define SYSTEM SYS_MAC
+
+/* Define the version of FreeBSD. */
+/* #undef SYSTEM_EXT_VAL */
+
+/* Define the name of SYSTEM-specific OLD-style predefined macro. */
+/* #undef SYSTEM_SP_OLD */
+
+/* Define the value of SYSTEM-specific OLD-style predefined macro. */
+/* #undef SYSTEM_SP_OLD_VAL */
+
+/* Define the name of SYSTEM-specific STD-style predefined macro. */
+/* #undef SYSTEM_SP_STD */
+
+/* Define the value of SYSTEM-specific STD-style predefined macro. */
+/* #undef SYSTEM_SP_STD_VAL */
+
+/* Version number of package */
+#define VERSION "2.7.2"
diff --git a/distribution/src/js/zeroc-slice2js/mcpp/config/win/ia32/config.h b/distribution/src/js/zeroc-slice2js/mcpp/config/win/ia32/config.h
new file mode 100644
index 00000000000..8df4d0e74a7
--- /dev/null
+++ b/distribution/src/js/zeroc-slice2js/mcpp/config/win/ia32/config.h
@@ -0,0 +1,7 @@
+#define COMPILER INDEPENDENT
+#define HOST_SYSTEM SYS_WIN
+#define SYSTEM SYS_WIN
+#define CPU "i386"
+#define HOST_COMPILER MSC
+#define VERSION "2.7.2"
+#define MCPP_LIB 1 \ No newline at end of file
diff --git a/distribution/src/js/zeroc-slice2js/mcpp/config/win/x64/config.h b/distribution/src/js/zeroc-slice2js/mcpp/config/win/x64/config.h
new file mode 100644
index 00000000000..5d21598f007
--- /dev/null
+++ b/distribution/src/js/zeroc-slice2js/mcpp/config/win/x64/config.h
@@ -0,0 +1,7 @@
+#define COMPILER INDEPENDENT
+#define HOST_SYSTEM SYS_WIN
+#define SYSTEM SYS_WIN
+#define CPU "x86_64"
+#define HOST_COMPILER MSC
+#define VERSION "2.7.2"
+#define MCPP_LIB 1
diff --git a/distribution/src/js/zeroc-slice2js/mcpp/mcpp.gyp b/distribution/src/js/zeroc-slice2js/mcpp/mcpp.gyp
new file mode 100644
index 00000000000..0793fbd9c39
--- /dev/null
+++ b/distribution/src/js/zeroc-slice2js/mcpp/mcpp.gyp
@@ -0,0 +1,68 @@
+{
+ 'targets': [
+ {
+ 'target_name': 'mcpp',
+ 'product_prefix' : 'lib',
+ 'type': 'static_library',
+ 'sources': [
+ 'src/directive.c',
+ 'src/eval.c',
+ 'src/expand.c',
+ 'src/main.c',
+ 'src/mbchar.c',
+ 'src/support.c',
+ 'src/system.c',
+
+ # 'src/cc1.c',
+ # 'src/preproc.c',
+ ],
+ 'include_dirs' : [
+ 'src',
+ 'config/<(OS)/<(target_arch)'
+ ],
+ 'defines' : [
+ 'HAVE_CONFIG_H',
+ 'MCPP_LIB=1'
+ ],
+ 'configurations': {
+ 'Release': {
+ 'msvs_settings': {
+ 'VCCLCompilerTool': {
+ 'RuntimeLibrary': '2',
+ 'ExceptionHandling': '1',
+ 'RuntimeTypeInfo' : 'true'
+ },
+ },
+ 'msvs_disabled_warnings': [
+ 4018,
+ 4090,
+ 4101,
+ 4102,
+ 4133,
+ 4146,
+ 4244,
+ 4267
+ ]
+ }
+ },
+ 'conditions': [
+ ['OS=="mac"', {
+ 'xcode_settings': {
+ "MACOSX_DEPLOYMENT_TARGET":"10.9",
+ 'OTHER_CFLAGS': [
+ '-fno-common',
+ '-stdlib=libstdc++',
+ '-w'
+ ]
+ }
+ }],
+ ['OS=="linux"', {
+ 'cflags' : [
+ '-fPIC',
+ '-w'
+ ]
+ }]
+ ]
+ }
+ ]
+}
diff --git a/distribution/src/js/zeroc-slice2js/package.json b/distribution/src/js/zeroc-slice2js/package.json
new file mode 100644
index 00000000000..90a2e7a2f4f
--- /dev/null
+++ b/distribution/src/js/zeroc-slice2js/package.json
@@ -0,0 +1,22 @@
+{
+ "name": "zeroc-slice2js",
+ "version": "3.6.0-beta.0",
+ "description": "Ice Slice to JavaScript compiler",
+ "homepage": "https://www.zeroc.com",
+ "repository": "https://github.com/zeroc-inc/zeroc-slice2js.git",
+ "author": "Zeroc, Inc.",
+ "license": "GPL-2.0+",
+ "main": "slice2js.js",
+ "bin": {
+ "slice2js": "bin/slice2js-cli.js"
+ },
+ "scripts": {
+ "test": "slice2js --version"
+ },
+ "keywords": [
+ "Ice",
+ "IceJS",
+ "slice2js"
+ ],
+ "gypfile": true
+}
diff --git a/distribution/src/js/zeroc-slice2js/slice2js.js b/distribution/src/js/zeroc-slice2js/slice2js.js
new file mode 100644
index 00000000000..ed7a8f52226
--- /dev/null
+++ b/distribution/src/js/zeroc-slice2js/slice2js.js
@@ -0,0 +1,28 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+var spawn = require('child_process').spawn;
+var path = require('path');
+var os = require('os');
+var platform = os.platform();
+var arch = os.arch();
+
+module.exports = function(args, options)
+{
+ var bin_dir = path.join(__dirname, 'build', 'Release');
+ var slice2js = platform === 'win32' ? 'slice2js.exe' : 'slice2js';
+ slice2js = path.join(bin_dir, slice2js);
+
+ var slice_dir = path.resolve(path.join(__dirname, 'slice'));
+
+ var slice2js_args = args.slice();
+ slice2js_args.push('-I' + slice_dir);
+
+ return spawn(slice2js, slice2js_args, options);
+};