summaryrefslogtreecommitdiff
path: root/cross/i386-netbsdpe/Makefile
blob: 66aeb9abf11d14deb624110494adc8dbd95383c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# $NetBSD: Makefile,v 1.14 2003/08/25 05:47:12 kent Exp $

DISTVERSION=		1.4.0
CROSS_DISTFILES=		# none

MAINTAINER=		peace-sacrifice@hauN.org
HOMEPAGE=		http://chiharu.hauN.org/peace/
COMMENT=		Cross-compile environment for PEACE/i386
# Need NetBSD headers in /usr/include
ONLY_FOR_PLATFORM=	NetBSD-1.6[Q-Z]*-* NetBSD-[2-9]*-*

WRKSRC=			${WRKDIR}/${GCC_DISTNAME}
BU_WRKSRC=		${WRKDIR}/${BINUTILS_DISTNAME}

USE_CROSS_BINUTILS=	yes
BINUTILS_GNUTARGET=	pe-i386
BINUTILS_LDEMULATION=	i386pe
USE_CROSS_GCC=		yes
GCC_FAKE_RUNTIME=	yes
GCC_CXX=		yes
#GCC_CXX_RUNTIME=	yes

TARGET_ARCH=		i386-netbsdpe
GCC_CONFIGURE_ARGS+=	--enable-threads
CONFLICTS=		pth-[0-9]* pth-current-[0-9]* pth-syscall-[0-9]*

BINUTILS_EXTRAS=	dlltool dllwrap windres

# Mingw pathes
GCC_WIN32_PATCHBUNDLE=	${GCC_DISTNAME}-x86-win32-patches.tar.gz
GCC_WIN32_PATCH=	${WRKDIR}/${GCC_DISTNAME}-patches/${GCC_DISTNAME}-x86-win32.diff
MASTER_SITES+=		ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/${GCC_DISTNAME}/patches/
DISTFILES+=		${GCC_WIN32_PATCHBUNDLE}

# SSP patch
MASTER_SITES+=		http://www.trl.ibm.com/projects/security/ssp/gcc2_95_2/
SSP_PATCH=		protector-2.95.2-2.tar.gz
DISTFILES+=		${SSP_PATCH}

post-extract:
#	cd ${WRKDIR} && ${PAX} -O -rz -s /${GCC_DISTNAME}/toolchain/ \
#		-f ${_DISTDIR}/${GCC_DISTNAME}.tar.gz
	${PATCH} -d ${WRKSRC} -p1 --forward --quiet -E < ${GCC_WIN32_PATCH}
#	cd ${WRKDIR} && ${PAX} -O -rz -s /${BINUTILS_DISTNAME}/toolchain/ \
#		-f ${_DISTDIR}/${BINUTILS_DISTNAME}.tar.bz2

post-patch:
	for i in patches/binutils-*; do \
		${PATCH} -d ${BU_WRKSRC} --forward --quiet -E < $$i; \
	done
	cd ${WRKSRC}/gcc && ${AUTOCONF}
	${CP} ${WRKDIR}/protector.c ${WRKDIR}/protector.h ${WRKSRC}/gcc/
	${PATCH} -d ${WRKSRC} --forward --quiet -E < ${WRKDIR}/protector.dif
#	${PATCH} -d ${WRKSRC} --forward --quiet -E < ${WRKDIR}/protectonly.dif

CFLAGS_FOR_TARGET+=	-I${WRKDIR}
post-configure:
	${CP} ${FILESDIR}/i386_limits.h ${CROSS_SYS_INCLUDE}/machine/limits.h
	${CP} ${FILESDIR}/syslimits.h ${CROSS_SYS_INCLUDE}/sys/
	${CP} ${FILESDIR}/featuretest.h ${CROSS_SYS_INCLUDE}/sys/
	${CP} ${FILESDIR}/limits.h ${CROSS_SYS_INCLUDE}/
	${SED} "s/^extern FILE/__declspec(dllimport) FILE/" /usr/include/stdio.h > ${WRKDIR}/stdio.h

.include "files/cross.mk"