Code Monkey home page Code Monkey logo

clangvsx's Introduction

ClangVSx

AddIn for Visual Studio 2010/2012 that allows use of the Clang C/C++ compiler in place of MSVC++. Translates VC project and build settings into gcc-friendly command line arguments, along with existing platform tools (MSVC Linker, Librarian, RC) to complete the build chain.

One click 'Build Project' testing of Clang in Windows development environments!

Futher information and screenshots are here.

Bear in mind that Clang support for Windows is incomplete and occasionally buggy. This AddIn is largely experimental and the code is likely to change a lot over time. Your milage will definately vary.

Some things not supported:

  • PCH (ignored during translation)
  • ATL / MFC projects (Clang can't handle certain ATL/COM headers properly yet)

Changes in v0.4.5

  • Compatibility with Clang 3.3 (-ccc-host-triple => -target) with 3.2 fallback

Changes in v0.4.0

  • Code clean-up courtesy of Ilibis fork
  • Settings support for toggling C++11, MS C++ ABI
  • Settings support for different platform targets (proper support for x86/x64/ARM variants)
  • Further testing on VS2012 RTM

Changes in v0.3.2

  • Support for latest Clang 3.2 changes - specifically the removal of llvm-ld during LTO phase
  • Support added for Visual Studio 2012 RC

Changes in v0.3

  • Support for LTCG (LTO) - ClangVSx will compile to LLVM bitcode, link and optimise the artifacts into a single object file before doing native code generation.

Required Compiler Patches

ClangVSx requires Clang 3.2 or higher; The latest version supports 3.3 by default. A pre-built version of Clang for Windows, tracked to the latest code changes from SVN, is available here.


Usage

There is a directory for each Visual Studio platform supported in the pre-built zip.

VS2010: Copy .AddIn and built ClangVSx.dll from the VS_2010/ directory into C:\Users\<username>\Documents\Visual Studio 2010\Addins\
VS2012: Copy .AddIn and built ClangVSx.dll from the VS_2012/ directory into C:\Users\<username>\Documents\Visual Studio 2012\Addins\
Also you may have to add a folder to the Add-in Security panel, information here.

A new top-level Clang menu will be created, offering a settings dialog (to choose location of compiler) and Rebuild Active Project or Relink A context-menu option is added to code editor windows that allows for Clang-specific tasks to be performed on that code.


Release Notes

Version 0.4.5 (2012-12-04)

  • Support for Clang 3.3

Version 0.4.0 (2012-10-22)

  • Testing against VS 2012 RTM, Windows 8
  • More settings options, better support for 32/64 bit project targets in VS

Version 0.3.2 (2012-08-09)

  • Removed use of llvm-ld, no longer available in recent Clang 3.2 builds
  • Added support for Visual Studio 2012 RC

Version 0.3 (2012-05-28)

  • Tidied up preferences, added more diagnotics options in the settings dialog
  • Tested with latest Clang 3.2 builds and some more adventurous Win32 projects
  • Added support for LTO / LTCG

Version 0.2 (2011-06-18)

  • Refactor build system to be much cleaner and easier to read and maintain
  • Added MIDL support
  • Successfully tested against smallpt - requires static init patch above
  • Tested with a stripped-down DirectX 9 demo - requires a little IUnknown hack

Version 0.1 (2011-06-09)

  • Initial commit of working version, tested with Clang 3.0
  • Tested against LAME plus a few simple wizard-generated Win32 apps from VS2010 :
  • DLL, Static Library, Application
  • Console Application

clangvsx's People

Contributors

dwbuiten avatar gsvgit avatar ikonnikovaev avatar ilibis avatar ishani avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.