#9060 closed patch
WINCE: Integrate Windows CE with the master build system
Reported by: | CeRiAl | Owned by: | SF/knakos |
---|---|---|---|
Priority: | normal | Component: | Port: WinCE |
Version: | Keywords: | ||
Cc: | Game: |
Description
This patch adds basic buildbot support for Windows CE (mingw32ce 0.5.1 toolchain), as well as some syntax-fixes and addition of perror() to missing.cpp (needed for sci-engine).
Ticket imported from: #2828646. Ticket imported from: patches/1165.
Attachments (3)
Change History (14)
by , 15 years ago
Attachment: | wince-diff.patch added |
---|
comment:1 by , 15 years ago
Owner: | set to |
---|
comment:2 by , 15 years ago
Using perror() in an engine simply was a bug -- I fixed the SCI engine to not use perror, so this part of the patch shouldn't be necessary anymore.
Several of the changes made to wince.mk look to me as if they should really be in a common/shared .mk file (e.g. ports.mk or Makefile.common) -- at least those which check USE_ARM_GFX_ASM and then set -DUSE_ARM_GFX_ASM -- because basically *every* port using USE_ARM_GFX_ASM requires this, I think... So, it makes sense in my eyes to get rid of the various -DUSE_ARM_GFX_ASM found in configure, and instead put ifdef USE_ARM_GFX_ASM DEFINES += -DUSE_ARM_GFX_ASM endif into Makefile.common. Hmmm... or into a new not-yet existing .mk file... /me scratches his head...
Conversely, though, it seems weird that the build rule for backends/platform/wince/PocketSCUMM.o is put into ports.mk -- *this* rule seems to naturally belong into backends/platform/wince/wince :)
comment:3 by , 15 years ago
Summary: | Basic buildbot support and fixes for Windows CE → WINCE: Integrate Windows CE with the master build system |
---|
comment:4 by , 15 years ago
perror: Yes, it won't be needed. ARM defines: They should be safe for all arm ports. Makefile.common is not too bad an option I guess. Except if you can think of a common .mk where special defines are generated for all platforms. Your preference.
comment:5 by , 15 years ago
I guess I'd put them into ports.mk in a section labeled # # ARM specific #
But of course this is not ideal. Well, the whole ports.mk is not ideal... Let's just put it there to get this into SVN, we can worry about the "perfect" place for it later on.
Mind you: That's for the USE_ARM_* flags only! For the other checks that this patch wants to add to wince.mk... hm... For most of them I don't see why they are there. If those libs are installed correctly and CXX / CXXFLAGS / LDFLAGS are set appropriately, then the configure script should pick up those libs automatically. Even for cross compilers. If possible, I'd prefer that by a wide margin over manually adding them to the build system, as it's more flexible (and also makes it a lot easier to maintain the buildbot. Or to make custom builds with, say, FLAC disabled).
So, that should be changed. That would also make it necessary to again remove these lines from configure: add_line_to_config_mk 'USE_MAD = 1' add_line_to_config_mk 'USE_MPEG2 = 1' add_line_to_config_mk 'USE_FLAC = 1' add_line_to_config_mk 'USE_ZLIB = 1'
The possible exception for all this is USE_TREMOLO ... though I wonder if maybe other ports could benefit from tremolo, and if hence it should be properly added to the configure script... ?
comment:6 by , 15 years ago
Yes, these defines have to be removed from both places (not the USE_ARM_* ones). They are there due to the fact that the build process still relies on the fact that the libs are installed in the sourcedirs... (I've just realized this about 2hrs ago). I've already changed my local trunk and removed those defines from the configure-script and also from the wince.mk (only tremolo and arm related defines left in there). I'm still testing the build process (with the libs and includes at right place and sans superfluous defines in configure script and wince.mk). It's still building, as soon as it's done I will post the new patches for the configure-script and the wince related files.
Oh, and yeah, I think tremolo could be useful also for other ARM based systems, so it would make sense to put this define beside the ARM ones (wherever this place will be)
comment:7 by , 15 years ago
Ok, I've cleaned everything up a little and attached a new patch (20090730-trunk.patch) I think everything should be correct now.
comment:8 by , 15 years ago
Again uploaded a new version of the patch, it adds an "mkdir" line to the wince.mk makefile to create the target directory for PocketSCUMM.o (it failed to build after "make clean" because of the missing directory).
comment:9 by , 15 years ago
Status: | new → closed |
---|
comment:11 by , 6 years ago
Component: | → Port: WinCE |
---|
SVN Diff