Author: jhb
Date: Mon Nov  1 17:34:04 2010
New Revision: 214629
URL: http://svn.freebsd.org/changeset/base/214629

Log:
  Add an x86/include directory to the kernel to hold headers that are common
  to amd64, i386, and pc98.  The headers are installed to /usr/include/x86
  during an installworld, and an 'x86' symlink is created for kernel builds
  similar to 'machine' so that the headers can be included as <x86/foo.h>.
  
  Reviewed by:  imp

Added:
  head/sys/x86/include/
Modified:
  head/include/Makefile
  head/sys/conf/kern.post.mk
  head/sys/conf/kmod.mk

Modified: head/include/Makefile
==============================================================================
--- head/include/Makefile       Mon Nov  1 17:27:09 2010        (r214628)
+++ head/include/Makefile       Mon Nov  1 17:34:04 2010        (r214629)
@@ -116,7 +116,10 @@ INCSLINKS+=        sys/$i ${INCLUDEDIR}/$i
 .endfor
 
 .if ${MACHINE} != ${MACHINE_CPUARCH}
-_MARCH=${MACHINE_CPUARCH}
+_MARCHS=       ${MACHINE_CPUARCH}
+.endif
+.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
+_MARCHS+=      x86
 .endif
 
 .include <bsd.prog.mk>
@@ -126,7 +129,7 @@ ${SHARED}: compat
 
 # Take care of stale directory-level symlinks.
 compat:
-.for i in ${LDIRS} ${LSUBDIRS} machine ${_MARCH} crypto
+.for i in ${LDIRS} ${LSUBDIRS} machine ${_MARCHS} crypto
        if [ -L ${DESTDIR}${INCLUDEDIR}/$i ]; then \
                rm -f ${DESTDIR}${INCLUDEDIR}/$i; \
        fi
@@ -142,7 +145,7 @@ compat:
 
 copies:
 .for i in ${LDIRS} ${LSUBDIRS} ${LSUBSUBDIRS} altq crypto machine machine/pc \
-       ${_MARCH}
+       ${_MARCHS}
 .if exists(${DESTDIR}${INCLUDEDIR}/$i)
        cd ${DESTDIR}${INCLUDEDIR}/$i; \
        for h in *.h; do \
@@ -189,7 +192,8 @@ copies:
        ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
            ${DESTDIR}${INCLUDEDIR}/machine/pc
 .endif
-.if defined(_MARCH) && exists(${.CURDIR}/../sys/${_MARCH}/include)
+.for _MARCH in ${_MARCHS}
+.if exists(${.CURDIR}/../sys/${_MARCH}/include)
        ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
            ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \
        cd ${.CURDIR}/../sys/${_MARCH}/include; \
@@ -203,6 +207,7 @@ copies:
            ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc
 .endif
 .endif
+.endfor
        cd ${.CURDIR}/../sys/rpc; \
        ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 types.h \
            ${DESTDIR}${INCLUDEDIR}/rpc
@@ -276,7 +281,8 @@ symlinks:
                    ${DESTDIR}${INCLUDEDIR}/machine/pc; \
        done
 .endif
-.if defined(_MARCH) && exists(${.CURDIR}/../sys/${_MARCH}/include)
+.for _MARCH in ${_MARCHS}
+.if exists(${.CURDIR}/../sys/${_MARCH}/include)
        ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
            ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \
        cd ${.CURDIR}/../sys/${_MARCH}/include; \
@@ -294,6 +300,7 @@ symlinks:
        done
 .endif
 .endif
+.endfor
        cd ${.CURDIR}/../sys/fs/cd9660; \
        for h in *.h; do \
                ln -fs ../../../../sys/fs/cd9660/$$h \

Modified: head/sys/conf/kern.post.mk
==============================================================================
--- head/sys/conf/kern.post.mk  Mon Nov  1 17:27:09 2010        (r214628)
+++ head/sys/conf/kern.post.mk  Mon Nov  1 17:34:04 2010        (r214629)
@@ -169,6 +169,9 @@ _ILINKS= machine
 .if ${MACHINE} != ${MACHINE_CPUARCH}
 _ILINKS+= ${MACHINE_CPUARCH}
 .endif
+.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
+_ILINKS+= x86
+.endif
 
 # Ensure that the link exists without depending on it when it exists.
 .for _link in ${_ILINKS}
@@ -181,8 +184,8 @@ ${_ILINKS}:
        @case ${.TARGET} in \
        machine) \
                path=${S}/${MACHINE}/include ;; \
-       ${MACHINE_CPUARCH}) \
-               path=${S}/${MACHINE_CPUARCH}/include ;; \
+       *) \
+               path=${S}/${.TARGET}/include ;; \
        esac ; \
        ${ECHO} ${.TARGET} "->" $$path ; \
        ln -s $$path ${.TARGET}

Modified: head/sys/conf/kmod.mk
==============================================================================
--- head/sys/conf/kmod.mk       Mon Nov  1 17:27:09 2010        (r214628)
+++ head/sys/conf/kmod.mk       Mon Nov  1 17:34:04 2010        (r214629)
@@ -238,6 +238,9 @@ _ILINKS=@ machine
 .if ${MACHINE} != ${MACHINE_CPUARCH}
 _ILINKS+=${MACHINE_CPUARCH}
 .endif
+.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
+_ILINKS+=x86
+.endif
 
 all: objwarn ${PROG}
 
@@ -263,12 +266,12 @@ SYSDIR=   ${_dir}
 
 ${_ILINKS}:
        @case ${.TARGET} in \
-       ${MACHINE_CPUARCH}) \
-               path=${SYSDIR}/${MACHINE_CPUARCH}/include ;; \
        machine) \
                path=${SYSDIR}/${MACHINE}/include ;; \
        @) \
                path=${SYSDIR} ;; \
+       *) \
+               path=${SYSDIR}/${.TARGET}/include ;; \
        esac ; \
        path=`(cd $$path && /bin/pwd)` ; \
        ${ECHO} ${.TARGET} "->" $$path ; \
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to