diff options
| author | Diane Bruce <db@FreeBSD.org> | 2014-07-10 05:10:35 +0000 |
|---|---|---|
| committer | Diane Bruce <db@FreeBSD.org> | 2014-07-10 05:10:35 +0000 |
| commit | 0a83d47bffde280c942d51f2a60ef5b39b1c849b (patch) | |
| tree | 3d93dd42e6211c678efd3184da9931525f5f1cbe | |
| parent | 755b936d38cc8cce4455792572c1e5df098bb252 (diff) | |
Notes
| -rw-r--r-- | comms/usrp/Makefile | 54 | ||||
| -rw-r--r-- | comms/usrp/files/patch-firmware_fx2_usrp1_gpif.c | 8 | ||||
| -rw-r--r-- | comms/usrp/files/patch-host_CMakeLists.txt | 43 | ||||
| -rw-r--r-- | comms/usrp/files/patch-host_lib_usrp_dboard_id.cpp | 16 |
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{ |
