On 2009/11/25 22:24:20, Evan Martin wrote:
> On 2009/11/25 22:21:23, Mikhail Naganov wrote:
> > Can you please point out more concretely what '_os.c' files do you
> mean? In
> > Chromium, I can only find such files in sqlite and native_client. But in
> > Chromium's own code I see lots of "#if defined(OS_LINUX) ||
> > defined(OS_FREEBSD)"-like branches.
> I am attempting to remove many those.
> My general approach is:
> if the function looks like
> void f() {
> #if OS1
> implementation_1();
> #elif OS2
> implementation_2();
> }
> then it should be split into multiple files.
> Otherwise, if you need the occasional ifdef within shared code, it's ok.
> Take a look at some of the _freebsd files in Chrome's base/ and compare
> them
to
> the _linux or _posix ones (I've just been splitting them over the last
> week).
OK, so it looks like the strategy in Chromium is as follows:
- allow minimal spot-sized #ifdefs
- split files otherwise, as follows:
- initially split into _posix and _win (and, possibly _mac)
- split _posix into _linux, _freebsd or whatever
I like it. Evan, am I getting things right?
http://codereview.chromium.org/431047
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev