diff options
| -rw-r--r-- | build.xml | 3 | ||||
| -rw-r--r-- | buildtool.cpp | 9 |
2 files changed, 7 insertions, 5 deletions
@@ -14,6 +14,7 @@ <target name="init"> <!-- Create the build directory structure used by compile --> <mkdir dir="${build}"/> + <mkdir dir="${dist}"/> <makefile file="config.h"> #ifndef _CONFIG_H_ #define _CONFIG_H_ @@ -142,7 +143,7 @@ <exclude name="removeoverlap/remove_rectangle_overlap-test.h"/> </fileset> <flags> - -Wall -O3 + -Wall -g -O3 -mms-bitfields </flags> <defines> diff --git a/buildtool.cpp b/buildtool.cpp index 97c5a179d..eba0dc865 100644 --- a/buildtool.cpp +++ b/buildtool.cpp @@ -3903,7 +3903,7 @@ bool MakeBase::createDirectory(const String &dirname) struct stat finfo; String nativeDir = getNativePath(dirname); char *cnative = (char *) nativeDir.c_str(); - if (stat(dirname.c_str(), &finfo)==0) + if (stat(cnative, &finfo)==0) { if (!S_ISDIR(finfo.st_mode)) { @@ -3920,9 +3920,10 @@ bool MakeBase::createDirectory(const String &dirname) //## 2: pull off the last path segment, if any, //## to make the dir 'above' this one, if necessary unsigned int pos = dirname.find_last_of('/'); - if (pos != dirname.npos) + if (pos>0 && pos != dirname.npos) { String subpath = dirname.substr(0, pos); + //A letter root (c:) ? if (!createDirectory(subpath)) return false; } @@ -3930,7 +3931,7 @@ bool MakeBase::createDirectory(const String &dirname) //## 3: now make if (mkdir(cnative)<0) { - error("cannot make directory %s", cnative); + error("cannot make directory '%s'", cnative); return false; } @@ -6563,7 +6564,7 @@ public: error("<mkdir> requires 'dir=\"dirname\"' attribute"); return false; } - //trace("dirname:%s", dirName.c_str()); + trace("dirname:%s", dirName.c_str()); return true; } |
