Ian Pilcher ian.pilcher@home.com writes:
I actually gave quite a bit of thought to the large file issue before submitting it, and I would agree with you if there were any functional code in the file. Because it's entirely data, and it's heavily interdependent, I really think that one file is better.
I disagree. If the data is so interdependent that you cannot split the file, you are doing something wrong IMO. And in fact splitting it will help enforce a clean data structure, which is a major advantage.
From a build point of view, gcc has no problem at all with the file. In fact it compiles much faster than many of Wine's functional files.
I know some older versions of gcc had problems with large data structures, using exponential memory to compile them or something like that.
If a target compiler (does Wine build with anything other than gcc?) does have a problem with it, I will yield to necessity. Until that happens, how- ever, I believe that the practical benefit of maintainability outweighs stylistic concerns. (After all, it's not like anyone will ever need to read all the way through the file to understand it, as is the case with functional code.)
You may not need to read every single line, but you still need to go through it if you want to understand the structure (this is how I noticed it was too large...). So please consider splitting it.
Here's a thought. How about creating a data subdirectory for the Post- Script driver (i.e. dlls/wineps/data). The data could then be put in separate files in that directory without confusing things. (The data isn't interdependent from a build point of view, just from a main- tenance point of view.)
I don't know the Makefile magic necessary to do this, but if someone could step forward with that piece, I suspect it would address both of our concerns.
What do you think?