(no subject)

Hello,
I have tried a lot fix this error but am not able to can you please find me a solution am trying to compile the SAFECode in Cygwin Environment to work for windows.

used make -j4 command to make the files in cygwin i have got this error

make[5]: Leaving directory ‘/home/uidr7475/Work/LLVM_OBJ/projects/safecode/tools/clang/include’ /usr/bin/cp: cannot stat ‘/home/uidr7475/Work/LLVM_SRC/projects/safecode/tools/clang/lib/Makefile’: No such file or directory
make[5]: Entering directory ‘/home/uidr7475/Work/LLVM_OBJ/projects/safecode/tools/clang/lib’
make[5]: *** No rule to make target ‘all’. Stop.
make[5]: Leaving directory ‘/home/uidr7475/Work/LLVM_OBJ/projects/safecode/tools/clang/lib’ /home/uidr7475/Work/LLVM_SRC/Makefile.rules:862: recipe for target ‘all’ failed
make[4]: *** [all] Error 1
make[4]: Leaving directory ‘/home/uidr7475/Work/LLVM_OBJ/projects/safecode/tools/clang’ /home/uidr7475/Work/LLVM_SRC/Makefile.rules:921: recipe for target ‘clang/.makeall’ failed
make[3]: *** [clang/.makeall] Error 2
make[3]: *** Waiting for unfinished jobs…
llvm[4]: Linking Release+Asserts Shared Library cygLTO.dll
llvm[4]: Building Release+Asserts Archive Library libLTO.a
make[4]: Leaving directory ‘/home/uidr7475/Work/LLVM_OBJ/projects/safecode/tools/LTO’
make[3]: Leaving directory ‘/home/uidr7475/Work/LLVM_OBJ/projects/safecode/tools’ /home/uidr7475/Work/LLVM_SRC/Makefile.rules:862: recipe for target ‘all’ failed
make[2]: *** [all] Error 1
make[2]: Leaving directory ‘/home/uidr7475/Work/LLVM_OBJ/projects/safecode’ /home/uidr7475/Work/LLVM_SRC/Makefile.rules:862: recipe for target ‘all’ failed
make[1]: *** [all] Error 1
make[1]: Leaving directory ‘/home/uidr7475/Work/LLVM_OBJ/projects’ /home/uidr7475/Work/LLVM_SRC/Makefile.rules:947: recipe for target ‘all’ failed
make: *** [all] Error 1

I’m pretty sure that the output tells you that there’s no makefile to execute such commands. If you didn’t know it, LLVM makes use of cmake, so you make have to generate your makefile with “cmake .” (or at least that’s the way I remembered it). Then type make.

That’s probably not the problem. SAFECode does not use cmake at present. First, Nikhail, were you able to compile the other components of SAFECode on Windows (namely, safecode/lib and safecode/runtime)? Also, were you able to compile unmodified clang and use it on Windows? You need to verify that these things work. If regular Clang doesn’t work on Windows, SAFECode Clang won’t work, either. Second, to answer your specific question, you are probably seeing this problem because SAFECode needs to be reintegrated into Clang. The way we do that is to: 1) Remove the old safecode/tools/clang directory. 2) Use svn copy to copy clang into safecode/tools/clang 3) Modify the Makefiles in safecode/tools/clang so that clang can compile from within the SAFECode source tree. 4) Modify safecode/tools/clang so that it runs the SAFECode passes when the -fmemsafety option is used. I have done steps 1 and 2. Peter is currently working on step 3. I recommend you help him on Step 3. Step 3 requires understanding LLVM Makefiles (). I sent a patch to you and Peter showing how I integrated SAFECode into Clang for LLVM 3.2. You can use that as a guide to integrating SAFECode into LLVM 3.7. I have attached it here for reference. So, to recap: 1) Let me know if regular Clang works on Windows. 2) If regular Clang works, try to help Peter with Step 3. Regards, John Criswell

scpatch (46.9 KB)