diff options
Diffstat (limited to 'distribution/src')
25 files changed, 1527 insertions, 185 deletions
diff --git a/distribution/src/js/gulp-zeroc-slice2js/README.md b/distribution/src/js/gulp-zeroc-slice2js/README.md new file mode 100644 index 00000000000..f780dd07606 --- /dev/null +++ b/distribution/src/js/gulp-zeroc-slice2js/README.md @@ -0,0 +1,47 @@ +# gulp-zeroc-slice2js +Gulp plugin to compile Slice files to JavaScript. + +## Install +```bash +$ npm install gulp-zeroc-slice2js --save-dev +``` + +## Usage +```js +var slice2js = require('gulp-zeroc-slice2js'); + +gulp.task('compile', function() { + gulp.src('slice/*.ice') + .pipe(slice2js()) + .pipe(gulp.dest(dest)); +}); +``` + +## Options + +### exe `String` + +The path to the slice2js executable. By default the npm package [zeroc-slice2js](https://github.com/ZeroC-Inc/zeroc-slice2js) will be used. + +```js +slice2js({exe: "/opt/Ice-3.6b/slice2js"}) +``` + +### args `Array` + +The list of arguments passed to slice2js. + +```js +slice2js({args: ["-I/opt/Ice-3.6b/slice"]}) +``` + +For a full list of arguments you can pass to the slice2js compiler refer to the [zeroc-slice2js package](https://github.com/ZeroC-Inc/zeroc-slice2js). + +### dest `String` + +The destination directory for your compiled .js files, the same one you use for ``gulp.dest()``. If specified, the dependencies are computed and files will only be recompiled and passed down the gulp stream if changes have been made. + +```js +slice2js({dest: "js/generated"}) +``` + diff --git a/distribution/src/js/gulp-zeroc-slice2js/package.json b/distribution/src/js/gulp-zeroc-slice2js/package.json new file mode 100644 index 00000000000..a594cee0fd0 --- /dev/null +++ b/distribution/src/js/gulp-zeroc-slice2js/package.json @@ -0,0 +1,21 @@ +{ + "name": "gulp-zeroc-slice2js", + "version": "3.6.0-beta.0", + "description": "Gulp plugin to compile Slice files to JavaScript", + "main": "index.js", + "author": "Zeroc, Inc.", + "homepage": "https://www.zeroc.com", + "repository": "https://github.com/zeroc-inc/gulp-zeroc-slice2js.git", + "license": "GPL-2.0+", + "keywords": [ + "gulp", + "slice2js", + "Ice", + "IceJS" + ], + "dependencies": { + "zeroc-slice2js": "^3.6.0-beta.0", + "gulp-util": "^3.0.2", + "through2": "^0.6.3" + } +} diff --git a/distribution/src/js/icejs-demos/README.md b/distribution/src/js/icejs-demos/README.md new file mode 100644 index 00000000000..6df44bb51f9 --- /dev/null +++ b/distribution/src/js/icejs-demos/README.md @@ -0,0 +1,24 @@ +# zeroc-icejs-demos +Demos for [Ice for JavaScript](https://github.com/ZeroC-Inc/zeroc-icejs) + +## Requirements +Compiling and running the Ice for JavaScript demos requires the following: +- [Node.js](https://nodejs.org) +- Dependencies for [node-gyp](https://github.com/TooTallNate/node-gyp) (Required to build the slice2js compiler). + +## Install +```bash +$ git clone https://github.com/ZeroC-Inc/icejs-demos icejs-demos +$ cd icejs-demos +$ npm install +``` + +## Running the scripts +```bash +$ npm run gulp:build // Build the demos +$ npm run gulp:watch // Run demo web server; watch for files changes and reload +$ npm run gulp:clean // Clean the demos +``` + +## Running the demos +Running a demo requires running a corresponding (C++, Java, C#) server. For more information refer to the [documentation](https://doc.zeroc.com/display/Ice36/Sample+Programs). diff --git a/distribution/src/js/icejs-demos/bower.json b/distribution/src/js/icejs-demos/bower.json new file mode 100644 index 00000000000..b6107cd95f1 --- /dev/null +++ b/distribution/src/js/icejs-demos/bower.json @@ -0,0 +1,25 @@ +{ + "name": "zeroc-icejs-demos", + "version": "3.6.0-beta.0", + "description": "Ice for JavaScript runtime", + "author": "Zeroc, Inc.", + "homepage": "http://zeroc.com", + "repository": { + "type": "git", + "url": "https://github.com/zeroc-inc/icejs-demos.git" + }, + "license": "GPL-2.0+", + "keywords": [ + "Ice", + "IceJS" + ], + "dependencies": { + "foundation": "~5.5.0", + "jquery": "~2.1.3", + "animo.js": "~1.0.2", + "spin.js": "~2.0.2", + "nouislider": "~7.0.10", + "highlightjs": "~8.4.0", + "zeroc-icejs": "~3.6.0-beta.0" + } +} diff --git a/distribution/src/js/icejs-demos/gulpfile.js b/distribution/src/js/icejs-demos/gulpfile.js new file mode 100644 index 00000000000..5be6dd72995 --- /dev/null +++ b/distribution/src/js/icejs-demos/gulpfile.js @@ -0,0 +1,217 @@ +// ********************************************************************** +// +// 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 bower = require("bower"); +var browserSync = require("browser-sync"); +var concat = require('gulp-concat'); +var del = require("del"); +var extreplace = require("gulp-ext-replace"); +var gulp = require("gulp"); +var gzip = require("gulp-gzip"); +var minifycss = require('gulp-minify-css'); +var newer = require('gulp-newer'); +var open = require("gulp-open"); +var path = require("path"); +var paths = require('vinyl-paths'); +var slice2js = require("gulp-zeroc-slice2js"); +var uglify = require("gulp-uglify"); + +var HttpServer = require("./bin/HttpServer"); + +var common = +{ + "scripts": [ + "bower_components/foundation/js/vendor/modernizr.js", + "bower_components/foundation/js/vendor/jquery.js", + "bower_components/foundation/js/foundation.min.js", + "bower_components/nouislider/distribute/jquery.nouislider.all.js", + "bower_components/animo.js/animo.js", + "bower_components/spin.js/spin.js", + "bower_components/spin.js/jquery.spin.js", + "bower_components/highlightjs/highlight.pack.js", + "assets/icejs.js"], + "styles": + ["bower_components/foundation/css/foundation.css", + "bower_components/animo.js/animate+animo.css", + "bower_components/highlightjs/styles/vs.css", + "bower_components/nouislider/distribute/jquery.nouislider.min.css", + "assets/icejs.css"] +}; + +gulp.task("reload", [], + function() + { + browserSync.reload(); + }); + +gulp.task("bower", [], + function(cb) + { + bower.commands.install().on("end", function(){ cb(); }); + }); + +gulp.task("common:js", ["bower"], + function() + { + return gulp.src(common.scripts) + .pipe(newer("assets/common.min.js")) + .pipe(concat("common.min.js")) + .pipe(uglify()) + .pipe(gulp.dest("assets")) + .pipe(gzip()) + .pipe(gulp.dest("assets")); + }); + +gulp.task("common:js:watch", [], + function() + { + gulp.watch(common.scripts, ["common:js"]); + gulp.watch("assets/common.min.js.gz", ["reload"]); + }); + +gulp.task("common:css", ["bower"], + function() + { + return gulp.src(common.styles) + .pipe(newer("assets/common.css")) + .pipe(concat("common.css")) + .pipe(minifycss()) + .pipe(gulp.dest("assets")) + .pipe(gzip()) + .pipe(gulp.dest("assets")); + }); + +gulp.task("common:css:watch", [], + function() + { + gulp.watch(common.styles, ["common:css"]); + gulp.watch("assets/common.css.gz", ["reload"]); + }); + +gulp.task("common:clean", [], + function() + { + del(["assets/common.css", "assets/common.min.js"]); + }); + +var demos = [ + "Ice/hello", + "Ice/throughput", + "Ice/minimal", + "Ice/latency", + "Ice/bidir", + "Glacier2/chat", + "ChatDemo"]; + +function demoGenerateTask(name) { return "demo_" + name.replace("/", "_"); } +function demoWatchTask(name) { return "demo_" + name.replace("/", "_") + ":watch"; } +function demoCleanTask(name) { return "demo_" + name.replace("/", "_") + ":clean"; } +function demoGeneratedFile(file){ return path.join(path.basename(file, ".ice") + ".js"); } + +demos.forEach( + function(name) + { + gulp.task(demoGenerateTask(name), ["common:js", "common:css"], + function() + { + return gulp.src(path.join(name, "*.ice")) + .pipe(slice2js({args: ["-I" + name], dest: name})) + .pipe(gulp.dest(name)); + }); + + gulp.task(demoWatchTask(name), [], + function() + { + gulp.watch(path.join(name, "*.ice"), [demoGenerateTask(name)]); + + gulp.watch([path.join(name, "*.js"), + path.join(name, "browser", "*.js"), + path.join(name, "*.html")], ["reload"]); + }); + + gulp.task(demoCleanTask(name), ["common:clean"], + function() + { + return gulp.src(path.join(name, "*.ice")) + .pipe(extreplace(".js")) + .pipe(paths(del)); + }); + }); + +var minDemos = +{ + "Ice/minimal": + { + srcs: [ + "bower_packages/Ice.min.js", + "demo/Ice/minimal/Hello.js", + "demo/Ice/minimal/browser/Client.js"], + dest: "demo/Ice/minimal/browser/" + }, + "ChatDemo": + { + srcs: [ + "bower_packages/Ice.min.js", + "bower_packages/Glacier2.min.js", + "demo/ChatDemo/Chat.js", + "demo/ChatDemo/ChatSession.js", + "demo/ChatDemo/Client.js"], + dest: "demo/ChatDemo" + } +}; + +function demoTaskName(name) { return "demo_" + name.replace("/", "_"); } +function minDemoTaskName(name) { return demoTaskName(name) + ":min"; } +function minDemoWatchTaskName(name) { return minDemoTaskName(name) + ":watch"; } +function minDemoCleanTaskName(name) { return minDemoTaskName(name) + ":clean"; } + +Object.keys(minDemos).forEach( + function(name) + { + var demo = minDemos[name]; + + gulp.task(minDemoTaskName(name), [demoTaskName(name)], + function() + { + return gulp.src(demo.srcs) + .pipe(newer(path.join(demo.dest, "Client.min.js"))) + .pipe(concat("Client.min.js")) + .pipe(uglify()) + .pipe(gulp.dest(demo.dest)) + .pipe(gzip()) + .pipe(gulp.dest(demo.dest)); + }); + + gulp.task(minDemoWatchTaskName(name), [minDemoTaskName(name)], + function() + { + gulp.watch(demo.srcs, [minDemoTaskName(name)]); + }); + + gulp.task(minDemoCleanTaskName(name), [], + function() + { + del([path.join(demo.dest, "Client.min.js"), + path.join(demo.dest, "Client.min.js.gz")]); + }); + }); + +gulp.task("demo", demos.map(demoGenerateTask).concat(Object.keys(minDemos).map(minDemoTaskName))); +gulp.task("demo:watch", demos.map(demoWatchTask).concat(Object.keys(minDemos).map(minDemoWatchTaskName))); +gulp.task("demo:clean", demos.map(demoCleanTask).concat(Object.keys(minDemos).map(minDemoCleanTaskName))); +gulp.task("build", ["demo"]); +gulp.task("watch", ["demo", "demo:watch", "common:css:watch", "common:js:watch"], + function() + { + browserSync(); + HttpServer(); + return gulp.src("./index.html").pipe(open("", {url: "http://127.0.0.1:8080/index.html"})); + }); +gulp.task("clean", ["demo:clean", "common:clean"]); +gulp.task("default", ["build"]); diff --git a/distribution/src/js/icejs-demos/package.json b/distribution/src/js/icejs-demos/package.json new file mode 100644 index 00000000000..b34a71b65c3 --- /dev/null +++ b/distribution/src/js/icejs-demos/package.json @@ -0,0 +1,31 @@ +{ + "name": "zeroc-icejs-demos", + "version": "3.6.0-beta.0", + "description": "Sample programs for Ice (Internet Communications Engine)", + "author": "ZeroC, Inc. <info@zeroc.com>", + "homepage": "https://www.zeroc.com", + "repository": "https://github.com/zeroc-inc/icejs-demos.git", + "license": "GPL-2.0+", + "dependencies": { + "bower": "^1.3.12", + "browser-sync": "^1.9.0", + "del": "^1.1.1", + "gulp": "^3.8.10", + "gulp-concat": "^2.4.3", + "gulp-ext-replace": "^0.1.0", + "gulp-gzip": "0.0.8", + "gulp-minify-css": "^0.3.12", + "gulp-newer": "^0.5.0", + "gulp-open": "^0.3.1", + "gulp-uglify": "^1.0.2", + "gulp-zeroc-slice2js": "^3.6.0-beta.0", + "http-proxy": "^1.8.1", + "zeroc-icejs": "^3.6.0-beta.0", + "vinyl-paths": "^1.0.0" + }, + "scripts": { + "gulp:build": "gulp", + "gulp:watch": "gulp watch", + "gulp:clean": "gulp clean" + } +} diff --git a/distribution/src/js/npm/index.js b/distribution/src/js/npm/index.js deleted file mode 100644 index 569b78a0ecc..00000000000 --- a/distribution/src/js/npm/index.js +++ /dev/null @@ -1,14 +0,0 @@ -// ********************************************************************** -// -// 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. -// -// ********************************************************************** - -module.exports.Ice = require("./lib/Ice/Ice").Ice; -module.exports.IceMX = require("./lib/Ice/Ice").IceMX; -module.exports.Glacier2 = require("./lib/Glacier2/Glacier2").Glacier2; -module.exports.IceGrid = require("./lib/IceGrid/IceGrid").IceGrid; -module.exports.IceStorm = require("./lib/IceStorm/IceStorm").IceStorm; diff --git a/distribution/src/js/npm/installSlice2js.js b/distribution/src/js/npm/installSlice2js.js deleted file mode 100644 index 6a143fc0fa2..00000000000 --- a/distribution/src/js/npm/installSlice2js.js +++ /dev/null @@ -1,135 +0,0 @@ -// ********************************************************************** -// Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved. -// -// This copy of Ice is licensed to you under the terms described in th -// ICE_LICENSE file included in this distribution. -// -// ********************************************************************** - -var execFile = require('child_process').execFile; -var fs = require('fs'); -var http = require('http'); -var os = require('os'); -var path = require('path'); -var url = require('url'); -var util = require('util'); -var zlib = require('zlib'); -var platform = os.platform(); -var arch = os.arch(); - -var BIN_DIR = path.join(__dirname, 'bin'); -var slice2js = platform === 'win32' ? 'slice2js.exe' : 'slice2js'; -slice2js = path.join(BIN_DIR, slice2js); - -var pkgVer = require('./package.json').slice2js; - -function downloadSlice2js(redirectUrl) -{ - if(fs.existsSync(slice2js)) - { - fs.unlinkSync(slice2js); - } - - var SLICE2JS_URL = redirectUrl || - process.env.SLICE2JS_URL || - process.env.npm_config_SLICE2JS_URL || - 'http://zeroc.com/download/3.6/'; - - var dlPath = - { - 'darwin' : - { - 'x64' : util.format('slice2js-%s-osx.gz', pkgVer) - }, - 'linux': - { - 'x64' : util.format('slice2js-%s-linux-%s.gz', pkgVer, arch), - 'x86' : util.format('slice2js-%s-linux-%s.gz', pkgVer, arch) - }, - 'win32': - { - 'x64' : util.format('slice2js-%s-win-%s.exe.gz', pkgVer, arch), - 'x86' : util.format('slice2js-%s-win-%s.exe.gz', pkgVer, arch) - } - }; - - var slice2js_url = url.resolve(SLICE2JS_URL, dlPath[platform][arch]); - console.log('Downloading slice2js from: ' + slice2js_url); - var req = http.get(slice2js_url, - function(res) - { - if(res.statusCode !== 200) - { - if(res.statusCode === 302 && !redirectUrl) - { - return downloadSlice2js(res.headers.location); - } - else if (res.statusCode === 404) - { - console.log('Unable to find slice2js at %s. Proceeding without it.', SLICE2JS_URL); - process.exit(0); - } - else - { - consle.log('There was an error downloading slice2js.'); - process.exit(0); - } - } - - var progress = 0; - var dlStream = fs.createWriteStream(slice2js + '.gz'); - res.pipe(dlStream); - - res.on('end', - function() - { - console.log('Slice2js downloaded.'); - dlStream.end(); - - var zipSteam = fs.createReadStream(slice2js+'.gz'); - var fileStream = fs.createWriteStream(slice2js, {flags : 'w', mode: 33261}); - zipSteam.pipe(zlib.createGunzip()).pipe(fileStream); - fileStream.on('close', - function() - { - fs.unlinkSync(slice2js+'.gz'); - }); - }); - }); - - req.on('error', - function(err) - { - console.log('There was an error retrieving slice2js. ' + err.message); - }); -} - -if(fs.existsSync(slice2js) === true) -{ - - execFile(slice2js, ['--version'], - function(err, stdout, stderr) - { - if (err) - { - return downloadSlice2js(); - } - - var version = stdout.trim() || stderr.trim(); - if(version === pkgVer) - { - return; - } - else - { - downloadSlice2js(); - } - }); -} -else -{ - downloadSlice2js(); -} - -module.exports.path = slice2js; -module.exports.version = pkgVer; diff --git a/distribution/src/js/npm/package.json b/distribution/src/js/npm/package.json deleted file mode 100644 index d975719ce89..00000000000 --- a/distribution/src/js/npm/package.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "icejs", - "version": "3.5.1", - "main": "index.js", - "bin": { - "slice2js": "bin/cli.js" - }, - "engines": { - "node": ">=0.10.0" - }, - "scripts": { - "postinstall": "node installSlice2js.js", - "test": "slice2js --version" - }, - "keywords": [ - "Ice", - "IceJS" - ], - "slice2js": "3.5.1", - "author": "Zeroc, Inc.", - "repository": { - "type": "git", - "url": "" - }, - "license": "GPL 2.0" -} diff --git a/distribution/src/js/zeroc-icejs/.npmignore b/distribution/src/js/zeroc-icejs/.npmignore new file mode 100644 index 00000000000..bb4964323e1 --- /dev/null +++ b/distribution/src/js/zeroc-icejs/.npmignore @@ -0,0 +1 @@ +bower.json diff --git a/distribution/src/js/zeroc-icejs/README.md b/distribution/src/js/zeroc-icejs/README.md new file mode 100644 index 00000000000..e5bd9b47daa --- /dev/null +++ b/distribution/src/js/zeroc-icejs/README.md @@ -0,0 +1,66 @@ +# zeroc-icejs +Ice for JavaScript runtime + +## Install + +You can install Ice for JavaScript with either `npm` or `bower`. + +### npm +```bash +$ npm install zeroc-icejs --save +``` + +This module also includes the browser version of Ice for JavaScript. + +### bower + +```bash +$ bower install zeroc-icejs --save +``` + +## Usage + +### npm + +```js +var Ice = require('zeroc-icejs').Ice; +var Glacier2 = require('zeroc-icejs').Glacier2; +var IceStorm = require('zeroc-icejs').IceStorm; +var IceGrid = require('zeroc-icejs').IceGrid; + +var communicator = Ice.initialize(process.argv); +var proxy = communicator.stringToProxy("hello:tcp -h localhost -p 10000"); +``` + +The npm package also includes the browser version of Ice for JavaScript. Refer to the `bower` documentation below, replacing `bower_components` with `node_modules`. + +### bower + +Add the necessary `<script>` tags to your html to include the Ice for JavaScript components you require. + +```html +<script src="/bower_components/zeroc-icejs/lib/Ice.js"></script> +<script src="/bower_components/zeroc-icejs/lib/Glacier2.js"></script> +<script src="/bower_components/zeroc-icejs/lib/IceStorm.js"></script> +<script src="/bower_components/zeroc-icejs/lib/IceGrid.js"></script> +<script type="text/javascript"> + var communicator = Ice.initialize(); + var proxy = communicator.stringToProxy("hello:ws -h localhost -p 10002"); +</script> +``` + +Minified versions are available with the `.min.js` extension. + +## Documentation + +See the [Ice Documentation](https://doc.zeroc.com/display/Ice36/JavaScript+Mapping). + +## Slice2js Compiler + +To compile [Slice](https://doc.zeroc.com/display/Ice36/The+Slice+Language) files to JavaScript see the following: +- [zeroc-slice2js](https://github.com/ZeroC-Inc/zeroc-slice2js) +- [gulp-zeroc-slice2js](https://github.com/ZeroC-Inc/gulp-zeroc-slice2js) + +## Demos + +A collection of demos for Ice for JavaScript can be found [here](https://github.com/ZeroC-Inc/icejs-demos). diff --git a/distribution/src/js/zeroc-icejs/bower.json b/distribution/src/js/zeroc-icejs/bower.json new file mode 100644 index 00000000000..0e2f1b83820 --- /dev/null +++ b/distribution/src/js/zeroc-icejs/bower.json @@ -0,0 +1,27 @@ +{ + "name": "zeroc-icejs", + "version": "3.6.0-beta.0", + "description": "Ice for JavaScript runtime", + "author": "Zeroc, Inc.", + "homepage": "https://www.zeroc.com", + "repository": { + "type": "git", + "url": "https://github.com/zeroc-inc/zeroc-icejs.git" + }, + "license": "GPL-2.0+", + "main": [ + "lib/Glacier2.js", + "lib/Ice.js", + "lib/IceStorm.js", + "lib/IceGrid.js" + ], + "keywords": [ + "Ice", + "IceJS" + ], + "ignore": [ + ".npmignore", + "package.json", + "src" + ] +} diff --git a/distribution/src/js/zeroc-icejs/package.json b/distribution/src/js/zeroc-icejs/package.json new file mode 100644 index 00000000000..436e6d65575 --- /dev/null +++ b/distribution/src/js/zeroc-icejs/package.json @@ -0,0 +1,20 @@ +{ + "name": "zeroc-icejs", + "version": "3.6.0-beta.0", + "description": "Ice for JavaScript runtime", + "author": "Zeroc, Inc.", + "homepage": "https://www.zeroc.com", + "repository": { + "type": "git", + "url": "https://github.com/zeroc-inc/zeroc-icejs.git" + }, + "license": "GPL-2.0+", + "main": "src/zeroc-icejs.js", + "engines": { + "node": ">=0.10.0" + }, + "keywords": [ + "Ice", + "IceJS" + ] +} 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/npm/bin/cli.js b/distribution/src/js/zeroc-slice2js/bin/slice2js-cli.js index d692d5aafaf..b200680842c 100755 --- a/distribution/src/js/npm/bin/cli.js +++ b/distribution/src/js/zeroc-slice2js/bin/slice2js-cli.js @@ -10,13 +10,5 @@ 'use strict'; -var binPath = require('../installSlice2js').path; -var spawn = require('child_process').spawn; -var path = require('path'); - -var SLICE_DIR = path.resolve(path.join('..', 'slice')); - -var args = process.argv.slice(2); -args.push('-I'+SLICE_DIR); - -spawn(binPath, args, { stdio: 'inherit' }).on('exit', process.exit); +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); +}; |