-
Notifications
You must be signed in to change notification settings - Fork 135
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #7 from SLaks/master
Add Windows Support
- Loading branch information
Showing
10 changed files
with
268 additions
and
31 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,44 @@ | ||
{ | ||
'variables': { | ||
# Default for this variable, to get the right behavior for | ||
# Node versions <= 0.6.*. | ||
'node_shared_openssl%': 'true' | ||
}, | ||
'targets': [ | ||
{ | ||
'target_name': 'ursaNative', | ||
'sources': [ 'src/ursaNative.cc' ], | ||
'conditions': [ | ||
[ 'node_shared_openssl=="false"', { | ||
'include_dirs': [ | ||
'<(node_root_dir)/deps/openssl/openssl/include' | ||
] | ||
}] | ||
] | ||
} | ||
] | ||
'variables': { | ||
# Default for this variable, to get the right behavior for | ||
# Node versions <= 0.6.*. | ||
'node_shared_openssl%': 'true' | ||
}, | ||
'targets': [ | ||
{ | ||
'target_name': 'ursaNative', | ||
'sources': [ 'src/ursaNative.cc', 'src/asprintf.cc' ], | ||
'conditions': [ | ||
[ 'OS=="win"', { | ||
'conditions': [ | ||
# "openssl_root" is the directory on Windows of the OpenSSL files | ||
['target_arch=="x64"', { | ||
'variables': { | ||
'openssl_root%': 'C:/OpenSSL-Win64' | ||
}, | ||
}, { | ||
'variables': { | ||
'openssl_root%': 'C:/OpenSSL-Win32' | ||
}, | ||
}], | ||
], | ||
'libraries': [ | ||
'-l<(openssl_root)/lib/libeay32.lib', | ||
], | ||
'include_dirs': [ | ||
'<(openssl_root)/include', | ||
], | ||
}, { # OS!="win" | ||
'conditions': [ | ||
[ 'node_shared_openssl=="false"', { | ||
'include_dirs': [ | ||
'<(node_root_dir)/deps/openssl/openssl/include' | ||
] | ||
}] | ||
] | ||
}], | ||
|
||
] | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
var fs = require('fs'); | ||
var path = require('path'); | ||
|
||
if (!(fs.existsSync || path.existsSync)('bin')) | ||
fs.mkdirSync('bin'); | ||
|
||
moveAll('build/Release/', 'bin/', '.node'); | ||
|
||
function moveAll(from, to, ext) { | ||
fs.readdirSync(from) | ||
.filter(function(name) { return path.extname(name) === ext; }) | ||
.forEach(function(name) { | ||
fs.rename(path.join(from, name), path.join(to, name)); | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
|
||
/* | ||
* Copyright (c) 2004 Darren Tucker. | ||
* | ||
* Based originally on asprintf.c from OpenBSD: | ||
* Copyright (c) 1997 Todd C. Miller <Todd.Miller AT courtesan.com> | ||
* | ||
* Permission to use, copy, modify, and distribute this software for any | ||
* purpose with or without fee is hereby granted, provided that the above | ||
* copyright notice and this permission notice appear in all copies. | ||
* | ||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||
*/ | ||
|
||
#include "asprintf.h" | ||
|
||
/* Include vasprintf() if not on your OS. */ | ||
#ifndef HAVE_VASPRINTF | ||
#define HAVE_VASPRINTF | ||
|
||
#include <errno.h> | ||
#include <limits.h> | ||
#include <stdarg.h> | ||
#include <stdlib.h> | ||
#include <stdio.h> | ||
|
||
#ifndef VA_COPY | ||
# ifdef HAVE_VA_COPY | ||
# define VA_COPY(dest, src) va_copy(dest, src) | ||
# else | ||
# ifdef HAVE___VA_COPY | ||
# define VA_COPY(dest, src) __va_copy(dest, src) | ||
# else | ||
# define VA_COPY(dest, src) (dest) = (src) | ||
# endif | ||
# endif | ||
#endif | ||
|
||
#define INIT_SZ 128 | ||
|
||
int | ||
vasprintf(char **str, const char *fmt, va_list ap) | ||
{ | ||
int ret = -1; | ||
va_list ap2; | ||
char *string, *newstr; | ||
size_t len; | ||
|
||
VA_COPY(ap2, ap); | ||
if ((string = (char*)malloc(INIT_SZ)) == NULL) | ||
goto fail; | ||
|
||
ret = vsnprintf(string, INIT_SZ, fmt, ap2); | ||
if (ret >= 0 && ret < INIT_SZ) { /* succeeded with initial alloc */ | ||
*str = string; | ||
} else if (ret == INT_MAX || ret < 0) { /* Bad length */ | ||
goto fail; | ||
} else { /* bigger than initial, realloc allowing for nul */ | ||
len = (size_t)ret + 1; | ||
if ((newstr = (char*)realloc(string, len)) == NULL) { | ||
free(string); | ||
goto fail; | ||
} else { | ||
va_end(ap2); | ||
VA_COPY(ap2, ap); | ||
ret = vsnprintf(newstr, len, fmt, ap2); | ||
if (ret >= 0 && (size_t)ret < len) { | ||
*str = newstr; | ||
} else { /* failed with realloc'ed string, give up */ | ||
free(newstr); | ||
goto fail; | ||
} | ||
} | ||
} | ||
va_end(ap2); | ||
return (ret); | ||
|
||
fail: | ||
*str = NULL; | ||
errno = ENOMEM; | ||
va_end(ap2); | ||
return (-1); | ||
} | ||
#endif | ||
|
||
/* Include asprintf() if not on your OS. */ | ||
#ifndef HAVE_ASPRINTF | ||
#define HAVE_ASPRINTF | ||
int asprintf(char **str, const char *fmt, ...) | ||
{ | ||
va_list ap; | ||
int ret; | ||
|
||
*str = NULL; | ||
va_start(ap, fmt); | ||
ret = vasprintf(str, fmt, ap); | ||
va_end(ap); | ||
|
||
return ret; | ||
} | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
|
||
/* | ||
* Copyright (c) 2004 Darren Tucker. | ||
* | ||
* Based originally on asprintf.c from OpenBSD: | ||
* Copyright (c) 1997 Todd C. Miller <Todd.Miller AT courtesan.com> | ||
* | ||
* Permission to use, copy, modify, and distribute this software for any | ||
* purpose with or without fee is hereby granted, provided that the above | ||
* copyright notice and this permission notice appear in all copies. | ||
* | ||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||
*/ | ||
|
||
|
||
#ifndef ASPRINTF_H | ||
#define ASPRINTF_H | ||
|
||
#include <stdlib.h> | ||
|
||
#ifndef _WIN32 | ||
# define HAVE_VASPRINTF | ||
# define HAVE_ASPRINTF | ||
#endif | ||
|
||
#ifndef HAVE_VASPRINTF | ||
int vasprintf(char **str, const char *fmt, va_list ap); | ||
#endif | ||
|
||
#ifndef HAVE_ASPRINTF | ||
int asprintf(char **str, const char *fmt, ...); | ||
#endif | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.