Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MinGW build of Mixxx #25

Closed
wants to merge 17 commits into from
Closed

MinGW build of Mixxx #25

wants to merge 17 commits into from

Conversation

ulatekh
Copy link
Contributor

@ulatekh ulatekh commented Jun 23, 2013

These are all the changes needed to build the MS Windows version of Mixxx using the Fedora Core based version of MinGW. That includes the 32-bit version, the 64-bit version, and the associated installers.

ulatekh added 17 commits May 16, 2013 11:11
I've built it under both MS Windows and Fedora Core 18 with MinGW and qmake.  Neither are working yet, but the FC18 build is running better.
This is nowhere near stable.  Don't try to use it unless you like pain.
(I also had to build mingw##-libmad and mingw##-id3tag.)
Now the MinGW build of Mixxx appears to be functional!  Further testing will have to reveal problems, because it looks fine!

Also removed references to Qt libraries that aren't used any more (Qt3Support, QtSvg, and QtXmlPatterns).
…proper dist32 directory!

My command line thus far:
scons ladspa=0 shoutcast=0 hifieq=1 script=0 optimize=0 ffmpeg=0 target=windows crosscompile_root=/usr/i686-w64-mingw32/sys-root/mingw hss1394=0 vamp=0 vinylcontrol=0 hid=0 sqlitedll=1

This is working under Fedora Core 18.

I've made a repository for all the files needed to build Mixxx's dependencies under Fedora Core with MinGW:
https://github.com/ulatekh/fedora-mingw-ardour.git
Also made sure this branch still compiles and runs on Linux.
Fixed merge issues

Conflicts:
	mixxx/build/features.py
	mixxx/build/mixxx.py
	mixxx/src/SConscript
	mixxx/src/dlgpreferences.cpp
	mixxx/src/widget/wspinny.cpp
@kain88-de
Copy link
Member

Hi

I tried to build your branch with mingw and stumbled a bit over the documentation. It's my first time doing a crosscompile so some stuff is unclear for me.

How can I build the dependenxies from your Adour repository on debian and what is meant with crosscompile_root

@ulatekh
Copy link
Contributor Author

ulatekh commented Jul 1, 2013

Hello kain88-de,

You can see the old discussion of this branch at https://bugs.launchpad.net/mixxx/+bug/1179683 .

My command line to cross-compile the MS Windows version of Mixxx is:

scons -j2 ladspa=0 shoutcast=0 hifieq=1 script=0 optimize=0 ffmpeg=0 target=windows crosscompile_root=/usr/i686-w64-mingw32/sys-root/mingw hss1394=0 vamp=1 vinylcontrol=1 hid=1 sqlitedll=1

It appears that Debian has a set of MinGW packages available from the usual repositories. Unfortunately, the spec files I posted in my Ardour repository are pretty specific to Fedora's MinGW. You would have to learn the Debian equivalent of making MinGW packages (the Fedora method is described at https://fedoraproject.org/wiki/MinGW/Tutorial ) and port the packages yourself.

I'll happily keep any spec files you generate in my repository, so that there's one unified place to find them. I've submitted all of my MinGW packages to Fedora, but none of the Powers That Be have even looked at them yet.

The only thing I can think of to make your job easier would be to add the original spec files to my Ardour repository, so you could diff them against the MinGW-oriented spec files and see what sort of changes are necessary. It's really not that hard to port standard Linux packages to MinGW, once you've done a few of them, at least under Fedora.

@illuusio
Copy link
Contributor

illuusio commented Nov 8, 2013

I've could try this as I have cross-compiling skills and openSUSE have very goot MinGW support.

@ulatekh
Copy link
Contributor Author

ulatekh commented Nov 9, 2013

https://github.com/ulatekh/mixxx.git, in the mingw branch.

@illuusio
Copy link
Contributor

illuusio commented Nov 9, 2013

Okay I have to get protobuf and portmidi compile to make this compile but I take a look at this..

@illuusio
Copy link
Contributor

It took a while but with this line and getting correct branch it allmost works..
CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ AR=CC=i686-w64-mingw32-ar scons -j2 ladspa=0 shoutcast=0 hifieq=1 script=0 optimize=0 ffmpeg=0 target=windows crosscompile_root=/usr/i686-w64-mingw32/sys-root/mingw hss1394=0 vamp=1 vinylcontrol=1 hid=1 sqlitedll=1 qtdir=/usr/i686-w64-mingw32/sys-root/mingw/ machine=i686

@illuusio
Copy link
Contributor

I made new branch to my own repo 'mingw32' that is ulatekh's work little bit modified for up-to-date Mixxx building stuff.. it's need little bit of effort to get vinylcontrol compile but it compiles and works as expected..

@illuusio
Copy link
Contributor

This should be closed? No activity from developer..

@daschuer
Copy link
Member

@illuusio Do you plan your own MinGW merge request?
IMHO we should keep this for reference until your one up.

@ulatekh If you want to continue to maintain this branch, you may review and finally pull the changes from @illuusio.

Thank you!

@illuusio
Copy link
Contributor

@daschuer yes if @ulatekh ain't keeping this up I'll make pull request. I got working MinGW32 build in my repo that is based on @ulatekh work..

@kain88-de
Copy link
Member

How easy is it for other to set up a cross compile? Can you make a guide that would roughly work on more then one linux distro?

@ulatekh
Copy link
Contributor Author

ulatekh commented Nov 28, 2013

@illuusio, you can take over this branch. I don't work on Mixxx any more, not after the most pedantic and small-minded "code review" I've ever had in my life (i.e. #18 ). My indenting is off by a space? Seriously? Find some other sucker.

@illuusio
Copy link
Contributor

@ulatekh they are pedantic but we have automatic indent control for commits in our version control. I just say use some auto intender.. Small minded nah.. just precise I think. But I'll take this to the bitter end. Try to commit to kernel and see how small minded they are ;)

@illuusio
Copy link
Contributor

@kain88-de What distro are you using? openSUSE is mine main platform but setting up MinGW cross toolchain in most of distros ain't very difficult. After this in we need Wiki page how to make it.

@kain88-de
Copy link
Member

I'm using debian testing. I'm closing this issue and you can open a new one @illuusio. If you write some instructions in the pull request how you cross build so that I can test it on debian and tell you if it worked. Interesting to know would be if we can also build the test-suite and then run it on windows.

@illuusio
Copy link
Contributor

Yes close this issue just down.. Gotta try on Virtualbox how Debian works

@kain88-de kain88-de closed this Nov 29, 2013
@daschuer daschuer mentioned this pull request Dec 28, 2014
@daschuer daschuer mentioned this pull request Jun 11, 2018
11 tasks
ronso0 referenced this pull request in ronso0/mixxx Oct 11, 2019
Holzhaus referenced this pull request in Holzhaus/mixxx Aug 23, 2020
m0dB pushed a commit to m0dB/mixxx that referenced this pull request Jan 21, 2024
update Downloads page for 2.1 release
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants