Fix grub-emu build on FreeBSD.

* Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
* grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
headers on Linux.
(GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
implementation is currently Linux-specific.
* util/getroot.c (exec_pipe): Define only on Linux or when either
libzfs or libnvpair is unavailable.
(find_root_devices_from_poolname): Remove unused path variable.
This commit is contained in:
Colin Watson 2012-09-22 21:19:58 +01:00
parent 86d08fdb18
commit 794c8c3375
4 changed files with 29 additions and 4 deletions

View file

@ -220,6 +220,9 @@ xgetcwd (void)
#if !defined (__MINGW32__) && !defined (__CYGWIN__) && !defined (__GNU__)
#if (defined (__linux__) || \
!defined (HAVE_LIBZFS) || !defined (HAVE_LIBNVPAIR))
static pid_t
exec_pipe (char **argv, int *fd)
{
@ -258,6 +261,8 @@ exec_pipe (char **argv, int *fd)
}
}
#endif
static char **
find_root_devices_from_poolname (char *poolname)
{
@ -269,7 +274,7 @@ find_root_devices_from_poolname (char *poolname)
zpool_handle_t *zpool;
libzfs_handle_t *libzfs;
nvlist_t *config, *vdev_tree;
nvlist_t **children, **path;
nvlist_t **children;
unsigned int nvlist_count;
unsigned int i;
char *device = 0;