Support for MinGW x64 compilers #356

Merged
merged 1 commit into from Feb 19, 2013

2 participants

@eXpl0it3r
Simple and Fast Multimedia Library member

So I've just compiled all the external dependencies for MinGW x64 compilers, adjusted the CMake file and tested them with for the following compiler builds:

  • MinGW-w64 x64 rubenvb 4.7.2 release
  • MinGW-w64 x64 rubenvb 4.7.1 experimental std thread
  • MinGW-w64 x64 rubenvb 4.8 unstable
  • MinGW-w64 x64 TDM

Everything seems to work across all the tested compilers.

Here's again a version list of the external libraries:

  • OpenGL32: Converted the x64 VS import library
  • libsndfile: Converted the x64 VS import library
  • JPEG: 6b
  • GLEW: 1.6.0
  • FreeType: 2.4.4

If you need anything else, let me know!

@LaurentGomila
Simple and Fast Multimedia Library member

JPEG: 6b

I'm using version 8c. Sorry, I forgot to tell you when I gave you the versions.

Note for me: close #217 when it's done.

@eXpl0it3r
Simple and Fast Multimedia Library member

Ah okay, since their only offical version was 6b I assumed there aren't any others, but I've now found the other versions.
Should I make another commit, or make a forced update?

I'll also try to figure out if it works for dw2 and silj, if I find a compiler of for both.

@LaurentGomila
Simple and Fast Multimedia Library member

Should I make another commit, or make a forced update?

I don't think you can modify existing commits, so to make a single clean commit you would have to restart in a new branch, submit a new pull request and discard this one. So it's ok if you just want to add a commit :)

@eXpl0it3r
Simple and Fast Multimedia Library member

Well you can by doing:
git commit -a --amend
git push -f

But I don't know how it will affect the pull request.

@LaurentGomila
Simple and Fast Multimedia Library member

There's a rule I always follow: never change commits that have been pushed outside your local clone of the repository. It can lead to really bad things.

But to answer your question, I have no idea whether the pull request would be updated correctly or completely messed up.

@eXpl0it3r
Simple and Fast Multimedia Library member

Well it looks like nothing exploded with my forced update. :D

I noticed that the file size of libjpeg, libglew and libfreetype where quite large, so I used strip -g to remove the debug symbols. I hope that was the correct way to reduce the file size. Let me know if I should do it differently.

I've tested the current external libraries with:

  • MinGW-w64 x64 rubenvb 4.7.2 release
  • MinGW-w64 x64 rubenvb 4.7.3 experimental std thread
  • MinGW-w64 x64 rubenvb 4.8 unstable
  • MinGW-w64 x64 TDM 4.7.1
  • MinGW-w64 x64 sezero 4.5.4

The libraries now have the following versions:

  • OpenGL32: Converted the x64 VS import library
  • libsndfile: Converted the x64 VS import library
  • JPEG: 8c
  • GLEW: 1.6.0
  • FreeType: 2.4.4

It seems like there is no dwarf2 exception handling in Windows x64 binaries (see here).

@LaurentGomila
Simple and Fast Multimedia Library member

I noticed that the file size of libjpeg, libglew and libfreetype where quite large, so I used strip -g to remove the debug symbols. I hope that was the correct way to reduce the file size. Let me know if I should do it differently.

Hum... you're supposed to compile them in release (optimize for speed), without any debug info. You should review your compile settings.

What I did on my side, is to create a CMake configuration for all these libraries, so that I get a consistent build system.

@eXpl0it3r
Simple and Fast Multimedia Library member

Well if you got already a script, do you mind sharing it?
Would be faster than me trying to recreate it. ;)

@eXpl0it3r
Simple and Fast Multimedia Library member

Thanks for the scripts!

After figuring out how to build JPEG and patching CMake to react to the CMAKE_C_OUTPUT_EXTENSION property (I'd still vote for dropping the sfml_static_add_libraries macro...), I finally got it working.

Should now be ready for merging.

@LaurentGomila
Simple and Fast Multimedia Library member

Perfect.

Thank you again.

@LaurentGomila LaurentGomila merged commit 4fbefe7 into SFML:master Feb 19, 2013
@eXpl0it3r
Simple and Fast Multimedia Library member

Yay! 😄
Btw. you can now close #217 as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment