Skip to contentSkip to conversation

Don't install Cygwin specific files elsewhere

PATCH In review Christian Franke 1 participant 2 messages Aug 8, 2008 – Aug 9, 2008 Kbuild

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Don't install Cygwin specific files elsewhere

This patch prevents the install of grub.d/10_windows on other OS.

grub-pe2elf is only installed if requested by --enable-grub-pe2elf. Even on Cygwin, grub-pe2elf is only required during build.

Christian

2008-08-08 Christian Franke <[email protected]>

* Makefile.in: Add target_os' and enable_grub_pe2elf'.
* conf/common.rmk: Install grub-pe2elf' only if requested. Install grub.d/10_windows' only on Cygwin.
* configure.ac: Add subst of `target_os'.
Check target_os' also before setting TARGET_OBJ2ELF. Add --enable-grub-pe2elf'.

Makefile.in +2 -0
index 2121431..6137974 100644
@@ -48,6 +48,7 @@ PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 
 target_cpu = @target_cpu@
+target_os = @target_os@
 platform = @platform@
 
 INSTALL = @INSTALL@
@@ -92,6 +93,7 @@ UNIFONT_HEX = @UNIFONT_HEX@
 # Options.
 enable_grub_emu = @enable_grub_emu@
 enable_grub_fstest = @enable_grub_fstest@
+enable_grub_pe2elf = @enable_grub_pe2elf@
 enable_lzo = @enable_lzo@
 
 ### General variables.
conf/common.rmk +8 -1
index 3d674a6..95859f7 100644
@@ -100,7 +100,10 @@ grub_editenv_SOURCES = util/grub-editenv.c lib/envblk.c util/misc.c kern/misc.c
 CLEANFILES += grub-editenv
 
 # for grub-pe2elf
+ifeq ($(enable_grub_pe2elf), yes)
 bin_UTILITIES += grub-pe2elf
+endif
+
 grub_pe2elf_SOURCES = util/grub-pe2elf.c util/misc.c
 CLEANFILES += grub-pe2elf
 
@@ -120,7 +123,11 @@ CLEANFILES += update-grub_lib
 %: util/grub.d/%.in config.status
 	./config.status --file=$@:$<
 	chmod +x $@
-update-grub_SCRIPTS = 00_header 10_linux 10_hurd 10_windows 30_os-prober 40_custom
+update-grub_SCRIPTS = 00_header 10_linux 10_hurd 30_os-prober 40_custom
+ifeq ($(target_os), cygwin)
+update-grub_SCRIPTS += 10_windows
+endif
+
 CLEANFILES += $(update-grub_SCRIPTS)
 
 update-grub_DATA += util/grub.d/README
configure.ac +10 -3
index 7a5938a..f561b8b 100644
@@ -100,6 +100,7 @@ case "$target_cpu" in
 esac
 
 AC_SUBST(target_cpu)
+AC_SUBST(target_os)
 AC_SUBST(platform)
 
 #
@@ -206,9 +207,10 @@ AC_MSG_RESULT([$TARGET_IMG_LDFLAGS_AC])
 
 # For platforms where ELF is not the default link format.
 AC_MSG_CHECKING([for command to convert module to ELF format])
-if test "$host_os" = cygwin; then
-  TARGET_OBJ2ELF='grub-pe2elf.exe'
-fi
+case "${host_os}:${target_os}" in
+  cygwin:cygwin) TARGET_OBJ2ELF='grub-pe2elf' ;;
+  *) ;;
+esac
 AC_SUBST(TARGET_OBJ2ELF)
 AC_MSG_RESULT([$TARGET_OBJ2ELF])
 
@@ -385,6 +387,11 @@ AC_ARG_ENABLE([grub-fstest],
                              [build and install the `grub-fstest' debugging utility])])
 AC_SUBST([enable_grub_fstest])
 
+AC_ARG_ENABLE([grub-pe2elf],
+	      [AS_HELP_STRING([--enable-grub-pe2elf],
+                             [build and install the `grub-pe2elf' conversion utility])])
+AC_SUBST([enable_grub_pe2elf])
+
 # Output files.
 AC_CONFIG_LINKS([include/grub/cpu:include/grub/$target_cpu
 	include/grub/machine:include/grub/$target_cpu/$platform])
#1 lore raw
Quoted 5 lines · Christian Franke

This patch prevents the install of grub.d/10_windows on other OS.

grub-pe2elf is only installed if requested by --enable-grub-pe2elf. Even on Cygwin, grub-pe2elf is only required during build.

Committed.