Hi !

As Fedora packager at rpmfusion.org, we collected various patches for
live555. Here is an unified version of them with some explanations.

- build live555 shared instead of statically
(might be better to switch the name to linux.shared so static build stay
the default).
- pick env CFLAG instead of hardcoded -O2 (and propagate to subdir)
- conditionalize code with __FreeBSD_kernel__ && __GLIBC__ (originaly
from debian)
- choose $(CC) -o instead of ld -o
- avoid undeeded cast.
- re-order directory (avoid symbol not present while linking).

Thx

Nicolas (kwizart)
diff -uNr live/config.linux live-patches/config.linux
--- live/config.linux   2009-03-22 23:26:16.000000000 +0100
+++ live-patches/config.linux   2009-03-24 14:10:56.000000000 +0100
@@ -1,4 +1,4 @@
-COMPILE_OPTS =         $(INCLUDES) -I. -O2 -DSOCKLEN_T=socklen_t 
-D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64
+COMPILE_OPTS =         $(INCLUDES) -I. $(CFLAGS) -DBSD=1 -DSOCKLEN_T=socklen_t 
-D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64
 C =                    c
 C_COMPILER =           cc
 C_FLAGS =              $(COMPILE_OPTS)
@@ -9,9 +9,9 @@
 LINK =                 c++ -o
 LINK_OPTS =            -L.
 CONSOLE_LINK_OPTS =    $(LINK_OPTS)
-LIBRARY_LINK =         ld -o
-LIBRARY_LINK_OPTS =    $(LINK_OPTS) -r -Bstatic
-LIB_SUFFIX =                   a
+LIBRARY_LINK =         $(CC) -o 
+LIBRARY_LINK_OPTS =    $(LINK_OPTS) -shared -Wl,-soname,$...@.$(SO_VERSION) 
$(LIBADDS)
+LIB_SUFFIX =                   so
 LIBS_FOR_CONSOLE_APPLICATION =
 LIBS_FOR_GUI_APPLICATION =
 EXE =
diff -uNr live/config.linux.static live-patches/config.linux.static
--- live/config.linux.static    1970-01-01 01:00:00.000000000 +0100
+++ live-patches/config.linux.static    2009-03-24 14:10:56.000000000 +0100
@@ -0,0 +1,17 @@
+COMPILE_OPTS =         $(INCLUDES) -I. $(CFLAGS) -DSOCKLEN_T=socklen_t 
-D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64
+C =                    c
+C_COMPILER =           cc
+C_FLAGS =              $(COMPILE_OPTS)
+CPP =                  cpp
+CPLUSPLUS_COMPILER =   c++
+CPLUSPLUS_FLAGS =      $(COMPILE_OPTS) -Wall -DBSD=1
+OBJ =                  o
+LINK =                 c++ -o
+LINK_OPTS =            -L.
+CONSOLE_LINK_OPTS =    $(LINK_OPTS)
+LIBRARY_LINK =         ar rcvu 
+LIBRARY_LINK_OPTS =    
+LIB_SUFFIX =                   a
+LIBS_FOR_CONSOLE_APPLICATION =
+LIBS_FOR_GUI_APPLICATION =
+EXE =
diff -uNr live/groupsock/GroupsockHelper.cpp 
live-patches/groupsock/GroupsockHelper.cpp
--- live/groupsock/GroupsockHelper.cpp  2009-03-22 23:26:16.000000000 +0100
+++ live-patches/groupsock/GroupsockHelper.cpp  2009-03-24 14:10:56.000000000 
+0100
@@ -474,12 +474,14 @@
 //    let us know, by sending email to the "live-devel" mailing list.
 //    (See <http://lists.live555.com/mailman/listinfo/live-devel/> to 
subscribe to that mailing list.)
 // END NOTE TO CYGWIN DEVELOPERS
+#if !(defined(__FreeBSD_kernel__) && defined(__GLIBC__))
 struct ip_mreq_source {
   struct  in_addr imr_multiaddr;  /* IP multicast address of group */
   struct  in_addr imr_sourceaddr; /* IP address of source */
   struct  in_addr imr_interface;  /* local IP address of interface */
 };
 #endif
+#endif
 
 #ifndef IP_ADD_SOURCE_MEMBERSHIP
 
diff -uNr live/liveMedia/H263plusVideoRTPSink.cpp 
live-patches/liveMedia/H263plusVideoRTPSink.cpp
--- live/liveMedia/H263plusVideoRTPSink.cpp     2009-03-22 23:26:16.000000000 
+0100
+++ live-patches/liveMedia/H263plusVideoRTPSink.cpp     2009-03-24 
14:10:56.000000000 +0100
@@ -64,7 +64,7 @@
     }
     if (frameStart[0] != 0 || frameStart[1] != 0) {
       envir() << "H263plusVideoRTPSink::doSpecialFrameHandling(): unexpected 
non-zero first two bytes: "
-             << (void*)(frameStart[0]) << "," << (void*)(frameStart[1]) << 
"\n";
+             << (frameStart[0]) << "," << (frameStart[1]) << "\n";
     }
     frameStart[0] = specialHeader>>8;
     frameStart[1] = (unsigned char)specialHeader;
diff -uNr live/liveMedia/MPEG1or2Demux.cpp 
live-patches/liveMedia/MPEG1or2Demux.cpp
--- live/liveMedia/MPEG1or2Demux.cpp    2009-03-22 23:26:16.000000000 +0100
+++ live-patches/liveMedia/MPEG1or2Demux.cpp    2009-03-24 14:10:56.000000000 
+0100
@@ -161,7 +161,7 @@
   // Make sure this stream is not already being read:
   if (out.isCurrentlyAwaitingData) {
     envir() << "MPEG1or2Demux::registerReadInterest(): attempt to read stream 
id "
-           << (void*)streamIdTag << " more than once!\n";
+           << streamIdTag << " more than once!\n";
     exit(1);
   }
 
@@ -457,7 +457,7 @@
     skipBytes(pack_stuffing_length);
   } else { // unknown
     fUsingSource->envir() << "StreamParser::parsePack() saw strange byte "
-                         << (void*)nextByte
+                         << nextByte
                          << " following pack_start_code\n";
   }
 
diff -uNr live/Makefile.tail live-patches/Makefile.tail
--- live/Makefile.tail  2009-03-22 23:26:16.000000000 +0100
+++ live-patches/Makefile.tail  2009-03-24 14:10:56.000000000 +0100
@@ -15,27 +15,27 @@
 MEDIA_SERVER_DIR = mediaServer
 MEDIA_SERVER_APP = $(MEDIA_SERVER_DIR)/mediaServer$(EXE)
 
-ALL =  $(LIVEMEDIA_LIB) \
-       $(GROUPSOCK_LIB) \
+ALL =  $(BASIC_USAGE_ENVIRONMENT_LIB) \
        $(USAGE_ENVIRONMENT_LIB) \
-       $(BASIC_USAGE_ENVIRONMENT_LIB) \
+       $(GROUPSOCK_LIB) \
+       $(LIVEMEDIA_LIB) \
        $(TESTPROGS_APP) \
        $(MEDIA_SERVER_APP)
 all:   $(ALL)
 
 
 $(LIVEMEDIA_LIB):
-       cd $(LIVEMEDIA_DIR) ; $(MAKE)
+       cd $(LIVEMEDIA_DIR) ; CFLAGS="$(CFLAGS)" $(MAKE)
 $(GROUPSOCK_LIB):
-       cd $(GROUPSOCK_DIR) ; $(MAKE)
+       cd $(GROUPSOCK_DIR) ; CFLAGS="$(CFLAGS)" $(MAKE)
 $(USAGE_ENVIRONMENT_LIB):
-       cd $(USAGE_ENVIRONMENT_DIR) ; $(MAKE)
+       cd $(USAGE_ENVIRONMENT_DIR) ; CFLAGS="$(CFLAGS)" $(MAKE)
 $(BASIC_USAGE_ENVIRONMENT_LIB):
-       cd $(BASIC_USAGE_ENVIRONMENT_DIR) ; $(MAKE)
+       cd $(BASIC_USAGE_ENVIRONMENT_DIR) ; CFLAGS="$(CFLAGS)" $(MAKE)
 $(TESTPROGS_APP): $(LIVEMEDIA_LIB) $(GROUPSOCK_LIB) $(USAGE_ENVIRONMENT_LIB) 
$(BASIC_USAGE_ENVIRONMENT_LIB)
-       cd $(TESTPROGS_DIR) ; $(MAKE)
+       cd $(TESTPROGS_DIR) ; CFLAGS="$(CFLAGS)" $(MAKE)
 $(MEDIA_SERVER_APP): $(LIVEMEDIA_LIB) $(GROUPSOCK_LIB) 
$(USAGE_ENVIRONMENT_LIB) $(BASIC_USAGE_ENVIRONMENT_LIB)
-       cd $(MEDIA_SERVER_DIR) ; $(MAKE)
+       cd $(MEDIA_SERVER_DIR) ; CFLAGS="$(CFLAGS)" $(MAKE)
 
 clean:
        cd $(LIVEMEDIA_DIR) ; $(MAKE) clean
diff -uNr live/mediaServer/Makefile.tail live-patches/mediaServer/Makefile.tail
--- live/mediaServer/Makefile.tail      2009-03-22 23:26:16.000000000 +0100
+++ live-patches/mediaServer/Makefile.tail      2009-03-24 14:10:56.000000000 
+0100
@@ -25,7 +25,7 @@
 GROUPSOCK_DIR = ../groupsock
 GROUPSOCK_LIB = $(GROUPSOCK_DIR)/libgroupsock.$(LIB_SUFFIX)
 LOCAL_LIBS =   $(LIVEMEDIA_LIB) $(GROUPSOCK_LIB) \
-               $(USAGE_ENVIRONMENT_LIB) $(BASIC_USAGE_ENVIRONMENT_LIB)
+               $(BASIC_USAGE_ENVIRONMENT_LIB) $(USAGE_ENVIRONMENT_LIB)
 LIBS =                 $(LOCAL_LIBS) $(LIBS_FOR_CONSOLE_APPLICATION)
 
 live555MediaServer$(EXE):      $(MEDIA_SERVER_OBJS) $(LOCAL_LIBS)
diff -uNr live/testProgs/Makefile.tail live-patches/testProgs/Makefile.tail
--- live/testProgs/Makefile.tail        2009-03-22 23:26:16.000000000 +0100
+++ live-patches/testProgs/Makefile.tail        2009-03-24 14:10:56.000000000 
+0100
@@ -59,7 +59,7 @@
 GROUPSOCK_DIR = ../groupsock
 GROUPSOCK_LIB = $(GROUPSOCK_DIR)/libgroupsock.$(LIB_SUFFIX)
 LOCAL_LIBS =   $(LIVEMEDIA_LIB) $(GROUPSOCK_LIB) \
-               $(USAGE_ENVIRONMENT_LIB) $(BASIC_USAGE_ENVIRONMENT_LIB)
+               $(BASIC_USAGE_ENVIRONMENT_LIB) $(USAGE_ENVIRONMENT_LIB)
 LIBS =                 $(LOCAL_LIBS) $(LIBS_FOR_CONSOLE_APPLICATION)
 
 testMP3Streamer$(EXE): $(MP3_STREAMER_OBJS) $(LOCAL_LIBS)
_______________________________________________
live-devel mailing list
[email protected]
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to