2009/9/4 Robert Millan <r...@aybabtu.com>: > On Thu, Sep 03, 2009 at 11:33:51PM +0200, Vladimir 'phcoder' Serbinenko wrote: >> > It's much easier to make official GCC a build requirement. People hacking >> > on GRUB source, or distributors (e.g. Fink) should have no problem with a >> > dependency on GCC. >> > >> It won't do a lot of difference for people really wanting to compile >> GRUB. However it makes entry barrier higher. > > I can't participate in a debate about an entry barrier which hasn't been > explained. Installing GCC is a requirement, among others (autoconf, ruby, > bison...) which are no problem at all on other platforms. > > Is there any reason why having build requirements is a problem on MacOS? If > there is, how come this is not a problem for e.g. autoconf? > > Does installing GCC on MacOS require significant expertise that someone who > wants to compile GRUB from source wouldn't be able to deal with?
Hello, I think that the expertise required to build gcc on a somewhat exotic platform (OS X) is more than what is required to build a small package (grub). Typically the compilation of another C compiler is considered somewhat advanced while building a package is the common way of installing opensource software. I have built gcc a few times as a last resort when the compiler variant I wanted was not available prepackaged for my platform and I must say that it is not too difficult when building only well tested features for well tested architecture combination (C/C++ compiler i386 GNU/Linux -> i386 GNU/Linux). Still the time and space required to build GCC is much larger than that required for building grub. The OS X platform is somewhat exotic because it uses different object format and non-gnu linker so it is more likely there will be issues with building GCC. Since the time I tried GCC is no longer self-containded but relies on additional libraries that have to be installed separately so the user has to compile several interdependent packages from source which certainly requires more planning than just building a single package. As for autoconf it is probably not required for building releases with pre-generated scripts and may be already present on OS X. The question here is if grub is supposed to be compatible with GNU systems only (in which case we may as well throw it away because there is no GNU system yet) or if it should follow the lead of software like emacs or gcc and try to be compatible with as many different systems as possible (within reason). In the later case using an exotic feature like nested functions might pose a problem on other systems as well and should be probably avoided to improve portability in general. Thanks Michal _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel