Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Jun 2014 21:24:44 GMT
From:      op@FreeBSD.org
To:        svn-soc-all@FreeBSD.org
Subject:   socsvn commit: r269649 - soc2014/op/tools
Message-ID:  <201406162124.s5GLOif8066368@socsvn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201406162124.s5GLOif8066368>