Thread overview | |||||
---|---|---|---|---|---|
|
April 20, 2006 Install Location (again) | ||||
---|---|---|---|---|
| ||||
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 |
April 20, 2006 Re: Install Location (again) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Anders F Björklund | 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 |
April 20, 2006 Re: Install Location (again) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Philip Van Hoof | 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 |
Copyright © 1999-2021 by the D Language Foundation