SDL and MingW (here we go againa?|)

AFAIK hg is just a set of python script. As long as you have python running in your MSYS environment, it should run without problems. I think you could also install mercurial separately from MSYS and update your PATH environment variable.

FYI: I’m using MSYS2 (with Mingw64 suite) in my main setup. I think it much more easier to manage as it has much better package management (pacman from Arch Linux). Mercurial is available in MSYS2.

MrOzBarry wrote:> Also, just as a note, you don’t really need hg working in your MSYS environment, just as long as it works on the native level (and hg supports all mainstream OSes, last I checked).

On Sat, Dec 20, 2014 at 1:47 AM, Jonas Kulla <nyocurio at gmail.com (nyocurio at gmail.com)> wrote:

2014-12-20 7:08 GMT+01:00 T. Joseph Carter <tjcarter at spiritsubstance.com (tjcarter at spiritsubstance.com)>:

You can’t get SEH on Win32 (which would be best case), so the choice of the other two is fairly arbitrary.?? The crowd seems to be preferring dwarf.?? Also went with POSIX threads for the same reason.?? If you have good arguments for other choices, reply and say so.?? :slight_smile:

This step is skippable if you have no desire to ever build for Win32.

The choice isn’t entirely arbitrary - sjlj still incurs a runtime hit of about 10 - 20% in exception heavy code.

With dwarf you don’t have the runtime cost, at the expense of more bloated object code.


SDL mailing list
SDL at lists.libsdl.org (SDL at lists.libsdl.org)
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org (http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org)

Alexander Sabourenkov wrote:

MSYS? Is it still alive?

Five years ago I remembered what niche MSYS filled. Ten years ago I even used it.

Today - what is the point? All that time wasted on setting it up is worth tens of Linux VMs, maybe thousands.

There are people who prefer unix toolkit but have to work on Windows application (myself included). MSYS serves those people quite well. For me, having the same toolkit available in both Linux and Windows is a win, as working on cross-platform would be a lot more easier (I don’t do cross-compiling, by the way).

There are people who prefer unix toolkit but have to work on Windows
application (myself included). MSYS serves those people quite well. For me,
having the same toolkit available in both Linux and Windows is a win, as
working on cross-platform would be a lot more easier (I don’t do
cross-compiling, by the way).

Well, I know what MSYS is supposed to be used for. My point was that
nowadays setting up, for example, an ubuntu VM with mingw64 inside is very
simple and quick. Way simpler (and more repeatable and automatable) than
setting up MSYS appears to be judging by the message I was replying to. And
it’s the same toolchain and shell, so it isn’t like one has to learn much
stuff one woudn’t have to learn anyway with MSYS.

Cross-compiling may sound scary, but in reality it’s just a

–host=i686-w64-mingw32

parameter to ./configure, or

-DCMAKE_TOOLCHAIN_FILE=w64-mingw32-gcc-4.8.cmake

to cmake (the file itself being some boilerplate googled up in about 2
minutes)

I shudder to think what one is to go through to set up some kind of CI
using MSYS.

And if the project’s meant to be build for linux too, one has to have some
linux environment anyway.On Thu, Dec 25, 2014 at 8:11 AM, mr_tawan <mr_tawan at hotmail.com> wrote:

Just wait til you see what it takes with MSYS2. I did it on freakin’ Christmas Eve in less time than it took to install the Windows 7 VM I did it in. The MSYS2 people did a fabulous job.

My request of Ryan or Sam to correct the windres issue is the only one remaining.

JosephSent via mobile

On Dec 24, 2014, at 22:05, Alexander Sabourenkov wrote:

On Thu, Dec 25, 2014 at 8:11 AM, mr_tawan <mr_tawan at hotmail.com> wrote:

There are people who prefer unix toolkit but have to work on Windows application (myself included). MSYS serves those people quite well. For me, having the same toolkit available in both Linux and Windows is a win, as working on cross-platform would be a lot more easier (I don’t do cross-compiling, by the way).

Well, I know what MSYS is supposed to be used for. My point was that nowadays setting up, for example, an ubuntu VM with mingw64 inside is very simple and quick. Way simpler (and more repeatable and automatable) than setting up MSYS appears to be judging by the message I was replying to. And it’s the same toolchain and shell, so it isn’t like one has to learn much stuff one woudn’t have to learn anyway with MSYS.

Cross-compiling may sound scary, but in reality it’s just a
–host=i686-w64-mingw32
parameter to ./configure, or
-DCMAKE_TOOLCHAIN_FILE=w64-mingw32-gcc-4.8.cmake
to cmake (the file itself being some boilerplate googled up in about 2 minutes)

I shudder to think what one is to go through to set up some kind of CI using MSYS.

And if the project’s meant to be build for linux too, one has to have some linux environment anyway.


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

One problem of cross-compiling is when you are running a program, you have to deploy the program to the target platform before running the test. If it were just one time it would be ok, but imagine if I’m in the middle of debugging a platform-specific bug then it would be very tedious (unless there are things like remote debugging service), I’d endup have to deploy the program over and over again.

In native compiling, you’d have to build the program and run right away. In fact with IDE you could do that in one step. No hassle required.

It really is the case that windres isn’t “broken”. It just isn’t
supplied in a form that allows you to just use the version in your
path unless you’ve taken the time to explicitly set your path to use
the correct one.

If anything, the breakage I noted when I last worked on SDL in MingW
was that SDL’s buildsystem hardcoded a tool whose name might not be
static. Indeed probably should not be static, since it should have
the same prefix a cross-build gcc should.

And having installed Ubuntu about 30 times this past week on a
MacBook being used to build a slightly more intel-flavored RetroPie
sort of project (external drive, Mac UEFI, nvidia-331, basically a
perfect storm pain in the ass), I’ve got to say that Windows 7 and
Ubuntu desktop take about the same time to install. Minimal is a
little faster if you know exactly what you need to install. But
that’s fairly OT. :smiley:

Basically MingW went from being obnoxiously difficult to trivially
easy if you know to ignore all the antiquated crap on the web about
how to set it up. Me likey.

JosephOn Thu, Dec 25, 2014 at 10:36:56AM +0400, Alexander Sabourenkov wrote:

On Thu, Dec 25, 2014 at 9:24 AM, T. Joseph Carter < @T_Joseph_Carter> wrote:

Just wait til you see what it takes with MSYS2. I did it on freakin’
Christmas Eve in less time than it took to install the Windows 7 VM I did
it in. The MSYS2 people did a fabulous job.

Does that install time include the wait for the windres fix :slight_smile: ? But let’s
not descend into install time comparisons between Windows 7 and some ubuntu
flavors. Let hundred flowers bloom and all that.

what about including dependencies like subfolders?

Code:

#where X is the dependency to build
add_subdirectory( ${CMAKELIST_LOCATION_X} ${CMAKE_BINARY_DIR}/X )

the whole point is that relying on “findPackage” may be a cheap way to get one package, but that’s totally wrong to me, because someone may have installed different versions of a library and using a different version may cause troubles (totally wrong for cross-compiling and may cause issues if 3rd party software mess up your environment variables: like Visual Studio did once to me so I had to re-setup GCC). If you want to support more thant just your platform then you have also to start correctly and don’t relying on findPackage.

Basically i think Cmake i’s more than needed to simplify life of developers, just remember to use it correctly (see my other post about Cmake (http://forums.libsdl.org/viewtopic.php?t=10932))

Basically I work without any assumption (so assume no software is installled and everything you need to build has to setup paths, it’s a 5 minutes work to do the first time, after that you compile for X platforms as long as you can get a compiler for that platform).

To give an example over my directory structure

Code:

F:Git
F:Git_Toolchains\GCC_492_dwarf2
F:Git_Toolchains\GCC_492_sjlj
F:Git_Toolchains\GCC_481_sjlj
F:Git_Toolchains\GCC_492_linux
F:Git_Toolchains\Clang_33_mac
F:Git_Toolchains\Emscripten
F:Git_Toolchains\AndroidSDK
F:Git\SDL_203\CMakeLists.txt
F:Git\libpng\CMakeLists.txt
F:Git\lzlib\CMakeLists.txt
F:Git\myProject\CMakeLists.txt

In my opinion SJLJ should be used even if slower (it can catch exceptions not raised by your code), but people tends to use dwarf2^^ so I have to support it :stuck_out_tongue: to get correct binaries, also using Cmake remove the need to use MSYS/MSYS2 (wich is pretty boring to get, I tried … while CMake has 1 at once installer)
[/code][/url]

DarioOO wrote:

Trying to figure out how to install SDL on Windows with MinGW.
It’s nearly impossible, unless you
are some kind of a hacker. Why in the
world it is so complicated? It’s crap!
Total and utter crap!

I did it and that was too easy to do… and I don’t used MSYS or MSYS2 (wich are a bit boring to download and install on windows)… My post just got ignored? :stuck_out_tongue:

Well yeah it’s not really that complicated, just download the binary file and extract it in c:\mingw :).

mr_tawan wrote:

DarioOO wrote:

Trying to figure out how to install SDL on Windows with MinGW.
It’s nearly impossible, unless you
are some kind of a hacker. Why in the
world it is so complicated? It’s crap!
Total and utter crap!

I did it and that was too easy to do… and I don’t used MSYS or MSYS2 (wich are a bit boring to download and install on windows)… My post just got ignored? :stuck_out_tongue:

Well yeah it’s not really that complicated, just download the binary file and extract it in c:\mingw :).

and run update ! :D. the problem is not with MSYS itself, but about tools using MSYS, last attemp was with NetBeans (it requires MSYS for C++11 and MinGW) and it was a pain to configure even with a detailed step by step guide. I’m more happy when you just have to unzip stuff and setup 1 path or 2 :smiley:

Trying to figure out how to install SDL on Windows with MinGW.
It’s nearly impossible, unless you
are some kind of a hacker. Why in the
world it is so complicated? It’s crap!
Total and utter crap!

I did it and that was too easy to do… and I don’t used MSYS or MSYS2 (wich are a bit boring to download and install on windows)… My post just got ignored? :stuck_out_tongue: