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]"
