socsvn commit: r269649 - soc2014/op/tools
op at FreeBSD.org
op at FreeBSD.org
Mon Jun 16 21:24:45 UTC 2014
Author: op
Date: Mon Jun 16 21:24:44 2014
New Revision: 269649
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=269649
Log:
optimize build time, and workaround cross building issue
when building native host before running the cross compilation,
then the machine/ include targets become broken
as workaround use two different MAKEOBJPREFIX in both case
- 8< -
===> aac/aac_linux (depend)
--- depend_subdir_3dfx_linux ---
CC='cc ' mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -DHAVE_KERNEL_OPTION_HEADERS -I. -I@ -I@/contrib/altq -I/tmp/objdir/i386.i386/usr/data/source/git/opBSD/opBSD.git/sys/GENERIC -std=iso9899:1999 /usr/data/source/git/opBSD/opBSD.git/sys/modules/3dfx_linux/../../dev/tdfx/tdfx_linux.c
--- depend_subdir_3dfx ---
--- bus_if.h ---
awk -f @/tools/makeobjops.awk @/kern/bus_if.m -h
--- depend_subdir_aac ---
--- opt_scsi.h ---
ln -sf /tmp/objdir/i386.i386/usr/data/source/git/opBSD/opBSD.git/sys/GENERIC/opt_scsi.h opt_scsi.h
--- depend_subdir_aacraid ---
--- depend_subdir_3dfx ---
--- pci_if.h ---
awk -f @/tools/makeobjops.awk @/dev/pci/pci_if.m -h
--- depend_subdir_aacraid ---
===> aacraid (depend)
--- depend_subdir_3dfx ---
--- device_if.h ---
--- depend_subdir_aac ---
--- opt_cam.h ---
--- _sub.depend ---
--- /tmp/objdir/i386.i386/usr/data/source/git/opBSD/opBSD.git/sys/GENERIC/modules/usr/data/source/git/opBSD/opBSD.git/sys/modules/aac/aac_linux/@ ---
@ -> /usr/data/source/git/opBSD/opBSD.git/sys
--- /tmp/objdir/i386.i386/usr/data/source/git/opBSD/opBSD.git/sys/GENERIC/modules/usr/data/source/git/opBSD/opBSD.git/sys/modules/aac/aac_linux/machine ---
--- opt_cam.h ---
ln -sf /tmp/objdir/i386.i386/usr/data/source/git/opBSD/opBSD.git/sys/GENERIC/opt_cam.h opt_cam.h
--- opt_aac.h ---
ln -sf /tmp/objdir/i386.i386/usr/data/source/git/opBSD/opBSD.git/sys/GENERIC/opt_aac.h opt_aac.h
--- depend_subdir_3dfx ---
awk -f @/tools/makeobjops.awk @/kern/device_if.m -h
--- depend_subdir_aacraid ---
--- /tmp/objdir/i386.i386/usr/data/source/git/opBSD/opBSD.git/sys/GENERIC/modules/usr/data/source/git/opBSD/opBSD.git/sys/modules/aacraid/@ ---
@ -> /usr/data/source/git/opBSD/opBSD.git/sys
--- depend_subdir_3dfx ---
--- .depend ---
rm -f .depend
CC='cc ' mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -DHAVE_KERNEL_OPTION_HEADERS -I. -I@ -I@/contrib/altq -I/tmp/objdir/i386.i386/usr/data/source/git/opBSD/opBSD.git/sys/GENERIC -std=iso9899:1999 /usr/data/source/git/opBSD/opBSD.git/sys/modules/3dfx/../../dev/tdfx/tdfx_pci.c
--- depend_subdir_accf_data ---
--- depend_subdir_aac ---
--- _sub.depend ---
machine -> /usr/data/source/git/opBSD/opBSD.git/sys/i386/include
--- /tmp/objdir/i386.i386/usr/data/source/git/opBSD/opBSD.git/sys/GENERIC/modules/usr/data/source/git/opBSD/opBSD.git/sys/modules/aac/aac_linux/x86 ---
x86 -> /usr/data/source/git/opBSD/opBSD.git/sys/x86/include
--- depend_subdir_aacraid ---
--- /tmp/objdir/i386.i386/usr/data/source/git/opBSD/opBSD.git/sys/GENERIC/modules/usr/data/source/git/opBSD/opBSD.git/sys/modules/aacraid/machine ---
--- depend_subdir_accf_data ---
===> accf_data (depend)
--- depend_subdir_aacraid ---
machine -> /usr/data/source/git/opBSD/opBSD.git/sys/i386/include
--- /tmp/objdir/i386.i386/usr/data/source/git/opBSD/opBSD.git/sys/GENERIC/modules/usr/data/source/git/opBSD/opBSD.git/sys/modules/aacraid/x86 ---
x86 -> /usr/data/source/git/opBSD/opBSD.git/sys/x86/include
--- depend_subdir_aac ---
--- .depend ---
rm -f .depend
CC='cc ' mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -DHAVE_KERNEL_OPTION_HEADERS -I. -I@ -I@/contrib/altq -I/tmp/objdir/i386.i386/usr/data/source/git/opBSD/opBSD.git/sys/GENERIC -std=iso9899:1999 /usr/data/source/git/opBSD/opBSD.git/sys/modules/aac/aac_linux/../../../dev/aac/aac_linux.c
--- depend_subdir_aacraid ---
--- _sub.depend ---
===> aacraid/aacraid_linux (depend)
--- depend_subdir_aac ---
/usr/data/source/git/opBSD/opBSD.git/sys/modules/aac/aac_linux/../../../dev/aac/aac_linux.c:43:10: fatal error: 'machine/../linux32/linux.h' file not found
#include <machine/../linux32/linux.h>
^
1 error generated.
mkdep: compile failed
--- depend_subdir_accf_data ---
--- /tmp/objdir/i386.i386/usr/data/source/git/opBSD/opBSD.git/sys/GENERIC/modules/usr/data/source/git/opBSD/opBSD.git/sys/modules/accf_data/@ ---
@ -> /usr/data/source/git/opBSD/opBSD.git/sys
--- depend_subdir_aac ---
*** [.depend] Error code 1
make[5]: stopped in /usr/data/source/git/opBSD/opBSD.git/sys/modules/aac/aac_linux
- 8< -
Signed-off-by: Oliver Pinter <oliver.pntr at gmail.com>
Modified:
soc2014/op/tools/build_kernel_32bit.csh
soc2014/op/tools/build_kernel_64bit.csh
Modified: soc2014/op/tools/build_kernel_32bit.csh
==============================================================================
--- soc2014/op/tools/build_kernel_32bit.csh Mon Jun 16 21:17:45 2014 (r269648)
+++ soc2014/op/tools/build_kernel_32bit.csh Mon Jun 16 21:24:44 2014 (r269649)
@@ -2,11 +2,13 @@
setenv TARGET i386
setenv TARGET_ARCH i386
-setenv MAKEOBJDIRPREFIX /tmp/objdir
+setenv MAKEOBJDIRPREFIX "/tmp/objdir_${TARGET}"
setenv DESTDIR /tmp/kernelbuild
@ __freebsd_mk_jobs = `sysctl -n kern.smp.cpus` + 1
set current_dir = `pwd`
set _current_dir = `echo ${current_dir} | sed -e 's|\(.*/\)\(.*\.git\)\(/.*\)*|\2|g'`
+set _current_realdir = `echo ${current_dir} | sed -e 's|\(.*/\)\(.*\.git\)\(/.*\)*|\1/\2|g'`
+set _check_toolchain = "${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH}/${_current_realdir}/tmp/usr/include/clang"
set _date=`date "+%Y%m%d%H%M%S"`
if ( "`sysctl -n security.bsd.hardlink_check_uid`" == "1" ) then
@@ -30,7 +32,14 @@
echo "build source dir: ${_current_dir}"
sleep 1
-test -d $MAKEOBJDIRPREFIX || mkdir $MAKEOBJDIRPREFIX
+if ( ! -d $MAKEOBJDIRPREFIX ) then
+ mkdir $MAKEOBJDIRPREFIX
+endif
-(cd /usr/data/source/git/opBSD/${_current_dir}; make -j$__freebsd_mk_jobs -DNO_ROOT KERNCONF=GENERIC kernel-toolchain) |& tee /tmp/cc-log-${_current_dir}-${_date}
+if ( ! -d ${_check_toolchain} ) then
+ (cd /usr/data/source/git/opBSD/${_current_dir}; make -j$__freebsd_mk_jobs -DNO_ROOT KERNCONF=GENERIC kernel-toolchain) |& tee /tmp/cc-log-${_current_dir}-${_date}
+else
+ echo "skip make kernel-toolchain"
+ sleep 1
+endif
(cd /usr/data/source/git/opBSD/${_current_dir}; make -j$__freebsd_mk_jobs -DNO_ROOT KERNCONF=GENERIC buildkernel) |& tee -a /tmp/cc-log-${_current_dir}-${_date}
Modified: soc2014/op/tools/build_kernel_64bit.csh
==============================================================================
--- soc2014/op/tools/build_kernel_64bit.csh Mon Jun 16 21:17:45 2014 (r269648)
+++ soc2014/op/tools/build_kernel_64bit.csh Mon Jun 16 21:24:44 2014 (r269649)
@@ -5,6 +5,8 @@
@ __freebsd_mk_jobs = `sysctl -n kern.smp.cpus` + 1
set current_dir = `pwd`
set _current_dir = `echo ${current_dir} | sed -e 's|\(.*/\)\(.*\.git\)\(/.*\)*|\2|g'`
+set _current_realdir = `echo ${current_dir} | sed -e 's|\(.*/\)\(.*\.git\)\(/.*\)*|\1/\2|g'`
+set _check_toolchain = "${MAKEOBJDIRPREFIX}/${_current_realdir}/tmp/usr/include/clang"
set _date=`date "+%Y%m%d%H%M%S"`
if ( "`sysctl -n security.bsd.hardlink_check_uid`" == "1" ) then
@@ -28,7 +30,14 @@
echo "build source dir: ${_current_dir}"
sleep 1
-test -d $MAKEOBJDIRPREFIX || mkdir $MAKEOBJDIRPREFIX
+if ( ! -d $MAKEOBJDIRPREFIX ) then
+ mkdir $MAKEOBJDIRPREFIX
+endif
-(cd /usr/data/source/git/opBSD/${_current_dir}; make -j$__freebsd_mk_jobs -DNO_ROOT KERNCONF=GENERIC kernel-toolchain) |& tee /tmp/cc-log-${_current_dir}-${_date}
+if ( ! -d ${_check_toolchain} ) then
+ (cd /usr/data/source/git/opBSD/${_current_dir}; make -j$__freebsd_mk_jobs -DNO_ROOT KERNCONF=GENERIC kernel-toolchain) |& tee /tmp/cc-log-${_current_dir}-${_date}
+else
+ echo "skip make kernel-toolchain"
+ sleep 1
+endif
(cd /usr/data/source/git/opBSD/${_current_dir}; make -j$__freebsd_mk_jobs -DNO_ROOT KERNCONF=GENERIC buildkernel) |& tee -a /tmp/cc-log-${_current_dir}-${_date}
More information about the svn-soc-all
mailing list