aboutsummaryrefslogtreecommitdiffstats
path: root/lang/compaq-cc/Makefile
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2001-01-11 10:55:55 +0800
committerobrien <obrien@FreeBSD.org>2001-01-11 10:55:55 +0800
commit97afcec64d89d5b242c7790499ff55622bb62183 (patch)
tree3782f0bb2a23350230e4cf5551a62ae2abe24d13 /lang/compaq-cc/Makefile
parentb432ca2975a57690eb4eb1ed76e1d2fdabe9508c (diff)
downloadfreebsd-ports-graphics-97afcec64d89d5b242c7790499ff55622bb62183.tar.gz
freebsd-ports-graphics-97afcec64d89d5b242c7790499ff55622bb62183.tar.zst
freebsd-ports-graphics-97afcec64d89d5b242c7790499ff55622bb62183.zip
Install fixed up BSD headers that are palatable to the Compaq CC.
Make the include directory search path match what exists. Make the lib directory search path match what exists. Submitted by: gallatin (partially)
Diffstat (limited to 'lang/compaq-cc/Makefile')
-rw-r--r--lang/compaq-cc/Makefile40
1 files changed, 36 insertions, 4 deletions
diff --git a/lang/compaq-cc/Makefile b/lang/compaq-cc/Makefile
index 5c2037ff0b7..af26877c20a 100644
--- a/lang/compaq-cc/Makefile
+++ b/lang/compaq-cc/Makefile
@@ -8,6 +8,7 @@
PORTNAME= compaq-cc
PORTVERSION= 6.2.9.504
+PORTREVISION= 1
CATEGORIES= lang
MASTER_SITES= ftp://ftp.compaq.com/pub/products/C-CXX/linux/compaq_c_v62/
DISTFILES= ccc-6.2.9.504-2.alpha.rpm libots-2.2.7-2.alpha.rpm
@@ -26,6 +27,7 @@ BUILD_DEPENDS= rpm:${PORTSDIR}/misc/rpm
ONLY_FOR_ARCHS= alpha
PREFIX= /
+CCC_ROOT= ${PREFIX}/usr/lib/compaq/ccc-6.2.9.504-2
EXTRACT_CMD= rpm2cpio
EXTRACT_BEFORE_ARGS=
EXTRACT_AFTER_ARGS= |cpio -idum
@@ -49,15 +51,15 @@ do-install:
.for F in ${DISTFILES}
cd ${PREFIX} ; rpm2cpio ${DISTDIR}/$F |cpio -idum
.endfor
-.for F in /usr/lib/compaq/ccc-6.2.9.504-2/alpha-linux/bin/lnxcc \
- /usr/lib/compaq/ccc-6.2.9.504-2/alpha-linux/bin/lnxcc_driver
+.for F in ${CCC_ROOT}/alpha-linux/bin/lnxcc \
+ ${CCC_ROOT}/alpha-linux/bin/lnxcc_driver
brandelf -t Linux ${PREFIX}$F
.endfor
- cd ${PREFIX}/usr/lib/compaq/ccc-6.2.9.504-2/alpha-linux/bin \
+ cd ${CCC_ROOT}/alpha-linux/bin \
; ${MV} cpp cpp.Linux-bad ; ${LN} -s /usr/bin/cpp . \
; ${MV} ld ld.Linux-bad ; ${LN} -s /usr/bin/ld .
# "-g" is totally ignored by GNU ld, so we can use it for a benign space holder
- cd ${PREFIX}/usr/lib/compaq/ccc-6.2.9.504-2/alpha-linux/bin \
+ cd ${CCC_ROOT}/alpha-linux/bin \
; ${MV} lnxcc_driver lnxcc_driver.Linux \
; ${SED} -e 's/-dynamic-linker/-g /g' \
-e 's|/lib/ld-linux.so.2|-g |g' \
@@ -75,5 +77,35 @@ do-install:
; ar vq /usr/lib/compaq/cpml-5.1.0/libcpml_ev5.a *.o
# cpio creates directories with stupid permissions
find ${PREFIX}/usr/lib/compaq -type d | xargs ${CHMOD} 755
+# tweaks to compile FreeBSD bits better
+ ${MV} ${CCC_ROOT}/alpha-linux/bin/comp.config \
+ ${CCC_ROOT}/alpha-linux/bin/comp.config.ORIG
+ ${SED} -e 's|!!CCC_ROOT!!|${CCC_ROOT}|g' ${FILESDIR}/comp.config \
+ > ${WRKDIR}/comp.config
+ ${INSTALL_DATA} ${WRKDIR}/comp.config \
+ ${CCC_ROOT}/alpha-linux/bin
+ ${MKDIR} ${CCC_ROOT}/alpha-freebsd/include
+ ${MKDIR} ${CCC_ROOT}/alpha-freebsd/lib
+ cd ${FILESDIR}/include ; \
+ tar --exclude CVS -cf - . \
+ |(cd ${CCC_ROOT}/alpha-freebsd/include ; tar xpBf -)
+ cd ${CCC_ROOT}/alpha-freebsd/include ; ${LN} -sf machine/stdarg.h .
+
+post-install:
+# fixup PLIST for the FreeBSD bits
+ cd ${PREFIX} ;\
+ find ${CCC_ROOT}/alpha-freebsd -type f -o -type l \
+ >${WRKDIR}/PLIST.alpha-freebsd
+ cd ${PREFIX} ;\
+ find ${CCC_ROOT}/alpha-freebsd -type d \
+ | sed -e 's/^/@dirrm /g' \
+ | sort -r >>${WRKDIR}/PLIST.alpha-freebsd
+ ${ECHO} "r ${TMPPLIST}" > ${WRKDIR}/ex.script
+ ${ECHO} "/Insert PLIST.alpha-freebsd" >> ${WRKDIR}/ex.script
+ ${ECHO} "d" >> ${WRKDIR}/ex.script
+ ${ECHO} "r ${WRKDIR}/PLIST.alpha-freebsd" >> ${WRKDIR}/ex.script
+ ${ECHO} "x!" >> ${WRKDIR}/ex.script
+ ${CP} -p ${TMPPLIST} ${TMPPLIST}.pre-alpha-freebsd
+ cd ${WRKDIR} ; ex < ex.script
.include <bsd.port.mk>