Hi folks,
I know people are concerned right now with more important matters, but given that (1) we're cleaning up the tree, and (2) we're getting close to 0.9, I figured it maybe time to bring this up. Namely, under dlls/ we have by and large a flat structure, with the exception of a few 'special' cases (there's always have to be special cases :/). I find this rather upsetting, for the following reasons: -- the organization is confusing since it implies some sort of dependency that's not there (they are all .dlls) -- it makes grepping so much more difficult. Instead of the simple: grep BLAH dlls/*/*.[ch] we need to resort to find, etc. -- it makes scripts in general needlessly complicated -- it hides those parts in the depth of tree -- it is inconsistent with the rest of our DLLs
Now, I know that this is mainly historical, but why not fix it? Yeah, we're going to loose a bit of CVS history, but not quite, because the move can mark that so in the log. So we're only making 'cvs log' on a few files a bit more complicated, but we're simplifying every day operation by so much. I think it's a clear win. Here is the list of the offending DLLs:
ddraw/d3ddevice ddraw/dclipper ddraw/ddraw ddraw/direct3d ddraw/dpalette ddraw/dsurface dinput/joystick dinput/keyboard dinput/mouse gdi/enhmfdrv gdi/mfdrv msacm/imaadp32 msacm/msg711 msacm/msadp32 msacm/winemp3 msvideo/msrle32 user/dde wineps/data winmm/joystick winmm/mcianim winmm/mciavi winmm/mcicda winmm/mciseq winmm/mciwave winmm/midimap winmm/wavemap winmm/wineoss winmm/winearts winmm/winealsa winmm/winenas winmm/wineaudioio winmm/winejack
Pretty please...
Hi,
On Thu, Dec 11, 2003 at 01:17:08AM -0500, Dimitrie O. Paun wrote:
Hi folks,
I know people are concerned right now with more important matters, but given that (1) we're cleaning up the tree, and (2) we're getting close to 0.9, I figured it maybe time to bring this up. Namely, under dlls/ we have by and large a flat structure, with the exception of a few 'special' cases (there's always have to be special cases :/). I find this rather upsetting, for the following reasons: -- the organization is confusing since it implies some sort of dependency that's not there (they are all .dlls) -- it makes grepping so much more difficult. Instead of the simple: grep BLAH dlls/*/*.[ch] we need to resort to find, etc. -- it makes scripts in general needlessly complicated -- it hides those parts in the depth of tree -- it is inconsistent with the rest of our DLLs
Now, I know that this is mainly historical, but why not fix it? Yeah, we're going to loose a bit of CVS history, but not quite, because the move can mark that so in the log. So we're only making 'cvs log' on a few files a bit more complicated, but we're simplifying every day operation by so much. I think it's a clear win. Here is the list of the offending DLLs:
ddraw/d3ddevice ddraw/dclipper ddraw/ddraw ddraw/direct3d ddraw/dpalette ddraw/dsurface dinput/joystick dinput/keyboard dinput/mouse gdi/enhmfdrv gdi/mfdrv msacm/imaadp32 msacm/msg711 msacm/msadp32 msacm/winemp3 msvideo/msrle32 user/dde wineps/data winmm/joystick winmm/mcianim winmm/mciavi winmm/mcicda winmm/mciseq winmm/mciwave winmm/midimap winmm/wavemap winmm/wineoss winmm/winearts winmm/winealsa winmm/winenas winmm/wineaudioio winmm/winejack
I'm a bit astonished that you're coming up with that. I think there's not too much a reason to change this layout: a) stuff that is very close to each other should be grouped together IMHO b) rather than wasting time by having to grep through the whole tree, you just change into winmm and do a find on all *relevant* files for sound support c) you don't really want to have all codec files in the main dlls/ directory, now do you? That could soon grow very messy.
I'm sure there are some other objections, but these are the ones I can come up with right now.
Having a flat structure has several advantages (in the maintenance area), but some things do belong together, which has several opposing advantages.
dinput's joystick, keyboard and mouse support could probably be flattened, right.
Greetings,
Andreas Mohr
-- the organization is confusing since it implies some sort of dependency that's not there (they are all .dlls)
Well, I find it nicer to have separate directories for each COM object in D3D. I agree that it's all the same DLL, but well, would you prefer something like :
dlls/ddraw/ddraw_main.c dlls/ddraw/ddraw_thunk.c dlls/ddraw/ddraw_opengl.c dlls/ddraw/dpalette_main.c (...)
I certainly do not like this and prefer the nested directory structure :-)
-- it makes grepping so much more difficult. Instead of the simple: grep BLAH dlls/*/*.[ch] we need to resort to find, etc.
Well, I use 'glimpse' so I do not really care (and typing 'find' is not that hard to do).
Lionel
On December 11, 2003 04:49 am, Lionel Ulmer wrote:
dlls/ddraw/ddraw_main.c dlls/ddraw/ddraw_thunk.c dlls/ddraw/ddraw_opengl.c dlls/ddraw/dpalette_main.c (...)
I certainly do not like this and prefer the nested directory structure :-)
OK, that's another story, the script that generated my list was wrong. :) So here is the correct list of offending DLLs:
msacm/imaadp32 msacm/msg711 msacm/msadp32 msacm/winemp3 msvideo/msrle32 winmm/joystick winmm/mcianim winmm/mciavi winmm/mcicda winmm/mciseq winmm/mciwave winmm/midimap winmm/wavemap winmm/wineoss winmm/winearts winmm/winealsa winmm/winenas winmm/wineaudioio winmm/winejack