support MingW cross compile
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mixxx |
Won't Fix
|
Low
|
Steven Boswell |
Bug Description
I just successfully built 1.11.0 (well, latest bzr of the 1.11 branch) under MS Windows XP, and made an installer too.
The enclosed patch fixes some issues that I encountered along the way.
1) scons couldn't find the protoc executable; it's in the winlib directory. The winlib directory had never been added to the path! The change to build/depends.py takes care of that.
2) My VC_redist.exe didn't contains a msp_kb2565063.msp, and Google doesn't seem to know much about it either. The installer, and installed program, seems to function fine without it. (My best guess is that it's a security patch that isn't needed if you're using the SP1 version of the MSVC++ 2010 redistributable package.) Unless someone knows what this is, my patch to build/nsis/
3) The MS Windows build currently depends on being done from a source-code directory from a bzr checkout. This leads to some damaged data being written to mixxx.rc.include, leading to a VERY cryptic error being generated by MS' rc compiler. http://
4) http://
As soon as I'm ready for more punishment, I'm going to attempt a Qt Creator/MinGW build. ;-)
Related branches
- Mixxx Development Team: Pending requested
-
Diff: 2508 lines (+946/-486)34 files modifiedmixxx/build/crossmingw.py (+2/-0)
mixxx/build/depends.py (+20/-6)
mixxx/build/features.py (+2/-0)
mixxx/build/mixxx.py (+21/-10)
mixxx/build/nsis/Mixxx.nsi (+6/-0)
mixxx/build/qtcreator/mixxx.pro (+616/-367)
mixxx/build/qtcreator/protobuf.pri (+39/-0)
mixxx/build/unused/create_mixxx_dmg.sh (+0/-10)
mixxx/build/unused/mixxx_dmg.sh (+14/-22)
mixxx/lib/fidlib-0.9.10/fidlib.c (+2/-2)
mixxx/lib/soundtouch-1.6.0/FIFOSampleBuffer.cpp (+2/-1)
mixxx/lib/soundtouch-1.6.0/TDStretch.cpp (+2/-1)
mixxx/lib/soundtouch-1.6.0/sse_optimized.cpp (+4/-3)
mixxx/lib/xwax/lut.cpp (+5/-1)
mixxx/lib/xwax/timecoder.h (+8/-0)
mixxx/lib/xwax/timecoder_win32.cpp (+4/-0)
mixxx/src/SConscript (+141/-50)
mixxx/src/analyserbeats.cpp (+8/-1)
mixxx/src/analyserqueue.cpp (+4/-0)
mixxx/src/controllers/controllermanager.cpp (+2/-0)
mixxx/src/dlgprefbeats.cpp (+8/-0)
mixxx/src/dlgprefbeats.h (+2/-0)
mixxx/src/dlgpreferences.cpp (+2/-0)
mixxx/src/library/basesqltablemodel.cpp (+2/-2)
mixxx/src/library/browse/foldertreemodel.cpp (+2/-2)
mixxx/src/library/treeitemmodel.cpp (+6/-0)
mixxx/src/sampleutil.cpp (+3/-2)
mixxx/src/util/stat.h (+1/-1)
mixxx/src/vamp/vampanalyser.h (+4/-1)
mixxx/src/widget/wspinny.cpp (+10/-0)
mixxx/vamp-plugins/SConscript (+1/-1)
mixxx/vamp-plugins/dsp/DownBeat.h (+1/-1)
mixxx/vamp-plugins/dsp/GetKeyMode.h (+1/-1)
mixxx/vamp-plugins/dsp/TempoTrackV2.h (+1/-1)
Great work! Thanks for tackling these issues.
For (2), msp_kb2565063.msp is indeed a security patch and must be downloaded manually. I should add instructions somewhere about where to find it. (Search microsoft. com/downloads for that KB article number in the meantime.)
For (4), I would rather that scons looks in both places for the files. If it can't find a file in one place, search the other. The reason for this is because building Qt from source puts them in one place while downloading the pre-compiled DLLs puts them in the other and there's no telling which situation a particular user will have. (I just don't know enough python yet to add that intelligence or I would've done it already.)