--- gdc/Makefile Thu Nov 10 03:58:27 2005 +++ gdc/Makefile Sun Dec 4 21:00:56 2005 @@ -6,7 +6,7 @@ # PORTNAME= gdc -PORTVERSION= 0.16 +PORTVERSION= 0.17 CATEGORIES= lang MASTER_SITES= ${MASTER_SITE_GCC} \ http://home.earthlink.net/~dvdfrdmn/d/:gdc @@ -22,11 +22,13 @@ USE_BISON= yes USE_BZIP2= yes -USE_GCC= 3.4 USE_GMAKE= yes +USE_PERL5_BUILD=yes USE_REINPLACE= yes -WRKSRC= ${WRKDIR}/gcc-${GCC_VERSIONSTRING} +SRCDIR= ${WRKDIR}/gcc-${GCC_VERSIONSTRING} +WRKSRC= ${WRKDIR}/build +PATCH_WRKSRC= ${SRCDIR} GNU_CONFIGURE= yes CONFIGURE_ARGS+=--disable-nls \ @@ -34,32 +36,59 @@ --with-libiconv-prefix=${LOCALBASE} \ --disable-shared \ --enable-languages=c,c++,d +CONFIGURE_SCRIPT= ../${SRCDIR:C/${WRKDIR}\///}/configure PLIST_SUB= GCC_VER=${GCC_VERSION} CONF_TARGET=${CONFIGURE_TARGET} MAN1= gdc.1 -GCCDIR= ${WRKSRC}/gcc +.ifndef TARGET_GCC +TARGET_GCC= 3.4 # default +.elif ${TARGET_GCC} != 3.4 && ${TARGET_GCC} != 4.0 +.error it cannot be specified as TARGET_GCC other than 3.4 or 4.0 +.endif + +.if ${TARGET_GCC} == 4.0 +GCC_VERSION= 4.0.3 +GCC_REVISION= 20051201 +GCC_VERSIONSTRING= 4.0-${GCC_REVISION} +.else GCC_VERSION= 3.4.5 -GCC_REVISION= 20050920 +GCC_REVISION= 20051122 GCC_VERSIONSTRING= 3.4-${GCC_REVISION} +.endif + +GCCDIR= ${SRCDIR}/gcc GDC_INC= ${PREFIX}/include/d/${GCC_VERSION} .include -.if ${OSVERSION} < 500000 -IGNORE= It is supported on FreeBSD 5.x and later. +.if ${OSVERSION} < 500039 +# GDC required g++ version on the system of 3.x 4.0.1 and later. +IGNORE= it is supported on FreeBSD 5.x and later .endif .if ${ARCH} == "amd64" +# I hope the GDC will support amd64. CONFIGURE_TARGET= x86_64-portbld-freebsd${OSREL} .endif +pre-fetch: + @${ECHO_CMD} + @${ECHO_CMD} "=======================================================" + @${ECHO_CMD} + @${ECHO_CMD} "GDC is built with GCC version '${TARGET_GCC}'." + @${ECHO_CMD} + @${ECHO_CMD} "You can set 'TARGET_GCC' variable to '3.4' or '4.0'." + @${ECHO_CMD} + @${ECHO_CMD} "=======================================================" + @${ECHO_CMD} + post-extract: @${MV} ${WRKDIR}/d ${GCCDIR} post-patch: - @(cd ${WRKSRC} && ${SH} ./gcc/d/setup-gcc.sh) + @(cd ${SRCDIR} && ${SH} ./gcc/d/setup-gcc.sh) @${REINPLACE_CMD} -e \ 's|\(const char version_string.*\)";|\1 [FreeBSD]";|' \ ${GCCDIR}/version.c @@ -67,6 +96,11 @@ 's|^\(gcc_d_include_dir\).*|\1 = ${GDC_INC}|' \ ${GCCDIR}/d/Make-lang.in +pre-configure: + @(cd ${SRCDIR} ; contrib/gcc_update --touch) + @${RM} -f ${SRCDIR}/gcc/*/*.info* + @${MKDIR} ${CONFIGURE_WRKSRC} + post-build: @${ECHO_CMD} @${ECHO_CMD} "=======================================================" @@ -79,8 +113,8 @@ @${ECHO_CMD} do-install: - ${INSTALL_PROGRAM} ${GCCDIR}/gdc ${PREFIX}/bin - ${INSTALL_PROGRAM} ${GCCDIR}/cc1d ${PREFIX}/bin + ${INSTALL_PROGRAM} ${WRKSRC}/gcc/gdc ${PREFIX}/bin + ${INSTALL_PROGRAM} ${WRKSRC}/gcc/cc1d ${PREFIX}/bin ${INSTALL_MAN} ${GCCDIR}/d/gdc.1 ${PREFIX}/man/man1 @(cd ${WRKSRC} && ${GMAKE} install-target-libphobos) --- gdc/distinfo Thu Nov 10 03:58:27 2005 +++ gdc/distinfo Sun Dec 4 14:09:38 2005 @@ -1,6 +1,15 @@ -MD5 (gdc-0.16.tar.bz2) = 8591f5244088825573bbcff9aea1e1f3 -SIZE (gdc-0.16.tar.bz2) = 924218 -MD5 (gcc-core-3.4-20050920.tar.bz2) = d1323b6dc41d28f67b724823fc7244ca -SIZE (gcc-core-3.4-20050920.tar.bz2) = 11115747 -MD5 (gcc-g++-3.4-20050920.tar.bz2) = 6640e827ec158e2df44d4ae58b771765 -SIZE (gcc-g++-3.4-20050920.tar.bz2) = 2480879 +MD5 (gdc-0.17.tar.bz2) = 4e8cccc0d416cb6d7e5bd043901dcedb +SHA256 (gdc-0.17.tar.bz2) = 85e426fde257767c82bdade6d63480b8a0b5b15afceee410db178fbbf6157833 +SIZE (gdc-0.17.tar.bz2) = 931385 +MD5 (gcc-core-3.4-20051122.tar.bz2) = c4f761455ed52bd3155d27a31a769a43 +SHA256 (gcc-core-3.4-20051122.tar.bz2) = 56af77864024197f9e76373bb2401bde850fd3138d98a5942cbbf6fc5231375b +SIZE (gcc-core-3.4-20051122.tar.bz2) = 11378875 +MD5 (gcc-g++-3.4-20051122.tar.bz2) = f9e8bad717ed5c3645c01830ca9cf448 +SHA256 (gcc-g++-3.4-20051122.tar.bz2) = 1f28c15207cf95d47d633b25e8bac3bc46c77d4c07dd94bce5505ec591b1c594 +SIZE (gcc-g++-3.4-20051122.tar.bz2) = 2557604 +MD5 (gcc-core-4.0-20051201.tar.bz2) = ce8d5872396d1aefd2b471208ad70d32 +SHA256 (gcc-core-4.0-20051201.tar.bz2) = d22fae731f303c8c001cc740d0d582e6fef1991b326de167b372fdcbb1e53a47 +SIZE (gcc-core-4.0-20051201.tar.bz2) = 13774989 +MD5 (gcc-g++-4.0-20051201.tar.bz2) = 93978791ac7e7b300182f0eac40d426c +SHA256 (gcc-g++-4.0-20051201.tar.bz2) = f88e5f34e1ba502c0b9f2998c0f76e6626df838a51417f9fe14a8a974123b08c +SIZE (gcc-g++-4.0-20051201.tar.bz2) = 2705481 --- gdc/files/patch-gcc_d_phobos_config_gen_unix.c Thu Jan 1 09:00:00 1970 +++ gdc/files/patch-gcc_d_phobos_config_gen_unix.c Sun Dec 4 17:53:24 2005 @@ -0,0 +1,14 @@ +--- gcc/d/phobos/config/gen_unix.c.orig Sun Dec 4 17:51:01 2005 ++++ gcc/d/phobos/config/gen_unix.c Sun Dec 4 17:51:42 2005 +@@ -115,7 +115,11 @@ + finish_struct(fi, 2, sizeof(rec), "timezone"); + } + { ++#ifdef HAVE_TM_GMTOFF_AND_ZONE ++ FieldInfo fi[11]; ++#else + FieldInfo fi[9]; ++#endif + unsigned n; + struct tm rec; + INT_FIELD(fi[0], tm_sec); --- gdc/pkg-plist Thu Nov 10 03:58:27 2005 +++ gdc/pkg-plist Sun Dec 4 19:01:11 2005 @@ -79,6 +79,7 @@ include/d/%%GCC_VER%%/std/ctype.d include/d/%%GCC_VER%%/std/date.d include/d/%%GCC_VER%%/std/dateparse.d +include/d/%%GCC_VER%%/std/demangle.d include/d/%%GCC_VER%%/std/file.d include/d/%%GCC_VER%%/std/format.d include/d/%%GCC_VER%%/std/gc.d @@ -177,6 +178,7 @@ include/d/%%GCC_VER%%/std/typeinfo/ti_ushort.d include/d/%%GCC_VER%%/std/typeinfo/ti_void.d include/d/%%GCC_VER%%/std/typeinfo/ti_wchar.d +include/d/%%GCC_VER%%/std/windows/charset.d include/d/%%GCC_VER%%/std/windows/iunknown.d include/d/%%GCC_VER%%/std/windows/registry.d include/d/%%GCC_VER%%/std/windows/syserror.d