On 03/10/2014 11:16, Torne (Richard Coles) wrote:
> On 10 March 2014 09:20, René Ladan <[email protected]
> <mailto:[email protected]>> wrote:
>
>     Hi,
>
>     [this is an updated rewrite of an earlier private mail]
>
>     some more thoughts and ideas I gathered while porting Chromium to
>     FreeBSD:
>     - FreeBSD seems to piggy-back on Linux too much because ninja will
>     build
>     *_linux files on FreeBSD which might or might not be useful. I guess
>     that ideally there should be *_freebsd versions of these files and the
>     build system should know about them. If I understand correctly, this
>     should prevent the need for patches like:
>     +        ['OS=="freebsd"', {
>     +         'sources/': [
>     +           ['exclude',
>     '^browser/storage_monitor/udev_util_linux.cc'],
>     ....
>     where linux files are explicitly excluded afterwards. Which leads
>     to the
>     question what file(s) decide that FreeBSD should build *_linux files.
>
>
> "linux" in the chromium tree means a lot of different things depending
> on context; in some places it means "thing that depends on
> Linux-specific C library/syscall functionality" (e.g. most uses in
> src/base),
So in this case _freebsd versions should be made?
> but in other places it means "POSIX system with a GNOME/KDE/similar
> desktop" and is mostly about dbus and xdg and related stuff.
and in this case probably not. Should the _linux files be renamed to
something more generic (_posix, _unix_desktop, ...) ?
> I'm not sure whether you'll do better by including linux sources by
> default and excluding the ones that aren't appropriate for *BSD, or
> excluding them and then re-including the ones that are relevant (you
> don't want to have to write a BSD-specific version of anything that
> isn't absolutely necessary).
Hm, there does not seem to be a hard rule here. Somehow having dedicated
_freebsd files looks cleaner but that does impose more work.
>  
>
>     - GN probably needs to be ported to FreeBSD to be able to continue
>     bootstrapping the build. I sent tickets for this after making the
>     bootstrap binary run on both FreeBSD 8.4-i386 (oldest supported
>     version
>     of we omit FreeBSD 8.3 which will expire after April) and FreeBSD
>     10.0-amd64 (latest release). The main ticket is 180743014 which
>     depends
>     on tickets 178193018 and 185713005.
>
>
> Just to let you know, the gn project is being put on hold and the
> invocations of it are going to be removed from chromium's build
> process: see
> https://groups.google.com/a/chromium.org/forum/#!searchin/chromium-dev/gn/chromium-dev/LQKLbTU-PuU/8akR_c84JZ8J
> <https://groups.google.com/a/chromium.org/forum/#%21searchin/chromium-dev/gn/chromium-dev/LQKLbTU-PuU/8akR_c84JZ8J>
> . It's probably not worth you putting much/any effort into this right now.
Ah, I sent in those tickets just before this was announced. But only the
first one is specific to GN, the other two are more generic.

>  
>
>     - Possibly related to GN is this error that I get when running
>     "ninja -C
>     out/Release" in my tip-of-tree git checkout:
>     ninja: Entering directory `out/Release'
>     ninja: error:
>     '../../chrome/renderer/resources/extensions/bluetooth_custom_bindings.js',
>     needed by 'gen/chrome/grit/renderer_resources.h', missing and no known
>     rule to make it
>
>
> This isn't related to gn; grit is the normal resource generation tool.
> If this doesn't work then the hooks haven't run correctly, or the
> revision you have is broken.
Woops, this was because my script was running gyp_chromium with a
vanilla GN (which does not know about FreeBSD) and therefore it never
runs GYP before invoking ninja. It runs fine again apart from expected
breakage.

Regards,
René
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-chromium
To unsubscribe, send any mail to "[email protected]"

Reply via email to