Windows: Replace VisualStudio with gcc/clang? (original) (raw)

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Mon Mar 12 19:19:26 UTC 2018


On 2018-03-12 17:13, Thomas Stüfe wrote:

I wonder how much of the perceived difficulty of Windows as build platform is really the fault of Visual Studio. I find it quite easy to install.

But the required Cygwin install could be better documented: I have a text file somewhere with all required packets, but I do not know if an official documentation exists. doc/building.md?

I quote:

Apart from the basic Cygwin installation, the following packages must also be installed:

  * autoconf   * make   * zip   * unzip

Often, you can install these packages using the following command line:

<path to Cygwin setup>/setup-x86_64 -q -P autoconf -P make -P unzip -P zip

Nowadays, it's actually not more complicated than that. My personal recommendation is btw to install apt-cyg (https://github.com/transcode-open/apt-cyg) to make package installation even more "debian-like"; then you can just do "apt-cyg install autoconf make unzip zip". I might turn this into an official recommendation by including it in the build readme at some time. :-)

/Magnus

Then there is the annoying freetype dependency, which soon will be history thanks to Phil Race (8193017). Also, installing Visual Studio could be easier by making sure that we always can build with the latest community version, early when it comes out. Since it is not so easy to find community/express/whatever downloads for earlier versions of Visual Studio. (Just my 5c). Best Regards, Thomas

On Mon, Mar 12, 2018 at 11:18 AM, Magnus Ihse Bursie <magnus.ihse.bursie at oracle.com <mailto:magnus.ihse.bursie at oracle.com>> wrote: Hi Hendrik, This sounds like something that should be discussed on build-dev, rather than jdk-dev. Short answer to your question: There's no technical reason why it would not be possible to use clang or gcc on Windows. However, the code is full of assumptions that "compiling on Windows" == "compiling using the Microsoft toolchain", and it will certainly take a lot of effort to hunt all these down and fix them properly. Personally, I don't think it's worth the effort. It's unlikely that the resulting binary will have any significant change in performance (at least not any positive one), and it is likely to continuously break since people will be adding new code with the "windows" == "microsoft toolchain" assumption. Question: Is the Visual Studio Express (https://www.visualstudio.com/vs/visual-studio-express/ <https://www.visualstudio.com/vs/visual-studio-express/>) such a hassle to install? /Magnus On 2018-03-06 12:17, Hendrik Schreiber wrote: Hey, inspired by the recent news that Chrome ditched the Microsoft C++ compiler and replaced it with gcc/clang (https://arstechnica.com/gadgets/2018/03/chrome-on-windows-ditches-microsofts-compiler-now-uses-clang/ <https://arstechnica.com/gadgets/2018/03/chrome-on-windows-ditches-microsofts-compiler-now-uses-clang/>), I’m wondering wether that’s possible and desirable for OpenJDK, too.  From my point of view: Yes. Downloading, installing etc. Visual Studio is a major pain for anybody usually working on another platform. Whenever I encounter a bug that’s Windows specific, I pretty much always give up the idea to create a fix and instead just report a bug. It’s just too much of a hassle to create a working build environment. So has migrating to gcc/clang for Windows been evaluated? Is it an option at all? Would it make things easier or harder? What do you think? Besides ease of use, how would such a move affect performance? Cheers, -hendrik



More information about the build-dev mailing list