Windows: Replace VisualStudio with gcc/clang?

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 jdk-dev mailing list