I am Robert from the OpenBSD project, the maintainer of the Chromium port for the past 9 years.
It is time that the *BSD related patches are upstreamed because it is getting
really hard to follow all the code moving and new features that is happening at
every stable release of chromium.
Almost all of the OpenBSD and FreeBSD patches are the same and there are also
OpenBSD and FreeBSD specific parts, but that is the not a concern at this point.
I've created a CL as a first step to set the OS specific defines in the build system.
Now there is a problem. We do not know what would be the best way to go.
There are two options:
1) set is_bsd and OS_BSD at the specific is_linux and OS_LINUX parts
This will introduce a lot of is_linux || is_bsd and OS_LINUX || OS_BSD checks
to the system, but it is a more separated way of handing the platforms.
2) set is_linux and OS_LINUX on *BSD (like Chromeos) and exclude stuff when not used
This will introduce some is_linux && !is_bsd OS_LINUX && !OS_BSD checks
to the system.
This way me and the FreeBSD guys can always pick up new Linux specific code and look
into it right away, instead of searching around the huge git repos for Linux specific changes.
Chromium developers do not have to take care of BSD specific defines because we'll just
use the Linux specific code.
Obviously we cannot expect the thousands of Chromium developers to always take care of
the BSD defines themselves, so from my point of view we can indeed go for using
is_linux and OS_LINUX by default for *BSD and then we can nuke the really linux specific
code out on *BSD by using OS_BSD/OS_OPENBSD/OS_FREEBSD depending on what we
are talking about.
I really want to upstream these changes now especially with all the other projects using
the chromium codebase. I don't want to maintain hundreds of local patches for all of them.
So just tell me which way to go please and I will redo the patches that way.
Dirk at the CL above suggested that I write a mail to this group so that we can reach
a consensus.
Thank you.