aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiane Bruce <db@FreeBSD.org>2014-07-10 05:10:35 +0000
committerDiane Bruce <db@FreeBSD.org>2014-07-10 05:10:35 +0000
commit0a83d47bffde280c942d51f2a60ef5b39b1c849b (patch)
tree3d93dd42e6211c678efd3184da9931525f5f1cbe
parent755b936d38cc8cce4455792572c1e5df098bb252 (diff)
Notes
-rw-r--r--comms/usrp/Makefile54
-rw-r--r--comms/usrp/files/patch-firmware_fx2_usrp1_gpif.c8
-rw-r--r--comms/usrp/files/patch-host_CMakeLists.txt43
-rw-r--r--comms/usrp/files/patch-host_lib_usrp_dboard_id.cpp16
4 files changed, 51 insertions, 70 deletions
diff --git a/comms/usrp/Makefile b/comms/usrp/Makefile
index 6e3ffa80a61b..709439805ef8 100644
--- a/comms/usrp/Makefile
+++ b/comms/usrp/Makefile
@@ -8,7 +8,7 @@ MASTER_SITES= ${MASTER_SITE_LOCAL}
MASTER_SITE_SUBDIR= adrian
DISTNAME= Ettus-USRP-3.4.3
-MAINTAINER= adrian@FreeBSD.org
+MAINTAINER= hamradio@FreeBSD.org
COMMENT= Ettus Research USRP driver framework
LIB_DEPENDS= libboost_python.so:${PORTSDIR}/devel/boost-python-libs
@@ -18,12 +18,14 @@ BUILD_DEPENDS= ${LOCALBASE}/include/boost/tuple/tuple.hpp:${PORTSDIR}/devel/boos
orcc:${PORTSDIR}/devel/orc \
sdcc:${PORTSDIR}/lang/sdcc
-USES= cmake:outsource dos2unix gmake pkgconfig
+USES= compiler:c++0x cmake:outsource gmake pkgconfig dos2unix
+COMPILER_FEATURES= libc++
USE_LDCONFIG= yes
CMAKE_SOURCE_PATH= ${WRKSRC}/host
+MAKE_JOBS_UNSAFE= yes
# for excruciating debug use this -db
-CMAKE_ARGS= --debug-output --trace
+#CMAKE_ARGS+= --debug-output --trace
DOCSDIR= share/doc/uhd
WRKSRC= ${WRKDIR}/EttusResearch-UHD-Mirror-6047010
@@ -32,7 +34,6 @@ OPTIONS_DEFAULT= USRP1 USRP2
USRP1_DESC= Build Ettus USRP1 firmware
USRP2_DESC= Build Ettus USRP2 firmware
-NO_STAGE= yes
.include <bsd.port.pre.mk>
.if ${OSVERSION} < 800000
@@ -62,51 +63,50 @@ PLIST_SUB+= PUSRP2=""
PLIST_SUB+= PUSRP2="@comment "
.endif
-do-build:
-# build host component
- (export PATH=${LOCALBASE}/zpu/bin:${PATH};cd ${CONFIGURE_WRKSRC}&& ${SETENV} ${MAKE_ENV} ${MAKE_CMD})
+CONFIGURE_WRKSRC= ${WRKSRC}/host
+CMAKE_SOURCE_PATH= ${WRKSRC}/host
+
+# usrp1 and usrp2 should be ports of their own
+
+post-build:
# build usrp firmware
-# (export PATH=${LOCALBASE}/zpu/bin:${PATH};\
-# cd ${WRKSRC}/images && ${MAKE_CMD} -f Makefile images)
+ (export PATH=${LOCALBASE}/zpu/bin:${PATH};\
+ cd ${WRKSRC}/images && ${GMAKE} -f Makefile images)
.if USRP1
- (cd ${WRKSRC}/images && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -f Makefile images_usrp1)
+ (cd ${WRKSRC}/images && ${GMAKE} -f Makefile images_usrp1)
.endif
.if USRP2
+#firmware/fx2/build
(export PATH=${LOCALBASE}/zpu/bin:${PATH};\
- cd ${WRKSRC}/images && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -f Makefile images_usrp2)
+ cd ${WRKSRC}/images && ${GMAKE} -f Makefile images_usrp2)
.endif
do-install:
# install host component
+# hack the install prefix now
+ @${REINPLACE_CMD} -e "s|/usr/local|${STAGEDIR}${PREFIX}|g" \
+ ${CONFIGURE_WRKSRC}/cmake_install.cmake
cd ${CONFIGURE_WRKSRC} && ${MAKE} install
# install usrp firmware
- ${MKDIR} ${PREFIX}/share/uhd
- ${MKDIR} ${PREFIX}/share/uhd/images
-
+ ${MKDIR} ${STAGEDIR}${PREFIX}/share/uhd
+ ${MKDIR} ${STAGEDIR}${PREFIX}/share/uhd/images
.if USRP2
.for f in usrp_n200_fw.bin usrp2_fw.bin \
usrp_n210_fw.bin
- ${INSTALL_DATA} ${WRKSRC}/images/images/${f} ${PREFIX}/share/uhd/images/$f
+ ${INSTALL_DATA} ${WRKSRC}/images/images/${f} ${STAGEDIR}${PREFIX}/share/uhd/images/$f
.endfor
.endif
-
.if USRP1
.for f in usrp1_fw.ihx usrp1_fpga.rbf usrp1_fpga_4rx.rbf usrp_b100_fw.ihx
- ${INSTALL_DATA} ${WRKSRC}/images/images/${f} ${PREFIX}/share/uhd/images/$f
+ ${INSTALL_DATA} ${WRKSRC}/images/images/${f} ${STAGEDIR}${PREFIX}/share/uhd/images/$f
.endfor
- ${MKDIR} ${PREFIX}/share/uhd/fpga/usrp1/rev2
+ ${MKDIR} ${STAGEDIR}${PREFIX}/share/uhd/fpga/usrp1/rev2
${INSTALL_DATA} ${WRKSRC}/fpga/usrp1/rbf/rev2/*.rbf \
- ${PREFIX}/share/uhd/fpga/usrp1/rev2
- ${MKDIR} ${PREFIX}/share/uhd/fpga/usrp1/rev4
+ ${STAGEDIR}${PREFIX}/share/uhd/fpga/usrp1/rev2
+ ${MKDIR} ${STAGEDIR}${PREFIX}/share/uhd/fpga/usrp1/rev4
${INSTALL_DATA} ${WRKSRC}/fpga/usrp1/rbf/rev4/*.rbf \
- ${PREFIX}/share/uhd/fpga/usrp1/rev4
-.endif
-
-post-install:
- ${ECHO_MSG} fpga and firmware installed in /usr/local/share/uhd
-.if HAVEDOCS
- ${ECHO_MSG} docs installed in /usr/local/share/doc/uhd
+ ${STAGEDIR}${PREFIX}/share/uhd/fpga/usrp1/rev4
.endif
.include <bsd.port.post.mk>
diff --git a/comms/usrp/files/patch-firmware_fx2_usrp1_gpif.c b/comms/usrp/files/patch-firmware_fx2_usrp1_gpif.c
index 8f1a50be6fa5..18a2d498e591 100644
--- a/comms/usrp/files/patch-firmware_fx2_usrp1_gpif.c
+++ b/comms/usrp/files/patch-firmware_fx2_usrp1_gpif.c
@@ -1,11 +1,11 @@
---- firmware/fx2/usrp1/gpif.c.orig 2012-10-10 13:24:41.000000000 -0500
-+++ firmware/fx2/usrp1/gpif.c 2012-10-10 13:25:02.000000000 -0500
+--- firmware/fx2/usrp1/gpif.c.orig 2014-07-04 14:55:38.716872326 -0400
++++ firmware/fx2/usrp1/gpif.c 2014-07-05 19:13:33.863851247 -0400
@@ -156,7 +156,7 @@
// END DO NOT EDIT
// DO NOT EDIT ...
-const char xdata WaveData[128] =
-+const char __xdata WaveData[128] =
++const char WaveData[128] =
{
// Wave 0
/* LenBr */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x07,
@@ -23,7 +23,7 @@
// DO NOT EDIT ...
-const char xdata InitData[7] =
-+const char __xdata InitData[7] =
++const char InitData[7] =
{
/* Regs */ 0xA0,0x00,0x00,0x00,0xEE,0x4E,0x00
};
diff --git a/comms/usrp/files/patch-host_CMakeLists.txt b/comms/usrp/files/patch-host_CMakeLists.txt
index 3a3c624d9bc8..3b7c0d463789 100644
--- a/comms/usrp/files/patch-host_CMakeLists.txt
+++ b/comms/usrp/files/patch-host_CMakeLists.txt
@@ -1,46 +1,11 @@
---- host/CMakeLists.txt.orig 2012-07-30 14:09:48.000000000 -0500
-+++ host/CMakeLists.txt 2012-10-27 14:24:27.000000000 -0500
-@@ -40,6 +40,7 @@
- SET(LIB_SUFFIX ${LIB_SUFFIX} CACHE STRING "lib directory suffix")
- SET(RUNTIME_DIR bin)
- SET(LIBRARY_DIR lib${LIB_SUFFIX})
-+SET(PKGCONF_DIR libdata${LIB_SUFFIX})
- SET(INCLUDE_DIR include)
- SET(PKG_DATA_DIR share/uhd)
- IF(NOT DEFINED PKG_LIB_DIR)
-@@ -186,6 +187,7 @@
- ########################################################################
- # Install Package Docs
- ########################################################################
-+IF(ENABLE_DOXYGEN)
- INSTALL(FILES
- ${CMAKE_CURRENT_SOURCE_DIR}/README.txt
- ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.txt
-@@ -193,6 +195,7 @@
- DESTINATION ${PKG_DOC_DIR}
- COMPONENT readme
- )
-+ENDIF(ENABLE_DOXYGEN)
-
- ########################################################################
- # Register top level components
-@@ -205,7 +208,9 @@
- ########################################################################
- # Add the subdirectories
- ########################################################################
--ADD_SUBDIRECTORY(docs)
-+IF(ENABLE_DOXYGEN)
-+ ADD_SUBDIRECTORY(docs)
-+ENDIF(ENABLE_DOXYGEN)
-
- IF(ENABLE_EXAMPLES)
- ADD_SUBDIRECTORY(examples)
-@@ -256,7 +261,7 @@
+--- host/CMakeLists.txt.orig 2014-07-10 00:22:32.824756011 -0400
++++ host/CMakeLists.txt 2014-07-10 00:24:10.487748148 -0400
+@@ -256,7 +256,7 @@
INSTALL(
FILES ${CMAKE_CURRENT_BINARY_DIR}/uhd.pc
- DESTINATION ${LIBRARY_DIR}/pkgconfig
-+ DESTINATION ${PKGCONF_DIR}/pkgconfig
++ DESTINATION libdata/pkgconfig
COMPONENT libraries
)
diff --git a/comms/usrp/files/patch-host_lib_usrp_dboard_id.cpp b/comms/usrp/files/patch-host_lib_usrp_dboard_id.cpp
new file mode 100644
index 000000000000..1e0a7cdee9b5
--- /dev/null
+++ b/comms/usrp/files/patch-host_lib_usrp_dboard_id.cpp
@@ -0,0 +1,16 @@
+--- host/lib/usrp/dboard_id.cpp.orig 2014-04-01 21:48:39.542370984 -0400
++++ host/lib/usrp/dboard_id.cpp 2014-04-01 21:50:22.617363414 -0400
+@@ -51,9 +51,11 @@
+
+ dboard_id_t dboard_id_t::from_string(const std::string &string){
+ if (string.substr(0, 2) == "0x"){
+- return dboard_id_t::from_uint16(boost::lexical_cast<to_hex<boost::uint16_t> >(string));
++ std::stringstream interpreter(string);
++ to_hex<boost::uint16_t> hh;
++ interpreter >>hh;
++ return dboard_id_t::from_uint16(hh);
+ }
+- return dboard_id_t::from_uint16(boost::lexical_cast<boost::uint16_t>(string));
+ }
+
+ std::string dboard_id_t::to_string(void) const{