* [Buildroot] --includedir=/usr/include vs --includedir=$(STAGING_DIR)/usr/include @ 2007-07-30 18:49 Cristian Ionescu-Idbohrn 2007-07-30 19:02 ` Steven J. Hill 0 siblings, 1 reply; 10+ messages in thread From: Cristian Ionescu-Idbohrn @ 2007-07-30 18:49 UTC (permalink / raw) To: buildroot Noticed that some .mk files use different --includedir= configure options. Shouldn't --includedir=/usr/include be used everywhere? Cheers, -- Cristian ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] --includedir=/usr/include vs --includedir=$(STAGING_DIR)/usr/include 2007-07-30 18:49 [Buildroot] --includedir=/usr/include vs --includedir=$(STAGING_DIR)/usr/include Cristian Ionescu-Idbohrn @ 2007-07-30 19:02 ` Steven J. Hill 2007-07-30 19:06 ` [Buildroot] --includedir=/usr/include vs --includedir=(STAGING_DIR)/usr/include Cristian Ionescu-Idbohrn 0 siblings, 1 reply; 10+ messages in thread From: Steven J. Hill @ 2007-07-30 19:02 UTC (permalink / raw) To: buildroot > Noticed that some .mk files use different --includedir= configure options. > Shouldn't --includedir=/usr/include be used everywhere? > With the recent changes that buildroot has undergone, I actually think this is a good idea. Any objections to getting rid of 'include' in the staging directory all together and going to 'usr/include'? -Steve ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] --includedir=/usr/include vs --includedir=(STAGING_DIR)/usr/include 2007-07-30 19:02 ` Steven J. Hill @ 2007-07-30 19:06 ` Cristian Ionescu-Idbohrn 2007-07-30 19:36 ` Bernhard Fischer 0 siblings, 1 reply; 10+ messages in thread From: Cristian Ionescu-Idbohrn @ 2007-07-30 19:06 UTC (permalink / raw) To: buildroot On Mon, 30 Jul 2007, Steven J. Hill wrote: > > Noticed that some .mk files use different --includedir= configure options. > > Shouldn't --includedir=/usr/include be used everywhere? > > > With the recent changes that buildroot has undergone, I actually think > this is a good idea. Any objections to getting rid of 'include' in the > staging directory all together and going to 'usr/include'? That's fine with me. But my question was: --includedir=/usr/include vs --includedir=$(STAGING_DIR)/usr/include ^^^^^^^^^^^^^^ Cheers, -- Cristian ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] --includedir=/usr/include vs --includedir=(STAGING_DIR)/usr/include 2007-07-30 19:06 ` [Buildroot] --includedir=/usr/include vs --includedir=(STAGING_DIR)/usr/include Cristian Ionescu-Idbohrn @ 2007-07-30 19:36 ` Bernhard Fischer 2007-07-30 19:52 ` Cristian Ionescu-Idbohrn 2007-07-31 6:13 ` Hans-Christian Egtvedt 0 siblings, 2 replies; 10+ messages in thread From: Bernhard Fischer @ 2007-07-30 19:36 UTC (permalink / raw) To: buildroot On Mon, Jul 30, 2007 at 09:06:34PM +0200, Cristian Ionescu-Idbohrn wrote: >On Mon, 30 Jul 2007, Steven J. Hill wrote: > >> > Noticed that some .mk files use different --includedir= configure options. >> > Shouldn't --includedir=/usr/include be used everywhere? >> > >> With the recent changes that buildroot has undergone, I actually think >> this is a good idea. Any objections to getting rid of 'include' in the >> staging directory all together and going to 'usr/include'? > >That's fine with me. But my question was: > > --includedir=/usr/include vs --includedir=$(STAGING_DIR)/usr/include > ^^^^^^^^^^^^^^ depending on the package --prefix=$(STAGING_DIR)/usr is enough and all other (except, perhaps specifying the location of $(STAGING_DIR)/etc) are not needed anymore. There are indeed quite some packages that are not yet converted. Patches to clean those up are very welcome. ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] --includedir=/usr/include vs --includedir=(STAGING_DIR)/usr/include 2007-07-30 19:36 ` Bernhard Fischer @ 2007-07-30 19:52 ` Cristian Ionescu-Idbohrn 2007-07-30 20:11 ` Bernhard Fischer 2007-07-31 6:13 ` Hans-Christian Egtvedt 1 sibling, 1 reply; 10+ messages in thread From: Cristian Ionescu-Idbohrn @ 2007-07-30 19:52 UTC (permalink / raw) To: buildroot On Mon, 30 Jul 2007, Bernhard Fischer wrote: > > --includedir=/usr/include vs --includedir=$(STAGING_DIR)/usr/include > > ^^^^^^^^^^^^^^ > > depending on the package --prefix=$(STAGING_DIR)/usr is enough ^^^^^^^^^ Could you please be more verbose? How does one identify which is which? Cheers, -- Cristian ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] --includedir=/usr/include vs --includedir=(STAGING_DIR)/usr/include 2007-07-30 19:52 ` Cristian Ionescu-Idbohrn @ 2007-07-30 20:11 ` Bernhard Fischer 2007-07-31 8:40 ` Cristian Ionescu-Idbohrn 0 siblings, 1 reply; 10+ messages in thread From: Bernhard Fischer @ 2007-07-30 20:11 UTC (permalink / raw) To: buildroot On Mon, Jul 30, 2007 at 09:52:51PM +0200, Cristian Ionescu-Idbohrn wrote: >On Mon, 30 Jul 2007, Bernhard Fischer wrote: > >> > --includedir=/usr/include vs --includedir=$(STAGING_DIR)/usr/include >> > ^^^^^^^^^^^^^^ >> >> depending on the package --prefix=$(STAGING_DIR)/usr is enough > ^^^^^^^^^ > >Could you please be more verbose? How does one identify which is which? packages that use autoconf usually have: Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [/usr/local] Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --datadir=DIR read-only architecture-independent data [PREFIX/share] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --infodir=DIR info documentation [PREFIX/info] --mandir=DIR man documentation [PREFIX/man] So, for packages that actually install to and use config files from sysconfdir, these should live in $(TARGET_DIR)/etc (resp $(STAGING_DIR)/etc) and not in $(TARGET_DIR)/usr/etc libpcap, for example can be configured with --prefix=/usr and installed with $(MAKE) DESTDIR=$(STAGING_DIR) -C $(LIBPCAP_DIR) install (assuming that it doesn't install anything into /etc). See? PS: Of course there is DESTDIR vs. PREFIX. Look at the respective Makefile{.am,.in,} ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] --includedir=/usr/include vs --includedir=(STAGING_DIR)/usr/include 2007-07-30 20:11 ` Bernhard Fischer @ 2007-07-31 8:40 ` Cristian Ionescu-Idbohrn 2007-07-31 9:45 ` Bernhard Fischer 0 siblings, 1 reply; 10+ messages in thread From: Cristian Ionescu-Idbohrn @ 2007-07-31 8:40 UTC (permalink / raw) To: buildroot On Mon, 30 Jul 2007, Bernhard Fischer wrote: > On Mon, Jul 30, 2007 at 09:52:51PM +0200, Cristian Ionescu-Idbohrn wrote: > >On Mon, 30 Jul 2007, Bernhard Fischer wrote: > > > >> > --includedir=/usr/include vs --includedir=$(STAGING_DIR)/usr/include > >> > ^^^^^^^^^^^^^^ > >> > >> depending on the package --prefix=$(STAGING_DIR)/usr is enough > > ^^^^^^^^^ > > > >Could you please be more verbose? How does one identify which is which? > > packages that use autoconf usually have: > > Installation directories: > --prefix=PREFIX install architecture-independent files in > PREFIX > [/usr/local] But of course. Using --prefix=/usr (instead of 10 options) should be enough in most cases. A lot of configure options need removing from the .mk files. > So, for packages that actually install to and use config files from > sysconfdir, these should live in $(TARGET_DIR)/etc (resp > $(STAGING_DIR)/etc) and not in $(TARGET_DIR)/usr/etc Yes. > libpcap, for example can be configured with > --prefix=/usr > and installed with > $(MAKE) DESTDIR=$(STAGING_DIR) -C $(LIBPCAP_DIR) install > (assuming that it doesn't install anything into /etc). > > See? Quite simple, isn't it :D ? > PS: Of course there is DESTDIR vs. PREFIX. Look at the respective > Makefile{.am,.in,} Yes. I was probably not clear enough. Let me try one more time. --prefix=/usr vs --prefix=$(STAGING_DIR)/usr ^^^^^^^^^^^^^^ I noticed use of the -isysroot and --sysroot gcc compiler options. My interpretation of these options after reading the info pages: ,---- | `-isysroot DIR' | This option is like the `--sysroot' option, but applies only to | header files. See the `--sysroot' option for more information. | | `--sysroot=DIR' | Use DIR as the logical root directory for headers and libraries. | For example, if the compiler would normally search for headers in | `/usr/include' and libraries in `/usr/lib', it will instead search | `DIR/usr/include' and `DIR/usr/lib'. | | If you use both this option and the `-isysroot' option, then the | `--sysroot' option will apply to libraries, but the `-isysroot' | option will apply to header files. | | The GNU linker (beginning with version 2.16) has the necessary | support for this option. If your linker does not support this | option, the header file aspect of `--sysroot' will still work, but | the library aspect will not. `---- is that $(STAGING_DIR) is not needed if the gcc option --sysroot=$(STAGING_DIR) is used. Does this make sense? Cheers, -- Cristian ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] --includedir=/usr/include vs --includedir=(STAGING_DIR)/usr/include 2007-07-31 8:40 ` Cristian Ionescu-Idbohrn @ 2007-07-31 9:45 ` Bernhard Fischer 0 siblings, 0 replies; 10+ messages in thread From: Bernhard Fischer @ 2007-07-31 9:45 UTC (permalink / raw) To: buildroot On Tue, Jul 31, 2007 at 10:40:55AM +0200, Cristian Ionescu-Idbohrn wrote: >On Mon, 30 Jul 2007, Bernhard Fischer wrote: > >> On Mon, Jul 30, 2007 at 09:52:51PM +0200, Cristian Ionescu-Idbohrn wrote: >> >On Mon, 30 Jul 2007, Bernhard Fischer wrote: >> > >> >> > --includedir=/usr/include vs --includedir=$(STAGING_DIR)/usr/include >> >> > ^^^^^^^^^^^^^^ >> >> >> >> depending on the package --prefix=$(STAGING_DIR)/usr is enough >> > ^^^^^^^^^ >> > >> >Could you please be more verbose? How does one identify which is which? >> >> packages that use autoconf usually have: >> >> Installation directories: >> --prefix=PREFIX install architecture-independent files in >> PREFIX >> [/usr/local] > >But of course. Using --prefix=/usr (instead of 10 options) should be >enough in most cases. A lot of configure options need removing from >the .mk files. /me nods [snip overall happy agreement] >> libpcap, for example can be configured with >> --prefix=/usr >> and installed with >> $(MAKE) DESTDIR=$(STAGING_DIR) -C $(LIBPCAP_DIR) install >> (assuming that it doesn't install anything into /etc). >> >> See? > >Quite simple, isn't it :D ? yep :) > >> PS: Of course there is DESTDIR vs. PREFIX. Look at the respective >> Makefile{.am,.in,} > >Yes. > >I was probably not clear enough. Let me try one more time. > > --prefix=/usr vs --prefix=$(STAGING_DIR)/usr > ^^^^^^^^^^^^^^ > >I noticed use of the -isysroot and --sysroot gcc compiler options. My >interpretation of these options after reading the info pages: > >,---- >| `-isysroot DIR' >| This option is like the `--sysroot' option, but applies only to >| header files. See the `--sysroot' option for more information. >| >| `--sysroot=DIR' >| Use DIR as the logical root directory for headers and libraries. >| For example, if the compiler would normally search for headers in >| `/usr/include' and libraries in `/usr/lib', it will instead search >| `DIR/usr/include' and `DIR/usr/lib'. >| >| If you use both this option and the `-isysroot' option, then the >| `--sysroot' option will apply to libraries, but the `-isysroot' >| option will apply to header files. >| >| The GNU linker (beginning with version 2.16) has the necessary >| support for this option. If your linker does not support this >| option, the header file aspect of `--sysroot' will still work, but >| the library aspect will not. >`---- > >is that $(STAGING_DIR) is not needed if the gcc option >--sysroot=$(STAGING_DIR) is used. Does this make sense? yes, it does in my POV. IIRC the old, unsupported (by upstream) gcc versions without sysroot support pass the staging_dir via -I and -L, but you should double check if a non sysroot-enabled toolchain still builds them fine, i guess. cheers, ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] --includedir=/usr/include vs --includedir=(STAGING_DIR)/usr/include 2007-07-30 19:36 ` Bernhard Fischer 2007-07-30 19:52 ` Cristian Ionescu-Idbohrn @ 2007-07-31 6:13 ` Hans-Christian Egtvedt 2007-07-31 8:43 ` Bernhard Fischer 1 sibling, 1 reply; 10+ messages in thread From: Hans-Christian Egtvedt @ 2007-07-31 6:13 UTC (permalink / raw) To: buildroot On Mon, 2007-07-30 at 21:36 +0200, Bernhard Fischer wrote: > On Mon, Jul 30, 2007 at 09:06:34PM +0200, Cristian Ionescu-Idbohrn wrote: > >On Mon, 30 Jul 2007, Steven J. Hill wrote: > > > >> > Noticed that some .mk files use different --includedir= configure options. > >> > Shouldn't --includedir=/usr/include be used everywhere? > >> > > >> With the recent changes that buildroot has undergone, I actually think > >> this is a good idea. Any objections to getting rid of 'include' in the > >> staging directory all together and going to 'usr/include'? > > > >That's fine with me. But my question was: > > > > --includedir=/usr/include vs --includedir=$(STAGING_DIR)/usr/include > > ^^^^^^^^^^^^^^ > > depending on the package --prefix=$(STAGING_DIR)/usr > is enough and all other (except, perhaps specifying the location of > $(STAGING_DIR)/etc) are not needed anymore. > > There are indeed quite some packages that are not yet converted. Patches > to clean those up are very welcome. In the same go a cleanup of all libdir variables in lib<name>.la should be done? I see some libraries have /usr/lib there, and it can make some confusing moments if you have the library installed on the build machine as well. -- With kind regards, Hans-Christian Egtvedt, siv.ing. (M.Sc.) Applications Engineer - AVR32 System Solutions - Atmel Norway ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] --includedir=/usr/include vs --includedir=(STAGING_DIR)/usr/include 2007-07-31 6:13 ` Hans-Christian Egtvedt @ 2007-07-31 8:43 ` Bernhard Fischer 0 siblings, 0 replies; 10+ messages in thread From: Bernhard Fischer @ 2007-07-31 8:43 UTC (permalink / raw) To: buildroot On Tue, Jul 31, 2007 at 08:13:27AM +0200, Hans-Christian Egtvedt wrote: > >On Mon, 2007-07-30 at 21:36 +0200, Bernhard Fischer wrote: >> On Mon, Jul 30, 2007 at 09:06:34PM +0200, Cristian Ionescu-Idbohrn wrote: >> >On Mon, 30 Jul 2007, Steven J. Hill wrote: >> > >> >> > Noticed that some .mk files use different --includedir= configure options. >> >> > Shouldn't --includedir=/usr/include be used everywhere? >> >> > >> >> With the recent changes that buildroot has undergone, I actually think >> >> this is a good idea. Any objections to getting rid of 'include' in the >> >> staging directory all together and going to 'usr/include'? >> > >> >That's fine with me. But my question was: >> > >> > --includedir=/usr/include vs --includedir=$(STAGING_DIR)/usr/include >> > ^^^^^^^^^^^^^^ >> >> depending on the package --prefix=$(STAGING_DIR)/usr >> is enough and all other (except, perhaps specifying the location of >> $(STAGING_DIR)/etc) are not needed anymore. >> >> There are indeed quite some packages that are not yet converted. Patches >> to clean those up are very welcome. > >In the same go a cleanup of all libdir variables in lib<name>.la should >be done? I see some libraries have /usr/lib there, and it can make some >confusing moments if you have the library installed on the build machine >as well. AFAICS yes. The target_dir .la should use the absolute target-pathes (e.g. /usr/lib) and the staging_dir .la should use absolute cross-pathes ($(STAGING_DIR)/usr/lib for example), yes. IIRC some packages -- those that are actually used as prerequisites for other packages in build_ARCH -- already fixup their .la via $(SED). ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2007-07-31 9:45 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2007-07-30 18:49 [Buildroot] --includedir=/usr/include vs --includedir=$(STAGING_DIR)/usr/include Cristian Ionescu-Idbohrn 2007-07-30 19:02 ` Steven J. Hill 2007-07-30 19:06 ` [Buildroot] --includedir=/usr/include vs --includedir=(STAGING_DIR)/usr/include Cristian Ionescu-Idbohrn 2007-07-30 19:36 ` Bernhard Fischer 2007-07-30 19:52 ` Cristian Ionescu-Idbohrn 2007-07-30 20:11 ` Bernhard Fischer 2007-07-31 8:40 ` Cristian Ionescu-Idbohrn 2007-07-31 9:45 ` Bernhard Fischer 2007-07-31 6:13 ` Hans-Christian Egtvedt 2007-07-31 8:43 ` Bernhard Fischer
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox