D.gnu - Install Location (again)
- =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= (31/31) Apr 20 2006 If one is bundling GCC with GDC, would it
- Philip Van Hoof (16/57) Apr 20 2006 If you are bundling and then packaging it (for a specific distribution),
- =?UTF-8?B?QW5kZXJzIEYgQmrDtnJrbHVuZA==?= (6/20) Apr 20 2006 Nah, this was assuming that (ordinary) packages would not work,
If one is bundling GCC with GDC, would it be better to have it install in two dirs: /opt/gcc/ /opt/gdc/ Just like it is being done now on Windows, when you install the Digital Mars compilers: C:\dm\ C:\dmd\ Or should everything install in just one location, say /opt/gnu, for everything ? (the upside to this is that it is easy to add e.g. GNU Make and GDB too, later on...) Under each dir, there would be the usual: /opt/gnu/bin/* /opt/gnu/lib/* /opt/gnu/include/* /opt/gnu/share/* For a binary release, I'm leaning towards using just one single $PREFIX (=/opt/gnu), since this approach seems to have worked good for the Fink and DarwinPorts projects ? One less set of PATHs to set up, as well... (to find the executables and the libraries) This was assuming that the regular /usr won't work, otherwise that would be the preferred location - if the rest of the system tools and libraries are "usable". For the general case, I think we'll need to bundle the *same* version of GNU C/C++ Thoughts ? --anders
Apr 20 2006
On Thu, 2006-04-20 at 10:21 +0200, Anders F Björklund wrote:If one is bundling GCC with GDC, would it be better to have it install in two dirs: /opt/gcc/ /opt/gdc/If you are bundling and then packaging it (for a specific distribution), you should probably install it in $(prefix)/lib/gdc/ and create symlinks to $(prefix)/bin, $(prefix)/include and $(prefix)/lib as in that case the bundled gcc is support code for the application (gdc) itself. For packages you really don't want to step outside of your $(prefix). So using /opt isn't really the right thing todo (for packages). So with $(prefix) set to /usr you get: /usr/lib/gdc/bin/ and /usr/lib/gdc/lib/ and if possible /usr/include/ and /usr/share and then create symlinks from /usr/lib/gdc/bin/ to /usr/bin (but don't do such symlinks for files like gcc and c++ as such symlinks would certainly conflict with existing packages). You could do a symlink like /usr/lib/gdc/bin/gcc to /usr/bin/gdc-gcc and /usr/lib/gdc/bin/gdb to /usr/bin/gdc-gdb . . . :-\ I don't know whether such a bundled install will be usable with existing tools like gdb, gcc and c++. I'm guessing it's not.Just like it is being done now on Windows, when you install the Digital Mars compilers: C:\dm\ C:\dmd\Or should everything install in just one location, say /opt/gnu, for everything ? (the upside to this is that it is easy to add e.g. GNU Make and GDB too, later on...) Under each dir, there would be the usual: /opt/gnu/bin/* /opt/gnu/lib/* /opt/gnu/include/* /opt/gnu/share/* For a binary release, I'm leaning towards using just one single $PREFIX (=/opt/gnu), since this approach seems to have worked good for the Fink and DarwinPorts projects ? One less set of PATHs to set up, as well... (to find the executables and the libraries) This was assuming that the regular /usr won't work, otherwise that would be the preferred location - if the rest of the system tools and libraries are "usable". For the general case, I think we'll need to bundle the *same* version of GNU C/C++ Thoughts ? --anders
Apr 20 2006
Philip Van Hoof wrote:If you are bundling and then packaging it (for a specific distribution), you should probably install it in $(prefix)/lib/gdc/ and create symlinks to $(prefix)/bin, $(prefix)/include and $(prefix)/lib as in that case the bundled gcc is support code for the application (gdc) itself. For packages you really don't want to step outside of your $(prefix). So using /opt isn't really the right thing todo (for packages).Nah, this was assuming that (ordinary) packages would not work, since $(prefix)/bin/gcc and $(prefix)/lib/gcc would be "taken".../usr/lib/gdc/bin/ and /usr/lib/gdc/lib/ and if possible /usr/include/ and /usr/share and then create symlinks from /usr/lib/gdc/bin/ to /usr/bin (but don't do such symlinks for files like gcc and c++ as such symlinks would certainly conflict with existing packages). You could do a symlink like /usr/lib/gdc/bin/gcc to /usr/bin/gdc-gcc and /usr/lib/gdc/bin/gdb to /usr/bin/gdc-gdb . . . :-\I'm not sure what creating those symlinks would add, beyond complexity ? Adding prefixes is *one* option, but it's not a very attractive one... --anders
Apr 20 2006