Use bsd.pkg.install.mk, correct the PLISTs to refer to ${PKGNAME}.mk

(instead of hardcoding the version number), and general cleanups to the
Makefile to make this package easier to maintain.
This commit is contained in:
jlam 2002-09-27 12:28:15 +00:00
parent 73b1e2ab06
commit cd04e9997a
5 changed files with 88 additions and 97 deletions

View file

@ -1,37 +1,27 @@
#!/bin/sh
#
# Prior versions of the "gcc" package would install a corrupted
# Previous versions of the "gcc" package would install a corrupted
# info entry for "chill", which would foil subsequent installations.
# This script attempts to clean up that entry.
if [ $# -ne 2 -o ! -d "${PKG_PREFIX}" -o ! -w "${PKG_PREFIX}/info/dir" ]
# Script was called improperly.
then
exit 1
fi
if [ "$2" != "PRE-INSTALL" ]
# No problem
then
exit 0
fi
if [ ! -x /bin/ed ]
# Who knows? Give up.
then
exit 0
fi
echo Fixing up infodir from previous installation\.\.\.
/bin/ed "${PKG_PREFIX}/info/dir" 2> /dev/null << END
case ${STAGE} in
PRE-INSTALL)
if [ ! -w "${PKG_PREFIX}/info/dir" ]; then
exit 1
fi
if [ -x /bin/ed ]; then
${ECHO} "Fixing up info/dir from previous installation..."
/bin/ed "${PKG_PREFIX}/info/dir" 2> /dev/null << END
/^* Chill/d
w
q
END
if [ $? -eq 0 ]
then
echo \.\.\.fixed\.
exit 0
fi
echo \.\.\.nothing to fix\.
exit 0
if [ $? -eq 0 ]; then
${ECHO} "...fixed."
else
${ECHO} "...nothing to fix."
fi
fi
;;
esac

View file

@ -1,14 +1,12 @@
# $NetBSD: Makefile,v 1.46 2002/09/27 09:41:40 jlam Exp $
# $NetBSD: Makefile,v 1.47 2002/09/27 12:28:15 jlam Exp $
# Make sure that the version number in "Makefile.gcc" matches this.
DISTNAME= gcc-2.95.3
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_GNU:=gcc/}
#
# Synced from patches against main source tree as of:
# Synced from patches against main source tree as of 2002-03-28
#
# 03/28/02
MAINTAINER= packages@netbsd.org
HOMEPAGE= http://www.gnu.org/software/gcc/gcc.html
COMMENT= GNU Compiler Collection
@ -18,89 +16,91 @@ PATCHFILES= gcc-2.95.3-diff-2002-08-29.gz
BUILD_DEPENDS+= bison-[0-9]*:../../devel/bison
USE_BUILDLINK2= YES
USE_GMAKE= YES
HAS_CONFIGURE= YES
CONFIGURE_ARGS= --host=${MACHINE_GNU_PLATFORM} \
--prefix=${GCC_PREFIX} \
--enable-shared
CONFIGURE_SCRIPT= ${SRCDIR}/configure
INFO_FILES= chill.info cpp.info g77.info gcc.info
CONFIGURE_ARGS= --host=${MACHINE_GNU_PLATFORM}
CONFIGURE_ARGS+= --prefix=${GCC_PREFIX}
CONFIGURE_ARGS+= --enable-shared
PLIST_SUBST+= GCC_VERSION=${PKGVERSION}
SRCDIR= ${WRKDIR}/${DISTNAME}
WRKSRC= ${WRKDIR}/objdir
INFO_FILES= chill.info cpp.info g77.info gcc.info
.include "../../mk/bsd.prefs.mk"
.if (${OPSYS} != SunOS)
CONFIGURE_ARGS+= --with-gnu-as --with-gnu-ld --infodir=${PREFIX}/info
GCC_PREFIX= ${LOCALBASE}/${PKGNAME}
PLIST_SRC= ${WRKDIR}/PLIST_DYNAMIC
.else
.if (${CC} != gcc)
ALL_TARGET= bootstrap
.endif
GCC_PREFIX= ${LOCALBASE}
PLIST_SRC= ${PKGDIR}/PLIST.SunOS
MESSAGE= ${PKGDIR}/MESSAGE.SunOS
.if ${OPSYS} == "SunOS"
CONFLICTS+= gcc-[0-9]* pgcc-[0-9]*
. if ${CC} != "gcc"
ALL_TARGET= bootstrap
. endif
GCC_PREFIX= ${PREFIX}
PLIST_SRC= ${PKGDIR}/PLIST.SunOS
MESSAGE_SRC= ${PKGDIR}/MESSAGE.SunOS
.else
GCC_PREFIX= ${PREFIX}/${PKGNAME}
CONFIGURE_ARGS+= --with-gnu-as
CONFIGURE_ARGS+= --with-gnu-ld
CONFIGURE_ARGS+= --infodir=${PREFIX}/info
PLIST_SRC= ${WRKDIR}/PLIST_DYNAMIC
.endif
GCC_ARCHDIR= ${GCC_PREFIX}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${PKGVERSION}
FILES_SUBST+= GCC_PREFIX=${GCC_PREFIX}
post-extract:
${MKDIR} ${WRKSRC}
cd ${WRKSRC}/../${DISTNAME}/gcc/config; \
${CP} ${FILESDIR}/xm-netbsd.h .; \
${CP} ${FILESDIR}/xm-target64.h .; \
for FILE in ${FILESDIR}/*_* ; do \
ARCH=`${BASENAME} $${FILE} | cut -d_ -f1`; \
DEST=`${BASENAME} $${FILE} | sed -e "s/$${ARCH}_//"`; \
${MKDIR} $${ARCH}; \
${CP} $${FILE} $${ARCH}/$${DEST}; \
done; \
cd ${WRKSRC}/../${DISTNAME}; \
for i in gcc/config/alpha/netbsd-elf.h gcc/config/arm/t-netbsd gcc/config/mips/x-netbsd libf2c/libF77/dtime_.c libf2c/libF77/etime_.c; do \
${RM} $${i};\
${CP} ${FILESDIR}/xm-netbsd.h ${SRCDIR}/gcc/config
${CP} ${FILESDIR}/xm-target64.h ${SRCDIR}/gcc/config
for file in ${FILESDIR}/*_* ; do \
arch=`${BASENAME} $${file} | ${SED} -e "s/_.*//"`; \
dest=`${BASENAME} $${file} | ${SED} -e "s/$${arch}_//"`; \
${MKDIR} ${SRCDIR}/gcc/config/$${arch}; \
${CP} $${file} ${SRCDIR}/gcc/config/$${arch}/$${dest}; \
done
${RM} ${SRCDIR}/gcc/config/alpha/netbsd-elf.h
${RM} ${SRCDIR}/gcc/config/arm/t-netbsd
${RM} ${SRCDIR}/gcc/config/mips/x-netbsd
${RM} ${SRCDIR}/libf2c/libF77/dtime_.c
${RM} ${SRCDIR}/libf2c/libF77/etime_.c
post-patch:
${ECHO} "bogus" >${WRKSRC}/../${DISTNAME}/gcc/cstamp-h.in
pre-configure:
${ECHO} "bogus" > ${SRCDIR}/gcc/cstamp-h.in
.if (${OPSYS} != SunOS)
post-build:
for FILE in ${FILESDIR}/gcc.mk; do \
${SED} -e 's#@@MAKE@@#${MAKE}#g' \
-e 's#@@PKGNAME@@#${PKGNAME}#g' \
-e 's#@@PREFIX@@#${PREFIX}#g' \
<$$FILE >${WRKDIR}/`${BASENAME} $$FILE`; \
done
.endif
@${SED} ${FILES_SUBST_SED} ${FILESDIR}/gcc.mk > ${WRKDIR}/gcc.mk
pre-install:
${SETENV} PKG_PREFIX="${PREFIX}" ${SH} ${INSTALL_FILE} any PRE-INSTALL
.if (${OPSYS} != SunOS)
.if (${OPSYS} == SunOS)
#
# remove empty file and directories that show up when one does:
# make install; make deinstall; make install
#
post-install:
. if exists(/usr/include/g++/FlexLexer.h)
${LN} -s /usr/include/g++/FlexLexer.h \
${PREFIX}/${PKGNAME}/include/g++-3/FlexLexer.h
. endif
${RM} -f ${GCC_PREFIX}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${PKGVERSION}/include/curses.h ${PREFIX}/${PKGNAME}/bin/cc
${LN} -s gcc ${PREFIX}/${PKGNAME}/bin/cc
${INSTALL_DATA} ${WRKDIR}/gcc.mk ${PREFIX}/etc/${PKGNAME}.mk
${CP} -f ${PKGDIR}/PLIST ${PLIST_SRC}
${FIND} ${PREFIX}/${PKGNAME} -type f -print | ${SORT} -r | ${SED} 's;${PREFIX}/;;g' >> ${PLIST_SRC}
${FIND} ${PREFIX}/${PKGNAME} -type l -print | ${SORT} -r | ${SED} 's;${PREFIX}/;;g' >> ${PLIST_SRC}
${FIND} ${PREFIX}/${PKGNAME} -type d -print | ${SORT} -r | ${SED} 's;${PREFIX}/;@dirrm ;g' >> ${PLIST_SRC}
-cd ${GCC_ARCHDIR}/include && ${RM} -f fixed && ${RMDIR} v7 v9
.else
# remove empty file and directories that show up when one
# does make install; make deinstall; make install
post-install:
-cd ${GCC_PREFIX}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${PKGVERSION}/include && \
${RM} -f fixed && \
${RMDIR} v7 v9
${INSTALL_DATA} ${WRKDIR}/gcc.mk ${PREFIX}/etc/${PKGNAME}.mk
. if exists(/usr/include/g++/FlexLexer.h)
${LN} -fs /usr/include/g++/FlexLexer.h \
${GCC_PREFIX}/include/g++-3/FlexLexer.h
. endif
${RM} -f ${GCC_ARCHDIR}/include/curses.h ${GCC_PREFIX}/bin/cc
${LN} -s gcc ${GCC_PREFIX}/bin/cc
${CP} -f ${PKGDIR}/PLIST ${PLIST_SRC}
${FIND} ${GCC_PREFIX} \( -type f -o -type l \) -print \
| ${SORT} | ${SED} -e "s,${PREFIX}/,,g" \
>> ${PLIST_SRC}
${FIND} ${GCC_PREFIX} -type d -print \
| ${SORT} -r | ${SED} -e "s,${PREFIX}/,@dirrm ,g" \
>> ${PLIST_SRC}
.endif
.include "../../mk/texinfo.mk"
.include "../../mk/bsd.pkg.install.mk"
.include "../../mk/bsd.pkg.mk"
# Make bootstrap with compiler != gcc possible.

View file

@ -1,5 +1,5 @@
@comment $NetBSD: PLIST,v 1.6 2002/04/08 12:11:43 dmcmahill Exp $
etc/gcc-2.95.3.mk
@comment $NetBSD: PLIST,v 1.7 2002/09/27 12:28:15 jlam Exp $
etc/${PKGNAME}.mk
@unexec ${INSTALL_INFO} --delete %D/info/chill.info %D/info/dir
info/chill.info
@exec ${INSTALL_INFO} %D/info/chill.info %D/info/dir

View file

@ -1,4 +1,4 @@
@comment $NetBSD: PLIST.SunOS,v 1.5 2002/09/09 03:23:06 dmcmahill Exp $
@comment $NetBSD: PLIST.SunOS,v 1.6 2002/09/27 12:28:15 jlam Exp $
${MACHINE_GNU_PLATFORM}/include/_G_config.h
${MACHINE_GNU_PLATFORM}/include/assert.h
bin/${MACHINE_GNU_PLATFORM}-gcc
@ -14,6 +14,7 @@ bin/gcjh
bin/gcov
bin/jcf-dump
bin/jv-scan
etc/${PKGNAME}.mk
include/g++-3/PlotFile.h
include/g++-3/SFile.h
include/g++-3/algo.h

View file

@ -1,7 +1,7 @@
# $NetBSD: gcc.mk,v 1.3 2002/01/03 21:19:09 tron Exp $
# $NetBSD: gcc.mk,v 1.4 2002/09/27 12:28:16 jlam Exp $
#
# make configuration file for @@PKGNAME@@
# make configuration file for @PKGNAME@
CC= @@PREFIX@@/@@PKGNAME@@/bin/cc
CPP= @@PREFIX@@/@@PKGNAME@@/bin/cpp
CXX= @@PREFIX@@/@@PKGNAME@@/bin/c++
CC= @GCC_PREFIX@/bin/cc
CPP= @GCC_PREFIX@/bin/cpp
CXX= @GCC_PREFIX@/bin/c++