Author: smh
Date: Thu Jan 14 18:53:54 2016
New Revision: 294029
URL: https://svnweb.freebsd.org/changeset/base/294029

Log:
  Only build EFI components on supported compilers
  
  As the in-tree GCC does not support __attribute__((ms_abi)) EFI can only
  be built with Clang.
  
  The EFI loader and boot1 validated this, but unused libefi was still built
  causing issues under GCC after warnings where enabled by r293724.
  
  Disable building all of EFI when the selected compiler is GCC.
  
  MFC after:    2 weeks
  X-MFC-With:   r293268
  Sponsored by: Multiplay

Modified:
  head/sys/boot/efi/Makefile
  head/sys/boot/efi/boot1/Makefile
  head/sys/boot/efi/loader/Makefile

Modified: head/sys/boot/efi/Makefile
==============================================================================
--- head/sys/boot/efi/Makefile  Thu Jan 14 18:46:57 2016        (r294028)
+++ head/sys/boot/efi/Makefile  Thu Jan 14 18:53:54 2016        (r294029)
@@ -2,7 +2,8 @@
 
 .include <src.opts.mk>
 
-SUBDIR=                libefi
+# In-tree GCC does not support __attribute__((ms_abi)).
+.if ${COMPILER_TYPE} != "gcc"
 
 .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm"
 .if ${MK_FDT} != "no"
@@ -13,7 +14,10 @@ SUBDIR+=     fdt
 .if ${MACHINE_CPUARCH} == "aarch64" || \
     ${MACHINE_CPUARCH} == "amd64" || \
     ${MACHINE_CPUARCH} == "arm"
-SUBDIR+=       loader boot1
+SUBDIR+=       libefi loader boot1
 .endif
 
+.endif # ${COMPILER_TYPE} != "gcc"
+
 .include <bsd.subdir.mk>
+

Modified: head/sys/boot/efi/boot1/Makefile
==============================================================================
--- head/sys/boot/efi/boot1/Makefile    Thu Jan 14 18:46:57 2016        
(r294028)
+++ head/sys/boot/efi/boot1/Makefile    Thu Jan 14 18:53:54 2016        
(r294029)
@@ -4,9 +4,6 @@ MAN=
 
 .include <bsd.own.mk>
 
-# In-tree GCC does not support __attribute__((ms_abi)).
-.if ${COMPILER_TYPE} != "gcc"
-
 MK_SSP=                no
 
 PROG=          boot1.sym
@@ -96,8 +93,6 @@ boot1.efifat: boot1.efi
 
 CLEANFILES= boot1.efi boot1.efifat
 
-.endif # ${COMPILER_TYPE} != "gcc"
-
 .include <bsd.prog.mk>
 
 beforedepend ${OBJS}: machine

Modified: head/sys/boot/efi/loader/Makefile
==============================================================================
--- head/sys/boot/efi/loader/Makefile   Thu Jan 14 18:46:57 2016        
(r294028)
+++ head/sys/boot/efi/loader/Makefile   Thu Jan 14 18:53:54 2016        
(r294029)
@@ -4,9 +4,6 @@ MAN=
 
 .include <src.opts.mk>
 
-# In-tree GCC does not support __attribute__((ms_abi)).
-.if ${COMPILER_TYPE} != "gcc"
-
 MK_SSP=                no
 
 PROG=          loader.sym
@@ -113,8 +110,6 @@ DPADD=              ${LIBFICL} ${LIBEFI} ${LIBFDT} $
                ${LDSCRIPT}
 LDADD=         ${LIBFICL} ${LIBEFI} ${LIBFDT} ${LIBEFI_FDT} ${LIBSTAND}
 
-.endif # ${COMPILER_TYPE} != "gcc"
-
 .include <bsd.prog.mk>
 
 beforedepend ${OBJS}: machine
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to