2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
[grub2/phcoder.git] / configure.ac
blobb5c8acbb6b45c2a9cf6194b915c37aa4a290b452
1 # Process this file with autoconf to produce a configure script.
3 # Copyright (C) 2002,2003,2004,2005,2006,2007,2008,2009  Free Software Foundation, Inc.
5 # This configure.ac is free software; the author
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
14 dnl This configure script is complicated, because GRUB needs to deal
15 dnl with three potentially different types:
16 dnl
17 dnl   build  -- the environment for building GRUB
18 dnl   host   -- the environment for running utilities
19 dnl   target -- the environment for running GRUB
20 dnl
21 dnl In addition, GRUB needs to deal with a platform specification
22 dnl which specifies the system running GRUB, such as firmware.
23 dnl This is necessary because the target type in autoconf does not
24 dnl describe such a system very well.
25 dnl
26 dnl The current strategy is to use variables with no prefix (such as
27 dnl CC, CFLAGS, etc.) for the host type as well as the build type,
28 dnl because GRUB does not need to use those variables for the build
29 dnl type, so there is no conflict. Variables with the prefix "TARGET_"
30 dnl (such as TARGET_CC, TARGET_CFLAGS, etc.) are used for the target
31 dnl type.
34 AC_INIT([GRUB],[1.96],[bug-grub@gnu.org])
35 AC_PREREQ(2.59)
36 AC_CONFIG_SRCDIR([include/grub/dl.h])
37 AC_CONFIG_HEADER([config.h])
39 # Checks for host and target systems.
40 AC_CANONICAL_HOST
41 AC_CANONICAL_TARGET
43 # Program name transformations
44 AC_ARG_PROGRAM
46 case "$target_cpu" in
47   i[[3456]]86)  target_cpu=i386 ;;
48   sparc)        target_cpu=sparc64 ;;
49 esac
51 # Specify the platform (such as firmware).
52 AC_ARG_WITH([platform],
53             AS_HELP_STRING([--with-platform=PLATFORM],
54                            [select the host platform [[guessed]]]))
56 # Guess the platform if not specified.
57 if test "x$with_platform" = x; then
58   case "$target_cpu"-"$target_vendor" in
59     i386-apple) platform=efi ;;
60     i386-*) platform=pc ;;
61     x86_64-apple) platform=efi ;;
62     x86_64-*) platform=pc ;;
63     powerpc-*) platform=ieee1275 ;;
64     powerpc64-*) platform=ieee1275 ;;
65     sparc64-*) platform=ieee1275 ;;
66     *) AC_MSG_ERROR([unsupported CPU: "$target_cpu"]) ;;
67   esac
68 else
69   platform="$with_platform"
72 # Adjust CPU unless target was explicitly specified.
73 if test -z "$target_alias"; then
74   case "$target_cpu"-"$platform" in
75     x86_64-efi) ;;
76     x86_64-*) target_cpu=i386 ;;
77     powerpc64-ieee1275) target_cpu=powerpc ;;
78   esac
81 # Check if the platform is supported, make final adjustments.
82 case "$target_cpu"-"$platform" in
83   i386-efi) ;;
84   x86_64-efi) ;;
85   i386-pc) ;;
86   i386-coreboot) ;;
87   i386-linuxbios) platform=coreboot ;;
88   i386-ieee1275) ;;
89   i386-qemu) ;;
90   powerpc-ieee1275) ;;
91   sparc64-ieee1275) ;;
92   *) AC_MSG_ERROR([platform "$platform" is not supported for target CPU "$target_cpu"]) ;;
93 esac
95 case "$target_cpu" in
96   i386 | powerpc) target_m32=1 ;;
97   x86_64 | sparc64) target_m64=1 ;;
98 esac
100 case "$host_os" in
101   mingw32) host_os=cygwin ;;
102 esac
104 # This normalizes the names, and creates a new variable ("host_kernel")
105 # while at it, since the mapping is not always 1:1 (e.g. different OSes
106 # using the same kernel type).
107 case "$host_os" in
108   gnu*)                         host_kernel=hurd ;;
109   linux*)                       host_kernel=linux ;;
110   freebsd* | kfreebsd*-gnu)     host_kernel=freebsd ;;
111   cygwin)                       host_kernel=windows ;;
112 esac
114 AC_SUBST(host_cpu)
115 AC_SUBST(host_os)
116 AC_SUBST(host_kernel)
118 AC_SUBST(target_cpu)
119 AC_SUBST(platform)
122 # Checks for build programs.
125 # Although cmp is listed in the GNU Coding Standards as a command which
126 # can used directly, OpenBSD lacks cmp in the default installation.
127 AC_CHECK_PROGS([CMP], [cmp])
128 if test "x$CMP" = x; then
129   AC_MSG_ERROR([cmp is not found])
132 AC_CHECK_PROGS([YACC], [bison])
133 if test "x$YACC" = x; then
134   AC_MSG_ERROR([bison is not found])
137 for file in /usr/src/unifont.bdf ; do
138   if test -e $file ; then
139     AC_SUBST([UNIFONT_BDF], [$file])
140     break
141   fi
142 done
144 AC_PROG_INSTALL
145 AC_PROG_AWK
146 AC_PROG_MAKE_SET
148 # These are not a "must".
149 AC_PATH_PROG(RUBY, ruby)
150 AC_PATH_PROG(HELP2MAN, help2man)
153 # Checks for host programs.
156 AC_PROG_CC
157 # Must be GCC.
158 test "x$GCC" = xyes || AC_MSG_ERROR([GCC is required])
160 AC_GNU_SOURCE
161 AC_SYS_LARGEFILE
163 # Identify characteristics of the host architecture.
164 AC_C_BIGENDIAN
165 AC_CHECK_SIZEOF(void *)
166 AC_CHECK_SIZEOF(long)
168 grub_apple_cc
169 if test x$grub_cv_apple_cc = xyes ; then
170   CFLAGS="$CFLAGS -DAPPLE_CC=1 -fnested-functions"
171   ASFLAGS="$ASFLAGS -DAPPLE_CC=1"
174 # Check for functions.
175 AC_CHECK_FUNCS(posix_memalign memalign asprintf)
178 # Check for target programs.
181 # Find tools for the target.
182 if test "x$target_alias" != x && test "x$host_alias" != "x$target_alias"; then
183   tmp_ac_tool_prefix="$ac_tool_prefix"
184   ac_tool_prefix=$target_alias-
186   AC_CHECK_TOOLS(TARGET_CC, [gcc egcs cc],
187                  [AC_MSG_ERROR([none of gcc, egcs and cc is found. set TARGET_CC manually.])])
188   AC_CHECK_TOOL(OBJCOPY, objcopy)
189   AC_CHECK_TOOL(STRIP, strip)
190   AC_CHECK_TOOL(NM, nm)
192   ac_tool_prefix="$tmp_ac_tool_prefix"
193 else
194   if test "x$TARGET_CC" = x; then
195     TARGET_CC=$CC
196   fi
197   AC_CHECK_TOOL(OBJCOPY, objcopy)
198   AC_CHECK_TOOL(STRIP, strip)
199   AC_CHECK_TOOL(NM, nm)
201 AC_SUBST(TARGET_CC)
204 # Test the C compiler for the target environment.
205 tmp_CC="$CC"
206 tmp_CFLAGS="$CFLAGS"
207 tmp_LDFLAGS="$LDFLAGS"
208 tmp_CPPFLAGS="$CPPFLAGS"
209 tmp_LIBS="$LIBS"
210 CC="$TARGET_CC"
211 CFLAGS="$TARGET_CFLAGS"
212 CPPFLAGS="$TARGET_CPPFLAGS"
213 LDFLAGS="$TARGET_LDFLAGS"
214 LIBS=""
216 if test "x$TARGET_CFLAGS" = x; then
217   # debug flags.
218   TARGET_CFLAGS="-Wall -W -Wshadow -Wpointer-arith -Wmissing-prototypes \
219                  -Wundef -Wstrict-prototypes -g"
221   # optimization flags.
222   AC_CACHE_CHECK([whether optimization for size works], grub_cv_cc_Os, [
223     CFLAGS=-Os
224     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
225                       [grub_cv_cc_Os=yes],
226                       [grub_cv_cc_Os=no])
227   ])
228   if test "x$grub_cv_cc_Os" = xyes; then
229     TARGET_CFLAGS="$TARGET_CFLAGS -Os"
230   else
231     TARGET_CFLAGS="$TARGET_CFLAGS -O2 -fno-strength-reduce -fno-unroll-loops"
232   fi
234   # Force no alignment to save space on i386.
235   if test "x$target_cpu" = xi386; then
236     AC_CACHE_CHECK([whether -falign-loops works], [grub_cv_cc_falign_loop], [
237       CFLAGS="$CFLAGS -falign-loops=1"
238       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
239                         [grub_cv_cc_falign_loop=yes],
240                         [grub_cv_cc_falign_loop=no])
241     ])
243     if test "x$grub_cv_cc_falign_loop" = xyes; then
244       TARGET_CFLAGS="$TARGET_CFLAGS -falign-jumps=1 -falign-loops=1 -falign-functions=1"
245     else
246       TARGET_CFLAGS="$TARGET_CFLAGS -malign-jumps=1 -malign-loops=1 -malign-functions=1"
247     fi
248   fi
251 grub_apple_target_cc
252 if test x$grub_cv_apple_target_cc = xyes ; then
253   TARGET_CFLAGS="$TARGET_CFLAGS -DAPPLE_CC=1 -fnested-functions"
254   CFLAGS="$CFLAGS -DAPPLE_CC=1 -fnested-functions"
255   TARGET_ASFLAGS="$TARGET_ASFLAGS -DAPPLE_CC=1"
256   TARGET_APPLE_CC=1
257   AC_CHECK_PROG([OBJCONV], [objconv], [objconv], [])
258   if test "x$OBJCONV" = x ; then
259      AC_CHECK_PROG([OBJCONV], [objconv], [./objconv], [], [.])
260   fi
261   if test "x$OBJCONV" = x ; then
262     AC_MSG_ERROR([objconv not found which is required when building with apple compiler])
263   fi
264   TARGET_IMG_LDSCRIPT=
265   TARGET_IMG_CFLAGS="-static"
266   TARGET_IMG_LDFLAGS='-nostdlib -static -Wl,-preload -Wl,-segalign,20 -Wl,-image_base,'
267   TARGET_IMG_LDFLAGS_AC='-nostdlib -static -Wl,-preload -Wl,-segalign,20 -Wl,-image_base,'
268 else
269   TARGET_APPLE_CC=0
270 # Use linker script if present, otherwise use builtin -N script.
271 if test -f "${srcdir}/conf/${target_cpu}-${platform}-${host_os}-img-ld.sc"; then
272   TARGET_IMG_LDSCRIPT='$(top_srcdir)'"/conf/${target_cpu}-${platform}-${host_os}-img-ld.sc"
273   TARGET_IMG_LDFLAGS="-Wl,-T${TARGET_IMG_LDSCRIPT}  -Wl,-Ttext,"
274   TARGET_IMG_LDFLAGS_AC="-Wl,-T${srcdir}/conf/${target_cpu}-${platform}-${host_os}-img-ld.sc"
275 else
276   TARGET_IMG_LDSCRIPT=
277   TARGET_IMG_LDFLAGS='-Wl,-N  -Wl,-Ttext,'
278   TARGET_IMG_LDFLAGS_AC='-Wl,-N  -Wl,-Ttext,'
280 TARGET_IMG_CFLAGS=
283 AC_SUBST(TARGET_IMG_LDSCRIPT)
284 AC_SUBST(TARGET_IMG_LDFLAGS)
285 AC_SUBST(TARGET_IMG_CFLAGS)
287 # For platforms where ELF is not the default link format.
288 AC_MSG_CHECKING([for command to convert module to ELF format])
289 case "${host_os}" in
290   cygwin) TARGET_OBJ2ELF='grub-pe2elf' ;;
291   *) ;;
292 esac
293 AC_SUBST(TARGET_OBJ2ELF)
294 AC_MSG_RESULT([$TARGET_OBJ2ELF])
297 if test "x$target_m32" = x1; then
298   # Force 32-bit mode.
299   TARGET_CFLAGS="$TARGET_CFLAGS -m32"
300   TARGET_LDFLAGS="$TARGET_LDFLAGS -m32"
301   TARGET_MODULE_FORMAT="elf32"
304 if test "x$target_m64" = x1; then
305   # Force 64-bit mode.
306   TARGET_CFLAGS="$TARGET_CFLAGS -m64"
307   TARGET_LDFLAGS="$TARGET_LDFLAGS -m64"
308   TARGET_MODULE_FORMAT="elf64"
311 if test "$target_cpu"-"$platform" = x86_64-efi; then
312   # Use large model to support 4G memory
313   AC_CACHE_CHECK([whether option -mcmodel=large works], grub_cv_cc_mcmodel, [
314     SAVED_CFLAGS=$CFLAGS
315     CFLAGS="$CFLAGS -m64 -mcmodel=large"
316     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
317                       [grub_cv_cc_mcmodel=yes],
318                       [grub_cv_cc_mcmodel=no])
319   ])
320   if test "x$grub_cv_cc_mcmodel" = xno; then
321     CFLAGS="$SAVED_CFLAGS -m64 -DMCMODEL_SMALL=1"
322     TARGET_CFLAGS="$TARGET_CFLAGS -DMCMODEL_SMALL=1"
323     AC_MSG_WARN([-mcmodel=large not supported. You won't be able to use the memory over 4GiB. Upgrade your gcc])
324   else
325     TARGET_CFLAGS="$TARGET_CFLAGS -mcmodel=large"
326   fi
328   # EFI writes to stack below %rsp, we must not use the red zone
329   AC_CACHE_CHECK([whether option -mno-red-zone works], grub_cv_cc_no_red_zone, [
330     CFLAGS="$CFLAGS -m64 -mno-red-zone"
331     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
332                       [grub_cv_cc_no_red_zone=yes],
333                       [grub_cv_cc_no_red_zone=no])
334   ])
335   if test "x$grub_cv_cc_no_red_zone" = xno; then
336     AC_MSG_ERROR([-mno-red-zone not supported, upgrade your gcc])
337   fi
339   TARGET_CFLAGS="$TARGET_CFLAGS -mno-red-zone"
343 # Compiler features.
346 # Need __enable_execute_stack() for nested function trampolines?
347 grub_CHECK_ENABLE_EXECUTE_STACK
349 # Smashing stack protector.
350 grub_CHECK_STACK_PROTECTOR
351 # Need that, because some distributions ship compilers that include
352 # `-fstack-protector' in the default specs.
353 if test "x$ssp_possible" = xyes; then
354   TARGET_CFLAGS="$TARGET_CFLAGS -fno-stack-protector"
356 grub_CHECK_STACK_ARG_PROBE
357 # Cygwin's GCC uses alloca() to probe the stackframe on static
358 # stack allocations above some threshold.
359 if test x"$sap_possible" = xyes; then
360   TARGET_CFLAGS="$TARGET_CFLAGS -mno-stack-arg-probe"
363 AC_SUBST(TARGET_CFLAGS)
364 AC_SUBST(TARGET_MODULE_FORMAT)
365 AC_SUBST(OBJCONV)
366 AC_SUBST(TARGET_APPLE_CC)
367 AC_SUBST(TARGET_ASFLAGS)
368 AC_SUBST(TARGET_CPPFLAGS)
369 AC_SUBST(TARGET_LDFLAGS)
371 # Set them to their new values for the tests below.
372 CC="$TARGET_CC"
373 if test "x$TARGET_APPLE_CC" = x1 ; then
374 CFLAGS="$TARGET_CFLAGS -nostdlib"
375 else
376 CFLAGS="$TARGET_CFLAGS -nostdlib -Wl,--defsym,___main=0x8100"
378 CPPFLAGS="$TARGET_CPPFLAGS"
379 LDFLAGS="$TARGET_LDFLAGS"
381 # Defined in aclocal.m4.
382 grub_PROG_TARGET_CC
383 if test "x$TARGET_APPLE_CC" != x1 ; then
384 grub_PROG_OBJCOPY_ABSOLUTE
386 grub_PROG_LD_BUILD_ID_NONE
387 grub_ASM_USCORE
388 if test "x$target_cpu" = xi386; then
389   if test ! -z "$TARGET_IMG_LDSCRIPT"; then
390     # Check symbols provided by linker script.
391     CFLAGS="$TARGET_CFLAGS -nostdlib $TARGET_IMG_LDFLAGS_AC -Wl,-Ttext,8000,--defsym,___main=0x8100"
392   fi
393   if test "x$TARGET_APPLE_CC" != x1 ; then
394     grub_CHECK_BSS_START_SYMBOL
395     grub_CHECK_END_SYMBOL
396   fi
397   CFLAGS="$TARGET_CFLAGS"
398   grub_I386_ASM_PREFIX_REQUIREMENT
399   grub_I386_ASM_ADDR32
400   grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK
401 else
402   AC_DEFINE([NESTED_FUNC_ATTR], [], [Catch gcc bug])
405 AH_BOTTOM([#if defined(__i386__) && !defined(GRUB_UTIL)
406 #define NESTED_FUNC_ATTR __attribute__ ((__regparm__ (1)))
407 #else
408 #define NESTED_FUNC_ATTR
409 #endif])
411 AC_ARG_ENABLE([efiemu],
412               [AS_HELP_STRING([--enable-efiemu],
413                              [build and install the efiemu runtimes (default=guessed)])])
414 if test x"$enable_efiemu" = xno ; then
415   efiemu_excuse="explicitly disabled"
417 if test x"$efiemu_excuse" = x ; then
418   AC_CACHE_CHECK([whether options required for efiemu work], grub_cv_cc_efiemu, [
419     CFLAGS="$CFLAGS -m64 -mcmodel=large -mno-red-zone -nostdlib"
420     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
421                       [grub_cv_cc_efiemu=yes],
422                       [grub_cv_cc_efiemu=no])
423   ])
424   if test x$grub_cv_cc_efiemu = xno; then
425      efiemu_excuse="compiler doesn't support compiling with -m64 -mcmodel=large -mno-red-zone -nostdlib"
426   fi
428 if test x"$enable_efiemu" = xyes && test x"$efiemu_excuse" != x ; then
429   AC_MSG_ERROR([efiemu runtime was explicitly requested but can't be compiled])
431 if test x"$efiemu_excuse" = x ; then
432 enable_efiemu=yes
433 else
434 enable_efiemu=no
436 AC_SUBST([enable_efiemu])
439 # Restore the flags.
440 CC="$tmp_CC"
441 CFLAGS="$tmp_CFLAGS"
442 CPPFLAGS="$tmp_CPPFLAGS"
443 LDFLAGS="$tmp_LDFLAGS"
444 LIBS="$tmp_LIBS"
447 # Check for options.
450 # Memory manager debugging.
451 AC_ARG_ENABLE([mm-debug],
452               AS_HELP_STRING([--enable-mm-debug],
453                              [include memory manager debugging]),
454               [AC_DEFINE([MM_DEBUG], [1],
455                          [Define to 1 if you enable memory manager debugging.])])
457 AC_ARG_ENABLE([grub-emu],
458               [AS_HELP_STRING([--enable-grub-emu],
459                              [build and install the `grub-emu' debugging utility (default=guessed)])])
460 AC_ARG_ENABLE([grub-emu-usb],
461               [AS_HELP_STRING([--enable-grub-emu-usb],
462                              [build and install the `grub-emu' debugging utility with USB support (default=guessed)])])
463 if test x"$enable_grub_emu" = xno ; then
464   grub_emu_excuse="explicitly disabled"
467   [# Check for curses libraries.]
468 [if [ x"$grub_emu_excuse" = x ]; then ]
469   AC_CHECK_LIB([ncurses], [wgetch], [LIBCURSES="-lncurses"],
470     [AC_CHECK_LIB([curses], [wgetch], [LIBCURSES="-lcurses"],
471       [grub_emu_excuse=["(n)curses libraries are required to build \`grub-emu'"]])])
472   AC_SUBST([LIBCURSES])
473 [fi]
474 [if [ x"$grub_emu_excuse" = x ]; then ]
475   [# Check for headers.]
476   AC_CHECK_HEADERS([ncurses/curses.h], [],
477     [AC_CHECK_HEADERS([ncurses.h], [],
478       [AC_CHECK_HEADERS([curses.h], [],
479         [grub_emu_excuse=["(n)curses header files are required to build \`grub-emu'"]])])])
480 [fi]
482 if test x"$enable_grub_emu" = xyes && test x"$grub_emu_excuse" != x ; then
483   AC_MSG_ERROR([grub-emu was explicitly requested but can't be compiled])
485 if test x"$grub_emu_excuse" = x ; then
486 enable_grub_emu=yes
487 else
488 enable_grub_emu=no
489 grub_emu_usb_excuse="grub-emu isn't built"
491 if test x"$enable_grub_emu_usb" = xno ; then
492   grub_emu_usb_excuse="explicitly disabled"
494 [if [ x"$grub_emu_usb_excuse" = x ]; then
495     # Check for libusb libraries.]
496 AC_CHECK_LIB([usb], [usb_claim_interface], [LIBUSB="-lusb"],
497     [grub_emu_usb_excuse=["libusb libraries are required to build \`grub-emu' with USB support"]])
498     AC_SUBST([LIBUSB])
499 [fi]
500 [if [ x"$grub_emu_usb_excuse" = x ]; then
501     # Check for headers.]
502     AC_CHECK_HEADERS([usb.h], [],
503       [grub_emu_usb_excuse=["libusb header file is required to build \`grub-emu' with USB support"]])
504 [fi]
505 if test x"enable_grub_emu_usb" = xyes && test x"$grub_emu_usb_excuse" != x ; then
506   AC_MSG_ERROR([USB support for grub-emu was explicitly requested but can't be compiled])
508 if test x"$grub_emu_usb_excuse" = x ; then
509 enable_grub_emu_usb=yes
510 else
511 enable_grub_emu_usb=no
514 AC_SUBST([enable_grub_emu])
515 AC_SUBST([enable_grub_emu_usb])
517 AC_ARG_ENABLE([grub-fstest],
518               [AS_HELP_STRING([--enable-grub-fstest],
519                              [build and install the `grub-fstest' debugging utility (default=guessed)])])
520 if test x"$enable_grub_fstest" = xno ; then
521   grub_fstest_excuse="explicitly disabled"
523 if test x"$grub_fstest_excuse" = x ; then
524 enable_grub_fstest=yes
525 else
526 enable_grub_fstest=no
528 AC_SUBST([enable_grub_fstest])
530 AC_ARG_ENABLE([grub-pe2elf],
531               [AS_HELP_STRING([--enable-grub-pe2elf],
532                              [build and install the `grub-pe2elf' conversion utility])])
533 AC_SUBST([enable_grub_pe2elf])
535 AC_ARG_ENABLE([grub-mkfont],
536               [AS_HELP_STRING([--enable-grub-mkfont],
537                              [build and install the `grub-mkfont' utility (default=guessed)])])
538 if test x"$enable_grub_mkfont" = xno ; then
539   grub_mkfont_excuse="explicitly disabled"
542 if test x"$grub_mkfont_excuse" = x ; then
543   # Check for freetype libraries.
544   AC_CHECK_PROGS([FREETYPE], [freetype-config])
545   if test "x$FREETYPE" = x ; then
546     grub_mkfont_excuse=["freetype2 libraries are required to build \`grub-mkfont'"]
547   fi
548   freetype_cflags=`freetype-config --cflags`
549   freetype_libs=`freetype-config --libs`
551 if test x"$enable_grub_mkfont" = xyes && test x"$grub_mkfont_excuse" != x ; then
552   AC_MSG_ERROR([grub-mkfont was explicitly requested but can't be compiled])
554 if test x"$grub_mkfont_excuse" = x ; then
555 enable_grub_mkfont=yes
556 else
557 enable_grub_mkfont=no
559 AC_SUBST([enable_grub_mkfont])
560 AC_SUBST([freetype_cflags])
561 AC_SUBST([freetype_libs])
563 AC_SUBST(ASFLAGS)
565 # Output files.
566 grub_CHECK_LINK_DIR
567 if test x"$link_dir" = xyes ; then
568   AC_CONFIG_LINKS([include/grub/cpu:include/grub/$target_cpu
569         include/grub/machine:include/grub/$target_cpu/$platform])
570 else
571   mkdir -p include/grub 2>/dev/null
572   rm -rf include/grub/cpu
573   cp -rp $srcdir/include/grub/$target_cpu include/grub/cpu 2>/dev/null
574   rm -rf include/grub/machine
575   cp -rp $srcdir/include/grub/$target_cpu/$platform include/grub/machine 2>/dev/null
577 AC_CONFIG_FILES([Makefile gensymlist.sh genkernsyms.sh])
578 AC_CONFIG_FILES([stamp-h], [echo timestamp > stamp-h])
579 AC_OUTPUT
581 echo "*******************************************************"
582 echo GRUB2 will be compiled with following components:
583 echo Platform: "$target_cpu"-"$platform"
584 if [ x"$grub_emu_excuse" = x ]; then
585 echo grub-emu: Yes
586 else
587 echo grub-emu: No "($grub_emu_excuse)"
589 if [ x"$grub_emu_usb_excuse" = x ]; then
590 echo USB support for grub-emu: Yes
591 else
592 echo USB support for grub-emu: No "($grub_emu_usb_excuse)"
594 if [ x"$enable_mm_debug" = xyes ]; then
595 echo With memory debugging: Yes
596 else
597 echo With memory debugging: No
599 if [ x"$enable_grub_pe2elf" = xyes ]; then
600 echo grub-pe2elf will be built and installed
601 elif [ x$TARGET_OBJ2ELF = xgrub-pe2elf ]; then
602 echo grub-pe2elf will be built but not installed
603 else
604 echo grub-pe2elf will not be built
606 if [ x"$efiemu_excuse" = x ]; then
607 echo efiemu runtime: Yes
608 else
609 echo efiemu runtime: No "($efiemu_excuse)"
611 if [ x"$grub_fstest_excuse" = x ]; then
612 echo grub-fstest: Yes
613 else
614 echo grub-fstest: No "($grub_fstest_excuse)"
616 if [ x"$grub_mkfont_excuse" = x ]; then
617 echo grub-mkfont: Yes
618 else
619 echo grub-mkfont: No "($grub_mkfont_excuse)"
621 echo "*******************************************************"