Update: crossbuilding under older 4.x FreeBSD

看板DFBSD_submit作者時間21年前 (2004/08/28 05:33), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/5 (看更多)
[don't reply to me yet -- keep replies on the list for now] Hm... This isn't particularly useful, but I thought I'd send an update. If you remember, I'm crossbuilding DFly on an older FreeBSD-4 system, which has conflicting or missing includes files needed for the DFly build. I previously revealed my hack to work around that, which was little more than a hack, and indeed, later I noted problems this hack had not addressed when creating an includes directory to be used during the build. The specific problem was that certain includes would try to write into my source. So my latest workaround was to abuse the BOOTSTRAPPING define in order to skip those particular includes, rather than try to get them in the right place. With this, I can now build without problems and a read-only source. Whee. Also, this probably avoids the osreldate.h conflicts that may have caused problems (note that I don't know enough about the build process to be accused of anything). This is *not* a useful patch, except for me. The latest FreeBSD seems to build a legacy step where such includes would be handled. I still haven't tried a non-fast `includes' build to see if it works better for the few out-of-date/missing includes files in my crossbuild. --- /dist/src/DragonFly-src/source-hacks/include/Makefile-UNHACKED Mon Aug 23 18:33:02 2004 +++ /dist/src/DragonFly-src/source-hacks/include/Makefile Mon Aug 23 21:04:34 2004 @@ -8,7 +8,11 @@ # links. CLEANFILES= osreldate.h version vers.c +### HACK the following try to be put in the source hierarchy, so skip +### until I have a more vague idea what I'm trying to do +.if !defined(BOOTSTRAPPING) SUBDIR= arpa protocols rpc rpcsvc +.endif INCS= a.out.h ar.h assert.h bitstring.h complex.h cpio.h ctype.h db.h \ dirent.h disktab.h \ dlfcn.h elf.h elf-hints.h err.h fnmatch.h fstab.h \ @@ -85,7 +89,11 @@ #SHARED= symlinks SHARED?= copies +#### HACK don't build this (builds in source directory) when populating +#### an includes tree for crossbuilds, for what it's worth +.if !defined(BOOTSTRAPPING) INCS+= osreldate.h +.endif osreldate.h: ${.CURDIR}/../sys/conf/newvers.sh \ ${.CURDIR}/../sys/sys/param.h As a result of this, what I now do in my _crossincludes target (seen in a previous mail) is thus: + cd ${.CURDIR}/include; ${BMAKEENV} ${MAKE} -DBOOTSTRAPPING installincludes Apart from the out-of-date/missing includes problem, I need no other patches to get my 4.5? or .7? -ish FreeBSD world to build the latest DragonFly. thanks barry bouwsma
文章代碼(AID): #11BwYV00 (DFBSD_submit)
文章代碼(AID): #11BwYV00 (DFBSD_submit)