Fix #2918902 - language specific files not being generated in correct directory on Windows when using forward slashes and -o
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11842 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
751b8d3b45
commit
4d028a0307
2 changed files with 15 additions and 8 deletions
|
|
@ -1,6 +1,11 @@
|
||||||
Version 1.3.41 (in progress)
|
Version 1.3.41 (in progress)
|
||||||
============================
|
============================
|
||||||
|
|
||||||
|
2010-02-06: wsfulton
|
||||||
|
Fix #2918902 - language specific files not being generated in correct directory on
|
||||||
|
Windows when using forward slashes for -o, for example:
|
||||||
|
swig -python -c++ -o subdirectory/theinterface_wrap.cpp subdirectory/theinterface.i
|
||||||
|
|
||||||
2010-02-05: wsfulton
|
2010-02-05: wsfulton
|
||||||
Fix #2894405 - assertion when using -xmlout.
|
Fix #2894405 - assertion when using -xmlout.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -164,8 +164,8 @@ static int help = 0;
|
||||||
static int checkout = 0;
|
static int checkout = 0;
|
||||||
static int cpp_only = 0;
|
static int cpp_only = 0;
|
||||||
static int no_cpp = 0;
|
static int no_cpp = 0;
|
||||||
static char *outfile_name = 0;
|
static String *outfile_name = 0;
|
||||||
static char *outfile_name_h = 0;
|
static String *outfile_name_h = 0;
|
||||||
static int tm_debug = 0;
|
static int tm_debug = 0;
|
||||||
static int dump_symtabs = 0;
|
static int dump_symtabs = 0;
|
||||||
static int dump_symbols = 0;
|
static int dump_symbols = 0;
|
||||||
|
|
@ -571,16 +571,17 @@ void SWIG_getoptions(int argc, char *argv[]) {
|
||||||
} else if (strcmp(argv[i], "-o") == 0) {
|
} else if (strcmp(argv[i], "-o") == 0) {
|
||||||
Swig_mark_arg(i);
|
Swig_mark_arg(i);
|
||||||
if (argv[i + 1]) {
|
if (argv[i + 1]) {
|
||||||
outfile_name = Swig_copy_string(argv[i + 1]);
|
outfile_name = NewString(argv[i + 1]);
|
||||||
|
Swig_filename_correct(outfile_name);
|
||||||
if (!outfile_name_h || !dependencies_file) {
|
if (!outfile_name_h || !dependencies_file) {
|
||||||
char *ext = strrchr(outfile_name, '.');
|
char *ext = strrchr(Char(outfile_name), '.');
|
||||||
String *basename = ext ? NewStringWithSize(outfile_name, ext - outfile_name) : NewString(outfile_name);
|
String *basename = ext ? NewStringWithSize(Char(outfile_name), Char(ext) - Char(outfile_name)) : NewString(outfile_name);
|
||||||
if (!dependencies_file) {
|
if (!dependencies_file) {
|
||||||
dependencies_file = NewStringf("%s.%s", basename, depends_extension);
|
dependencies_file = NewStringf("%s.%s", basename, depends_extension);
|
||||||
}
|
}
|
||||||
if (!outfile_name_h) {
|
if (!outfile_name_h) {
|
||||||
Printf(basename, ".%s", hpp_extension);
|
Printf(basename, ".%s", hpp_extension);
|
||||||
outfile_name_h = Swig_copy_string(Char(basename));
|
outfile_name_h = NewString(basename);
|
||||||
}
|
}
|
||||||
Delete(basename);
|
Delete(basename);
|
||||||
}
|
}
|
||||||
|
|
@ -592,7 +593,8 @@ void SWIG_getoptions(int argc, char *argv[]) {
|
||||||
} else if (strcmp(argv[i], "-oh") == 0) {
|
} else if (strcmp(argv[i], "-oh") == 0) {
|
||||||
Swig_mark_arg(i);
|
Swig_mark_arg(i);
|
||||||
if (argv[i + 1]) {
|
if (argv[i + 1]) {
|
||||||
outfile_name_h = Swig_copy_string(argv[i + 1]);
|
outfile_name_h = NewString(argv[i + 1]);
|
||||||
|
Swig_filename_correct(outfile_name_h);
|
||||||
Swig_mark_arg(i + 1);
|
Swig_mark_arg(i + 1);
|
||||||
i++;
|
i++;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -961,7 +963,7 @@ int SWIG_main(int argc, char *argv[], Language *l) {
|
||||||
// If the user has requested to check out a file, handle that
|
// If the user has requested to check out a file, handle that
|
||||||
if (checkout) {
|
if (checkout) {
|
||||||
DOH *s;
|
DOH *s;
|
||||||
char *outfile = Char(input_file);
|
String *outfile = input_file;
|
||||||
if (outfile_name)
|
if (outfile_name)
|
||||||
outfile = outfile_name;
|
outfile = outfile_name;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue