blob: feb1f6547b32b341a3f6b9db1aaf07b144f66715 (
plain) (
blame)
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
# Created by: nox@FreeBSD.org
PORTNAME= linux_libusb
PORTVERSION= 13.0r${FSVN_REV}
PORTREVISION= 4
CATEGORIES= devel linux
MASTER_SITES= http://www.selasky.org/hans_petter/distfiles/ \
http://home.selasky.org/distfiles/
MAINTAINER= emulation@FreeBSD.org
COMMENT= Linux-compatibility libusb
LICENSE= BSD2CLAUSE
ONLY_FOR_ARCHS= aarch64 amd64 i386
USES= linux tar:bzip2
USE_LDCONFIG= yes
USE_LINUX= base:build,run devtools:build
USE_LINUX_PREFIX= yes
LIBDIR_aarch64= lib64
LIBDIR_amd64= lib64
LIBDIR_i386= lib
PLIST_FILES= usr/${LIBDIR_${ARCH}}/libusb.so.3 \
usr/${LIBDIR_${ARCH}}/libusb-0.1.so.4 \
usr/${LIBDIR_${ARCH}}/libusb-1.0.so.0
CC= ${LINUXBASE}/usr/bin/gcc --sysroot=${LINUXBASE}
CFLAGS:= ${CFLAGS:N-march=*}
CFLAGS+= -I${WRKDIR}/${DISTNAME}/include
SSP_CFLAGS?= -fstack-protector # XXX -strong isn't supported by GCC < 4.9
MAKE_ARGS+= LIBUSB_GLOBAL_INCLUDE_FILE=libusb_global_linux.h
MAKE_ARGS+= WITHOUT_PROFILE=yes
MAKE_ARGS+= WITHOUT_SSP=yes
MAKE_ARGS+= WITHOUT_WERROR=yes
MAKE_ARGS+= __MAKE_CONF=""
MAKE_ENV+= LDADD="-lrt"
# see: sysutils/pc-sysinstall/Makefile
FSVN_REV= 358841
FSVNPATH?= http://svn.freebsd.org/base/head
FSVNDIR= lib/libusb
.include <bsd.port.pre.mk>
.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1300134
MAKE_ARGS+= NO_WERROR=yes
.endif
.if ${ARCH} == amd64
PLIST_FILES+= usr/lib/libusb.so.3 \
usr/lib/libusb-0.1.so.4 \
usr/lib/libusb-1.0.so.0
.endif
do-build:
${MKDIR} ${WRKSRC}/${LIBDIR_${ARCH}}
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} MAKEOBJDIR=${LIBDIR_${ARCH}} \
${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${_MAKE_JOBS} \
${MAKE_ARGS:N${DESTDIRNAME}=*}
.if ${ARCH} == amd64
${MKDIR} ${WRKSRC}/lib
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV:NCC=*} CC="${CC} -m32" \
MAKEOBJDIR=lib ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} \
${_MAKE_JOBS} ${MAKE_ARGS:N${DESTDIRNAME}=*} COMPAT_32BIT=yes
.endif
do-install:
${MKDIR} ${STAGEDIR}${PREFIX}/usr/${LIBDIR_${ARCH}}
${INSTALL_LIB} ${WRKSRC}/${LIBDIR_${ARCH}}/libusb.so.3 \
${STAGEDIR}${PREFIX}/usr/${LIBDIR_${ARCH}}
${LN} -s libusb.so.3 \
${STAGEDIR}${PREFIX}/usr/${LIBDIR_${ARCH}}/libusb-0.1.so.4
${LN} -s libusb.so.3 \
${STAGEDIR}${PREFIX}/usr/${LIBDIR_${ARCH}}/libusb-1.0.so.0
.if ${ARCH} == amd64
${MKDIR} ${STAGEDIR}${PREFIX}/usr/lib
${INSTALL_LIB} ${WRKSRC}/lib/libusb.so.3 \
${STAGEDIR}${PREFIX}/usr/lib
${LN} -s libusb.so.3 \
${STAGEDIR}${PREFIX}/usr/lib/libusb-0.1.so.4
${LN} -s libusb.so.3 \
${STAGEDIR}${PREFIX}/usr/lib/libusb-1.0.so.0
.endif
.if defined(BOOTSTRAP) || defined(SVN_FETCH)
SVN?= svnlite
do-fetch:
${RM} -rf ${WRKDIR}
${MKDIR} ${WRKDIR}
${SVN} export -r ${FSVN_REV} ${FSVNPATH}/${FSVNDIR} ${WRKDIR}/${DISTNAME}
${MKDIR} ${WRKDIR}/${DISTNAME}/include/compat/linux
${SVN} export -r ${FSVN_REV} ${FSVNPATH}/sys/compat/linux/linux_ioctl.h ${WRKDIR}/${DISTNAME}/include/compat/linux/
${MKDIR} ${WRKDIR}/${DISTNAME}/include/dev/usb
${SVN} export -r ${FSVN_REV} ${FSVNPATH}/sys/dev/usb/usb_endian.h ${WRKDIR}/${DISTNAME}/include/dev/usb/
${SVN} export -r ${FSVN_REV} ${FSVNPATH}/sys/dev/usb/usb_freebsd.h ${WRKDIR}/${DISTNAME}/include/dev/usb/
${SVN} export -r ${FSVN_REV} ${FSVNPATH}/sys/dev/usb/usb.h ${WRKDIR}/${DISTNAME}/include/dev/usb/
${SVN} export -r ${FSVN_REV} ${FSVNPATH}/sys/dev/usb/usbdi.h ${WRKDIR}/${DISTNAME}/include/dev/usb/
${SVN} export -r ${FSVN_REV} ${FSVNPATH}/sys/dev/usb/usb_ioctl.h ${WRKDIR}/${DISTNAME}/include/dev/usb/
cd ${WRKDIR}; tar --uid=0 --gid=0 -cvyf ${DISTDIR}/${DISTNAME}.tar.bz2 ${DISTNAME}
.endif
.include <bsd.port.post.mk>
|