1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-19 19:59:43 +00:00

- Update to 2.99.1

Changes in software:
- vendor's bugfixes
- new FLUTE support
- new dependencies in gdome-2 and glib20
- properly install the shared library and headers
- replace -pthread with $PTHREAD_LIBS
- fix compilation warnings due to C++ headers in -current

PR:		ports/61068
Submitted by:	Panagiotis Astithas <past@noc.ntua.gr> (maintainer)
This commit is contained in:
Pav Lucistnik 2004-01-09 00:12:51 +00:00
parent 66a32fafee
commit c5093c3118
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=97719
24 changed files with 378 additions and 74 deletions

View File

@ -6,50 +6,78 @@
#
PORTNAME= mcl
PORTVERSION= 2.99
PORTVERSION= 2.99.1
CATEGORIES= mbone net
MASTER_SITES= http://www.inrialpes.fr/planete/people/roca/mcl/bin/
DISTNAME= mcl_v2.99
DISTNAME= mcl_v2.99.1
EXTRACT_SUFX= .tgz
MAINTAINER= past@noc.ntua.gr
COMMENT= Implementation of the ALC and NORM Reliable Multicast Protocols
BUILD_DEPENDS= makedepend:${PORTSDIR}/devel/imake-4
BUILD_DEPENDS= makedepend:${PORTSDIR}/devel/imake-4 \
gdome-config:${PORTSDIR}/textproc/gdome2 \
glib-gettextize:${PORTSDIR}/devel/glib20
USE_REINPLACE= yes
INSTALLS_SHLIB= yes
USE_GMAKE= yes
MAN1= fcast.1 fcastn.1 mclrecv2.1 mclsend2.1
MAN2= mcl_abort.2 mcl_close.2 mcl_ctl.2 mcl_open.2 mcl_recv.2 \
mcl_send.2 mcl_wait_event.2
WRKSRC= ${WRKDIR}/mcl_v2.99_src
pre-patch:
@cd ${WRKSRC} && \
${MKDIR} bin/freebsd
post-patch:
@${REINPLACE_CMD} -Ee 's#-pthread|-lc_r#${PTHREAD_LIBS}#g' \
${WRKSRC}/src/alc/Makefile
@${REINPLACE_CMD} -Ee 's#-pthread|-lc_r#${PTHREAD_LIBS}#g' \
${WRKSRC}/check/alc/Makefile
@${REINPLACE_CMD} -Ee 's#-pthread|-lc_r#${PTHREAD_LIBS}#g' \
${WRKSRC}/fcast/Makefile
@${REINPLACE_CMD} -Ee 's#-pthread|-lc_r#${PTHREAD_LIBS}#g' \
${WRKSRC}/flute/Makefile
@${REINPLACE_CMD} -Ee 's#-pthread|-lc_r#${PTHREAD_LIBS}#g' \
${WRKSRC}/mclftp/Makefile
@${REINPLACE_CMD} -Ee 's#-pthread|-lc_r#${PTHREAD_LIBS}#g' \
${WRKSRC}/robcast/Makefile
pre-install:
@${REINPLACE_CMD} -Ee 's#../alc/#alc/#g' \
${WRKSRC}/src/common/mcl_lib_api.h
@${REINPLACE_CMD} -Ee 's#../norm/#norm/#g' \
${WRKSRC}/src/common/mcl_lib_api.h
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/bin/freebsd/fcast ${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/bin/freebsd/robcast_client ${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/bin/freebsd/robcast_server ${PREFIX}/bin
${INSTALL_DATA} ${WRKSRC}/bin/freebsd/libmclalc.a ${PREFIX}/lib
${INSTALL_MAN} ${WRKSRC}/man/fcast.man.1 ${PREFIX}/man/man1/fcast.1
${INSTALL_MAN} ${WRKSRC}/man/fcastn.man.1 ${PREFIX}/man/man1/fcastn.1
${INSTALL_MAN} ${WRKSRC}/man/mclrecv2.man.1 \
@${INSTALL_PROGRAM} ${WRKSRC}/bin/freebsd/fcast ${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/bin/freebsd/flute ${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/bin/freebsd/robcast_client ${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/bin/freebsd/robcast_server ${PREFIX}/bin
@${INSTALL_DATA} ${WRKSRC}/bin/freebsd/libmclalc.a ${PREFIX}/lib
@${INSTALL_DATA} ${WRKSRC}/src/common/mcl_lib_api.h ${PREFIX}/include
@${INSTALL_DATA} -d ${PREFIX}/include/alc
@${INSTALL_DATA} ${WRKSRC}/src/alc/mcl_lib_api_alc.h \
${PREFIX}/include/alc
@${INSTALL_MAN} ${WRKSRC}/man/fcast.man.1 ${PREFIX}/man/man1/fcast.1
@${INSTALL_MAN} ${WRKSRC}/man/fcastn.man.1 ${PREFIX}/man/man1/fcastn.1
@${INSTALL_MAN} ${WRKSRC}/man/mclrecv2.man.1 \
${PREFIX}/man/man1/mclrecv2.1
${INSTALL_MAN} ${WRKSRC}/man/mclsend2.man.1 \
@${INSTALL_MAN} ${WRKSRC}/man/mclsend2.man.1 \
${PREFIX}/man/man1/mclsend2.1
${INSTALL_MAN} ${WRKSRC}/man/mcl_abort.man.2 \
@${INSTALL_MAN} ${WRKSRC}/man/mcl_abort.man.2 \
${PREFIX}/man/man2/mcl_abort.2
${INSTALL_MAN} ${WRKSRC}/man/mcl_close.man.2 \
@${INSTALL_MAN} ${WRKSRC}/man/mcl_close.man.2 \
${PREFIX}/man/man2/mcl_close.2
${INSTALL_MAN} ${WRKSRC}/man/mcl_ctl.man.2 ${PREFIX}/man/man2/mcl_ctl.2
${INSTALL_MAN} ${WRKSRC}/man/mcl_open.man.2 \
@${INSTALL_MAN} ${WRKSRC}/man/mcl_ctl.man.2 ${PREFIX}/man/man2/mcl_ctl.2
@${INSTALL_MAN} ${WRKSRC}/man/mcl_open.man.2 \
${PREFIX}/man/man2/mcl_open.2
${INSTALL_MAN} ${WRKSRC}/man/mcl_recv.man.2 \
@${INSTALL_MAN} ${WRKSRC}/man/mcl_recv.man.2 \
${PREFIX}/man/man2/mcl_recv.2
${INSTALL_MAN} ${WRKSRC}/man/mcl_send.man.2 \
@${INSTALL_MAN} ${WRKSRC}/man/mcl_send.man.2 \
${PREFIX}/man/man2/mcl_send.2
${INSTALL_MAN} ${WRKSRC}/man/mcl_wait_event.man.2 \
@${INSTALL_MAN} ${WRKSRC}/man/mcl_wait_event.man.2 \
${PREFIX}/man/man2/mcl_wait_event.2
.include <bsd.port.mk>

View File

@ -1 +1 @@
MD5 (mcl_v2.99.tgz) = d492d3df5b88ca563d0f484ce63f31f4
MD5 (mcl_v2.99.1.tgz) = d4a5c0c384d45dfa6c2a3dcbdcb3a81e

View File

@ -1,5 +1,5 @@
--- Makefile.orig Tue Jul 22 19:37:39 2003
+++ Makefile Tue Oct 14 11:55:56 2003
--- Makefile.orig Sun Dec 7 18:35:07 2003
+++ Makefile Sun Dec 7 18:35:20 2003
@@ -5,8 +5,8 @@
# We need the GNU make tool, on some systems it is called
# gmake, on others make is an alias to gmake. Choose one...

View File

@ -1,5 +1,5 @@
--- Makefile.common.orig Tue Jul 22 19:37:39 2003
+++ Makefile.common Tue Oct 14 15:04:38 2003
--- Makefile.common.orig Sun Dec 7 18:36:25 2003
+++ Makefile.common Sun Dec 7 18:38:10 2003
@@ -24,11 +24,15 @@
ifeq (${SYSTEM},SunOS)
OS = solaris
@ -22,7 +22,7 @@
LD = /opt/SUNWspro/bin/CC
+endif
+ifeq (${OS},freebsd)
+ OSFLAGS = -DFREEBSD -I/usr/include/g++
+ OSFLAGS = -DFREEBSD -I/usr/include/g++ -I/usr/include/c++/3.3
+ # Which compiler?
+ # NB: use -Wall for compilation warnings with gcc
+ #

View File

@ -0,0 +1,14 @@
--- flute/display.c.orig Wed Jan 7 12:08:23 2004
+++ flute/display.c Wed Jan 7 12:07:24 2004
@@ -65,7 +65,11 @@
signal (SIGTERM, sig_catcher);
sigaction (SIGTERM, (struct sigaction *) 0, &sa);
sa.sa_flags |= SA_RESTART;
+#if defined(FREEBSD)
+ sa.sa_flags &= ~SA_NOCLDSTOP;
+#else
sa.sa_flags &= ~SA_INTERRUPT;
+#endif
sigaction (SIGTERM, &sa, (struct sigaction *) 0);
sigaction (SIGINT, &sa, (struct sigaction *) 0);
tcsetattr(0, TCSANOW, &new_settings);

View File

@ -0,0 +1,52 @@
--- flute/Makefile.orig Wed Nov 26 17:18:21 2003
+++ flute/Makefile Wed Jan 7 12:38:28 2004
@@ -36,6 +36,18 @@
endif
+ifeq (${OS},freebsd)
+ # FreeBSD version:
+ # CC requires: -mt -lpthread for multithreaded applications
+ # NB: mpatrol not installed !
+ #
+ BINDIR = ../bin/freebsd
+ LDPC_BINDIR = ../../ldpc/bin/freebsd
+ LIBRARIES = -lm -pthread -lglib-2.0 -lgdome -lxml2 -L/usr/local/lib
+ # added -I/usr/local/include for libgdome header files
+ ADD_INCLUDES = -I/usr/local/include/ -I/usr/local/include/glib-2.0/ -I/usr/local/include/libgdome/
+endif
+
###### Other variables ######
@@ -73,24 +85,24 @@
# codec in use: if LDPC is used, then add the libbdpc.a library.
# If only RSE is used and if you don't have the LDPC archive, then
# remove the libbdpc.a library.
-#alc: MCL_LIBRARY = ${BINDIR}/libmclalc.a
-alc: MCL_LIBRARY = ${BINDIR}/libmclalc.a ${LDPC_BINDIR}/libldpc.a
+alc: MCL_LIBRARY = ${BINDIR}/libmclalc.a
+#alc: MCL_LIBRARY = ${BINDIR}/libmclalc.a ${LDPC_BINDIR}/libldpc.a
alc: TARGET_FLUTE = ${BINDIR}/flute
#alc: all
alc_pure: RM_PROTOCOL = ALC
# Edit the following two lines as appropriate, according to the FEC
# codec in use: if LDPC is used, then add the libbdpc.a library.
-#alc_pure: MCL_LIBRARY = ${BINDIR}/libmclalc.a
-alc_pure: MCL_LIBRARY = ${BINDIR}/libmclalc.a ${LDPC_BINDIR}/libldpc.a
+alc_pure: MCL_LIBRARY = ${BINDIR}/libmclalc.a
+#alc_pure: MCL_LIBRARY = ${BINDIR}/libmclalc.a ${LDPC_BINDIR}/libldpc.a
alc_pure: TARGET_FLUTE = ${BINDIR}/flute
alc_pure: pure
alc_quantify: RM_PROTOCOL = ALC
# Edit the following two lines as appropriate, according to the FEC
# codec in use: if LDPC is used, then add the libbdpc.a library.
-#alc_quantify: MCL_LIBRARY = ${BINDIR}/libmclalc.a
-alc_quantify: MCL_LIBRARY = ${BINDIR}/libmclalc.a ${LDPC_BINDIR}/libldpc.a
+alc_quantify: MCL_LIBRARY = ${BINDIR}/libmclalc.a
+#alc_quantify: MCL_LIBRARY = ${BINDIR}/libmclalc.a ${LDPC_BINDIR}/libldpc.a
alc_quantify: TARGET_FLUTE = ${BINDIR}/flute
alc_quantify: quantify

View File

@ -0,0 +1,13 @@
--- flute/flute.h.orig Wed Jan 7 11:13:20 2004
+++ flute/flute.h Wed Jan 7 11:15:28 2004
@@ -69,6 +69,10 @@
#elif defined(SOLARIS) || defined(IRIX) || defined(WIN32)
#define sighandler_t void (*)(int)
+
+#elif defined(FREEBSD)
+#define sighandler_t sig_t
+
#endif

View File

@ -1,6 +1,6 @@
--- src/alc/mcl_lib.cpp.orig Tue Jul 22 19:37:39 2003
+++ src/alc/mcl_lib.cpp Wed Oct 15 16:16:55 2003
@@ -1265,8 +1265,10 @@
--- src/alc/mcl_lib.cpp.orig Wed Nov 26 15:38:14 2003
+++ src/alc/mcl_lib.cpp Tue Dec 16 23:58:46 2003
@@ -1384,8 +1384,10 @@
if (id >= MCLCB_MAX_ID || (mclcb = mclcbs[id]) == NULL) {
TRACE((mcl_stdout, " mcl_recvfrom: not an MCL id, switch to standard recvfrom\n"))
return (recvfrom(id, (char*)buf, len, 0, saddr,
@ -12,3 +12,16 @@
#endif
saddr_len));
}
@@ -1520,8 +1522,11 @@
if (id >= MCLCB_MAX_ID || (mclcb = mclcbs[id]) == NULL) {
TRACE((mcl_stdout, " mcl_recvfrom: not an MCL id, switch to standard recvfrom\n"))
return (recvfrom(id, (char*)buf, len, 0, saddr,
-#ifdef LINUX
+#if defined(LINUX)
(size_t*) /* linux => uint, solaris => int */
+#elif defined(FREEBSD)
+ (socklen_t*)
+
#endif
saddr_len));
}

View File

@ -1,24 +1,24 @@
--- src/common/mcl_osdep.h.orig Tue Jul 22 19:37:39 2003
+++ src/common/mcl_osdep.h Wed Oct 15 16:11:46 2003
@@ -30,7 +30,7 @@
/*
--- src/common/mcl_osdep.h.orig Sun Dec 7 18:58:22 2003
+++ src/common/mcl_osdep.h Sun Dec 7 19:00:39 2003
@@ -44,7 +44,7 @@
* bit field order is compiler/OS dependant
* With linux, see the above LINUX_XXX defines...
*/
-#if defined(LINUX) || defined(WIN32)
+#if defined(LINUX) || defined(WIN32) || defined(FREEBSD)
-#if defined(LINUX_I386) || defined(WIN32)
+#if defined(LINUX_I386) || defined(WIN32) || defined (FREEBSD)
#define _BIT_FIELDS_LTOH
#undef _BIT_FIELDS_HTOL
@@ -44,7 +44,7 @@
@@ -58,7 +58,7 @@
/*
* sighandler
*/
-#if defined(LINUX)
+#if defined(LINUX) || defined(FREEBSD)
+#if defined(LINUX) || defined (FREEBSD)
/* On Linux systems, signal handlers must be of __sighandler_t type */
#define sighandler_t __sighandler_t
@@ -63,9 +63,9 @@
@@ -77,9 +77,9 @@
#define u_int16_t ushort_t /* or uint16_t */
#define u_int32_t uint_t /* or uint32_t */

View File

@ -0,0 +1,11 @@
--- src/alc/mcl_profile.h.orig Tue Dec 16 23:47:58 2003
+++ src/alc/mcl_profile.h Tue Dec 16 23:48:09 2003
@@ -130,7 +130,7 @@
/*
* Do you want to use LDPC large block Forward Error Correction (FEC) ?
*/
-#define LDPC_FEC
+//#define LDPC_FEC
#if defined(RSE_FEC) || defined(LDPC_FEC)
#define FEC

View File

@ -0,0 +1,17 @@
--- mclftp/Makefile.orig Wed Dec 17 00:13:34 2003
+++ mclftp/Makefile Wed Dec 17 00:15:56 2003
@@ -36,6 +36,14 @@
LIBRARIES = -lc -lm -lsocket -lnsl /usr/ucblib/libucb.a -lposix4 -lpthread
endif
+ifeq (${OS},freebsd)
+ # FreeBSD version
+ # MCL library requires -pthread
+ #
+ BINDIR = ../bin/freebsd
+ LIBRARIES = -lm -pthread
+endif
+
###### Other variables ######

View File

@ -1,4 +1,8 @@
bin/fcast
bin/flute
bin/robcast_client
bin/robcast_server
lib/libmclalc.a
include/mcl_lib_api.h
include/alc/mcl_lib_api_alc.h
@dirrm include/alc

View File

@ -6,50 +6,78 @@
#
PORTNAME= mcl
PORTVERSION= 2.99
PORTVERSION= 2.99.1
CATEGORIES= mbone net
MASTER_SITES= http://www.inrialpes.fr/planete/people/roca/mcl/bin/
DISTNAME= mcl_v2.99
DISTNAME= mcl_v2.99.1
EXTRACT_SUFX= .tgz
MAINTAINER= past@noc.ntua.gr
COMMENT= Implementation of the ALC and NORM Reliable Multicast Protocols
BUILD_DEPENDS= makedepend:${PORTSDIR}/devel/imake-4
BUILD_DEPENDS= makedepend:${PORTSDIR}/devel/imake-4 \
gdome-config:${PORTSDIR}/textproc/gdome2 \
glib-gettextize:${PORTSDIR}/devel/glib20
USE_REINPLACE= yes
INSTALLS_SHLIB= yes
USE_GMAKE= yes
MAN1= fcast.1 fcastn.1 mclrecv2.1 mclsend2.1
MAN2= mcl_abort.2 mcl_close.2 mcl_ctl.2 mcl_open.2 mcl_recv.2 \
mcl_send.2 mcl_wait_event.2
WRKSRC= ${WRKDIR}/mcl_v2.99_src
pre-patch:
@cd ${WRKSRC} && \
${MKDIR} bin/freebsd
post-patch:
@${REINPLACE_CMD} -Ee 's#-pthread|-lc_r#${PTHREAD_LIBS}#g' \
${WRKSRC}/src/alc/Makefile
@${REINPLACE_CMD} -Ee 's#-pthread|-lc_r#${PTHREAD_LIBS}#g' \
${WRKSRC}/check/alc/Makefile
@${REINPLACE_CMD} -Ee 's#-pthread|-lc_r#${PTHREAD_LIBS}#g' \
${WRKSRC}/fcast/Makefile
@${REINPLACE_CMD} -Ee 's#-pthread|-lc_r#${PTHREAD_LIBS}#g' \
${WRKSRC}/flute/Makefile
@${REINPLACE_CMD} -Ee 's#-pthread|-lc_r#${PTHREAD_LIBS}#g' \
${WRKSRC}/mclftp/Makefile
@${REINPLACE_CMD} -Ee 's#-pthread|-lc_r#${PTHREAD_LIBS}#g' \
${WRKSRC}/robcast/Makefile
pre-install:
@${REINPLACE_CMD} -Ee 's#../alc/#alc/#g' \
${WRKSRC}/src/common/mcl_lib_api.h
@${REINPLACE_CMD} -Ee 's#../norm/#norm/#g' \
${WRKSRC}/src/common/mcl_lib_api.h
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/bin/freebsd/fcast ${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/bin/freebsd/robcast_client ${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/bin/freebsd/robcast_server ${PREFIX}/bin
${INSTALL_DATA} ${WRKSRC}/bin/freebsd/libmclalc.a ${PREFIX}/lib
${INSTALL_MAN} ${WRKSRC}/man/fcast.man.1 ${PREFIX}/man/man1/fcast.1
${INSTALL_MAN} ${WRKSRC}/man/fcastn.man.1 ${PREFIX}/man/man1/fcastn.1
${INSTALL_MAN} ${WRKSRC}/man/mclrecv2.man.1 \
@${INSTALL_PROGRAM} ${WRKSRC}/bin/freebsd/fcast ${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/bin/freebsd/flute ${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/bin/freebsd/robcast_client ${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/bin/freebsd/robcast_server ${PREFIX}/bin
@${INSTALL_DATA} ${WRKSRC}/bin/freebsd/libmclalc.a ${PREFIX}/lib
@${INSTALL_DATA} ${WRKSRC}/src/common/mcl_lib_api.h ${PREFIX}/include
@${INSTALL_DATA} -d ${PREFIX}/include/alc
@${INSTALL_DATA} ${WRKSRC}/src/alc/mcl_lib_api_alc.h \
${PREFIX}/include/alc
@${INSTALL_MAN} ${WRKSRC}/man/fcast.man.1 ${PREFIX}/man/man1/fcast.1
@${INSTALL_MAN} ${WRKSRC}/man/fcastn.man.1 ${PREFIX}/man/man1/fcastn.1
@${INSTALL_MAN} ${WRKSRC}/man/mclrecv2.man.1 \
${PREFIX}/man/man1/mclrecv2.1
${INSTALL_MAN} ${WRKSRC}/man/mclsend2.man.1 \
@${INSTALL_MAN} ${WRKSRC}/man/mclsend2.man.1 \
${PREFIX}/man/man1/mclsend2.1
${INSTALL_MAN} ${WRKSRC}/man/mcl_abort.man.2 \
@${INSTALL_MAN} ${WRKSRC}/man/mcl_abort.man.2 \
${PREFIX}/man/man2/mcl_abort.2
${INSTALL_MAN} ${WRKSRC}/man/mcl_close.man.2 \
@${INSTALL_MAN} ${WRKSRC}/man/mcl_close.man.2 \
${PREFIX}/man/man2/mcl_close.2
${INSTALL_MAN} ${WRKSRC}/man/mcl_ctl.man.2 ${PREFIX}/man/man2/mcl_ctl.2
${INSTALL_MAN} ${WRKSRC}/man/mcl_open.man.2 \
@${INSTALL_MAN} ${WRKSRC}/man/mcl_ctl.man.2 ${PREFIX}/man/man2/mcl_ctl.2
@${INSTALL_MAN} ${WRKSRC}/man/mcl_open.man.2 \
${PREFIX}/man/man2/mcl_open.2
${INSTALL_MAN} ${WRKSRC}/man/mcl_recv.man.2 \
@${INSTALL_MAN} ${WRKSRC}/man/mcl_recv.man.2 \
${PREFIX}/man/man2/mcl_recv.2
${INSTALL_MAN} ${WRKSRC}/man/mcl_send.man.2 \
@${INSTALL_MAN} ${WRKSRC}/man/mcl_send.man.2 \
${PREFIX}/man/man2/mcl_send.2
${INSTALL_MAN} ${WRKSRC}/man/mcl_wait_event.man.2 \
@${INSTALL_MAN} ${WRKSRC}/man/mcl_wait_event.man.2 \
${PREFIX}/man/man2/mcl_wait_event.2
.include <bsd.port.mk>

View File

@ -1 +1 @@
MD5 (mcl_v2.99.tgz) = d492d3df5b88ca563d0f484ce63f31f4
MD5 (mcl_v2.99.1.tgz) = d4a5c0c384d45dfa6c2a3dcbdcb3a81e

View File

@ -1,5 +1,5 @@
--- Makefile.orig Tue Jul 22 19:37:39 2003
+++ Makefile Tue Oct 14 11:55:56 2003
--- Makefile.orig Sun Dec 7 18:35:07 2003
+++ Makefile Sun Dec 7 18:35:20 2003
@@ -5,8 +5,8 @@
# We need the GNU make tool, on some systems it is called
# gmake, on others make is an alias to gmake. Choose one...

View File

@ -1,5 +1,5 @@
--- Makefile.common.orig Tue Jul 22 19:37:39 2003
+++ Makefile.common Tue Oct 14 15:04:38 2003
--- Makefile.common.orig Sun Dec 7 18:36:25 2003
+++ Makefile.common Sun Dec 7 18:38:10 2003
@@ -24,11 +24,15 @@
ifeq (${SYSTEM},SunOS)
OS = solaris
@ -22,7 +22,7 @@
LD = /opt/SUNWspro/bin/CC
+endif
+ifeq (${OS},freebsd)
+ OSFLAGS = -DFREEBSD -I/usr/include/g++
+ OSFLAGS = -DFREEBSD -I/usr/include/g++ -I/usr/include/c++/3.3
+ # Which compiler?
+ # NB: use -Wall for compilation warnings with gcc
+ #

View File

@ -0,0 +1,14 @@
--- flute/display.c.orig Wed Jan 7 12:08:23 2004
+++ flute/display.c Wed Jan 7 12:07:24 2004
@@ -65,7 +65,11 @@
signal (SIGTERM, sig_catcher);
sigaction (SIGTERM, (struct sigaction *) 0, &sa);
sa.sa_flags |= SA_RESTART;
+#if defined(FREEBSD)
+ sa.sa_flags &= ~SA_NOCLDSTOP;
+#else
sa.sa_flags &= ~SA_INTERRUPT;
+#endif
sigaction (SIGTERM, &sa, (struct sigaction *) 0);
sigaction (SIGINT, &sa, (struct sigaction *) 0);
tcsetattr(0, TCSANOW, &new_settings);

View File

@ -0,0 +1,52 @@
--- flute/Makefile.orig Wed Nov 26 17:18:21 2003
+++ flute/Makefile Wed Jan 7 12:38:28 2004
@@ -36,6 +36,18 @@
endif
+ifeq (${OS},freebsd)
+ # FreeBSD version:
+ # CC requires: -mt -lpthread for multithreaded applications
+ # NB: mpatrol not installed !
+ #
+ BINDIR = ../bin/freebsd
+ LDPC_BINDIR = ../../ldpc/bin/freebsd
+ LIBRARIES = -lm -pthread -lglib-2.0 -lgdome -lxml2 -L/usr/local/lib
+ # added -I/usr/local/include for libgdome header files
+ ADD_INCLUDES = -I/usr/local/include/ -I/usr/local/include/glib-2.0/ -I/usr/local/include/libgdome/
+endif
+
###### Other variables ######
@@ -73,24 +85,24 @@
# codec in use: if LDPC is used, then add the libbdpc.a library.
# If only RSE is used and if you don't have the LDPC archive, then
# remove the libbdpc.a library.
-#alc: MCL_LIBRARY = ${BINDIR}/libmclalc.a
-alc: MCL_LIBRARY = ${BINDIR}/libmclalc.a ${LDPC_BINDIR}/libldpc.a
+alc: MCL_LIBRARY = ${BINDIR}/libmclalc.a
+#alc: MCL_LIBRARY = ${BINDIR}/libmclalc.a ${LDPC_BINDIR}/libldpc.a
alc: TARGET_FLUTE = ${BINDIR}/flute
#alc: all
alc_pure: RM_PROTOCOL = ALC
# Edit the following two lines as appropriate, according to the FEC
# codec in use: if LDPC is used, then add the libbdpc.a library.
-#alc_pure: MCL_LIBRARY = ${BINDIR}/libmclalc.a
-alc_pure: MCL_LIBRARY = ${BINDIR}/libmclalc.a ${LDPC_BINDIR}/libldpc.a
+alc_pure: MCL_LIBRARY = ${BINDIR}/libmclalc.a
+#alc_pure: MCL_LIBRARY = ${BINDIR}/libmclalc.a ${LDPC_BINDIR}/libldpc.a
alc_pure: TARGET_FLUTE = ${BINDIR}/flute
alc_pure: pure
alc_quantify: RM_PROTOCOL = ALC
# Edit the following two lines as appropriate, according to the FEC
# codec in use: if LDPC is used, then add the libbdpc.a library.
-#alc_quantify: MCL_LIBRARY = ${BINDIR}/libmclalc.a
-alc_quantify: MCL_LIBRARY = ${BINDIR}/libmclalc.a ${LDPC_BINDIR}/libldpc.a
+alc_quantify: MCL_LIBRARY = ${BINDIR}/libmclalc.a
+#alc_quantify: MCL_LIBRARY = ${BINDIR}/libmclalc.a ${LDPC_BINDIR}/libldpc.a
alc_quantify: TARGET_FLUTE = ${BINDIR}/flute
alc_quantify: quantify

View File

@ -0,0 +1,13 @@
--- flute/flute.h.orig Wed Jan 7 11:13:20 2004
+++ flute/flute.h Wed Jan 7 11:15:28 2004
@@ -69,6 +69,10 @@
#elif defined(SOLARIS) || defined(IRIX) || defined(WIN32)
#define sighandler_t void (*)(int)
+
+#elif defined(FREEBSD)
+#define sighandler_t sig_t
+
#endif

View File

@ -1,6 +1,6 @@
--- src/alc/mcl_lib.cpp.orig Tue Jul 22 19:37:39 2003
+++ src/alc/mcl_lib.cpp Wed Oct 15 16:16:55 2003
@@ -1265,8 +1265,10 @@
--- src/alc/mcl_lib.cpp.orig Wed Nov 26 15:38:14 2003
+++ src/alc/mcl_lib.cpp Tue Dec 16 23:58:46 2003
@@ -1384,8 +1384,10 @@
if (id >= MCLCB_MAX_ID || (mclcb = mclcbs[id]) == NULL) {
TRACE((mcl_stdout, " mcl_recvfrom: not an MCL id, switch to standard recvfrom\n"))
return (recvfrom(id, (char*)buf, len, 0, saddr,
@ -12,3 +12,16 @@
#endif
saddr_len));
}
@@ -1520,8 +1522,11 @@
if (id >= MCLCB_MAX_ID || (mclcb = mclcbs[id]) == NULL) {
TRACE((mcl_stdout, " mcl_recvfrom: not an MCL id, switch to standard recvfrom\n"))
return (recvfrom(id, (char*)buf, len, 0, saddr,
-#ifdef LINUX
+#if defined(LINUX)
(size_t*) /* linux => uint, solaris => int */
+#elif defined(FREEBSD)
+ (socklen_t*)
+
#endif
saddr_len));
}

View File

@ -1,24 +1,24 @@
--- src/common/mcl_osdep.h.orig Tue Jul 22 19:37:39 2003
+++ src/common/mcl_osdep.h Wed Oct 15 16:11:46 2003
@@ -30,7 +30,7 @@
/*
--- src/common/mcl_osdep.h.orig Sun Dec 7 18:58:22 2003
+++ src/common/mcl_osdep.h Sun Dec 7 19:00:39 2003
@@ -44,7 +44,7 @@
* bit field order is compiler/OS dependant
* With linux, see the above LINUX_XXX defines...
*/
-#if defined(LINUX) || defined(WIN32)
+#if defined(LINUX) || defined(WIN32) || defined(FREEBSD)
-#if defined(LINUX_I386) || defined(WIN32)
+#if defined(LINUX_I386) || defined(WIN32) || defined (FREEBSD)
#define _BIT_FIELDS_LTOH
#undef _BIT_FIELDS_HTOL
@@ -44,7 +44,7 @@
@@ -58,7 +58,7 @@
/*
* sighandler
*/
-#if defined(LINUX)
+#if defined(LINUX) || defined(FREEBSD)
+#if defined(LINUX) || defined (FREEBSD)
/* On Linux systems, signal handlers must be of __sighandler_t type */
#define sighandler_t __sighandler_t
@@ -63,9 +63,9 @@
@@ -77,9 +77,9 @@
#define u_int16_t ushort_t /* or uint16_t */
#define u_int32_t uint_t /* or uint32_t */

View File

@ -0,0 +1,11 @@
--- src/alc/mcl_profile.h.orig Tue Dec 16 23:47:58 2003
+++ src/alc/mcl_profile.h Tue Dec 16 23:48:09 2003
@@ -130,7 +130,7 @@
/*
* Do you want to use LDPC large block Forward Error Correction (FEC) ?
*/
-#define LDPC_FEC
+//#define LDPC_FEC
#if defined(RSE_FEC) || defined(LDPC_FEC)
#define FEC

View File

@ -0,0 +1,17 @@
--- mclftp/Makefile.orig Wed Dec 17 00:13:34 2003
+++ mclftp/Makefile Wed Dec 17 00:15:56 2003
@@ -36,6 +36,14 @@
LIBRARIES = -lc -lm -lsocket -lnsl /usr/ucblib/libucb.a -lposix4 -lpthread
endif
+ifeq (${OS},freebsd)
+ # FreeBSD version
+ # MCL library requires -pthread
+ #
+ BINDIR = ../bin/freebsd
+ LIBRARIES = -lm -pthread
+endif
+
###### Other variables ######

View File

@ -1,4 +1,8 @@
bin/fcast
bin/flute
bin/robcast_client
bin/robcast_server
lib/libmclalc.a
include/mcl_lib_api.h
include/alc/mcl_lib_api_alc.h
@dirrm include/alc