A production compiler is required to build devel/tide. Building a production compiler, however, requires to build and install a bootstapping compiler first. To do so, I have added a do-build target to the Makefile which performs these steps: - build the compiler as before - install the compiler binares in ${WRKSRC}/test - run 'make allclean' on the sources - re-configure the sources to build a production compiler - build the production compiler using the bootstrapping compiler binaries in ${WRKSRC}/test To run all these steps, I have basically copied and modified the do-build receipe from /usr/ports/Mk/bsd.port.mk. Fix: -- Nils M Holm <nmh@t3x.org> -- http://www.t3x.org/~nmh--o9TXaKJUoNDCwd3ZDQjF0pb2BoC5w9L7E9AkkQpISPrjApuh Content-Type: text/plain; name="file.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="file.diff" diff -ru lang/t3x-old/Makefile lang/t3x/Makefile --- lang/t3x-old/Makefile Tue Jun 10 12:56:35 2003 +++ lang/t3x/Makefile Fri Jun 20 10:41:14 2003 @@ -6,7 +6,7 @@ # PORTNAME= t3x -PORTVERSION= 8.0.2 +PORTVERSION= 8.0.3 CATEGORIES= lang devel MASTER_SITES= http://t3x.dyndns.org/files/ \ http://www.t3x.org/files/ @@ -18,9 +18,16 @@ MAN7= t3x.7 MANCOMPRESSED= no -MAKE_ENV= INSTALL_PREFIX=${PREFIX} +MAKE_ENV+= INSTALL_PREFIX=${PREFIX} do-configure: @(cd ${WRKSRC}/ports/freebsd-386-elf; ./Config boot) +do-build: + @(cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}) + @(cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} INSTALL_PREFIX=${WRKSRC}/test ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET}) + @(cd ${WRKSRC}; ${MAKE} allclean) + @(cd ${WRKSRC}/ports/freebsd-386-elf; ./Config build) + @(cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} T3XDIR=${WRKSRC}/test/t3x/r8 ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}) + .include <bsd.port.mk> diff -ru lang/t3x-old/distinfo lang/t3x/distinfo --- lang/t3x-old/distinfo Tue Jun 10 12:56:35 2003 +++ lang/t3x/distinfo Fri Jun 20 10:40:32 2003 @@ -1 +1 @@ -MD5 (t3x-802.tar.gz) = b998a654ab5d815dd7ffae4040afaa82 +MD5 (t3x-803.tar.gz) = 027caa9f74f02774279f4b510535c1fc diff -ru lang/t3x-old/pkg-plist lang/t3x/pkg-plist --- lang/t3x-old/pkg-plist Thu May 15 03:43:31 2003 +++ lang/t3x/pkg-plist Fri Jun 20 10:40:32 2003 @@ -26,6 +26,17 @@ t3x/r8/bin/txsum t3x/r8/bin/txtrn t3x/r8/bin/txx +t3x/r8/classes/2/CLASSNDX +t3x/r8/classes/2/char.cls +t3x/r8/classes/2/iostream.cls +t3x/r8/classes/2/memory.cls +t3x/r8/classes/2/rtcode.cls +t3x/r8/classes/2/string.cls +t3x/r8/classes/2/system.cls +t3x/r8/classes/2/t3x.cls +t3x/r8/classes/2/tcode.cls +t3x/r8/classes/2/ttyctl.cls +t3x/r8/classes/2/util.cls t3x/r8/classes/CLASSNDX t3x/r8/classes/char.cls t3x/r8/classes/char.dir @@ -76,7 +87,10 @@ t3x/r8/txprint.rules @unexec rm -f %D/t3x/r8/classes/CLASSND- @unexec rm -f %D/t3x/r8/classes/CLASSNDX +@unexec rm -f %D/t3x/r8/classes/2/CLASSND- +@unexec rm -f %D/t3x/r8/classes/2/CLASSNDX @dirrm t3x/r8/bin +@dirrm t3x/r8/classes/2 @dirrm t3x/r8/classes @dirrm t3x/r8/lib @dirrm t3x/r8/doc
Responsible Changed From-To: freebsd-ports-bugs->osa I'll handle this.
Hmm... Don't forget to define T3XDIR = /usr/home/ports/lang/t3x/work/t3x-803/test/t3x/r8 . You may want to install /usr/home/ports/lang/t3x/work/t3x-803/test/t3x/r8/system.txrc as ~/.txrc, too. (cd compiler; make clean) rm -f *.o *.core core *.tcode CLASSDIR LIBDIR txtrn txx txld txopt txdpf txcg386e *.cls *.dir *.tmp *.ndx mdesc.* txcg386e.t txboot[123] txtrn_[12] txld_[12] txcg386e_[12] txopt_[12] txdpf_[12] _stage_[0123] (cd ../classes; make clean) rm -f *.o *.core core *.tcode CLASSDIR LIBDIR gencldirs *.cls *.dir *.tmp *.ndx CLASSNDX (cd ../native; make clean) rm -f *.o *.core core *.tcode CLASSDIR LIBDIR *.cls *.dir *.tmp txcg386e txcg386e.t txcgexe s86 t3x.x system.x ttyctl.x (cd ../tools; make clean) rm -f *.o *.core core *.tcode CLASSDIR LIBDIR *.cls *.dir *.tmp tx txcm txdump txprint txsum txmake txhelp make clean rm -f compiler/Makefile classes/Makefile native/Makefile tools/Makefile compiler/t3x.c compiler/sys.c compiler/tty.c classes/sys.c classes/tty.c ports/coherent-386-coff/install.sh ports/freebsd-386-aout/install.sh ports/freebsd-386-elf/install.sh ports/netbsd-386-elf/install.sh ports/netbsd-alpha-elf/install.sh ports/linux-386-elf/install.sh ports/coherent-386-coff/txboot ports/freebsd-386-aout/txboot ports/freebsd-386-elf/txboot ports/netbsd-386-elf/txboot ports/netbsd-alpha-elf/txboot port s/linux-386-elf/txboot rm -f t3x803.zip rm -f t3x803xe.zip rm -f t3x-803.tar.gz (cd compiler; make) tx mktcode.t tx:No such file or directory *** Error code 1 Stop in /usr/home/ports/lang/t3x/work/t3x-803/compiler. *** Error code 1 Stop in /usr/home/ports/lang/t3x/work/t3x-803. *** Error code 1 Something wrong? -- Rgdz, /"\ ASCII RIBBON CAMPAIGN Sergey Osokin aka oZZ, \ / AGAINST HTML MAIL http://ozz.pp.ru/ X AND NEWS / \
On 2003-06-20, "Sergey A. Osokin" wrote: > tx:No such file or directory > [...] > Something wrong? Oops, yes. I should have tested this on a clean system. ${WRKSRC}/test/bin is not in ${PATH}. Here's a fix: --- Makefile.OLD Fri Jun 20 17:25:54 2003 +++ Makefile Fri Jun 20 17:29:30 2003 @@ -28,6 +28,6 @@ @(cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} INSTALL_PREFIX=${WRKSRC}/test ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET}) @(cd ${WRKSRC}; ${MAKE} allclean) @(cd ${WRKSRC}/ports/freebsd-386-elf; ./Config build) - @(cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} T3XDIR=${WRKSRC}/test/t3x/r8 ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}) + @(cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} T3XDIR=${WRKSRC}/test/t3x/r8 PATH=${PATH}:${WRKSRC}/test/bin ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}) .include <bsd.port.mk> -- Nils M Holm <nmh@t3x.org> -- http://www.t3x.org/~nmh
State Changed From-To: open->closed Committed, thanks!