#8768 closed patch
BUILD: Automate the list of data files to be distributed
Reported by: | jvprat | Owned by: | fingolfin |
---|---|---|---|
Priority: | normal | Component: | Ports |
Version: | Keywords: | ||
Cc: | Game: |
Description
The attached patch prepares some variables that contain the theme files and the engine data files that should be distributed together with the binaries. Maybe these could be merged in a common "DIST_DATAFILES" variable which also contains pred.dic, since all those files seem to be copied to the same directory.
The case of the engine data files is specially interesting because it just lists the data files needed by the built engines. For example, igor.tbl won't be on the list if configured with the default options.
I've also tried to upgrade ports.mk so that these new variables replace the old behavior.
Ticket imported from: #1862888. Ticket imported from: patches/873.
Attachments (1)
Change History (12)
by , 17 years ago
Attachment: | makefile-datafiles.patch added |
---|
comment:1 by , 17 years ago
Owner: | set to |
---|
comment:2 by , 17 years ago
comment:3 by , 17 years ago
The only reason Kyra uses "KYRA.DAT" instead of "kyra.dat" is that all other files load in Kyra are uppercase, so I used it there too to look more consistent, but I think it should be no problem at all to switch it to kyra.dat, I'll look into it.
comment:4 by , 17 years ago
Owner: | changed from | to
---|
comment:5 by , 17 years ago
I changed the Kyra code to use "kyra.dat" instead of "KYRA.DAT". I'm assigning this back to Fingolfin then.
comment:7 by , 17 years ago
Status: | new → closed |
---|
comment:8 by , 17 years ago
I noticed a problem with this patch: If ScummVM is built without any engines requiring the engine data files, then the dist targets are broken, since there are no items to actually copy over.
comment:9 by , 17 years ago
Good catch :-\
One way to solve it would be to use a common DIST_DATAFILES and ensure there's always at least one file there (pred.dic and the themes, for example), but it's only valid if all those files are copied to the same target directory (which is the current case).
Another way would be to unify the common parts of the dist targets, and it could test if that variable is empty. I'll try to work on this in a few days.
comment:10 by , 17 years ago
In addition, it would be nice to unify the installation/distribution of pred.dic. I think right now only AGI really needs it, but strictly speaking it's not engine specific. So we could just always include it in DIST_DATAFILES and thus avoid the issue *g*.
comment:11 by , 6 years ago
Component: | → Ports |
---|
One caveat: The OS X bundle copies the "kyra.dat" file to "KYRA.DAT". I haven't tested it, but the reason may have been to avoid problem with the fact that OS X preserves but ignoes the case of filenames. It is a bit odd that the file is named "kyra.dat" in our repository, but the engine tries to load "KYRA.DAT". All other engines use lower case names, I think. Usually, it's not problem because we change the file names to lower case, if the upper case variant fails, but still...
LordHoto, could you do two things in the Kyra engine: 1) Define a macro #define SUPPORT_FILENAME "KYRA.DAT" or so in the Kyra engine, and replace all occurance of KYRA.DAT with that, 2) consider switching it to "kyra.dat"