[cfe-dev] Building Clang with Visual Studio 2010 Express

Manuel Klimek klimek at google.com
Thu May 17 02:03:54 PDT 2012


On Mon, May 14, 2012 at 7:51 PM, Krunal Rao <krunal.rao78 at gmail.com> wrote:
> Hi,
>
> I some questions/observations on building Clang v 3.0 (and LLVM 3.0),
> unmodified website sources with Visual Studio 2010 Express.
>
> 1. I followed the instructions on:
> http://clang.llvm.org/get_started.html , installed the required
> software (cmake, python, gnuwin32), updated the PATH environmental
> variable and launched:
> C:\Users\XXX\prj\llvm-3.0\build>cmake -G "Visual Studio 10"
> -DCMAKE_INSTALL_PREFIX=C:\Users\XXX\prj\llvm-3.0\llvm-3.0.install
> ..\llvm-3.0.src
> (the result is reported at the end of the e-mail in case it helps).
> LVVM.sln is correctly generated.
> Opening it with Visual Studio 2010 Express results in a problem: some
> projects (Clang executables, Clang libraries, ...) are unavailable as
> "Solution Folders are unsupported in this version."
> I can still compile clang and ALL_BUILD fine, so it may be worth
> adding a notice on the getting started webpage.

By the way, you can now switch off using solution folders in cmake
with -DLLVM_USE_FOLDERS=OFF

Cheers,
/Manuel

> 2. Building clang and ALL_BUILD did not result in anything being
> installed in the directory specified above via DCMAKE_INSTALL_PREFIX.
> Is this the expected behaviour?
>
> 3. I cannot run the regression test by building clang-test as it
> cannot find bash.exe. However bash.exe seems not to be included in
> GnuWin32. Should I install it separately? If so a note could be added
> to the getting started page.
>
> 4. clang.exe cannot find my visual studio headers (I thought this
> would happen by default when building Clang as above): trying to
> compile a C file which has
> #include <math.h>
> gives an error (math.h: file not found).
> Did I make some mistakes or should I add the Visual Studio headers by
> hand via -I ?
>
> Thank you again for all the help.
>
> PS the reason I am compiling Clang with Visual Studio as well is
> because the visual debugger helps me a lot with understanding the
> working of the code.
>
> ++++++ output of point 1 ++++++++
>
> C:\Users\XXX\prj\llvm-3.0\build>cmake -G "Visual Studio 10"
> -DCMAKE_INSTALL_PREFI
> X=C:\Users\XXX\prj\llvm-3.0\llvm-3.0.install ..\llvm-3.0.src
> -- Check for working C compiler using: Visual Studio 10
> -- Check for working C compiler using: Visual Studio 10 -- works
> -- Detecting C compiler ABI info
> -- Detecting C compiler ABI info - done
> -- Check for working CXX compiler using: Visual Studio 10
> -- Check for working CXX compiler using: Visual Studio 10 -- works
> -- Detecting CXX compiler ABI info
> -- Detecting CXX compiler ABI info - done
> -- Looking for argz.h
> -- Looking for argz.h - not found
> -- Looking for assert.h
> -- Looking for assert.h - found
> -- Looking for ctype.h
> -- Looking for ctype.h - found
> -- Looking for dirent.h
> -- Looking for dirent.h - not found
> -- Looking for dl.h
> -- Looking for dl.h - not found
> -- Looking for dld.h
> -- Looking for dld.h - not found
> -- Looking for dlfcn.h
> -- Looking for dlfcn.h - not found
> -- Looking for errno.h
> -- Looking for errno.h - found
> -- Looking for execinfo.h
> -- Looking for execinfo.h - not found
> -- Looking for fcntl.h
> -- Looking for fcntl.h - found
> -- Looking for inttypes.h
> -- Looking for inttypes.h - not found
> -- Looking for limits.h
> -- Looking for limits.h - found
> -- Looking for link.h
> -- Looking for link.h - not found
> -- Looking for malloc.h
> -- Looking for malloc.h - found
> -- Looking for malloc/malloc.h
> -- Looking for malloc/malloc.h - not found
> -- Looking for memory.h
> -- Looking for memory.h - found
> -- Looking for ndir.h
> -- Looking for ndir.h - not found
> -- Looking for setjmp.h
> -- Looking for setjmp.h - found
> -- Looking for signal.h
> -- Looking for signal.h - found
> -- Looking for stdint.h
> -- Looking for stdint.h - found
> -- Looking for stdio.h
> -- Looking for stdio.h - found
> -- Looking for stdlib.h
> -- Looking for stdlib.h - found
> -- Looking for string.h
> -- Looking for string.h - found
> -- Looking for strings.h
> -- Looking for strings.h - not found
> -- Looking for sys/dir.h
> -- Looking for sys/dir.h - not found
> -- Looking for sys/dl.h
> -- Looking for sys/dl.h - not found
> -- Looking for sys/ioctl.h
> -- Looking for sys/ioctl.h - not found
> -- Looking for sys/mman.h
> -- Looking for sys/mman.h - not found
> -- Looking for sys/ndir.h
> -- Looking for sys/ndir.h - not found
> -- Looking for sys/param.h
> -- Looking for sys/param.h - not found
> -- Looking for sys/resource.h
> -- Looking for sys/resource.h - not found
> -- Looking for sys/stat.h
> -- Looking for sys/stat.h - found
> -- Looking for sys/time.h
> -- Looking for sys/time.h - not found
> -- Looking for sys/types.h
> -- Looking for sys/types.h - found
> -- Looking for sys/uio.h
> -- Looking for sys/uio.h - not found
> -- Looking for sys/wait.h
> -- Looking for sys/wait.h - not found
> -- Looking for termios.h
> -- Looking for termios.h - not found
> -- Looking for unistd.h
> -- Looking for unistd.h - not found
> -- Looking for utime.h
> -- Looking for utime.h - not found
> -- Looking for valgrind/valgrind.h
> -- Looking for valgrind/valgrind.h - not found
> -- Looking for windows.h
> -- Looking for windows.h - found
> -- Looking for fenv.h
> -- Looking for fenv.h - not found
> -- Looking for mach/mach.h
> -- Looking for mach/mach.h - not found
> -- Looking for mach-o/dyld.h
> -- Looking for mach-o/dyld.h - not found
> -- Looking for getpagesize
> -- Looking for getpagesize - not found.
> -- Looking for getrusage
> -- Looking for getrusage - not found.
> -- Looking for setrlimit
> -- Looking for setrlimit - not found.
> -- Looking for isatty
> -- Looking for isatty - found
> -- Looking for index
> -- Looking for index - not found.
> -- Looking for isinf
> -- Looking for isinf - not found.
> -- Looking for isinf
> -- Looking for isinf - not found.
> -- Looking for finite
> -- Looking for finite - not found.
> -- Looking for isnan
> -- Looking for isnan - not found.
> -- Looking for isnan
> -- Looking for isnan - not found.
> -- Looking for ceilf
> -- Looking for ceilf - found
> -- Looking for floorf
> -- Looking for floorf - found
> -- Looking for fmodf
> -- Looking for fmodf - found
> -- Looking for longjmp
> -- Looking for longjmp - found
> -- Looking for setjmp
> -- Looking for setjmp - found
> -- Looking for siglongjmp
> -- Looking for siglongjmp - not found.
> -- Looking for sigsetjmp
> -- Looking for sigsetjmp - not found.
> -- Looking for nearbyintf
> -- Looking for nearbyintf - not found.
> -- Looking for mallinfo
> -- Looking for mallinfo - not found.
> -- Looking for malloc_zone_statistics
> -- Looking for malloc_zone_statistics - not found.
> -- Looking for mkdtemp
> -- Looking for mkdtemp - not found.
> -- Looking for mkstemp
> -- Looking for mkstemp - not found.
> -- Looking for mktemp
> -- Looking for mktemp - not found.
> -- Looking for closedir
> -- Looking for closedir - not found.
> -- Looking for opendir
> -- Looking for opendir - not found.
> -- Looking for readdir
> -- Looking for readdir - not found.
> -- Looking for getcwd
> -- Looking for getcwd - not found.
> -- Looking for gettimeofday
> -- Looking for gettimeofday - not found.
> -- Looking for getrlimit
> -- Looking for getrlimit - not found.
> -- Looking for rindex
> -- Looking for rindex - not found.
> -- Looking for strchr
> -- Looking for strchr - found
> -- Looking for strcmp
> -- Looking for strcmp - found
> -- Looking for strdup
> -- Looking for strdup - found
> -- Looking for strrchr
> -- Looking for strrchr - found
> -- Looking for sbrk
> -- Looking for sbrk - not found.
> -- Looking for srand48
> -- Looking for srand48 - not found.
> -- Looking for strtoll
> -- Looking for strtoll - not found.
> -- Looking for strtoq
> -- Looking for strtoq - not found.
> -- Looking for strerror
> -- Looking for strerror - found
> -- Looking for strerror_r
> -- Looking for strerror_r - not found.
> -- Looking for strerror_s
> -- Looking for strerror_s - found
> -- Looking for memcpy
> -- Looking for memcpy - found
> -- Looking for memmove
> -- Looking for memmove - found
> -- Looking for setenv
> -- Looking for setenv - not found.
> -- Looking for _chsize_s
> -- Looking for _chsize_s - found
> -- Looking for _alloca
> -- Looking for _alloca - not found
> -- Looking for __alloca
> -- Looking for __alloca - not found
> -- Looking for __chkstk
> -- Looking for __chkstk - not found
> -- Looking for ___chkstk
> -- Looking for ___chkstk - not found
> -- Looking for __ashldi3
> -- Looking for __ashldi3 - not found
> -- Looking for __ashrdi3
> -- Looking for __ashrdi3 - not found
> -- Looking for __divdi3
> -- Looking for __divdi3 - not found
> -- Looking for __fixdfdi
> -- Looking for __fixdfdi - not found
> -- Looking for __fixsfdi
> -- Looking for __fixsfdi - not found
> -- Looking for __floatdidf
> -- Looking for __floatdidf - not found
> -- Looking for __lshrdi3
> -- Looking for __lshrdi3 - not found
> -- Looking for __moddi3
> -- Looking for __moddi3 - not found
> -- Looking for __udivdi3
> -- Looking for __udivdi3 - not found
> -- Looking for __umoddi3
> -- Looking for __umoddi3 - not found
> -- Looking for __main
> -- Looking for __main - not found
> -- Looking for __cmpdi2
> -- Looking for __cmpdi2 - not found
> -- Looking for __GLIBC__
> -- Looking for __GLIBC__ - not found.
> -- Performing Test HAVE_INT64_T
> -- Performing Test HAVE_INT64_T - Success
> -- Performing Test HAVE_UINT64_T
> -- Performing Test HAVE_UINT64_T - Success
> -- Performing Test HAVE_U_INT64_T
> -- Performing Test HAVE_U_INT64_T - Failed
> -- Performing Test HAVE_ERROR_T
> -- Performing Test HAVE_ERROR_T - Failed
> -- Performing Test LLVM_HAS_ATOMICS
> -- Performing Test LLVM_HAS_ATOMICS - Success
> -- Performing Test SUPPORTS_NO_VARIADIC_MACROS_FLAG
> -- Performing Test SUPPORTS_NO_VARIADIC_MACROS_FLAG - Failed
> -- Target triple: i686-pc-win32
> -- Native target architecture is X86
> -- Performing Test HAVE_ELMCB_PCSTR
> -- Performing Test HAVE_ELMCB_PCSTR - Success
> -- Threads enabled.
> -- Using Debug VC++ CRT: MDd
> -- Using Release VC++ CRT: MD
> -- Using MinSizeRel VC++ CRT: MD
> -- Using RelWithDebInfo VC++ CRT: MD
> -- Loadable modules not supported on this platform.
> LLVMHello ignored.
> -- Targeting X86
> -- Loadable modules not supported on this platform.
> BugpointPasses ignored.
> -- Clang version: 3.0
> -- Could NOT find Subversion (missing:  Subversion_SVN_EXECUTABLE)
> -- Found PythonInterp: C:/Users/XXX/progs/Python27/python.exe (found
> version "2.7
> .3")
> -- Loadable modules not supported on this platform.
> profile_rt-shared ignored.
> -- Configuring done
> -- Generating done
> -- Build files have been written to: C:/Users/XXX/prj/llvm-3.0/build
>
> C:\Users\XXX\prj\llvm-3.0\build>ls
> ALL_BUILD.vcxproj          examples                 runtime
> ALL_BUILD.vcxproj.filters  include                  share
> bin                        INSTALL.vcxproj          test
> cmake                      INSTALL.vcxproj.filters  tools
> cmake_install.cmake        lib                      unittests
> CMakeCache.txt             LLVM.sln                 utils
> CMakeFiles                 PACKAGE.vcxproj          ZERO_CHECK.vcxproj
> CPackConfig.cmake          PACKAGE.vcxproj.filters  ZERO_CHECK.vcxproj.filters
> CPackSourceConfig.cmake    projects
>
> C:\Users\XXX\prj\llvm-3.0\build>LLVM.sln
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev




More information about the cfe-dev mailing list