[Midnightbsd-cvs] src [7055] U trunk/sys/conf: switch to compiler.mk
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Sat Jun 20 19:08:43 EDT 2015
Revision: 7055
http://svnweb.midnightbsd.org/src/?rev=7055
Author: laffer1
Date: 2015-06-20 19:08:42 -0400 (Sat, 20 Jun 2015)
Log Message:
-----------
switch to compiler.mk
Modified Paths:
--------------
trunk/Makefile.inc1
trunk/share/mk/bsd.sys.mk
trunk/sys/conf/kern.mk
trunk/sys/conf/kern.pre.mk
trunk/sys/conf/kmod.mk
Property Changed:
----------------
trunk/sys/conf/kern.post.mk
trunk/sys/conf/kern.pre.mk
trunk/sys/conf/kmod.mk
Modified: trunk/Makefile.inc1
===================================================================
--- trunk/Makefile.inc1 2015-06-20 19:15:33 UTC (rev 7054)
+++ trunk/Makefile.inc1 2015-06-20 23:08:42 UTC (rev 7055)
@@ -42,6 +42,7 @@
.include <bsd.own.mk>
.include <bsd.arch.inc.mk>
+.include <bsd.compiler.mk>
# We must do share/info early so that installation of info `dir'
# entries works correctly. Do it first since it is less likely to
@@ -234,7 +235,8 @@
PATH=${BPATH}:${PATH} \
WORLDTMP=${WORLDTMP} \
VERSION="${VERSION}" \
- MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}"
+ MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" \
+ COMPILER_TYPE=${COMPILER_TYPE}
BMAKE= MAKEOBJDIRPREFIX=${WORLDTMP} \
${BMAKEENV} ${MAKE} -f Makefile.inc1 \
DESTDIR= \
@@ -269,6 +271,16 @@
.if ${MK_CDDL} == "no"
WMAKEENV+= NO_CTF=1
.endif
+.if ${CC:T:Mgcc} == "gcc"
+WMAKE_COMPILER_TYPE= gcc
+.elif ${CC:T:Mclang} == "clang"
+WMAKE_COMPILER_TYPE= clang
+.elif ${MK_CLANG_IS_CC} == "no"
+WMAKE_COMPILER_TYPE= gcc
+.else
+WMAKE_COMPILER_TYPE= clang
+.endif
+WMAKEENV+= COMPILER_TYPE=${WMAKE_COMPILER_TYPE}
WMAKE= ${WMAKEENV} ${MAKE} -f Makefile.inc1 DESTDIR=${WORLDTMP}
.if ${TARGET_ARCH} == "amd64"
@@ -303,7 +315,8 @@
CC="${CC} ${LIB32FLAGS}" \
CXX="${CXX} ${LIB32FLAGS}" \
LIBDIR=/usr/lib32 \
- SHLIBDIR=/usr/lib32
+ SHLIBDIR=/usr/lib32 \
+ COMPILER_TYPE=${WMAKE_COMPILER_TYPE}
LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} -DNO_CPU_CFLAGS -DCOMPAT_32BIT \
-DWITHOUT_BIND -DWITHOUT_MAN -DWITHOUT_INFO \
Modified: trunk/share/mk/bsd.sys.mk
===================================================================
--- trunk/share/mk/bsd.sys.mk 2015-06-20 19:15:33 UTC (rev 7054)
+++ trunk/share/mk/bsd.sys.mk 2015-06-20 23:08:42 UTC (rev 7055)
@@ -1,5 +1,5 @@
-# $FreeBSD: src/share/mk/bsd.sys.mk,v 1.37 2005/01/16 21:18:16 obrien Exp $
-# $MidnightBSD: src/share/mk/bsd.sys.mk,v 1.12 2012/06/09 23:10:21 laffer1 Exp $
+# $MidnightBSD$
+# $FreeBSD: release/9.2.0/share/mk/bsd.sys.mk 252048 2013-06-20 22:50:08Z sjg $
#
# This file contains common settings used for building MidnightBSD
# sources.
@@ -9,6 +9,8 @@
# for GCC: http://gcc.gnu.org/onlinedocs/gcc-4.2.1/gcc/Warning-Options.html
+.include <bsd.compiler.mk>
+
# the default is gnu99 for now
CSTD?= gnu99
@@ -29,8 +31,8 @@
.if defined(WARNS)
.if ${WARNS} >= 1
CWARNFLAGS+= -Wsystem-headers
-.if !defined(NO_WERROR) && ((${MK_CLANG_IS_CC} == "no" && \
- ${CC:T:Mclang} != "clang") || !defined(NO_WERROR.clang))
+.if !defined(NO_WERROR) && (${COMPILER_TYPE} != "clang" \
+ || !defined(NO_WERROR.clang))
CWARNFLAGS+= -Werror
.endif # !NO_WERROR && (!CLANG || !NO_WERROR.clang)
.endif # WARNS >= 1
@@ -44,8 +46,8 @@
.if ${WARNS} >= 4
CWARNFLAGS+= -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow\
-Wunused-parameter
-.if !defined(NO_WCAST_ALIGN) && ((${MK_CLANG_IS_CC} == "no" && \
- ${CC:T:Mclang} != "clang") || !defined(NO_WCAST_ALIGN.clang))
+.if !defined(NO_WCAST_ALIGN) && (${COMPILER_TYPE} != "clang" \
+ || !defined(NO_WCAST_ALIGN.clang))
CWARNFLAGS+= -Wcast-align
.endif # !NO_WCAST_ALIGN && (!CLANG || !NO_WCAST_ALIGN.clang)
.endif # WARNS >= 4
@@ -62,8 +64,7 @@
CWARNFLAGS+= -Wno-pointer-sign
# Clang has more warnings enabled by default, and when using -Wall, so if WARNS
# is set to low values, these have to be disabled explicitly.
-.if (${MK_CLANG_IS_CC} != "no" || ${CC:T:Mclang} == "clang") && \
- !defined(EARLY_BUILD)
+.if ${COMPILER_TYPE} == "clang" && !defined(EARLY_BUILD)
.if ${WARNS} <= 6
CWARNFLAGS+= -Wno-empty-body -Wno-string-plus-int
.endif # WARNS <= 6
@@ -72,7 +73,7 @@
-Wno-parentheses-equality -Wno-unused-function -Wno-conversion
.endif # WARNS <= 3
.if ${WARNS} <= 2
-CWARNFLAGS+= -Wno-switch -Wno-switch-enum
+CWARNFLAGS+= -Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter
.endif # WARNS <= 2
.if ${WARNS} <= 1
CWARNFLAGS+= -Wno-parentheses
@@ -90,20 +91,18 @@
.if ${WFORMAT} > 0
#CWARNFLAGS+= -Wformat-nonliteral -Wformat-security -Wno-format-extra-args
CWARNFLAGS+= -Wformat=2 -Wno-format-extra-args
-.if (${MK_CLANG_IS_CC} != "no" || ${CC:T:Mclang} == "clang") && \
- !defined(EARLY_BUILD)
+.if ${COMPILER_TYPE} == "clang" && !defined(EARLY_BUILD)
.if ${WARNS} <= 3
CWARNFLAGS+= -Wno-format-nonliteral
.endif # WARNS <= 3
.endif # CLANG
-.if !defined(NO_WERROR) && ((${MK_CLANG_IS_CC} == "no" && \
- ${CC:T:Mclang} != "clang") || !defined(NO_WERROR.clang))
+.if !defined(NO_WERROR) && (${COMPILER_TYPE} != "clang" \
+ || !defined(NO_WERROR.clang))
CWARNFLAGS+= -Werror
.endif # !NO_WERROR && (!CLANG || !NO_WERROR.clang)
.endif # WFORMAT > 0
.endif # WFORMAT
-.if defined(NO_WFORMAT) || ((${MK_CLANG_IS_CC} != "no" || \
- ${CC:T:Mclang} == "clang") && defined(NO_WFORMAT.clang))
+.if defined(NO_WFORMAT) || (${COMPILER_TYPE} == "clang" && defined(NO_WFORMAT.clang))
CWARNFLAGS+= -Wno-format
.endif # NO_WFORMAT || (CLANG && NO_WFORMAT.clang)
.endif # !NO_WARNS
@@ -112,8 +111,7 @@
CWARNFLAGS+= -Wno-unknown-pragmas
.endif # IGNORE_PRAGMA
-.if (${MK_CLANG_IS_CC} != "no" || ${CC:T:Mclang} == "clang") && \
- !defined(EARLY_BUILD)
+.if ${COMPILER_TYPE} == "clang" && !defined(EARLY_BUILD)
CLANG_NO_IAS= -no-integrated-as
CLANG_OPT_SMALL= -mstack-alignment=8 -mllvm -inline-threshold=3\
-mllvm -enable-load-pre=false -mllvm -simplifycfg-dup-ret
@@ -129,3 +127,18 @@
# Allow user-specified additional warning flags
CFLAGS+= ${CWARNFLAGS}
+
+
+# Tell bmake not to mistake standard targets for things to be searched for
+# or expect to ever be up-to-date.
+PHONY_NOTMAIN = afterdepend afterinstall all beforedepend beforeinstall \
+ beforelinking build build-tools buildfiles buildincludes \
+ checkdpadd clean cleandepend cleandir cleanobj configure \
+ depend dependall distclean distribute exe extract fetch \
+ html includes install installfiles installincludes lint \
+ obj objlink objs objwarn patch realall realdepend \
+ realinstall regress subdir-all subdir-depend subdir-install \
+ tags whereobj
+
+.PHONY: ${PHONY_NOTMAIN}
+.NOTMAIN: ${PHONY_NOTMAIN}
Modified: trunk/sys/conf/kern.mk
===================================================================
--- trunk/sys/conf/kern.mk 2015-06-20 19:15:33 UTC (rev 7054)
+++ trunk/sys/conf/kern.mk 2015-06-20 23:08:42 UTC (rev 7055)
@@ -16,7 +16,7 @@
# Disable a few warnings for clang, since there are several places in the
# kernel where fixing them is more trouble than it is worth, or where there is
# a false positive.
-.if ${MK_CLANG_IS_CC} != "no" || ${CC:T:Mclang} == "clang"
+.if ${COMPILER_TYPE} == "clang"
NO_WCONSTANT_CONVERSION= -Wno-constant-conversion
NO_WARRAY_BOUNDS= -Wno-array-bounds
NO_WSHIFT_COUNT_NEGATIVE= -Wno-shift-count-negative
@@ -53,7 +53,7 @@
# Setting -mno-sse implies -mno-sse2, -mno-sse3, -mno-ssse3, -mno-sse41 and -mno-sse42
#
.if ${MACHINE_CPUARCH} == "i386"
-.if ${MK_CLANG_IS_CC} == "no" && ${CC:T:Mclang} != "clang"
+.if ${COMPILER_TYPE} != "clang"
CFLAGS+= -mno-align-long-strings -mpreferred-stack-boundary=2
.else
CFLAGS+= -mno-aes -mno-avx
@@ -101,7 +101,7 @@
# (-mfpmath= is not supported)
#
.if ${MACHINE_CPUARCH} == "amd64"
-.if ${MK_CLANG_IS_CC} != "no" || ${CC:T:Mclang} == "clang"
+.if ${COMPILER_TYPE} == "clang"
CFLAGS+= -mno-aes -mno-avx
.endif
CFLAGS+= -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float \
Index: trunk/sys/conf/kern.post.mk
===================================================================
--- trunk/sys/conf/kern.post.mk 2015-06-20 19:15:33 UTC (rev 7054)
+++ trunk/sys/conf/kern.post.mk 2015-06-20 23:08:42 UTC (rev 7055)
Property changes on: trunk/sys/conf/kern.post.mk
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.5
\ No newline at end of property
Modified: trunk/sys/conf/kern.pre.mk
===================================================================
--- trunk/sys/conf/kern.pre.mk 2015-06-20 19:15:33 UTC (rev 7054)
+++ trunk/sys/conf/kern.pre.mk 2015-06-20 23:08:42 UTC (rev 7055)
@@ -1,4 +1,4 @@
-# $MidnightBSD: src/sys/conf/kern.pre.mk,v 1.7 2012/07/06 02:09:20 laffer1 Exp $
+# $MidnightBSD$
# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.92 2007/08/08 19:12:06 marcel Exp $
# Part of a unified Makefile for building kernels. This part contains all
@@ -5,6 +5,7 @@
# of the definitions that need to be before %BEFORE_DEPEND.
.include <bsd.own.mk>
+.include <bsd.compiler.mk>
# backwards compat option for older systems.
MACHINE_CPUARCH?=${MACHINE_ARCH}
@@ -31,7 +32,7 @@
_MINUS_O= -O2
.endif
.if ${MACHINE_CPUARCH} == "amd64"
-.if ${MK_CLANG_IS_CC} == "no" && ${CC:T:Mclang} != "clang"
+.if ${COMPILER_TYPE} != "clang"
COPTFLAGS?=-O2 -frename-registers -pipe
.else
COPTFLAGS?=-O2 -pipe
@@ -81,7 +82,7 @@
CFLAGS= ${COPTFLAGS} ${C_DIALECT} ${DEBUG} ${CWARNFLAGS}
CFLAGS+= ${INCLUDES} -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h
-.if ${MK_CLANG_IS_CC} == "no" && ${CC:T:Mclang} != "clang"
+.if ${COMPILER_TYPE} != "clang"
CFLAGS+= -fno-common -finline-limit=${INLINE_LIMIT}
.if ${MACHINE_CPUARCH} != "mips"
CFLAGS+= --param inline-unit-growth=100
@@ -98,7 +99,7 @@
# XXX LOCORE means "don't declare C stuff" not "for locore.s".
ASM_CFLAGS= -x assembler-with-cpp -DLOCORE ${CFLAGS}
-.if ${MK_CLANG_IS_CC} != "no" || ${CC:T:Mclang} == "clang"
+.if ${COMPILER_TYPE} == "clang"
CLANG_NO_IAS= -no-integrated-as
.endif
Property changes on: trunk/sys/conf/kern.pre.mk
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.8
\ No newline at end of property
Modified: trunk/sys/conf/kmod.mk
===================================================================
--- trunk/sys/conf/kmod.mk 2015-06-20 19:15:33 UTC (rev 7054)
+++ trunk/sys/conf/kmod.mk 2015-06-20 23:08:42 UTC (rev 7055)
@@ -1,6 +1,6 @@
# From: @(#)bsd.prog.mk 5.26 (Berkeley) 6/25/91
# $FreeBSD: src/sys/conf/kmod.mk,v 1.219 2007/07/11 01:20:37 marcel Exp $
-# $MidnightBSD: src/sys/conf/kmod.mk,v 1.4 2012/04/10 19:39:40 laffer1 Exp $
+# $MidnightBSD$
#
# The include file <bsd.kmod.mk> handles building and installing loadable
# kernel modules.
@@ -79,6 +79,7 @@
.endif
.include <bsd.init.mk>
+.include <bsd.compiler.mk>
.SUFFIXES: .out .o .c .cc .cxx .C .y .l .s .S
@@ -114,7 +115,7 @@
# for example.
CFLAGS+= -I@/contrib/altq
-.if ${MK_CLANG_IS_CC} == "no" && ${CC:T:Mclang} != "clang"
+.if ${COMPILER_TYPE} != "clang"
CFLAGS+= -finline-limit=${INLINE_LIMIT}
CFLAGS+= --param inline-unit-growth=100
CFLAGS+= --param large-function-growth=1000
Property changes on: trunk/sys/conf/kmod.mk
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.5
\ No newline at end of property
More information about the Midnightbsd-cvs
mailing list