freebsd-ports/emulators/rtc/Makefile
Bryan Drewery c93dfc2e9f SSP support has been added to ports with WITH_SSP for i386 and amd64
on FreeBSD 10, and amd64 on earlier versions.

SSP_UNSAFE is added to disable in a port if it fails to build, but
this should only be used in rare circumstances such as kernel modules.
Otherwise, the port may just be failing due to lack of respecting
LDFLAGS.

On FreeBSD 10, this uses an ldscript in /usr/lib/libc.so to pull in
libssp_nonshared.a to address issues linking on i386 [1].

On earlier FreeBSD versions the WITH_SSP knob will add -lssp_nonshared
to LDFLAGS on i386. This is not needed on amd64. However, several hundred
ports do not currently respect LDFLAGS, so this support is disabled currently
as it causes build failures if a dependency is looking for the stack_chk
symbols.

Many thanks to jlh@ for this as he had many years of patience in getting
all of the necessary pieces [1][2] in.

[1] http://svnweb.freebsd.org/base/head/lib/libc/libc.ldscript?revision=251668&view=markup

PR:		ports/138228 [2]
Submitted by:	jlh (bsd.ssp.mk based on)
Reviewed by:	bapt
With hat:	portmgr
exp-runs done:	37 over a month on 91i386,91amd64,10i386,10amd64
2013-09-20 12:54:54 +00:00

54 lines
1.3 KiB
Makefile

# Created by: Akinori MUSHA aka knu <knu@idaemons.org>
# $FreeBSD$
PORTNAME= rtc
PORTVERSION= 2004.02.24.1
PORTREVISION= 8
CATEGORIES= emulators linux kld
MASTER_SITES= # none
DISTFILES= # none
MAINTAINER= emulation@FreeBSD.org
COMMENT= Kernel module which provides /dev/rtc device support
WRKSRC= ${WRKDIR}/files
SSP_UNSAFE= kernel module does not support ssp
NO_FETCH= yes
USE_LINUX= yes # because of ${DEVDIR}
KMODDIR= ${PREFIX}/modules
CDEV_MAJOR= 202
DEVDIR= ${LINUXBASE}/dev
STARTUP= rtc.sh
MAKE_ARGS= KMODDIR="${KMODDIR}" CDEV_MAJOR="${CDEV_MAJOR}"
PLIST_SUB= DEVDIR="${DEVDIR}" CDEV_MAJOR="${CDEV_MAJOR}" \
RTC_H_DIR="${RTC_H_DIR}"
.include <bsd.port.pre.mk>
SRC_BASE?= /usr/src
.if !exists(${SRC_BASE}/sys/Makefile)
IGNORE= needs kernel source files
.endif
do-extract:
@${MKDIR} ${WRKSRC}
@${SED} -e 's,@@PREFIX@@,${PREFIX},' \
${FILESDIR}/${STARTUP} > ${WRKDIR}/${STARTUP}
@cd ${FILESDIR} && ${CP} Makefile *.[ch] ${WRKSRC}/
pre-install:
${MKDIR} ${KMODDIR}
post-install:
${INSTALL_DATA} ${WRKSRC}/rtc.h ${PREFIX}/include/
${MKDIR} ${PREFIX}/share/examples/rtc
${INSTALL_DATA} ${WRKSRC}/test.c ${PREFIX}/share/examples/rtc/
@${ECHO} "Installing ${PREFIX}/etc/rc.d/${STARTUP} startup file.";
${INSTALL_SCRIPT} ${WRKDIR}/${STARTUP} ${PREFIX}/etc/rc.d/
.include <bsd.port.post.mk>