diff -r -c -N ../Ice-3.3.1-old/cpp/include/Slice/Preprocessor.h ./cpp/include/Slice/Preprocessor.h *** ../Ice-3.3.1-old/cpp/include/Slice/Preprocessor.h 2009-03-20 15:22:13.000000000 -0230 --- ./cpp/include/Slice/Preprocessor.h 2009-10-08 09:26:58.000000000 -0230 *************** *** 53,58 **** --- 53,59 ---- const std::string _path; const std::string _fileName; + const std::string _shortFileName; const std::vector _args; #ifdef _WIN32 std::wstring _cppFile; diff -r -c -N ../Ice-3.3.1-old/cpp/src/Slice/Preprocessor.cpp ./cpp/src/Slice/Preprocessor.cpp *** ../Ice-3.3.1-old/cpp/src/Slice/Preprocessor.cpp 2009-03-20 15:22:14.000000000 -0230 --- ./cpp/src/Slice/Preprocessor.cpp 2009-10-08 09:26:20.000000000 -0230 *************** *** 46,52 **** Slice::Preprocessor::Preprocessor(const string& path, const string& fileName, const vector& args) : _path(path), ! _fileName(fileName), _args(args), _cppHandle(0) { --- 46,53 ---- Slice::Preprocessor::Preprocessor(const string& path, const string& fileName, const vector& args) : _path(path), ! _fileName(fullPath(fileName)), ! _shortFileName(fileName), _args(args), _cppHandle(0) { *************** *** 316,322 **** { fullIncludePaths.push_back(fullPath(*p)); } - string absoluteFileName = fullPath(_fileName); // // Process each dependency. --- 317,322 ---- *************** *** 328,336 **** string file = IceUtilInternal::trim(unprocessed.substr(pos, end - pos)); if(IceUtilInternal::isAbsolutePath(file)) { ! if(file == absoluteFileName) { ! file = _fileName; } else { --- 328,336 ---- string file = IceUtilInternal::trim(unprocessed.substr(pos, end - pos)); if(IceUtilInternal::isAbsolutePath(file)) { ! if(file == _fileName) { ! file = _shortFileName; } else {