compiling VM with MSVC

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

compiling VM with MSVC

Nicolas Cellier
 
Last year, I've tried to compile opensmalltalk vm with MSVC but, it was not possible with 2017 edition...

Good news, it seems that Mircrosoft made progress since then:


MSVC can be interesting for a few things:
- a relatively good debugger for the C world - I know, it's difficult to sell this to Smalltalkers :)
- easier integration of native libraries than thru mingw
- complementary set of compilation warnings (and runtime errors) to help polishing some corner cases of our code generator.

Of course, without CMake, we're back to manually crafting a MSVC project, but it can pay when chasing hard bugs (which I was after last year).
Reply | Threaded
Open this post in threaded view
|

Re: compiling VM with MSVC

Tobias Pape
 
Hi

> On 06.12.2018, at 10:38, Nicolas Cellier <[hidden email]> wrote:
>
> Last year, I've tried to compile opensmalltalk vm with MSVC but, it was not possible with 2017 edition...
>
> Good news, it seems that Mircrosoft made progress since then:
>
> https://developercommunity.visualstudio.com/comments/399091/view.html?utm_source=newcomment&utm_medium=email
>
> MSVC can be interesting for a few things:
> - a relatively good debugger for the C world - I know, it's difficult to sell this to Smalltalkers :)
> - easier integration of native libraries than thru mingw
> - complementary set of compilation warnings (and runtime errors) to help polishing some corner cases of our code generator.
>
> Of course, without CMake, we're back to manually crafting a MSVC project, but it can pay when chasing hard bugs (which I was after last year).

Go for it!

Maybe some of my experiments also help:
        https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/18243a65b8d47740c48b4deb51c24b2eddec6cb5...7e603e7
(the diff is the wrong way around, I remember this dance…, thank you for helping me back then, nicolas!)

Best regards
        -Tobias


Reply | Threaded
Open this post in threaded view
|

Re: compiling VM with MSVC

Eliot Miranda-2
In reply to this post by Nicolas Cellier
 
Hi Nicolas,

On Thu, Dec 6, 2018 at 1:39 AM Nicolas Cellier <[hidden email]> wrote:
 
Last year, I've tried to compile opensmalltalk vm with MSVC but, it was not possible with 2017 edition...

Good news, it seems that Mircrosoft made progress since then:


MSVC can be interesting for a few things:
- a relatively good debugger for the C world - I know, it's difficult to sell this to Smalltalkers :)
- easier integration of native libraries than thru mingw
- complementary set of compilation warnings (and runtime errors) to help polishing some corner cases of our code generator.

Of course, without CMake, we're back to manually crafting a MSVC project, but it can pay when chasing hard bugs (which I was after last year).

At least Craig Latta, and maybe others, have adapted my makefiles to compiling with MSVC. It should be possible to write the makefiles to select the relevant compiler as an option.  There is nothing magic about those project files and no reason why makefiles cannot drive a MSVC build.  In fact, I've helped Ron Teitelbaum do just this for Terf.
_,,,^..^,,,_
best, Eliot
Reply | Threaded
Open this post in threaded view
|

Re: compiling VM with MSVC

Nicolas Cellier
 
Hi Eliot,
yes I did that in the past too for other projects (even with NMAKE).
Compiling is one thing, having the IDE configured is another (for debugging, for directly linking compiler warnings to source code, and for easing navigation, jumping to definition of a variable etc...).

Le lun. 10 déc. 2018 à 07:56, Eliot Miranda <[hidden email]> a écrit :
 
Hi Nicolas,

On Thu, Dec 6, 2018 at 1:39 AM Nicolas Cellier <[hidden email]> wrote:
 
Last year, I've tried to compile opensmalltalk vm with MSVC but, it was not possible with 2017 edition...

Good news, it seems that Mircrosoft made progress since then:


MSVC can be interesting for a few things:
- a relatively good debugger for the C world - I know, it's difficult to sell this to Smalltalkers :)
- easier integration of native libraries than thru mingw
- complementary set of compilation warnings (and runtime errors) to help polishing some corner cases of our code generator.

Of course, without CMake, we're back to manually crafting a MSVC project, but it can pay when chasing hard bugs (which I was after last year).

At least Craig Latta, and maybe others, have adapted my makefiles to compiling with MSVC. It should be possible to write the makefiles to select the relevant compiler as an option.  There is nothing magic about those project files and no reason why makefiles cannot drive a MSVC build.  In fact, I've helped Ron Teitelbaum do just this for Terf.
_,,,^..^,,,_
best, Eliot
Reply | Threaded
Open this post in threaded view
|

Re: compiling VM with MSVC

Tobias Pape
 

> On 10.12.2018, at 22:14, Nicolas Cellier <[hidden email]> wrote:
>
> Hi Eliot,
> yes I did that in the past too for other projects (even with NMAKE).
> Compiling is one thing, having the IDE configured is another (for debugging, for directly linking compiler warnings to source code, and for easing navigation, jumping to definition of a variable etc...).

true dat. Same for Xcode files  (or Eclipse CDT…)
-t

>
> Le lun. 10 déc. 2018 à 07:56, Eliot Miranda <[hidden email]> a écrit :
>  
> Hi Nicolas,
>
> On Thu, Dec 6, 2018 at 1:39 AM Nicolas Cellier <[hidden email]> wrote:
>  
> Last year, I've tried to compile opensmalltalk vm with MSVC but, it was not possible with 2017 edition...
>
> Good news, it seems that Mircrosoft made progress since then:
>
> https://developercommunity.visualstudio.com/comments/399091/view.html?utm_source=newcomment&utm_medium=email
>
> MSVC can be interesting for a few things:
> - a relatively good debugger for the C world - I know, it's difficult to sell this to Smalltalkers :)
> - easier integration of native libraries than thru mingw
> - complementary set of compilation warnings (and runtime errors) to help polishing some corner cases of our code generator.
>
> Of course, without CMake, we're back to manually crafting a MSVC project, but it can pay when chasing hard bugs (which I was after last year).
>
> At least Craig Latta, and maybe others, have adapted my makefiles to compiling with MSVC. It should be possible to write the makefiles to select the relevant compiler as an option.  There is nothing magic about those project files and no reason why makefiles cannot drive a MSVC build.  In fact, I've helped Ron Teitelbaum do just this for Terf.
> _,,,^..^,,,_
> best, Eliot

Reply | Threaded
Open this post in threaded view
|

Re: compiling VM with MSVC

Eliot Miranda-2
In reply to this post by Nicolas Cellier
 
Hi Nicolas,


On Dec 10, 2018, at 1:14 PM, Nicolas Cellier <[hidden email]> wrote:

Hi Eliot,
yes I did that in the past too for other projects (even with NMAKE).
Compiling is one thing, having the IDE configured is another (for debugging, for directly linking compiler warnings to source code, and for easing navigation, jumping to definition of a variable etc...).

None of the debug info is “in the project”.  It is in debug info files generated by the compiler when given the right flags.  The VisualStudio debugger will work perfectly with programs produced using Make or nmake.  None of this requires an opaque, unparameterisable and difficult to maintain  project file.


Le lun. 10 déc. 2018 à 07:56, Eliot Miranda <[hidden email]> a écrit :
 
Hi Nicolas,

On Thu, Dec 6, 2018 at 1:39 AM Nicolas Cellier <[hidden email]> wrote:
 
Last year, I've tried to compile opensmalltalk vm with MSVC but, it was not possible with 2017 edition...

Good news, it seems that Mircrosoft made progress since then:


MSVC can be interesting for a few things:
- a relatively good debugger for the C world - I know, it's difficult to sell this to Smalltalkers :)
- easier integration of native libraries than thru mingw
- complementary set of compilation warnings (and runtime errors) to help polishing some corner cases of our code generator.

Of course, without CMake, we're back to manually crafting a MSVC project, but it can pay when chasing hard bugs (which I was after last year).

At least Craig Latta, and maybe others, have adapted my makefiles to compiling with MSVC. It should be possible to write the makefiles to select the relevant compiler as an option.  There is nothing magic about those project files and no reason why makefiles cannot drive a MSVC build.  In fact, I've helped Ron Teitelbaum do just this for Terf.
_,,,^..^,,,_
best, Eliot