- Fix building on FreeBSD 7.x [1].

- Install GCC utilities needed by GPC (doesn't work if base system GCC isn't
  the same as the one used to build GPC) [2].
- Don' change the default GCC installation directory hierarchy, but avoid
  possible conflicts with other GCC compilers by prepending a "gpc" directory
  after ${PREFIX}.

Reported by:	linimon [1], "L. S. Colby" <ls.colby@gwirynybyd.com> [2]
This commit is contained in:
Alejandro Pulver 2006-07-28 20:37:09 +00:00
parent 89c4d30d2a
commit fa17190ae5
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=168992
3 changed files with 142 additions and 67 deletions

View file

@ -9,9 +9,10 @@ PORTNAME= gpc
PORTVERSION= 20050331
CATEGORIES= lang
MASTER_SITES= http://www.gnu-pascal.de/alpha/:gpc \
${MASTER_SITE_GCC:S|$|releases/gcc-${GCC_VERSION}/|}
${MASTER_SITE_GCC}
MASTER_SITE_SUBDIR= releases/gcc-${GCC_VER}
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:gpc \
gcc-core-${GCC_VERSION}${EXTRACT_SUFX}
gcc-core-${GCC_VER}${EXTRACT_SUFX}
MAINTAINER= alepulver@FreeBSD.org
COMMENT= GNU Pascal compiler
@ -22,18 +23,25 @@ BUILD_DEPENDS= bash:${PORTSDIR}/shells/bash \
USE_BISON= yes
USE_BZIP2= yes
USE_GMAKE= yes
#USE_PERL5_BUILD=yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS+=--disable-nls --enable-languages=pascal
WRKSRC= ${WRKDIR}/gcc-${GCC_VERSION}
CONFIGURE_ARGS+=--disable-nls \
--enable-languages=pascal \
--with-system-zlib \
--with-libiconv-prefix=${LOCALBASE} \
--libdir=${PREFIX}/lib/${PORTNAME} \
--libexecdir=${PREFIX}/libexec/${PORTNAME}
WRKSRC= ${WRKDIR}/gcc-${GCC_VER}
INSTALL_WRKSRC= ${WRKSRC}/gcc
INSTALL_TARGET= pascal.install
INSTALL_TARGET= pascal.install-with-gcc
MAN1= binobj.1 gpc.1 gpc-run.1 gpidump.1
INFO= gpc gpcs gpcs-de gpcs-es gpcs-hr
# This port can be compiled with the GCC versions 2.8.1-2.95 and 3.2-3.4.3.
GCC_VERSION?= 3.4.3
PLIST_SUB= GCC_VER="${GCC_VER}" GNU_HOST="${CONFIGURE_TARGET}"
# This port can be compiled with GCC versions 2.8.1 to 2.95 and 3.2 to 3.4.3.
GCC_VER?= 3.4.3
.include <bsd.port.pre.mk>
@ -45,25 +53,19 @@ post-extract:
@${MV} ${WRKDIR}/p ${WRKSRC}/gcc
post-patch:
@${REINPLACE_CMD} -Ee \
's|^(lib(exec)?subdir =).*|\1 $$\(lib\2dir\)/gpc|; \
s|(\$$\(lib(exec)?dir\))/gcc|\1/gpc|; \
s|(-DDEFAULT_TARGET_(VERSION\|MACHINE)=\\").*(\\")|\1\3|' \
${WRKSRC}/Makefile.in ${WRKSRC}/gcc/Makefile.in
@${REINPLACE_CMD} -e 's|read junk||' \
${WRKSRC}/gcc/p/config-lang.in
@${REINPLACE_CMD} -e 's|read junk||' ${WRKSRC}/gcc/p/config-lang.in
@${REINPLACE_CMD} -Ee 's|^(sed=)"`.*`"|\1sed|' \
${WRKSRC}/gcc/p/script/extract-doc-demos
.if defined(NOPORTDOCS)
@${REINPLACE_CMD} -Ee 's|^(PASCAL_INSTALL_DOC=).*|\1|' \
${WRKSRC}/gcc/p/Make-lang.in
.else
@${REINPLACE_CMD} -Ee 's|^(P_DOC_DIR=).*|\1${DOCSDIR:S/${PREFIX}\///}|' \
@${REINPLACE_CMD} -Ee \
's|^(P_DOC_DIR=).*|\1${DOCSDIR:S/${PREFIX}\///}|' \
${WRKSRC}/gcc/p/Make-lang.in
.endif
post-install:
${INSTALL_DATA} ${WRKSRC}/gcc/libgcc_eh.a ${PREFIX}/lib/gpc
@${ECHO_CMD}; ${CAT} ${PKGMESSAGE}; ${ECHO_CMD}
.include <bsd.port.post.mk>

View file

@ -0,0 +1,11 @@
--- gcc/config.gcc.orig Wed Sep 8 12:16:10 2004
+++ gcc/config.gcc Fri Jul 28 17:21:44 2006
@@ -400,6 +400,8 @@
tm_defines="${tm_defines} FBSD_MAJOR=5" ;;
*-*-freebsd6 | *-*-freebsd[6].*)
tm_defines="${tm_defines} FBSD_MAJOR=6" ;;
+ *-*-freebsd7 | *-*-freebsd[7].*)
+ tm_defines="${tm_defines} FBSD_MAJOR=7" ;;
*)
echo 'Please update *-*-freebsd* in gcc/config.gcc'
exit 1

View file

@ -2,6 +2,102 @@ bin/binobj
bin/gpc
bin/gpc-run
bin/gpidump
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/cc1
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/crtbegin.o
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/crtbeginS.o
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/crtend.o
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/crtendS.o
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/README
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/emmintrin.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/float.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/gpc-in-c.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/iso646.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/limits.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/math.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/mmintrin.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/netinet/ip_compat.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/netinet/ip_fil.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/netinet/ip_lookup.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/netinet/ip_nat.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/netinet/ip_proxy.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/netinet/ip_scan.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/netinet/ip_state.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/pmmintrin.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/rpc/svc.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/stdarg.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/stdbool.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/stddef.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/stdio.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/stdlib.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/sys/types.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/syslimits.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/unistd.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/unwind.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/varargs.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/xmmintrin.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/install-tools/gsyslimits.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/install-tools/include/README
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/install-tools/include/emmintrin.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/install-tools/include/float.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/install-tools/include/iso646.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/install-tools/include/limits.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/install-tools/include/mmintrin.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/install-tools/include/pmmintrin.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/install-tools/include/stdarg.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/install-tools/include/stdbool.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/install-tools/include/stddef.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/install-tools/include/unwind.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/install-tools/include/varargs.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/install-tools/include/xmmintrin.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/install-tools/mkheaders.conf
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/libgcc.a
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/libgcc_eh.a
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/libgcov.a
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/libgpc.a
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/specs
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/crt.inc
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/crt.pas
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/crtc.c
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/crtc.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/crtdjgpp.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/crtlinux386.h
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/crtx.c
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/dos.pas
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/dosunix.pas
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/fileutils.pas
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/gmp.pas
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/gpc-bp.pas
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/gpc.pas
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/gpcutil.pas
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/heapmon.pas
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/intl.pas
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/intlc.c
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/md5.pas
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/overlay.pas
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/pipes.pas
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/pipesc.c
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/ports.pas
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/printer.pas
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/regex.pas
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/regexc.c
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/rts-config.inc
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/strings.pas
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/stringutils.pas
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/system.pas
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/tfdd.pas
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/trap.pas
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/trapc.c
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/turbo3.pas
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/wincrt.pas
lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units/windos.pas
lib/libgcc_s.so
lib/libgcc_s.so.1
libexec/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/collect2
libexec/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/gpc1
libexec/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/gpcpp
libexec/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/install-tools/fixinc.sh
libexec/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/install-tools/fixincl
libexec/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/install-tools/mkheaders
%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
%%PORTDOCS%%%%DOCSDIR%%/BUGS
%%PORTDOCS%%%%DOCSDIR%%/COPYING
@ -69,56 +165,22 @@ bin/gpidump
%%PORTDOCS%%%%DOCSDIR%%/demos/tfdddemo.pas
%%PORTDOCS%%%%DOCSDIR%%/demos/trapdemo.pas
%%PORTDOCS%%%%DOCSDIR%%/demos/variantdemo.pas
lib/gpc/crtbegin.o
lib/gpc/crtbeginS.o
lib/gpc/crtend.o
lib/gpc/crtendS.o
lib/gpc/include/gpc-in-c.h
lib/gpc/libgcc_eh.a
lib/gpc/libgpc.a
lib/gpc/specs
lib/gpc/units/crt.inc
lib/gpc/units/crt.pas
lib/gpc/units/crtc.c
lib/gpc/units/crtc.h
lib/gpc/units/crtdjgpp.h
lib/gpc/units/crtlinux386.h
lib/gpc/units/crtx.c
lib/gpc/units/dos.pas
lib/gpc/units/dosunix.pas
lib/gpc/units/fileutils.pas
lib/gpc/units/gmp.pas
lib/gpc/units/gpc-bp.pas
lib/gpc/units/gpc.pas
lib/gpc/units/gpcutil.pas
lib/gpc/units/heapmon.pas
lib/gpc/units/intl.pas
lib/gpc/units/intlc.c
lib/gpc/units/md5.pas
lib/gpc/units/overlay.pas
lib/gpc/units/pipes.pas
lib/gpc/units/pipesc.c
lib/gpc/units/ports.pas
lib/gpc/units/printer.pas
lib/gpc/units/regex.pas
lib/gpc/units/regexc.c
lib/gpc/units/rts-config.inc
lib/gpc/units/strings.pas
lib/gpc/units/stringutils.pas
lib/gpc/units/system.pas
lib/gpc/units/tfdd.pas
lib/gpc/units/trap.pas
lib/gpc/units/trapc.c
lib/gpc/units/turbo3.pas
lib/gpc/units/wincrt.pas
lib/gpc/units/windos.pas
libexec/gpc/collect2
libexec/gpc/gpc1
libexec/gpc/gpcpp
@dirrm share/nls/en_US.US-ASCII
@dirrm share/nls/POSIX
%%PORTDOCS%%@dirrm %%DOCSDIR%%/docdemos
%%PORTDOCS%%@dirrm %%DOCSDIR%%/demos
%%PORTDOCS%%@dirrm %%DOCSDIR%%
@dirrm libexec/gpc
@dirrm lib/gpc/units
@dirrm lib/gpc/include
@dirrm lib/gpc
@dirrm libexec/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/install-tools
@dirrm libexec/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%
@dirrm libexec/gpc/gcc/%%GNU_HOST%%
@dirrm libexec/gpc/gcc
@dirrm lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/units
@dirrm lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/install-tools/include
@dirrm lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/install-tools
@dirrm lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/sys
@dirrm lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/rpc
@dirrm lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include/netinet
@dirrm lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%/include
@dirrm lib/gpc/gcc/%%GNU_HOST%%/%%GCC_VER%%
@dirrm lib/gpc/gcc/%%GNU_HOST%%
@dirrm lib/gpc/gcc